All of lore.kernel.org
 help / color / mirror / Atom feed
* [trace:ftrace/ring-buffer-irq-timestamp 1/7] kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
@ 2020-06-29 10:57 ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2020-06-29 10:57 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 2978 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/ring-buffer-irq-timestamp
head:   63afaf390ebc12f578d6bb4ced9ed4a35eab1c92
commit: 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2 [1/7] tracing: Only allow trace_array_printk() to be used by instances
config: x86_64-randconfig-m001-20200629 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)

# https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/commit/?id=0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
git remote add trace https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
git remote update trace
git checkout 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
vim +/tr +3356 kernel/trace/trace.c

12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3343) int trace_array_printk(struct trace_array *tr,
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3344) 		       unsigned long ip, const char *fmt, ...)
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3345) {
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3346) 	int ret;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3347) 	va_list ap;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3348) 
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3349) 	/* This is only allowed for created instances */
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3350) 	if (tr == &global_trace)
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3351) 		return 0;
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3352) 
0b10b8f570623d Steven Rostedt (VMware   2020-06-16 @3353) 	if (!(tr->trace_flags & TRACE_ITER_PRINTK))
                                                                      ^^^^^^^^^^^^^^^
Dereference.


12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3354) 		return 0;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3355) 
953ae45a0c25e0 Divya Indi               2019-08-14 @3356  	if (!tr)
                                                                    ^^^
Checked too late.

953ae45a0c25e0 Divya Indi               2019-08-14  3357  		return -ENOENT;
953ae45a0c25e0 Divya Indi               2019-08-14  3358  
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3359) 	va_start(ap, fmt);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3360) 	ret = trace_array_vprintk(tr, ip, fmt, ap);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3361) 	va_end(ap);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3362) 	return ret;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3363) }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31959 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [trace:ftrace/ring-buffer-irq-timestamp 1/7] kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
@ 2020-06-29 10:57 ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2020-06-29 10:57 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 2978 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/ring-buffer-irq-timestamp
head:   63afaf390ebc12f578d6bb4ced9ed4a35eab1c92
commit: 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2 [1/7] tracing: Only allow trace_array_printk() to be used by instances
config: x86_64-randconfig-m001-20200629 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)

# https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/commit/?id=0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
git remote add trace https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
git remote update trace
git checkout 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
vim +/tr +3356 kernel/trace/trace.c

12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3343) int trace_array_printk(struct trace_array *tr,
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3344) 		       unsigned long ip, const char *fmt, ...)
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3345) {
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3346) 	int ret;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3347) 	va_list ap;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3348) 
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3349) 	/* This is only allowed for created instances */
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3350) 	if (tr == &global_trace)
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3351) 		return 0;
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3352) 
0b10b8f570623d Steven Rostedt (VMware   2020-06-16 @3353) 	if (!(tr->trace_flags & TRACE_ITER_PRINTK))
                                                                      ^^^^^^^^^^^^^^^
Dereference.


12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3354) 		return 0;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3355) 
953ae45a0c25e0 Divya Indi               2019-08-14 @3356  	if (!tr)
                                                                    ^^^
Checked too late.

953ae45a0c25e0 Divya Indi               2019-08-14  3357  		return -ENOENT;
953ae45a0c25e0 Divya Indi               2019-08-14  3358  
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3359) 	va_start(ap, fmt);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3360) 	ret = trace_array_vprintk(tr, ip, fmt, ap);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3361) 	va_end(ap);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3362) 	return ret;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3363) }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31959 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [trace:ftrace/ring-buffer-irq-timestamp 1/7] kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
  2020-06-29 10:57 ` Dan Carpenter
  (?)
@ 2020-06-29 13:05 ` Steven Rostedt
  2020-06-29 13:50     ` Dan Carpenter
  -1 siblings, 1 reply; 6+ messages in thread
From: Steven Rostedt @ 2020-06-29 13:05 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 1653 bytes --]

On Mon, 29 Jun 2020 13:57:10 +0300
Dan Carpenter <dan.carpenter@oracle.com> wrote:

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/ring-buffer-irq-timestamp
> head:   63afaf390ebc12f578d6bb4ced9ed4a35eab1c92
> commit: 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2 [1/7] tracing: Only allow trace_array_printk() to be used by instances
> config: x86_64-randconfig-m001-20200629 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> smatch warnings:
> kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)

Thanks for the report.

As this is not in a upstream tree yet (it's only in my development
branch) and I'm going to fold the fix into the original commit. It
doesn't make sense to add a "Reported-by" because the issue that was
reported got fixed and folded, Reported-by is for issues that the patch
fixes not issues for the patch itself.

Should I just put in a "Reviewed-by: kernel test robot <lkp@intel.com>" and
"Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>" ?

-- Steve


> 
> # https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/commit/?id=0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
> git remote add trace https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
> git remote update trace
> git checkout 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
> vim +/tr +3356 kernel/trace/trace.c
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [trace:ftrace/ring-buffer-irq-timestamp 1/7] kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
  2020-06-29 13:05 ` Steven Rostedt
@ 2020-06-29 13:50     ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2020-06-29 13:50 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 1569 bytes --]

On Mon, Jun 29, 2020 at 09:05:12AM -0400, Steven Rostedt wrote:
> On Mon, 29 Jun 2020 13:57:10 +0300
> Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/ring-buffer-irq-timestamp
> > head:   63afaf390ebc12f578d6bb4ced9ed4a35eab1c92
> > commit: 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2 [1/7] tracing: Only allow trace_array_printk() to be used by instances
> > config: x86_64-randconfig-m001-20200629 (attached as .config)
> > compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
> > 
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> > Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> > 
> > smatch warnings:
> > kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
> 
> Thanks for the report.
> 
> As this is not in a upstream tree yet (it's only in my development
> branch) and I'm going to fold the fix into the original commit. It
> doesn't make sense to add a "Reported-by" because the issue that was
> reported got fixed and folded, Reported-by is for issues that the patch
> fixes not issues for the patch itself.
> 
> Should I just put in a "Reviewed-by: kernel test robot <lkp@intel.com>" and
> "Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>" ?

Nah...  Forget about it.  These are just a template email that kbuild
sends and I forward it.  Just ignore it when it doesn't make sense.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [trace:ftrace/ring-buffer-irq-timestamp 1/7] kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
@ 2020-06-29 13:50     ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2020-06-29 13:50 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 1569 bytes --]

On Mon, Jun 29, 2020 at 09:05:12AM -0400, Steven Rostedt wrote:
> On Mon, 29 Jun 2020 13:57:10 +0300
> Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/ring-buffer-irq-timestamp
> > head:   63afaf390ebc12f578d6bb4ced9ed4a35eab1c92
> > commit: 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2 [1/7] tracing: Only allow trace_array_printk() to be used by instances
> > config: x86_64-randconfig-m001-20200629 (attached as .config)
> > compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
> > 
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> > Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> > 
> > smatch warnings:
> > kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
> 
> Thanks for the report.
> 
> As this is not in a upstream tree yet (it's only in my development
> branch) and I'm going to fold the fix into the original commit. It
> doesn't make sense to add a "Reported-by" because the issue that was
> reported got fixed and folded, Reported-by is for issues that the patch
> fixes not issues for the patch itself.
> 
> Should I just put in a "Reviewed-by: kernel test robot <lkp@intel.com>" and
> "Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>" ?

Nah...  Forget about it.  These are just a template email that kbuild
sends and I forward it.  Just ignore it when it doesn't make sense.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [trace:ftrace/ring-buffer-irq-timestamp 1/7] kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)
@ 2020-06-29  7:50 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2020-06-29  7:50 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 3505 bytes --]

CC: kbuild-all(a)lists.01.org
TO: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/ring-buffer-irq-timestamp
head:   63afaf390ebc12f578d6bb4ced9ed4a35eab1c92
commit: 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2 [1/7] tracing: Only allow trace_array_printk() to be used by instances
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: x86_64-randconfig-m001-20200629 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353)

# https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/commit/?id=0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
git remote add trace https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
git remote update trace
git checkout 0b10b8f570623d0a82ce29089b9be3b3f53e5bf2
vim +/tr +3356 kernel/trace/trace.c

12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3341) 
26b68dd2f48fe7 Mathieu Malaterre        2018-03-08  3342  __printf(3, 0)
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3343) int trace_array_printk(struct trace_array *tr,
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3344) 		       unsigned long ip, const char *fmt, ...)
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3345) {
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3346) 	int ret;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3347) 	va_list ap;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3348) 
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3349) 	/* This is only allowed for created instances */
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3350) 	if (tr == &global_trace)
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3351) 		return 0;
0b10b8f570623d Steven Rostedt (VMware   2020-06-16  3352) 
0b10b8f570623d Steven Rostedt (VMware   2020-06-16 @3353) 	if (!(tr->trace_flags & TRACE_ITER_PRINTK))
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3354) 		return 0;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3355) 
953ae45a0c25e0 Divya Indi               2019-08-14 @3356  	if (!tr)
953ae45a0c25e0 Divya Indi               2019-08-14  3357  		return -ENOENT;
953ae45a0c25e0 Divya Indi               2019-08-14  3358  
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3359) 	va_start(ap, fmt);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3360) 	ret = trace_array_vprintk(tr, ip, fmt, ap);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3361) 	va_end(ap);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3362) 	return ret;
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3363) }
f45d1225adb047 Divya Indi               2019-03-20  3364  EXPORT_SYMBOL_GPL(trace_array_printk);
12883efb670c28 Steven Rostedt (Red Hat  2013-03-05  3365) 

:::::: The code at line 3356 was first introduced by commit
:::::: 953ae45a0c25e09428d4a03d7654f97ab8a36647 tracing: Adding NULL checks for trace_array descriptor pointer

:::::: TO: Divya Indi <divya.indi@oracle.com>
:::::: CC: Steven Rostedt (VMware) <rostedt@goodmis.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31959 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-06-29 13:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-29 10:57 [trace:ftrace/ring-buffer-irq-timestamp 1/7] kernel/trace/trace.c:3356 trace_array_printk() warn: variable dereferenced before check 'tr' (see line 3353) Dan Carpenter
2020-06-29 10:57 ` Dan Carpenter
2020-06-29 13:05 ` Steven Rostedt
2020-06-29 13:50   ` Dan Carpenter
2020-06-29 13:50     ` Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2020-06-29  7:50 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.