[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240319131333.504c93fc@gandalf.local.home>
Date: Tue, 19 Mar 2024 13:13:33 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: LKML <linux-kernel@...r.kernel.org>, Masami Hiramatsu
<mhiramat@...nel.org>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Alison Schofield <alison.schofield@...el.com>, Beau Belgrave
<beaub@...ux.microsoft.com>, Huang Yiwei <quic_hyiwei@...cinc.com>, John
Garry <john.g.garry@...cle.com>, Randy Dunlap <rdunlap@...radead.org>,
Thorsten Blum <thorsten.blum@...lux.com>, Vincent Donnefort
<vdonnefort@...gle.com>, linke li <lilinke99@...com>
Subject: Re: [GIT PULL v2] tracing: Updates for v6.9
On Tue, 19 Mar 2024 13:06:53 -0400
Steven Rostedt <rostedt@...dmis.org> wrote:
> This is in the fast path (where the trace event happens), but I can make it
> always do strcmp(), even though it will slow down what is being recorded,
> as I plan on removing the parameter in the next merge window anyway.
I'll change it to this:
#define __assign_str(dst, src) \
do { \
char *__str__ = __get_str(dst); \
int __len__ = __get_dynamic_array_len(dst) - 1; \
WARN_ON_ONCE(!src != !__data_offsets.dst##_ptr_); \
WARN_ON_ONCE(src && strcmp((src), __data_offsets.dst##_ptr_)); \
memcpy(__str__, __data_offsets.dst##_ptr_ ? : \
EVENT_NULL_STR, __len__); \
__str__[__len__] = '\0'; \
} while (0)
The first WARN_ON() will report the bug if src is not NULL and the pointer
is even though the strcmp() will likely crash in that case. But that's a
bug if that happens anyway.
-- Steve
Powered by blists - more mailing lists