[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1358087991.4514.81.camel@deadeye.wl.decadent.org.uk>
Date: Sun, 13 Jan 2013 14:39:51 +0000
From: Ben Hutchings <ben@...adent.org.uk>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
kernel-team@...ts.ubuntu.com,
Benjamin Marzinski <bmarzins@...hat.com>,
Steven Whitehouse <swhiteho@...hat.com>,
Herton Ronaldo Krzesinski <herton.krzesinski@...onical.com>
Subject: Re: [PATCH 192/241] GFS2: Test bufdata with buffer locked and
gfs2_log_lock held
On Thu, 2012-12-13 at 11:59 -0200, Herton Ronaldo Krzesinski wrote:
> 3.5.7.2 -stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Benjamin Marzinski <bmarzins@...hat.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.
[...]
Greg, this is missing from 3.0 and 3.4. I'm attaching the version I
used for 3.2 which might be applicable.
Ben.
--
Ben Hutchings
Klipstein's 4th Law of Prototyping and Production:
A fail-safe circuit will destroy others.
View attachment "gfs2-test-bufdata-with-buffer-locked-and-gfs2_log_lock-held.patch" of type "text/x-patch" (3530 bytes)
Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)
Powered by blists - more mailing lists