[PATCH][next] afs: Fix dereference of pointer 'server' before it is null checked

From: Colin Ian King
Date: Wed Jul 30 2025 - 10:05:48 EST


Currently the pointer 'server' is being dereferenced before it is being
null checked, leading to a potential null dereference issue. Fix this
by dereferencing it after it is null checked.

Fixes: 2757a4dc1849 ("afs: Fix access after dec in put functions")
Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx>
---
fs/afs/server.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/afs/server.c b/fs/afs/server.c
index a97562f831eb..c4428ebddb1d 100644
--- a/fs/afs/server.c
+++ b/fs/afs/server.c
@@ -331,13 +331,14 @@ struct afs_server *afs_use_server(struct afs_server *server, bool activate,
void afs_put_server(struct afs_net *net, struct afs_server *server,
enum afs_server_trace reason)
{
- unsigned int a, debug_id = server->debug_id;
+ unsigned int a, debug_id;
bool zero;
int r;

if (!server)
return;

+ debug_id = server->debug_id;
a = atomic_read(&server->active);
zero = __refcount_dec_and_test(&server->ref, &r);
trace_afs_server(debug_id, r - 1, a, reason);
--
2.50.0