aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-30 10:05:20 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-30 10:05:20 +0200
commit8ba7f818086537a28ce989685b7c27d7d228da1c (patch)
treeb6563acad2dbc528a751f77c3593e5e71a9224c2
parenta729a88ed23723eaf06a17f2a5636d7b7727b286 (diff)
downloadstable-queue-8ba7f818086537a28ce989685b7c27d7d228da1c.tar.gz
5.15-stable patches
added patches: bounds-use-the-right-number-of-bits-for-power-of-two-config_nr_cpus.patch
-rw-r--r--queue-5.15/bounds-use-the-right-number-of-bits-for-power-of-two-config_nr_cpus.patch44
-rw-r--r--queue-5.15/series1
2 files changed, 45 insertions, 0 deletions
diff --git a/queue-5.15/bounds-use-the-right-number-of-bits-for-power-of-two-config_nr_cpus.patch b/queue-5.15/bounds-use-the-right-number-of-bits-for-power-of-two-config_nr_cpus.patch
new file mode 100644
index 0000000000..c895a5c5a5
--- /dev/null
+++ b/queue-5.15/bounds-use-the-right-number-of-bits-for-power-of-two-config_nr_cpus.patch
@@ -0,0 +1,44 @@
+From 5af385f5f4cddf908f663974847a4083b2ff2c79 Mon Sep 17 00:00:00 2001
+From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
+Date: Mon, 29 Apr 2024 15:47:51 +0100
+Subject: bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Matthew Wilcox (Oracle) <willy@infradead.org>
+
+commit 5af385f5f4cddf908f663974847a4083b2ff2c79 upstream.
+
+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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ kernel/bounds.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/kernel/bounds.c
++++ b/kernel/bounds.c
+@@ -19,7 +19,7 @@ int main(void)
+ DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
+ DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
+ #ifdef CONFIG_SMP
+- DEFINE(NR_CPUS_BITS, bits_per(CONFIG_NR_CPUS));
++ DEFINE(NR_CPUS_BITS, order_base_2(CONFIG_NR_CPUS));
+ #endif
+ DEFINE(SPINLOCK_SIZE, sizeof(spinlock_t));
+ /* End of constants */
diff --git a/queue-5.15/series b/queue-5.15/series
index c444fabc6f..22b0bc6df2 100644
--- a/queue-5.15/series
+++ b/queue-5.15/series
@@ -75,3 +75,4 @@ riscv-fix-task_size-on-64-bit-nommu.patch
i2c-smbus-fix-null-function-pointer-dereference.patch
fbdev-fix-incorrect-address-computation-in-deferred-io.patch
hid-i2c-hid-remove-i2c_hid_read_pending-flag-to-prevent-lock-up.patch
+bounds-use-the-right-number-of-bits-for-power-of-two-config_nr_cpus.patch