quota: Fix possible dq_flags corruption
authorAndrew Perepechko <andrew.perepechko@sun.com>
Mon, 12 Apr 2010 18:16:50 +0000 (22:16 +0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 26 Apr 2010 14:47:58 +0000 (07:47 -0700)
commit527230ce812fb139ec4047c06acd4db63a15ff3e
tree50047fbe70cb102229b933922a0462cb91e138a3
parent5e462ec4eb77a087383a384d2067d04e0b6d0621
quota: Fix possible dq_flags corruption

commit 08261673cb6dc638c39f44d69b76fffb57b92a8b upstream.

dq_flags are modified non-atomically in do_set_dqblk via __set_bit calls and
atomically for example in mark_dquot_dirty or clear_dquot_dirty.  Hence a
change done by an atomic operation can be overwritten by a change done by a
non-atomic one. Fix the problem by using atomic bitops even in do_set_dqblk.

Signed-off-by: Andrew Perepechko <andrew.perepechko@sun.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/quota/dquot.c