diff options
| author | David Howells <dhowells@redhat.com> | 2026-06-22 10:08:51 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-07-01 15:26:21 +0200 |
| commit | fc10c0ecf06f2981af5d04357612b00051e03e9e (patch) | |
| tree | 96cc9f82e9998ea6417091d97c09e551bec90ab7 /fs | |
| parent | d672c276f685a540ed2b2a8bafaed4650a89022c (diff) | |
| download | linux-fc10c0ecf06f2981af5d04357612b00051e03e9e.tar.gz linux-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.c | 2 |
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); |
