Steven Rostedt (Google) 24d5a89652 tracing/net_sched: Fix tracepoints that save qdisc_dev() as a string
[ Upstream commit 51270d573a8d9dd5afdc7934de97d66c0e14b5fd ]

I'm updating __assign_str() and will be removing the second parameter. To
make sure that it does not break anything, I make sure that it matches the
__string() field, as that is where the string is actually going to be
saved in. To make sure there's nothing that breaks, I added a WARN_ON() to
make sure that what was used in __string() is the same that is used in
__assign_str().

In doing this change, an error was triggered as __assign_str() now expects
the string passed in to be a char * value. I instead had the following
warning:

include/trace/events/qdisc.h: In function ‘trace_event_raw_event_qdisc_reset’:
include/trace/events/qdisc.h:91:35: error: passing argument 1 of 'strcmp' from incompatible pointer type [-Werror=incompatible-pointer-types]
   91 |                 __assign_str(dev, qdisc_dev(q));

That's because the qdisc_enqueue() and qdisc_reset() pass in qdisc_dev(q)
to __assign_str() and to __string(). But that function returns a pointer
to struct net_device and not a string.

It appears that these events are just saving the pointer as a string and
then reading it as a string as well.

Use qdisc_dev(q)->name to save the device instead.

Fixes: a34dac0b90552 ("net_sched: add tracepoints for qdisc_reset() and qdisc_destroy()")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-15 10:48:16 -04:00
..
2020-11-30 12:54:01 +00:00
2023-08-02 09:13:09 -06:00
2023-08-21 14:54:48 +02:00
2022-12-07 13:54:09 -08:00
2023-08-10 10:33:03 -05:00
2023-07-04 19:40:16 +01:00
2023-07-04 19:40:16 +01:00
2023-01-13 16:39:18 +01:00
2023-03-24 11:01:29 +01:00
2023-03-28 16:20:08 -07:00
2023-07-17 08:18:17 -06:00
2022-08-03 17:50:58 +02:00
2023-04-24 12:16:14 -07:00
2023-06-17 13:18:06 -04:00
2022-07-30 14:01:30 -04:00
2023-05-31 11:05:34 -04:00
2023-02-20 08:28:49 +00:00
2023-08-29 17:45:22 -04:00
2023-03-16 23:16:18 -04:00
2023-07-17 08:18:17 -06:00
2023-09-19 07:04:49 +02:00