Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ACPI: processor_idle: Fix invalid comparison with insertion sort for …
…latency commit 233323f9b9f828cd7cd5145ad811c1990b692542 upstream. The acpi_cst_latency_cmp() comparison function currently used for sorting C-state latencies does not satisfy transitivity, causing incorrect sorting results. Specifically, if there are two valid acpi_processor_cx elements A and B and one invalid element C, it may occur that A < B, A = C, and B = C. Sorting algorithms assume that if A < B and A = C, then C < B, leading to incorrect ordering. Given the small size of the array (<=8), we replace the library sort function with a simple insertion sort that properly ignores invalid elements and sorts valid ones based on latency. This change ensures correct ordering of the C-state latencies. Fixes: 65ea8f2c6e23 ("ACPI: processor idle: Fix up C-state latency if not ordered") Reported-by: Julian Sikorski <[email protected]> Closes: https://lore.kernel.org/lkml/[email protected] Signed-off-by: Kuan-Wei Chiu <[email protected]> Tested-by: Julian Sikorski <[email protected]> Cc: All applicable <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Kuan-Wei Chiu <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> (cherry picked from commit c9d6e349f7aad4ab9c557047d357df256c15f25e) Signed-off-by: Harshit Mogalapalli <[email protected]>
- Loading branch information