oe-kbuild-all.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [android-common:android14-5.15 2/11] kernel/trace/ring_buffer.c:2141 ring_buffer_resize() warn: variable dereferenced before check 'buffer' (see line 2136)
@ 2023-03-22  7:33 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2023-03-22  7:33 UTC (permalink / raw)
  To: oe-kbuild, cros-kernel-buildreports; +Cc: lkp, oe-kbuild-all

tree:   https://android.googlesource.com/kernel/common android14-5.15
head:   01e5d4c8d9b1dc42d6b576c3574398c465ea56a4
commit: 13188635cc6b5d06a3c78b1200d28511b7221385 [2/11] ANDROID: ring-buffer: Introducing external writer support
config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20230322/202303220748.j1ALZI9J-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Link: https://lore.kernel.org/r/202303220748.j1ALZI9J-lkp@intel.com/

smatch warnings:
kernel/trace/ring_buffer.c:2141 ring_buffer_resize() warn: variable dereferenced before check 'buffer' (see line 2136)

vim +/buffer +2141 kernel/trace/ring_buffer.c

13292494379f92 Steven Rostedt (VMware    2019-12-13  2129) int ring_buffer_resize(struct trace_buffer *buffer, unsigned long size,
438ced1720b584 Vaibhav Nagarnaik         2012-02-02  2130  			int cpu_id)
7a8e76a3829f10 Steven Rostedt            2008-09-29  2131  {
7a8e76a3829f10 Steven Rostedt            2008-09-29  2132  	struct ring_buffer_per_cpu *cpu_buffer;
9b94a8fba501f3 Steven Rostedt (Red Hat   2016-05-12  2133) 	unsigned long nr_pages;
0a1754b2a97efa Qiujun Huang              2020-10-19  2134  	int cpu, err;
7a8e76a3829f10 Steven Rostedt            2008-09-29  2135  
13188635cc6b5d Vincent Donnefort         2022-08-24 @2136  	if (unlikely(has_ext_writer(buffer)))
                                                                                            ^^^^^^
Dereferenced inside function.

13188635cc6b5d Vincent Donnefort         2022-08-24  2137  		return -EINVAL;
ee51a1de7e3837 Ingo Molnar               2008-11-13  2138  	/*
ee51a1de7e3837 Ingo Molnar               2008-11-13  2139  	 * Always succeed at resizing a non-existent buffer:
ee51a1de7e3837 Ingo Molnar               2008-11-13  2140  	 */
ee51a1de7e3837 Ingo Molnar               2008-11-13 @2141  	if (!buffer)
                                                                     ^^^^^^
Checked too late.

0a1754b2a97efa Qiujun Huang              2020-10-19  2142  		return 0;
ee51a1de7e3837 Ingo Molnar               2008-11-13  2143  
6a31e1f135d1ab Steven Rostedt            2012-05-23  2144  	/* Make sure the requested buffer exists */
6a31e1f135d1ab Steven Rostedt            2012-05-23  2145  	if (cpu_id != RING_BUFFER_ALL_CPUS &&
6a31e1f135d1ab Steven Rostedt            2012-05-23  2146  	    !cpumask_test_cpu(cpu_id, buffer->cpumask))
0a1754b2a97efa Qiujun Huang              2020-10-19  2147  		return 0;
6a31e1f135d1ab Steven Rostedt            2012-05-23  2148  
59643d1535eb22 Steven Rostedt (Red Hat   2016-05-13  2149) 	nr_pages = DIV_ROUND_UP(size, BUF_PAGE_SIZE);
7a8e76a3829f10 Steven Rostedt            2008-09-29  2150  
7a8e76a3829f10 Steven Rostedt            2008-09-29  2151  	/* we need a minimum of two pages */

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-03-22  7:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-22  7:33 [android-common:android14-5.15 2/11] kernel/trace/ring_buffer.c:2141 ring_buffer_resize() warn: variable dereferenced before check 'buffer' (see line 2136) Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).