summaryrefslogtreecommitdiff
path: root/fs/binfmt_elf.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2015-05-28 17:53:29 +1000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-06 08:21:09 -0700
commitc368845702b75c0febc8d54a0489d1e9505cc81d (patch)
treee042f19dec9c4ab49b98af8d934530393b314072 /fs/binfmt_elf.c
parent9ac144beb909307828a779745d8189bfa52a45f9 (diff)
md: fix race when unfreezing sync_action
commit 56ccc1125bc141cf63927eda7febff4216dea2d3 upstream. A recent change removed the need for locking around writing to "sync_action" (and various other places), but introduced a subtle race. When e.g. setting 'reshape' on a 'frozen' array, the 'frozen' flag is cleared before 'reshape' is set, so the md thread can get in and start trying recovery - which isn't wanted. So instead of clearing MD_RECOVERY_FROZEN for any command except 'frozen', only clear it when each specific command is parsed. This allows the handling of 'reshape' to clear the bit while a lock is held. Also remove some places where we set MD_RECOVERY_NEEDED, as it is always set on non-error exit of the function. Signed-off-by: NeilBrown <neilb@suse.de> Fixes: 6791875e2e53 ("md: make reconfig_mutex optional for writes to md sysfs files.") Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/binfmt_elf.c')
0 files changed, 0 insertions, 0 deletions