* 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.