md/linear: avoid corrupting structure while waiting for rcu_free to complete.
authorNeilBrown <neilb@suse.de>
Thu, 25 Aug 2011 04:43:53 +0000 (14:43 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 25 Aug 2011 04:43:53 +0000 (14:43 +1000)
I don't know what I was thinking putting 'rcu' after a dynamically
sized array!  The array could still be in use when we call rcu_free()
(That is the point) so we mustn't corrupt it.

Cc: stable@kernel.org
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/linear.h

index 0ce29b61605a29904608c43a1cf57d87c6f25d43..2f2da05b2ce9c8cae70fa5cdd316541457b42920 100644 (file)
@@ -10,9 +10,9 @@ typedef struct dev_info dev_info_t;
 
 struct linear_private_data
 {
+       struct rcu_head         rcu;
        sector_t                array_sectors;
        dev_info_t              disks[0];
-       struct rcu_head         rcu;
 };