OSDN Git Service

dm table: avoid crash if integrity profile changes
authorMike Snitzer <snitzer@redhat.com>
Sun, 25 Sep 2011 22:26:17 +0000 (23:26 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 16 Oct 2011 21:14:53 +0000 (14:14 -0700)
commit25dd1546f84a5d5bf85686e36b6d5fb8a4cbcca3
tree6ac67a645d42fa2730eb6b8f8a71ea078c5c676c
parent7f3b5ef8184a929f56293d6c7a88f426c7b74558
dm table: avoid crash if integrity profile changes

commit 876fbba1db4a377f050a2bb49b474c7527b2995d upstream.

Commit a63a5cf (dm: improve block integrity support) introduced a
two-phase initialization of a DM device's integrity profile.  This
patch avoids dereferencing a NULL 'template_disk' pointer in
blk_integrity_register() if there is an integrity profile mismatch in
dm_table_set_integrity().

This can occur if the integrity profiles for stacked devices in a DM
table are changed between the call to dm_table_prealloc_integrity() and
dm_table_set_integrity().

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/md/dm-table.c