summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2026-06-22 10:08:51 +0100
committerChristian Brauner <brauner@kernel.org>2026-07-01 15:26:21 +0200
commitfc10c0ecf06f2981af5d04357612b00051e03e9e (patch)
tree96cc9f82e9998ea6417091d97c09e551bec90ab7 /fs
parentd672c276f685a540ed2b2a8bafaed4650a89022c (diff)
downloadlinux-2.6-fc10c0ecf06f2981af5d04357612b00051e03e9e.tar.gz
linux-2.6-fc10c0ecf06f2981af5d04357612b00051e03e9e.zip
afs: Fix vllist leak
Fix a leak of the new vllist in afs_update_cell() in the event that it is an empty list (nr_servers == 0), in which case the old list isn't displaced unless the old list is also empty. Fixes: d5c32c89b208 ("afs: Fix cell DNS lookup") 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-18-dhowells@redhat.com cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/afs/cell.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/afs/cell.c b/fs/afs/cell.c
index e0fab1609f27..fbb8a43aa7cd 100644
--- a/fs/afs/cell.c
+++ b/fs/afs/cell.c
@@ -547,6 +547,8 @@ static int afs_update_cell(struct afs_cell *cell)
rcu_assign_pointer(cell->vl_servers, vllist);
cell->dns_source = vllist->source;
old = p;
+ } else {
+ old = vllist;
}
write_unlock(&cell->vl_servers_lock);
afs_put_vlserverlist(cell->net, old);