From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 5.10 v2 05/16] x86/alternatives: Teach text_poke_bp() to patch Jcc.d32 instructions
Date: Thu, 19 Jun 2025 05:03:19 -0400 [thread overview]
Message-ID: <20250618171828-ebdcd37d56c3a76b@stable.kernel.org> (raw)
In-Reply-To: <20250617-its-5-10-v2-5-3e925a1512a1@linux.intel.com>
[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected.
No action required from the submitter.
The upstream commit SHA1 provided is correct: ac0ee0a9560c97fa5fe1409e450c2425d4ebd17a
WARNING: Author mismatch between patch and upstream commit:
Backport author: Pawan Gupta<pawan.kumar.gupta@linux.intel.com>
Commit author: Peter Zijlstra<peterz@infradead.org>
Status in newer kernel trees:
6.15.y | Present (exact SHA1)
6.12.y | Present (exact SHA1)
6.6.y | Present (exact SHA1)
6.1.y | Present (different SHA1: c51a456b4179)
5.15.y | Present (different SHA1: 7339b1ce5ea6)
Note: The patch differs from the upstream commit:
---
1: ac0ee0a9560c9 ! 1: afe5930bd1f3d x86/alternatives: Teach text_poke_bp() to patch Jcc.d32 instructions
@@ Metadata
## Commit message ##
x86/alternatives: Teach text_poke_bp() to patch Jcc.d32 instructions
+ commit ac0ee0a9560c97fa5fe1409e450c2425d4ebd17a upstream.
+
In order to re-write Jcc.d32 instructions text_poke_bp() needs to be
taught about them.
@@ Commit message
last 5 bytes and adding the rule that 'length == 6' instruction will
be prefixed with a 0x0f byte.
+ Change-Id: Ie3f72c6b92f865d287c8940e5a87e59d41cfaa27
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20230123210607.115718513@infradead.org
+ [cascardo: there is no emit_call_track_retpoline]
+ Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
+ Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
## arch/x86/kernel/alternative.c ##
@@ arch/x86/kernel/alternative.c: void __init_or_module noinline apply_alternatives(struct alt_instr *start,
- }
+ kasan_enable_current();
}
+static inline bool is_jcc32(struct insn *insn)
@@ arch/x86/kernel/alternative.c: void __init_or_module noinline apply_alternatives
+ return insn->opcode.bytes[0] == 0x0f && (insn->opcode.bytes[1] & 0xf0) == 0x80;
+}
+
- #if defined(CONFIG_RETPOLINE) && defined(CONFIG_OBJTOOL)
+ #if defined(CONFIG_RETPOLINE) && defined(CONFIG_STACK_VALIDATION)
/*
-@@ arch/x86/kernel/alternative.c: static int emit_indirect(int op, int reg, u8 *bytes)
- return i;
- }
-
--static inline bool is_jcc32(struct insn *insn)
--{
-- /* Jcc.d32 second opcode byte is in the range: 0x80-0x8f */
-- return insn->opcode.bytes[0] == 0x0f && (insn->opcode.bytes[1] & 0xf0) == 0x80;
--}
--
- static int emit_call_track_retpoline(void *addr, struct insn *insn, int reg, u8 *bytes)
- {
- u8 op = insn->opcode.bytes[0];
@@ arch/x86/kernel/alternative.c: void text_poke_sync(void)
on_each_cpu(do_sync_core, NULL, 1);
}
@@ arch/x86/kernel/alternative.c: static void text_poke_loc_init(struct text_poke_l
case JMP32_INSN_OPCODE:
@@ arch/x86/kernel/alternative.c: static void text_poke_loc_init(struct text_poke_loc *tp, void *addr,
BUG_ON(len != insn.length);
- }
+ };
-
switch (tp->opcode) {
---
Results of testing on various branches:
| Branch | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.15.y | Success | Success |
next prev parent reply other threads:[~2025-06-19 9:03 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-18 0:44 [PATCH 5.10 v2 00/16] ITS mitigation for 5.10 Pawan Gupta
2025-06-18 0:44 ` [PATCH 5.10 v2 01/16] Documentation: x86/bugs/its: Add ITS documentation Pawan Gupta
2025-06-19 9:03 ` Sasha Levin
2025-06-18 0:44 ` [PATCH 5.10 v2 02/16] x86/bhi: Define SPEC_CTRL_BHI_DIS_S Pawan Gupta
2025-06-19 9:04 ` Sasha Levin
2025-06-18 0:44 ` [PATCH 5.10 v2 03/16] x86/its: Enumerate Indirect Target Selection (ITS) bug Pawan Gupta
2025-06-19 9:04 ` Sasha Levin
2025-06-18 0:45 ` [PATCH 5.10 v2 04/16] x86/alternatives: Introduce int3_emulate_jcc() Pawan Gupta
2025-06-19 9:04 ` Sasha Levin
2025-06-18 0:45 ` [PATCH 5.10 v2 05/16] x86/alternatives: Teach text_poke_bp() to patch Jcc.d32 instructions Pawan Gupta
2025-06-19 9:03 ` Sasha Levin [this message]
2025-06-18 0:45 ` [PATCH 5.10 v2 06/16] x86/its: Add support for ITS-safe indirect thunk Pawan Gupta
2025-06-19 9:03 ` Sasha Levin
2025-06-18 0:45 ` [PATCH 5.10 v2 07/16] x86/alternative: Optimize returns patching Pawan Gupta
2025-06-19 9:04 ` Sasha Levin
2025-06-23 19:10 ` Pawan Gupta
2025-06-18 0:46 ` [PATCH 5.10 v2 08/16] x86/alternatives: Remove faulty optimization Pawan Gupta
2025-06-19 9:03 ` Sasha Levin
2025-06-18 0:46 ` [PATCH 5.10 v2 09/16] x86/its: Add support for ITS-safe return thunk Pawan Gupta
2025-06-19 9:02 ` Sasha Levin
2025-06-18 0:46 ` [PATCH 5.10 v2 10/16] x86/its: Fix undefined reference to cpu_wants_rethunk_at() Pawan Gupta
2025-06-19 9:03 ` Sasha Levin
2025-06-23 19:17 ` Pawan Gupta
2025-06-18 0:46 ` [PATCH 5.10 v2 11/16] x86/its: Enable Indirect Target Selection mitigation Pawan Gupta
2025-06-19 9:04 ` Sasha Levin
2025-06-18 0:47 ` [PATCH 5.10 v2 12/16] x86/its: Add "vmexit" option to skip mitigation on some CPUs Pawan Gupta
2025-06-19 9:02 ` Sasha Levin
2025-06-18 0:47 ` [PATCH 5.10 v2 13/16] x86/modules: Set VM_FLUSH_RESET_PERMS in module_alloc() Pawan Gupta
2025-06-19 9:02 ` Sasha Levin
2025-06-18 0:47 ` [PATCH 5.10 v2 14/16] x86/its: Use dynamic thunks for indirect branches Pawan Gupta
2025-06-19 9:03 ` Sasha Levin
2025-06-23 19:33 ` Pawan Gupta
2025-06-18 0:47 ` [PATCH 5.10 v2 15/16] x86/its: Fix build errors when CONFIG_MODULES=n Pawan Gupta
2025-06-19 9:02 ` Sasha Levin
2025-06-18 0:48 ` [PATCH 5.10 v2 16/16] x86/its: FineIBT-paranoid vs ITS Pawan Gupta
2025-06-19 9:02 ` Sasha Levin
2025-07-12 13:50 ` [PATCH 5.10 v2 00/16] ITS mitigation for 5.10 Greg Kroah-Hartman
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=20250618171828-ebdcd37d56c3a76b@stable.kernel.org \
--to=sashal@kernel.org \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=stable@vger.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 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.