]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 19:03:21 +0000 (20:03 +0100)
commitba0ee489cddea1d7274f27f77ff339bd85c77a55
treeb2ae5cfa8910a45ebb779c881927c1bf73bc2864
parent2f4320f9f888264b41252aceb0b7e97f1c8e6c35
tracing: Fix cmp_entries_dup() to respect sort() comparison rules

commit e63fbd5f6810ed756bbb8a1549c7d4132968baa9 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/trace/tracing_map.c