From: Bob Peterson <rpeterso@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH] gfs2: Fix refcount leak in gfs2_glock_poke
Date: Mon, 3 Aug 2020 08:17:08 -0400 (EDT) [thread overview]
Message-ID: <1760387650.10412850.1596457028715.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20200803115213.432367-1-agruenba@redhat.com>
----- Original Message -----
> In gfs2_glock_poke, make sure gfs2_holder_uninit is called on the local
> glock holder. Without that, we're leaking a glock and a pid reference.
>
> Fixes: 9e8990dea926 ("gfs2: Smarter iopen glock waiting")
> Cc: stable at vger.kernel.org # v5.8+
> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
> ---
> fs/gfs2/glock.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
> index 57134d326cfa..f13b136654ca 100644
> --- a/fs/gfs2/glock.c
> +++ b/fs/gfs2/glock.c
> @@ -790,9 +790,11 @@ static void gfs2_glock_poke(struct gfs2_glock *gl)
> struct gfs2_holder gh;
> int error;
>
> - error = gfs2_glock_nq_init(gl, LM_ST_SHARED, flags, &gh);
> + gfs2_holder_init(gl, LM_ST_SHARED, flags, &gh);
> + error = gfs2_glock_nq(&gh);
> if (!error)
> gfs2_glock_dq(&gh);
> + gfs2_holder_uninit(&gh);
> }
>
> static bool gfs2_try_evict(struct gfs2_glock *gl)
> --
> 2.26.2
Hi,
Looks okay.
I'd rather use nq_init and dq_uninit (and change similar code throughout
to use it more consistently) but in the past you've expressed a
concern that the compiler generates less efficient code.
Maybe it makes more sense to rework gfs2_glock_nq_init and dq_uninit
so the compiler does a more reasonable job? Or I suppose we could
delay that work for later.
Regards,
Bob Peterson
prev parent reply other threads:[~2020-08-03 12:17 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-03 11:52 [Cluster-devel] [PATCH] gfs2: Fix refcount leak in gfs2_glock_poke Andreas Gruenbacher
2020-08-03 12:17 ` Bob Peterson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1760387650.10412850.1596457028715.JavaMail.zimbra@redhat.com \
--to=rpeterso@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).