Skip to content

Commit a13dbc5

Browse files
nizhen-tgregkh
authored andcommitted
afs: Fix potential null pointer dereference in afs_put_server
commit 9158c6b upstream. 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: [email protected] Signed-off-by: Zhen Ni <[email protected]> Acked-by: David Howells <[email protected]> Reviewed-by: Jeffrey Altman <[email protected]> Signed-off-by: Christian Brauner <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent aae5149 commit a13dbc5

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
@@ -394,13 +394,14 @@ struct afs_server *afs_use_server(struct afs_server *server, enum afs_server_tra
394394
void afs_put_server(struct afs_net *net, struct afs_server *server,
395395
enum afs_server_trace reason)
396396
{
397-
unsigned int a, debug_id = server->debug_id;
397+
unsigned int a, debug_id;
398398
bool zero;
399399
int r;
400400

401401
if (!server)
402402
return;
403403

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

0 commit comments

Comments
 (0)