bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
JIRA: https://issues.redhat.com/browse/RHEL-37368
CVE: CVE-2024-35983
Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=61347638
Tested: Successful sanity booted on Intel systems.
commit 5af385f5f4cddf908f663974847a4083b2ff2c79
Author: Matthew Wilcox (Oracle) willy@infradead.org
Date: Mon Apr 29 15:47:51 2024 +0100
bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
bits_per() rounds up to the next power of two when passed a power of
two. This causes crashes on some machines and configurations.
Reported-by: Михаил Новоселов <m.novosyolov@rosalinux.ru>
Tested-by: Ильфат Гаптрахманов <i.gaptrakhmanov@rosalinux.ru>
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/3347
Link: https://lore.kernel.org/all/1c978cf1-2934-4e66-e4b3-e81b04cb3571@rosalinux.ru/
Fixes: f2d5dcb48f7b (bounds: support non-power-of-two CONFIG_NR_CPUS)
Cc: <stable@vger.kernel.org>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Steve Best sbest@redhat.com