From: Uros Bizjak <ubizjak@gmail.com>
To: x86@kernel.org, linux-kernel@vger.kernel.org
Cc: Uros Bizjak <ubizjak@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH -tip 5/5] x86/percpu: Fix operand constraint modifier in __raw_cpu_write()
Date: Tue, 30 Apr 2024 11:17:24 +0200 [thread overview]
Message-ID: <20240430091833.196482-5-ubizjak@gmail.com> (raw)
In-Reply-To: <20240430091833.196482-1-ubizjak@gmail.com>
__raw_cpu_write() with !USE_X86_SEG_SUPPORT config uses read/write
operand constraint modifier "+" for its memory location. This signals
the compiler that the location is both read and written by the asm.
This is not true, because MOV insn only writes to the output.
Correct the modifier to "=" to inform the compiler that the memory
location is only written to. This also prevents the compiler from
value tracking the undefined value from the uninitialized memory.
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
---
arch/x86/include/asm/percpu.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index d20255138426..c77393cd0273 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -178,7 +178,7 @@ do { \
(void)pto_tmp__; \
} \
asm qual(__pcpu_op2_##size("mov", "%[val]", __percpu_arg([var])) \
- : [var] "+m" (__my_cpu_var(_var)) \
+ : [var] "=m" (__my_cpu_var(_var)) \
: [val] __pcpu_reg_imm_##size(pto_val__)); \
} while (0)
--
2.44.0
next prev parent reply other threads:[~2024-04-30 9:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-30 9:17 [PATCH -tip 1/5] x86/percpu: Introduce pcpu_binary_op() macro Uros Bizjak
2024-04-30 9:17 ` [PATCH -tip 2/5] x86/percpu: Move some percpu macros around Uros Bizjak
2024-05-18 9:44 ` [tip: x86/percpu] x86/percpu: Move some percpu macros around for readability tip-bot2 for Uros Bizjak
2024-04-30 9:17 ` [PATCH -tip 3/5] x86/percpu: Unify percpu read-write accessors Uros Bizjak
2024-05-18 9:44 ` [tip: x86/percpu] " tip-bot2 for Uros Bizjak
2024-04-30 9:17 ` [PATCH -tip 4/5] x86/percpu: Introduce __raw_cpu_read_const() macro Uros Bizjak
2024-05-18 9:44 ` [tip: x86/percpu] x86/percpu: Introduce the " tip-bot2 for Uros Bizjak
2024-04-30 9:17 ` Uros Bizjak [this message]
2024-05-18 9:44 ` [tip: x86/percpu] x86/percpu: Fix operand constraint modifier in __raw_cpu_write() tip-bot2 for Uros Bizjak
2024-05-18 9:44 ` [tip: x86/percpu] x86/percpu: Introduce the pcpu_binary_op() macro tip-bot2 for Uros Bizjak
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=20240430091833.196482-5-ubizjak@gmail.com \
--to=ubizjak@gmail.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox