Skip to content
Snippets Groups Projects
user avatar
Steven Rostedt (VMware) authored
The compare functions of the histogram code would be specific for the size
of the value being compared (byte, short, int, long long). It would
reference the value from the array via the type of the compare, but the
value was stored in a 64 bit number. This is fine for little endian
machines, but for big endian machines, it would end up comparing zeros or
all ones (depending on the sign) for anything but 64 bit numbers.

To fix this, first derference the value as a u64 then convert it to the type
being compared.

Link: http://lkml.kernel.org/r/20191211103557.7bed6928@gandalf.local.home



Cc: stable@vger.kernel.org
Fixes: 08d43a5f ("tracing: Add lock-free tracing_map")
Acked-by: default avatarTom Zanussi <zanussi@kernel.org>
Reported-by: default avatarSven Schnelle <svens@stackframe.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
106f41f5
History
Name Last commit Last update
..