summaryrefslogtreecommitdiffstats
path: root/kernel/utsname.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2015-07-27 11:48:52 +1000
committerNeilBrown <neilb@suse.com>2015-08-03 12:29:42 +1000
commit423f04d63cf421ea436bcc5be02543d549ce4b28 (patch)
tree0d98d3b3de62c7689fbe58a6229c7d760d998c55 /kernel/utsname.c
parent74d33293e467df61de1b1d8b2fbe29e550dec33b (diff)
downloadop-kernel-dev-423f04d63cf421ea436bcc5be02543d549ce4b28.zip
op-kernel-dev-423f04d63cf421ea436bcc5be02543d549ce4b28.tar.gz
md/raid1: extend spinlock to protect raid1_end_read_request against inconsistencies
raid1_end_read_request() assumes that the In_sync bits are consistent with the ->degaded count. raid1_spare_active updates the In_sync bit before the ->degraded count and so exposes an inconsistency, as does error() So extend the spinlock in raid1_spare_active() and error() to hide those inconsistencies. This should probably be part of Commit: 34cab6f42003 ("md/raid1: fix test for 'was read error from last working device'.") as it addresses the same issue. It fixes the same bug and should go to -stable for same reasons. Fixes: 76073054c95b ("md/raid1: clean up read_balance.") Cc: stable@vger.kernel.org (v3.0+) Signed-off-by: NeilBrown <neilb@suse.com>
Diffstat (limited to 'kernel/utsname.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud