From: Dan Williams Date: Wed, 30 Apr 2008 07:52:28 +0000 (-0700) Subject: md: fix use after free when removing rdev via sysfs X-Git-Tag: v2.6.26-rc1~323 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a51830e14529063cb2685921e1177d9af50e49a;p=linux-2.6 md: fix use after free when removing rdev via sysfs rdev->mddev is no longer valid upon return from entry->store() when the 'remove' command is given. Cc: Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/md/md.c b/drivers/md/md.c index bb3e4b1cb7..11457a28a1 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -2097,7 +2097,7 @@ rdev_attr_store(struct kobject *kobj, struct attribute *attr, rv = -EBUSY; else rv = entry->store(rdev, page, length); - mddev_unlock(rdev->mddev); + mddev_unlock(mddev); } return rv; }