| Subject | Re: [ 64/66] GFS2: Test bufdata with buffer locked and gfs2_log_lock held | From | Ben Hutchings <> | Date | Sun, 25 Nov 2012 14:11:55 +0100 |
| |
On Wed, 2012-11-14 at 20:11 -0800, Greg Kroah-Hartman wrote: > 3.6-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: Benjamin Marzinski <bmarzins@redhat.com> > > commit 96e5d1d3adf56f1c7eeb07258f6a1a0a7ae9c489 upstream. > > In gfs2_trans_add_bh(), gfs2 was testing if a there was a bd attached to the > buffer without having the gfs2_log_lock held. It was then assuming it would > stay attached for the rest of the function. However, without either the log > lock being held of the buffer locked, __gfs2_ail_flush() could detach bd at any > time. This patch moves the locking before the test. If there isn't a bd > already attached, gfs2 can safely allocate one and attach it before locking. > There is no way that the newly allocated bd could be on the ail list, > and thus no way for __gfs2_ail_flush() to detach it. > > Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> > Signed-off-by: Steven Whitehouse <swhiteho@redhat.com> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> [...]
Is this needed for any earlier versions? It looks applicable to 3.2 (with minor changes).
Ben.
-- Ben Hutchings Never attribute to conspiracy what can adequately be explained by stupidity. [unhandled content-type:application/pgp-signature] |