From: NeilBrown Date: Mon, 17 May 2010 01:27:00 +0000 (+1000) Subject: md/linear: avoid possible oops and array stop X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=ef2f80ff7325b2c1888ff02ead28957b5840bf51;p=openwrt%2Fstaging%2Fblogic.git md/linear: avoid possible oops and array stop Since commit ef286f6fa673cd7fb367e1b145069d8dbfcc6081 it has been important that each personality clears ->private in the ->stop() function, or sets it to a attribute group to be removed. linear.c doesn't. This can sometimes lead to an oops, though it doesn't always. Suitable for 2.6.33-stable and 2.6.34. Signed-off-by: NeilBrown Cc: stable@kernel.org --- diff --git a/drivers/md/linear.c b/drivers/md/linear.c index bb2a23159b21..9db8ee0614a4 100644 --- a/drivers/md/linear.c +++ b/drivers/md/linear.c @@ -281,6 +281,7 @@ static int linear_stop (mddev_t *mddev) rcu_barrier(); blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/ kfree(conf); + mddev->private = NULL; return 0; }