All of lore.kernel.org
 help / color / mirror / Atom feed
* kernel/trace/ring_buffer.c:2802:26: warning: Either the condition 'nest>=5' is redundant or the array 'cpu_buffer->event_stamp[5]' is accessed at index 5, which is out of bounds. [arrayIndexOutOfBoundsCond]
@ 2021-06-25 21:38 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-06-25 21:38 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
CC: Tom Zanussi <zanussi@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   55fcd4493da5ac8a0f7a0b3b5ae8448aee2041bb
commit: a948c69d6fb1ba749a958a8a87d4eecdda28989d ring-buffer: Add verifier for using ring_buffer_event_time_stamp()
date:   3 months ago
:::::: branch date: 4 hours ago
:::::: commit date: 3 months ago
compiler: riscv64-linux-gcc (GCC) 9.3.0

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> kernel/trace/ring_buffer.c:2802:26: warning: Either the condition 'nest>=5' is redundant or the array 'cpu_buffer->event_stamp[5]' is accessed at index 5, which is out of bounds. [arrayIndexOutOfBoundsCond]
     cpu_buffer->event_stamp[nest] = info->ts;
                            ^
   kernel/trace/ring_buffer.c:2801:25: note: Assuming that condition 'nest>=5' is not redundant
    if (!WARN_ON_ONCE(nest >= MAX_NEST))
                           ^
   kernel/trace/ring_buffer.c:2802:26: note: Array index out of bounds
     cpu_buffer->event_stamp[nest] = info->ts;
                            ^

vim +2802 kernel/trace/ring_buffer.c

74e879373b377f Steven Rostedt (VMware   2020-06-30  2780) 
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2781) /**
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2782)  * rb_update_event - update event type and data
cfc585a401764f Steven Rostedt (VMware   2020-01-14  2783)  * @cpu_buffer: The per cpu buffer of the @event
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2784)  * @event: the event to update
cfc585a401764f Steven Rostedt (VMware   2020-01-14  2785)  * @info: The info to update the @event with (contains length and delta)
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2786)  *
cfc585a401764f Steven Rostedt (VMware   2020-01-14  2787)  * Update the type and data fields of the @event. The length
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2788)  * is the actual size that is written to the ring buffer,
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2789)  * and with this, we can determine what to place into the
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2790)  * data field.
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2791)  */
b7dc42fd79390c Steven Rostedt (Red Hat  2015-09-03  2792) static void
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2793) rb_update_event(struct ring_buffer_per_cpu *cpu_buffer,
a4543a2fa9ef31 Steven Rostedt (Red Hat  2015-05-29  2794) 		struct ring_buffer_event *event,
9826b2733a4399 Steven Rostedt (Red Hat  2015-05-28  2795) 		struct rb_event_info *info)
9826b2733a4399 Steven Rostedt (Red Hat  2015-05-28  2796) {
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2797) 	unsigned length = info->length;
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2798) 	u64 delta = info->delta;
8672e4948d0c44 Steven Rostedt (VMware   2021-03-16  2799) 	unsigned int nest = local_read(&cpu_buffer->committing) - 1;
8672e4948d0c44 Steven Rostedt (VMware   2021-03-16  2800) 
a948c69d6fb1ba Steven Rostedt (VMware   2021-03-16  2801) 	if (!WARN_ON_ONCE(nest >= MAX_NEST))
8672e4948d0c44 Steven Rostedt (VMware   2021-03-16 @2802) 		cpu_buffer->event_stamp[nest] = info->ts;
a4543a2fa9ef31 Steven Rostedt (Red Hat  2015-05-29  2803) 
a4543a2fa9ef31 Steven Rostedt (Red Hat  2015-05-29  2804) 	/*
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2805) 	 * If we need to add a timestamp, then we
6167c205ca9c21 Steven Rostedt (VMware   2018-05-16  2806) 	 * add it to the start of the reserved space.
a4543a2fa9ef31 Steven Rostedt (Red Hat  2015-05-29  2807) 	 */
74e879373b377f Steven Rostedt (VMware   2020-06-30  2808) 	if (unlikely(info->add_timestamp))
74e879373b377f Steven Rostedt (VMware   2020-06-30  2809) 		rb_add_timestamp(cpu_buffer, &event, info, &delta, &length);
a4543a2fa9ef31 Steven Rostedt (Red Hat  2015-05-29  2810) 
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2811) 	event->time_delta = delta;
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2812) 	length -= RB_EVNT_HDR_SIZE;
adab66b71abfe2 Steven Rostedt (VMware   2020-12-14  2813) 	if (length > RB_MAX_SMALL_DATA || RB_FORCE_8BYTE_ALIGNMENT) {
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2814) 		event->type_len = 0;
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2815) 		event->array[0] = length;
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2816) 	} else
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2817) 		event->type_len = DIV_ROUND_UP(length, RB_ALIGNMENT);
d90fd77402d3de Steven Rostedt (Red Hat  2015-05-29  2818) }
a4543a2fa9ef31 Steven Rostedt (Red Hat  2015-05-29  2819) 

:::::: The code at line 2802 was first introduced by commit
:::::: 8672e4948d0c44272cc05f8ff563dbf6b6c1289f ring-buffer: Add a event_stamp to cpu_buffer for each level of nesting

:::::: TO: Steven Rostedt (VMware) <rostedt@goodmis.org>
:::::: 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

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

only message in thread, other threads:[~2021-06-25 21:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-25 21:38 kernel/trace/ring_buffer.c:2802:26: warning: Either the condition 'nest>=5' is redundant or the array 'cpu_buffer->event_stamp[5]' is accessed at index 5, which is out of bounds. [arrayIndexOutOfBoundsCond] 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.