]> www.infradead.org Git - users/dwmw2/linux.git/commit
tracing: Fix cmp_entries_dup() to respect sort() comparison rules
authorKuan-Wei Chiu <visitorckw@gmail.com>
Tue, 3 Dec 2024 20:22:28 +0000 (04:22 +0800)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Wed, 4 Dec 2024 15:38:24 +0000 (10:38 -0500)
commite63fbd5f6810ed756bbb8a1549c7d4132968baa9
tree350c403d7353105070c047ab48a9bd5fed71ef14
parent40384c840ea1944d7c5a392e8975ed088ecf0b37
tracing: Fix cmp_entries_dup() to respect sort() comparison rules

The cmp_entries_dup() function used as the comparator for sort()
violated the symmetry and transitivity properties required by the
sorting algorithm. Specifically, it returned 1 whenever memcmp() was
non-zero, which broke the following expectations:

* Symmetry: If x < y, then y > x.
* Transitivity: If x < y and y < z, then x < z.

These violations could lead to incorrect sorting and failure to
correctly identify duplicate elements.

Fix the issue by directly returning the result of memcmp(), which
adheres to the required comparison properties.

Cc: stable@vger.kernel.org
Fixes: 08d43a5fa063 ("tracing: Add lock-free tracing_map")
Link: https://lore.kernel.org/20241203202228.1274403-1-visitorckw@gmail.com
Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/tracing_map.c