mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 00:20:51 +07:00
afs: Fix tracing deref-before-check
The patchdca54a7bbb
: "afs: Add tracing for cell refcount and active user count" from Oct 13, 2020, leads to the following Smatch complaint: fs/afs/cell.c:596 afs_unuse_cell() warn: variable dereferenced before check 'cell' (see line 592) Fix this by moving the retrieval of the cell debug ID to after the check of the validity of the cell pointer. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Fixes:dca54a7bbb
("afs: Add tracing for cell refcount and active user count") Signed-off-by: David Howells <dhowells@redhat.com> cc: Dan Carpenter <dan.carpenter@oracle.com>
This commit is contained in:
parent
06a17bbe1d
commit
acc080d15d
@ -589,7 +589,7 @@ struct afs_cell *afs_use_cell(struct afs_cell *cell, enum afs_cell_trace reason)
|
||||
*/
|
||||
void afs_unuse_cell(struct afs_net *net, struct afs_cell *cell, enum afs_cell_trace reason)
|
||||
{
|
||||
unsigned int debug_id = cell->debug_id;
|
||||
unsigned int debug_id;
|
||||
time64_t now, expire_delay;
|
||||
int u, a;
|
||||
|
||||
@ -604,6 +604,7 @@ void afs_unuse_cell(struct afs_net *net, struct afs_cell *cell, enum afs_cell_tr
|
||||
if (cell->vl_servers->nr_servers)
|
||||
expire_delay = afs_cell_gc_delay;
|
||||
|
||||
debug_id = cell->debug_id;
|
||||
u = atomic_read(&cell->ref);
|
||||
a = atomic_dec_return(&cell->active);
|
||||
trace_afs_cell(debug_id, u, a, reason);
|
||||
|
Loading…
Reference in New Issue
Block a user