Fix "irq -a" option on Linux 6.0 and later
Upstream patch: 6d0be1316aa3 ("Fix "irq -a" option on Linux 6.0 and later") Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
This commit is contained in:
parent
b72922de93
commit
b015957717
45
0016-Fix-irq-a-option-on-Linux-6.0-and-later.patch
Normal file
45
0016-Fix-irq-a-option-on-Linux-6.0-and-later.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From 6d0be1316aa3666895c0a8a0d3c98c235ec03bd4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kazuhito Hagio <k-hagio-ab@nec.com>
|
||||||
|
Date: Mon, 10 Jul 2023 10:42:08 +0900
|
||||||
|
Subject: [PATCH] Fix "irq -a" option on Linux 6.0 and later
|
||||||
|
|
||||||
|
Kernel commit f0dd891dd5a1d ("lib/cpumask: move some one-line wrappers
|
||||||
|
to header file"), which is contained in Linux 6.0 and later kernels,
|
||||||
|
inlined alloc_cpumask_var() function. As a result, the "irq -a" option
|
||||||
|
fails to determine that cpumask_var_t is a pointer, and displays wrong
|
||||||
|
CPU affinity for IRQs:
|
||||||
|
|
||||||
|
crash> irq -a
|
||||||
|
IRQ NAME AFFINITY
|
||||||
|
1 i8042 3
|
||||||
|
4 ttyS0
|
||||||
|
8 rtc0
|
||||||
|
9 acpi 3
|
||||||
|
12 i8042 3
|
||||||
|
...
|
||||||
|
|
||||||
|
Use alloc_cpumask_var_node() function symbol instead to fix it.
|
||||||
|
|
||||||
|
Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
|
||||||
|
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
|
||||||
|
---
|
||||||
|
kernel.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/kernel.c b/kernel.c
|
||||||
|
index 639ed64f306a..0fc77c19f12a 100644
|
||||||
|
--- a/kernel.c
|
||||||
|
+++ b/kernel.c
|
||||||
|
@@ -7298,7 +7298,8 @@ generic_get_irq_affinity(int irq)
|
||||||
|
tmp_addr = irq_desc_addr + \
|
||||||
|
OFFSET(irq_desc_t_affinity);
|
||||||
|
|
||||||
|
- if (symbol_exists("alloc_cpumask_var")) /* pointer member */
|
||||||
|
+ if (symbol_exists("alloc_cpumask_var_node") ||
|
||||||
|
+ symbol_exists("alloc_cpumask_var")) /* pointer member */
|
||||||
|
readmem(tmp_addr,KVADDR, &affinity_ptr, sizeof(ulong),
|
||||||
|
"irq_desc affinity", FAULT_ON_ERROR);
|
||||||
|
else /* array member */
|
||||||
|
--
|
||||||
|
2.37.1
|
||||||
|
|
@ -34,6 +34,7 @@ Patch13: 0012-ppc64-Remove-redundant-PTE-checks.patch
|
|||||||
Patch14: 0013-Support-module-memory-layout-change-on-Linux-6.4.patch
|
Patch14: 0013-Support-module-memory-layout-change-on-Linux-6.4.patch
|
||||||
Patch15: 0014-Fix-failure-of-gathering-task-table-on-Linux-6.5-rc1.patch
|
Patch15: 0014-Fix-failure-of-gathering-task-table-on-Linux-6.5-rc1.patch
|
||||||
Patch16: 0015-Fix-compilation-error-due-to-new-strlcpy-function-th.patch
|
Patch16: 0015-Fix-compilation-error-due-to-new-strlcpy-function-th.patch
|
||||||
|
Patch17: 0016-Fix-irq-a-option-on-Linux-6.0-and-later.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The core analysis suite is a self-contained tool that can be used to
|
The core analysis suite is a self-contained tool that can be used to
|
||||||
@ -70,6 +71,7 @@ offered by Mission Critical Linux, or the LKCD kernel patch.
|
|||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
|
%patch17 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user