[linux-next:master 11514/13282] net/rxrpc/local_object.c:365 rxrpc_unuse_local() warn: variable dereferenced before check 'local' (see line 362)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   5d562c48a21eeb029a8fd3f18e1b31fd83660474
commit: a2cf3264f331acfeb7e463ad7b7fe1ac647a829d [11514/13282] rxrpc: Fold __rxrpc_unuse_local() into rxrpc_unuse_local()
config: arm64-randconfig-m041-20221206
compiler: aarch64-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <error27@xxxxxxxxx>

smatch warnings:
net/rxrpc/local_object.c:365 rxrpc_unuse_local() warn: variable dereferenced before check 'local' (see line 362)

vim +/local +365 net/rxrpc/local_object.c

0fde882fc9ee9c David Howells 2022-10-21  360  void rxrpc_unuse_local(struct rxrpc_local *local, enum rxrpc_local_trace why)
730c5fd42c1e36 David Howells 2019-08-09  361  {
a2cf3264f331ac David Howells 2022-11-16 @362  	unsigned int debug_id = local->debug_id;
                                                                        ^^^^^^^^^^^^^^^
Dereference

a2cf3264f331ac David Howells 2022-11-16  363  	int r, u;
a2cf3264f331ac David Howells 2022-11-16  364  
a2cf3264f331ac David Howells 2022-11-16 @365  	if (local) {
                                                    ^^^^^
Checked too late.

a2cf3264f331ac David Howells 2022-11-16  366  		r = refcount_read(&local->ref);
a2cf3264f331ac David Howells 2022-11-16  367  		u = atomic_dec_return(&local->active_users);
a2cf3264f331ac David Howells 2022-11-16  368  		trace_rxrpc_local(debug_id, why, r, u);
a2cf3264f331ac David Howells 2022-11-16  369  		if (u == 0)
a275da62e8c111 David Howells 2022-10-10  370  			kthread_stop(local->io_thread);
68553f1a6f746b David Howells 2019-08-09  371  	}
a2cf3264f331ac David Howells 2022-11-16  372  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux