Skip to content

Commit 9158c6b

Browse files
nizhen-tbrauner
authored andcommitted
afs: Fix potential null pointer dereference in afs_put_server
afs_put_server() accessed server->debug_id before the NULL check, which could lead to a null pointer dereference. Move the debug_id assignment, ensuring we never dereference a NULL server pointer. Fixes: 2757a4d ("afs: Fix access after dec in put functions") Cc: stable@vger.kernel.org Signed-off-by: Zhen Ni <zhen.ni@easystack.cn> Acked-by: David Howells <dhowells@redhat.com> Reviewed-by: Jeffrey Altman <jaltman@auristor.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 66d938e commit 9158c6b

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

fs/afs/server.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,13 +331,14 @@ struct afs_server *afs_use_server(struct afs_server *server, bool activate,
331331
void afs_put_server(struct afs_net *net, struct afs_server *server,
332332
enum afs_server_trace reason)
333333
{
334-
unsigned int a, debug_id = server->debug_id;
334+
unsigned int a, debug_id;
335335
bool zero;
336336
int r;
337337

338338
if (!server)
339339
return;
340340

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

0 commit comments

Comments
 (0)