]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
afs: Fix leak of ungot volume
authorDavid Howells <dhowells@redhat.com>
Mon, 22 Jun 2026 09:08:50 +0000 (10:08 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 1 Jul 2026 13:26:21 +0000 (15:26 +0200)
Fix afs_lookup_volume_rcu() so that it doesn't leak a dying volume if
afs_try_get_volume() fails.

Fixes: 32222f09782f ("afs: Apply server breaks to mmap'd files in the call processor")
Closes: https://sashiko.dev/#/patchset/20260609081738.770127-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://patch.msgid.link/20260622090856.2746629-17-dhowells@redhat.com
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Deepakkumar Karn <dkarn@redhat.com>
cc: linux-afs@lists.infradead.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
fs/afs/callback.c

index 74853e0d0435ae74e00a873272f41821f5b1904b..61354003c006cf6238ef2af624bf84121d5492c2 100644 (file)
@@ -134,6 +134,7 @@ static struct afs_volume *afs_lookup_volume_rcu(struct afs_cell *cell,
 
                if (volume && afs_try_get_volume(volume, afs_volume_trace_get_callback))
                        break;
+               volume = NULL;
        }
 
        return volume;