From: Nicholas Miehlbradt <nicholas@linux.ibm.com>
To: glider@google.com, elver@google.com, dvyukov@google.com,
akpm@linux-foundation.org, mpe@ellerman.id.au, npiggin@gmail.com,
christophe.leroy@csgroup.eu
Cc: iii@linux.ibm.com, linux-kernel@vger.kernel.org,
Nicholas Miehlbradt <nicholas@linux.ibm.com>,
linux-mm@kvack.org, kasan-dev@googlegroups.com,
linuxppc-dev@lists.ozlabs.org
Subject: [PATCH 08/13] powerpc: Unpoison pt_regs
Date: Thu, 14 Dec 2023 05:55:34 +0000 [thread overview]
Message-ID: <20231214055539.9420-9-nicholas@linux.ibm.com> (raw)
In-Reply-To: <20231214055539.9420-1-nicholas@linux.ibm.com>
pt_regs is initialized ppc_save_regs which is implemented in assembly
and therefore does not mark the struct as initialized. Unpoison it so
that it will not generate false positives.
Signed-off-by: Nicholas Miehlbradt <nicholas@linux.ibm.com>
---
arch/powerpc/include/asm/interrupt.h | 2 ++
arch/powerpc/kernel/irq_64.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/arch/powerpc/include/asm/interrupt.h b/arch/powerpc/include/asm/interrupt.h
index a4196ab1d016..a9bb09633689 100644
--- a/arch/powerpc/include/asm/interrupt.h
+++ b/arch/powerpc/include/asm/interrupt.h
@@ -68,6 +68,7 @@
#include <linux/context_tracking.h>
#include <linux/hardirq.h>
+#include <linux/kmsan.h>
#include <asm/cputime.h>
#include <asm/firmware.h>
#include <asm/ftrace.h>
@@ -170,6 +171,7 @@ static inline void interrupt_enter_prepare(struct pt_regs *regs)
__hard_RI_enable();
}
/* Enable MSR[RI] early, to support kernel SLB and hash faults */
+ kmsan_unpoison_entry_regs(regs);
#endif
if (!arch_irq_disabled_regs(regs))
diff --git a/arch/powerpc/kernel/irq_64.c b/arch/powerpc/kernel/irq_64.c
index 938e66829eae..3d441f1b8c49 100644
--- a/arch/powerpc/kernel/irq_64.c
+++ b/arch/powerpc/kernel/irq_64.c
@@ -45,6 +45,7 @@
#include <linux/vmalloc.h>
#include <linux/pgtable.h>
#include <linux/static_call.h>
+#include <linux/kmsan.h>
#include <linux/uaccess.h>
#include <asm/interrupt.h>
@@ -117,6 +118,7 @@ static __no_kcsan void __replay_soft_interrupts(void)
local_paca->irq_happened |= PACA_IRQ_REPLAYING;
ppc_save_regs(®s);
+ kmsan_unpoison_entry_regs(®s);
regs.softe = IRQS_ENABLED;
regs.msr |= MSR_EE;
--
2.40.1
WARNING: multiple messages have this Message-ID (diff)
From: Nicholas Miehlbradt <nicholas@linux.ibm.com>
To: glider@google.com, elver@google.com, dvyukov@google.com,
akpm@linux-foundation.org, mpe@ellerman.id.au, npiggin@gmail.com,
christophe.leroy@csgroup.eu
Cc: linux-mm@kvack.org, kasan-dev@googlegroups.com,
iii@linux.ibm.com, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org,
Nicholas Miehlbradt <nicholas@linux.ibm.com>
Subject: [PATCH 08/13] powerpc: Unpoison pt_regs
Date: Thu, 14 Dec 2023 05:55:34 +0000 [thread overview]
Message-ID: <20231214055539.9420-9-nicholas@linux.ibm.com> (raw)
In-Reply-To: <20231214055539.9420-1-nicholas@linux.ibm.com>
pt_regs is initialized ppc_save_regs which is implemented in assembly
and therefore does not mark the struct as initialized. Unpoison it so
that it will not generate false positives.
Signed-off-by: Nicholas Miehlbradt <nicholas@linux.ibm.com>
---
arch/powerpc/include/asm/interrupt.h | 2 ++
arch/powerpc/kernel/irq_64.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/arch/powerpc/include/asm/interrupt.h b/arch/powerpc/include/asm/interrupt.h
index a4196ab1d016..a9bb09633689 100644
--- a/arch/powerpc/include/asm/interrupt.h
+++ b/arch/powerpc/include/asm/interrupt.h
@@ -68,6 +68,7 @@
#include <linux/context_tracking.h>
#include <linux/hardirq.h>
+#include <linux/kmsan.h>
#include <asm/cputime.h>
#include <asm/firmware.h>
#include <asm/ftrace.h>
@@ -170,6 +171,7 @@ static inline void interrupt_enter_prepare(struct pt_regs *regs)
__hard_RI_enable();
}
/* Enable MSR[RI] early, to support kernel SLB and hash faults */
+ kmsan_unpoison_entry_regs(regs);
#endif
if (!arch_irq_disabled_regs(regs))
diff --git a/arch/powerpc/kernel/irq_64.c b/arch/powerpc/kernel/irq_64.c
index 938e66829eae..3d441f1b8c49 100644
--- a/arch/powerpc/kernel/irq_64.c
+++ b/arch/powerpc/kernel/irq_64.c
@@ -45,6 +45,7 @@
#include <linux/vmalloc.h>
#include <linux/pgtable.h>
#include <linux/static_call.h>
+#include <linux/kmsan.h>
#include <linux/uaccess.h>
#include <asm/interrupt.h>
@@ -117,6 +118,7 @@ static __no_kcsan void __replay_soft_interrupts(void)
local_paca->irq_happened |= PACA_IRQ_REPLAYING;
ppc_save_regs(®s);
+ kmsan_unpoison_entry_regs(®s);
regs.softe = IRQS_ENABLED;
regs.msr |= MSR_EE;
--
2.40.1
next prev parent reply other threads:[~2023-12-14 6:01 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-14 5:55 [PATCH 00/13] kmsan: Enable on powerpc Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 5:55 ` [PATCH 01/13] kmsan: Export kmsan_handle_dma Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2024-02-19 19:37 ` Christophe Leroy
2024-02-19 19:37 ` Christophe Leroy
2023-12-14 5:55 ` [PATCH 02/13] hvc: Fix use of uninitialized array in udbg_hvc_putc Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 8:36 ` Christophe Leroy
2023-12-14 8:36 ` Christophe Leroy
2023-12-21 12:09 ` Michael Ellerman
2023-12-21 12:09 ` Michael Ellerman
2023-12-14 5:55 ` [PATCH 03/13] powerpc: Disable KMSAN santitization for prom_init, vdso and purgatory Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 5:55 ` [PATCH 04/13] powerpc: Disable CONFIG_DCACHE_WORD_ACCESS when KMSAN is enabled Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 8:42 ` Christophe Leroy
2023-12-14 8:42 ` Christophe Leroy
2023-12-14 5:55 ` [PATCH 05/13] powerpc: Unpoison buffers populated by hcalls Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 5:55 ` [PATCH 06/13] powerpc/pseries/nvram: Unpoison buffer populated by rtas_call Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 5:55 ` [PATCH 07/13] powerpc/kprobes: Unpoison instruction in kprobe struct Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-15 7:51 ` Naveen N Rao
2023-12-15 7:51 ` Naveen N Rao
2023-12-14 5:55 ` Nicholas Miehlbradt [this message]
2023-12-14 5:55 ` [PATCH 08/13] powerpc: Unpoison pt_regs Nicholas Miehlbradt
2023-12-14 5:55 ` [PATCH 09/13] powerpc: Disable KMSAN checks on functions which walk the stack Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 9:00 ` Christophe Leroy
2023-12-14 9:00 ` Christophe Leroy
2024-01-10 4:16 ` Nicholas Miehlbradt
2024-01-10 4:16 ` Nicholas Miehlbradt
2023-12-15 9:02 ` Aneesh Kumar K.V
2023-12-15 9:02 ` Aneesh Kumar K.V
2023-12-14 5:55 ` [PATCH 10/13] powerpc: Define KMSAN metadata address ranges for vmalloc and ioremap Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 9:17 ` Christophe Leroy
2023-12-14 9:17 ` Christophe Leroy
2024-01-10 3:54 ` Nicholas Miehlbradt
2024-01-10 3:54 ` Nicholas Miehlbradt
2023-12-15 9:27 ` Aneesh Kumar K.V
2023-12-15 9:27 ` Aneesh Kumar K.V
2023-12-14 5:55 ` [PATCH 11/13] powerpc: Implement architecture specific KMSAN interface Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 9:20 ` Christophe Leroy
2023-12-14 9:20 ` Christophe Leroy
2023-12-14 5:55 ` [PATCH 12/13] powerpc/string: Add KMSAN support Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 9:25 ` Christophe Leroy
2023-12-14 9:25 ` Christophe Leroy
2024-01-10 4:09 ` Nicholas Miehlbradt
2024-01-10 4:09 ` Nicholas Miehlbradt
2023-12-14 5:55 ` [PATCH 13/13] powerpc: Enable KMSAN on powerpc Nicholas Miehlbradt
2023-12-14 5:55 ` Nicholas Miehlbradt
2023-12-14 9:27 ` Christophe Leroy
2023-12-14 9:27 ` Christophe Leroy
2024-02-20 6:39 ` [PATCH 00/13] kmsan: Enable " Christophe Leroy
2024-02-20 6:39 ` Christophe Leroy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231214055539.9420-9-nicholas@linux.ibm.com \
--to=nicholas@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=christophe.leroy@csgroup.eu \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=glider@google.com \
--cc=iii@linux.ibm.com \
--cc=kasan-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.