]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
gfs2: fix an oops in gfs2_permission
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 2 Oct 2023 02:33:44 +0000 (03:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 16:56:20 +0000 (16:56 +0000)
commit03ce0655bf8e8d006972512ca4ae3c00399fb630
treed00733de0def51eb429b3bc8dc8b856460383a0f
parent5bfda356e903633d16ae1bac1ee38364e12628a3
gfs2: fix an oops in gfs2_permission

[ Upstream commit 0abd1557e21c617bd13fc18f7725fc6363c05913 ]

In RCU mode, we might race with gfs2_evict_inode(), which zeroes
->i_gl.  Freeing of the object it points to is RCU-delayed, so
if we manage to fetch the pointer before it's been replaced with
NULL, we are fine.  Check if we'd fetched NULL and treat that
as "bail out and tell the caller to get out of RCU mode".

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/gfs2/inode.c
fs/gfs2/super.c