* [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints
@ 2025-04-14 13:31 Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 02/11] udmabuf: fix a buf size overflow issue during udmabuf creation Sasha Levin
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Thomas Weißschuh, Michael Mueller, Janosch Frank,
Sasha Levin, borntraeger, imbrenda, hca, gor, agordeev, kvm,
linux-s390
From: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
[ Upstream commit 6c9567e0850be2f0f94ab64fa6512413fd1a1eb1 ]
Restricted pointers ("%pK") are not meant to be used through TP_format().
It can unintentionally expose security sensitive, raw pointer values.
Use regular pointer formatting instead.
Link: https://lore.kernel.org/lkml/20250113171731-dc10e3c1-da64-4af0-b767-7c7070468023@linutronix.de/
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: Michael Mueller <mimu@linux.ibm.com>
Link: https://lore.kernel.org/r/20250217-restricted-pointers-s390-v1-1-0e4ace75d8aa@linutronix.de
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Message-ID: <20250217-restricted-pointers-s390-v1-1-0e4ace75d8aa@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/s390/kvm/trace-s390.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/s390/kvm/trace-s390.h b/arch/s390/kvm/trace-s390.h
index 6f0209d45164f..9c5f546a2e1a3 100644
--- a/arch/s390/kvm/trace-s390.h
+++ b/arch/s390/kvm/trace-s390.h
@@ -56,7 +56,7 @@ TRACE_EVENT(kvm_s390_create_vcpu,
__entry->sie_block = sie_block;
),
- TP_printk("create cpu %d at 0x%pK, sie block at 0x%pK",
+ TP_printk("create cpu %d at 0x%p, sie block at 0x%p",
__entry->id, __entry->vcpu, __entry->sie_block)
);
@@ -255,7 +255,7 @@ TRACE_EVENT(kvm_s390_enable_css,
__entry->kvm = kvm;
),
- TP_printk("enabling channel I/O support (kvm @ %pK)\n",
+ TP_printk("enabling channel I/O support (kvm @ %p)\n",
__entry->kvm)
);
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 02/11] udmabuf: fix a buf size overflow issue during udmabuf creation
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 03/11] selftests: ublk: fix test_stripe_04 Sasha Levin
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Xiaogang Chen, Xiaogang Chen, Christian König, Sasha Levin,
kraxel, vivek.kasireddy, sumit.semwal, dri-devel, linux-media,
linaro-mm-sig
From: Xiaogang Chen <xiaogang.chen@amd.com>
[ Upstream commit 021ba7f1babd029e714d13a6bf2571b08af96d0f ]
by casting size_limit_mb to u64 when calculate pglimit.
Signed-off-by: Xiaogang Chen<Xiaogang.Chen@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250321164126.329638-1-xiaogang.chen@amd.com
Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/dma-buf/udmabuf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c
index 14b79458ac7f4..597a92438afc1 100644
--- a/drivers/dma-buf/udmabuf.c
+++ b/drivers/dma-buf/udmabuf.c
@@ -177,7 +177,7 @@ static long udmabuf_create(struct miscdevice *device,
if (!ubuf)
return -ENOMEM;
- pglimit = (size_limit_mb * 1024 * 1024) >> PAGE_SHIFT;
+ pglimit = ((u64)size_limit_mb * 1024 * 1024) >> PAGE_SHIFT;
for (i = 0; i < head->count; i++) {
if (!IS_ALIGNED(list[i].offset, PAGE_SIZE))
goto err;
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 03/11] selftests: ublk: fix test_stripe_04
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 02/11] udmabuf: fix a buf size overflow issue during udmabuf creation Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 04/11] nvme: requeue namespace scan on missed AENs Sasha Levin
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Ming Lei, Uday Shankar, Jens Axboe, Sasha Levin, shuah,
linux-block, linux-kselftest
From: Ming Lei <ming.lei@redhat.com>
[ Upstream commit 72070e57b0a518ec8e562a2b68fdfc796ef5c040 ]
Commit 57ed58c13256 ("selftests: ublk: enable zero copy for stripe target")
added test entry of test_stripe_04, but forgot to add the test script.
So fix the test by adding the script file.
Reported-by: Uday Shankar <ushankar@purestorage.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Uday Shankar <ushankar@purestorage.com>
Link: https://lore.kernel.org/r/20250404001849.1443064-1-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
.../testing/selftests/ublk/test_stripe_04.sh | 24 +++++++++++++++++++
1 file changed, 24 insertions(+)
create mode 100755 tools/testing/selftests/ublk/test_stripe_04.sh
diff --git a/tools/testing/selftests/ublk/test_stripe_04.sh b/tools/testing/selftests/ublk/test_stripe_04.sh
new file mode 100755
index 0000000000000..1f2b642381d17
--- /dev/null
+++ b/tools/testing/selftests/ublk/test_stripe_04.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+. "$(cd "$(dirname "$0")" && pwd)"/test_common.sh
+
+TID="stripe_04"
+ERR_CODE=0
+
+_prep_test "stripe" "mkfs & mount & umount on zero copy"
+
+backfile_0=$(_create_backfile 256M)
+backfile_1=$(_create_backfile 256M)
+dev_id=$(_add_ublk_dev -t stripe -z -q 2 "$backfile_0" "$backfile_1")
+_check_add_dev $TID $? "$backfile_0" "$backfile_1"
+
+_mkfs_mount_test /dev/ublkb"${dev_id}"
+ERR_CODE=$?
+
+_cleanup_test "stripe"
+
+_remove_backfile "$backfile_0"
+_remove_backfile "$backfile_1"
+
+_show_result $TID $ERR_CODE
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 04/11] nvme: requeue namespace scan on missed AENs
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 02/11] udmabuf: fix a buf size overflow issue during udmabuf creation Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 03/11] selftests: ublk: fix test_stripe_04 Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 05/11] ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls Sasha Levin
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Hannes Reinecke, Keith Busch, Christoph Hellwig, Sasha Levin,
sagi, linux-nvme
From: Hannes Reinecke <hare@kernel.org>
[ Upstream commit 9546ad1a9bda7362492114f5866b95b0ac4a100e ]
Scanning for namespaces can take some time, so if the target is
reconfigured while the scan is running we may miss a Attached Namespace
Attribute Changed AEN.
Check if the NVME_AER_NOTICE_NS_CHANGED bit is set once the scan has
finished, and requeue scanning to pick up any missed change.
Signed-off-by: Hannes Reinecke <hare@kernel.org>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/nvme/host/core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 5f16fc9111a9f..b3ca27b78f030 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -4265,6 +4265,10 @@ static void nvme_scan_work(struct work_struct *work)
if (nvme_scan_ns_list(ctrl) != 0)
nvme_scan_ns_sequential(ctrl);
mutex_unlock(&ctrl->scan_lock);
+
+ /* Requeue if we have missed AENs */
+ if (test_bit(NVME_AER_NOTICE_NS_CHANGED, &ctrl->events))
+ nvme_queue_scan(ctrl);
}
/*
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 05/11] ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
` (2 preceding siblings ...)
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 04/11] nvme: requeue namespace scan on missed AENs Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 06/11] nvme: re-read ANA log page after ns scan completes Sasha Levin
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Jean-Marc Eurin, Rafael J . Wysocki, Sasha Levin, rafael,
linux-acpi
From: Jean-Marc Eurin <jmeurin@google.com>
[ Upstream commit 7ab4f0e37a0f4207e742a8de69be03984db6ebf0 ]
The end of table checks should be done with the structure size,
but 2 of the 3 similar calls use the pointer size.
Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>
Link: https://patch.msgid.link/20250402001542.2600671-1-jmeurin@google.com
[ rjw: Subject edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/acpi/pptt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c
index 4ae93350b70de..38581001811b4 100644
--- a/drivers/acpi/pptt.c
+++ b/drivers/acpi/pptt.c
@@ -217,7 +217,7 @@ static int acpi_pptt_leaf_node(struct acpi_table_header *table_hdr,
node_entry = ACPI_PTR_DIFF(node, table_hdr);
entry = ACPI_ADD_PTR(struct acpi_subtable_header, table_hdr,
sizeof(struct acpi_table_pptt));
- proc_sz = sizeof(struct acpi_pptt_processor *);
+ proc_sz = sizeof(struct acpi_pptt_processor);
while ((unsigned long)entry + proc_sz < table_end) {
cpu_node = (struct acpi_pptt_processor *)entry;
@@ -258,7 +258,7 @@ static struct acpi_pptt_processor *acpi_find_processor_node(struct acpi_table_he
table_end = (unsigned long)table_hdr + table_hdr->length;
entry = ACPI_ADD_PTR(struct acpi_subtable_header, table_hdr,
sizeof(struct acpi_table_pptt));
- proc_sz = sizeof(struct acpi_pptt_processor *);
+ proc_sz = sizeof(struct acpi_pptt_processor);
/* find the processor structure associated with this cpuid */
while ((unsigned long)entry + proc_sz < table_end) {
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 06/11] nvme: re-read ANA log page after ns scan completes
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
` (3 preceding siblings ...)
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 05/11] ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 07/11] objtool: Stop UNRET validation on UD2 Sasha Levin
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Hannes Reinecke, Keith Busch, Christoph Hellwig, Sasha Levin,
sagi, linux-nvme
From: Hannes Reinecke <hare@kernel.org>
[ Upstream commit 62baf70c327444338c34703c71aa8cc8e4189bd6 ]
When scanning for new namespaces we might have missed an ANA AEN.
The NVMe base spec (NVMe Base Specification v2.1, Figure 151 'Asynchonous
Event Information - Notice': Asymmetric Namespace Access Change) states:
A controller shall not send this even if an Attached Namespace
Attribute Changed asynchronous event [...] is sent for the same event.
so we need to re-read the ANA log page after we rescanned the namespace
list to update the ANA states of the new namespaces.
Signed-off-by: Hannes Reinecke <hare@kernel.org>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/nvme/host/core.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index b3ca27b78f030..ada9ec02e9b53 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -4269,6 +4269,11 @@ static void nvme_scan_work(struct work_struct *work)
/* Requeue if we have missed AENs */
if (test_bit(NVME_AER_NOTICE_NS_CHANGED, &ctrl->events))
nvme_queue_scan(ctrl);
+#ifdef CONFIG_NVME_MULTIPATH
+ else
+ /* Re-read the ANA log page to not miss updates */
+ queue_work(nvme_wq, &ctrl->ana_work);
+#endif
}
/*
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 07/11] objtool: Stop UNRET validation on UD2
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
` (4 preceding siblings ...)
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 06/11] nvme: re-read ANA log page after ns scan completes Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 08/11] selftests/mincore: Allow read-ahead pages to reach the end of the file Sasha Levin
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Josh Poimboeuf, Ingo Molnar, Linus Torvalds, Sasha Levin, peterz
From: Josh Poimboeuf <jpoimboe@kernel.org>
[ Upstream commit 9f9cc012c2cbac4833746a0182e06a8eec940d19 ]
In preparation for simplifying INSN_SYSCALL, make validate_unret()
terminate control flow on UD2 just like validate_branch() already does.
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/ce841269e7e28c8b7f32064464a9821034d724ff.1744095216.git.jpoimboe@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
tools/objtool/check.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index bcc9948645a00..20ccdd60353be 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -3249,6 +3249,9 @@ static int validate_entry(struct objtool_file *file, struct instruction *insn)
break;
}
+ if (insn->dead_end)
+ return 0;
+
if (!next) {
WARN_FUNC("teh end!", insn->sec, insn->offset);
return -1;
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 08/11] selftests/mincore: Allow read-ahead pages to reach the end of the file
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
` (5 preceding siblings ...)
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 07/11] objtool: Stop UNRET validation on UD2 Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 09/11] x86/bugs: Use SBPB in write_ibpb() if applicable Sasha Levin
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Qiuxu Zhuo, Yi Lai, Shuah Khan, Sasha Levin, shuah,
linux-kselftest
From: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
[ Upstream commit 197c1eaa7ba633a482ed7588eea6fd4aa57e08d4 ]
When running the mincore_selftest on a system with an XFS file system, it
failed the "check_file_mmap" test case due to the read-ahead pages reaching
the end of the file. The failure log is as below:
RUN global.check_file_mmap ...
mincore_selftest.c:264:check_file_mmap:Expected i (1024) < vec_size (1024)
mincore_selftest.c:265:check_file_mmap:Read-ahead pages reached the end of the file
check_file_mmap: Test failed
FAIL global.check_file_mmap
This is because the read-ahead window size of the XFS file system on this
machine is 4 MB, which is larger than the size from the #PF address to the
end of the file. As a result, all the pages for this file are populated.
blockdev --getra /dev/nvme0n1p5
8192
blockdev --getbsz /dev/nvme0n1p5
512
This issue can be fixed by extending the current FILE_SIZE 4MB to a larger
number, but it will still fail if the read-ahead window size of the file
system is larger enough. Additionally, in the real world, read-ahead pages
reaching the end of the file can happen and is an expected behavior.
Therefore, allowing read-ahead pages to reach the end of the file is a
better choice for the "check_file_mmap" test case.
Link: https://lore.kernel.org/r/20250311080940.21413-1-qiuxu.zhuo@intel.com
Reported-by: Yi Lai <yi1.lai@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
tools/testing/selftests/mincore/mincore_selftest.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/tools/testing/selftests/mincore/mincore_selftest.c b/tools/testing/selftests/mincore/mincore_selftest.c
index 2cf6f2f277ab8..31820435825b1 100644
--- a/tools/testing/selftests/mincore/mincore_selftest.c
+++ b/tools/testing/selftests/mincore/mincore_selftest.c
@@ -262,9 +262,6 @@ TEST(check_file_mmap)
TH_LOG("No read-ahead pages found in memory");
}
- EXPECT_LT(i, vec_size) {
- TH_LOG("Read-ahead pages reached the end of the file");
- }
/*
* End of the readahead window. The rest of the pages shouldn't
* be in memory.
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 09/11] x86/bugs: Use SBPB in write_ibpb() if applicable
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
` (6 preceding siblings ...)
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 08/11] selftests/mincore: Allow read-ahead pages to reach the end of the file Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 10/11] x86/bugs: Don't fill RSB on VMEXIT with eIBRS+retpoline Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 11/11] ext4: make block validity check resistent to sb bh corruption Sasha Levin
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Josh Poimboeuf, Ingo Molnar, Sasha Levin, luto, tglx, mingo, bp,
dave.hansen, x86
From: Josh Poimboeuf <jpoimboe@kernel.org>
[ Upstream commit fc9fd3f98423367c79e0bd85a9515df26dc1b3cc ]
write_ibpb() does IBPB, which (among other things) flushes branch type
predictions on AMD. If the CPU has SRSO_NO, or if the SRSO mitigation
has been disabled, branch type flushing isn't needed, in which case the
lighter-weight SBPB can be used.
The 'x86_pred_cmd' variable already keeps track of whether IBPB or SBPB
should be used. Use that instead of hardcoding IBPB.
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/17c5dcd14b29199b75199d67ff7758de9d9a4928.1744148254.git.jpoimboe@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/x86/entry/entry.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/entry/entry.S b/arch/x86/entry/entry.S
index f4419afc7147d..bda217961172b 100644
--- a/arch/x86/entry/entry.S
+++ b/arch/x86/entry/entry.S
@@ -16,7 +16,7 @@
SYM_FUNC_START(entry_ibpb)
movl $MSR_IA32_PRED_CMD, %ecx
- movl $PRED_CMD_IBPB, %eax
+ movl _ASM_RIP(x86_pred_cmd), %eax
xorl %edx, %edx
wrmsr
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 10/11] x86/bugs: Don't fill RSB on VMEXIT with eIBRS+retpoline
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
` (7 preceding siblings ...)
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 09/11] x86/bugs: Use SBPB in write_ibpb() if applicable Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 11/11] ext4: make block validity check resistent to sb bh corruption Sasha Levin
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Josh Poimboeuf, Pawan Gupta, Ingo Molnar, Amit Shah,
Nikolay Borisov, Paolo Bonzini, Vitaly Kuznetsov,
Sean Christopherson, David Woodhouse, Sasha Levin, tglx, bp,
peterz, mingo, dave.hansen, x86
From: Josh Poimboeuf <jpoimboe@kernel.org>
[ Upstream commit 18bae0dfec15b24ec14ca17dc18603372f5f254f ]
eIBRS protects against guest->host RSB underflow/poisoning attacks.
Adding retpoline to the mix doesn't change that. Retpoline has a
balanced CALL/RET anyway.
So the current full RSB filling on VMEXIT with eIBRS+retpoline is
overkill. Disable it or do the VMEXIT_LITE mitigation if needed.
Suggested-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Reviewed-by: Amit Shah <amit.shah@amd.com>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Link: https://lore.kernel.org/r/84a1226e5c9e2698eae1b5ade861f1b8bf3677dc.1744148254.git.jpoimboe@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/x86/kernel/cpu/bugs.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 725f827718a71..045ab6d0a98bb 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -1543,20 +1543,20 @@ static void __init spectre_v2_determine_rsb_fill_type_at_vmexit(enum spectre_v2_
case SPECTRE_V2_NONE:
return;
- case SPECTRE_V2_EIBRS_LFENCE:
case SPECTRE_V2_EIBRS:
+ case SPECTRE_V2_EIBRS_LFENCE:
+ case SPECTRE_V2_EIBRS_RETPOLINE:
if (boot_cpu_has_bug(X86_BUG_EIBRS_PBRSB)) {
- setup_force_cpu_cap(X86_FEATURE_RSB_VMEXIT_LITE);
pr_info("Spectre v2 / PBRSB-eIBRS: Retire a single CALL on VMEXIT\n");
+ setup_force_cpu_cap(X86_FEATURE_RSB_VMEXIT_LITE);
}
return;
- case SPECTRE_V2_EIBRS_RETPOLINE:
case SPECTRE_V2_RETPOLINE:
case SPECTRE_V2_LFENCE:
case SPECTRE_V2_IBRS:
- setup_force_cpu_cap(X86_FEATURE_RSB_VMEXIT);
pr_info("Spectre v2 / SpectreRSB : Filling RSB on VMEXIT\n");
+ setup_force_cpu_cap(X86_FEATURE_RSB_VMEXIT);
return;
}
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH AUTOSEL 5.10 11/11] ext4: make block validity check resistent to sb bh corruption
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
` (8 preceding siblings ...)
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 10/11] x86/bugs: Don't fill RSB on VMEXIT with eIBRS+retpoline Sasha Levin
@ 2025-04-14 13:31 ` Sasha Levin
9 siblings, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2025-04-14 13:31 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Ojaswin Mujoo, Baokun Li, Jan Kara, Zhang Yi, Theodore Ts'o,
Sasha Levin, adilger.kernel, linux-ext4
From: Ojaswin Mujoo <ojaswin@linux.ibm.com>
[ Upstream commit ccad447a3d331a239477c281533bacb585b54a98 ]
Block validity checks need to be skipped in case they are called
for journal blocks since they are part of system's protected
zone.
Currently, this is done by checking inode->ino against
sbi->s_es->s_journal_inum, which is a direct read from the ext4 sb
buffer head. If someone modifies this underneath us then the
s_journal_inum field might get corrupted. To prevent against this,
change the check to directly compare the inode with journal->j_inode.
**Slight change in behavior**: During journal init path,
check_block_validity etc might be called for journal inode when
sbi->s_journal is not set yet. In this case we now proceed with
ext4_inode_block_valid() instead of returning early. Since systems zones
have not been set yet, it is okay to proceed so we can perform basic
checks on the blocks.
Suggested-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Signed-off-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Link: https://patch.msgid.link/0c06bc9ebfcd6ccfed84a36e79147bf45ff5adc1.1743142920.git.ojaswin@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/ext4/block_validity.c | 5 ++---
fs/ext4/inode.c | 7 ++++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/fs/ext4/block_validity.c b/fs/ext4/block_validity.c
index 295e89d93295e..5d5befac5622b 100644
--- a/fs/ext4/block_validity.c
+++ b/fs/ext4/block_validity.c
@@ -353,10 +353,9 @@ int ext4_check_blockref(const char *function, unsigned int line,
{
__le32 *bref = p;
unsigned int blk;
+ journal_t *journal = EXT4_SB(inode->i_sb)->s_journal;
- if (ext4_has_feature_journal(inode->i_sb) &&
- (inode->i_ino ==
- le32_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_journal_inum)))
+ if (journal && inode == journal->j_inode)
return 0;
while (bref < p+max) {
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index c991955412a49..7d31506deb9e5 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -409,10 +409,11 @@ static int __check_block_validity(struct inode *inode, const char *func,
unsigned int line,
struct ext4_map_blocks *map)
{
- if (ext4_has_feature_journal(inode->i_sb) &&
- (inode->i_ino ==
- le32_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_journal_inum)))
+ journal_t *journal = EXT4_SB(inode->i_sb)->s_journal;
+
+ if (journal && inode == journal->j_inode)
return 0;
+
if (!ext4_inode_block_valid(inode, map->m_pblk, map->m_len)) {
ext4_error_inode(inode, func, line, map->m_pblk,
"lblock %lu mapped to illegal pblock %llu "
--
2.39.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-04-14 13:32 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-14 13:31 [PATCH AUTOSEL 5.10 01/11] KVM: s390: Don't use %pK through tracepoints Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 02/11] udmabuf: fix a buf size overflow issue during udmabuf creation Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 03/11] selftests: ublk: fix test_stripe_04 Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 04/11] nvme: requeue namespace scan on missed AENs Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 05/11] ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 06/11] nvme: re-read ANA log page after ns scan completes Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 07/11] objtool: Stop UNRET validation on UD2 Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 08/11] selftests/mincore: Allow read-ahead pages to reach the end of the file Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 09/11] x86/bugs: Use SBPB in write_ibpb() if applicable Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 10/11] x86/bugs: Don't fill RSB on VMEXIT with eIBRS+retpoline Sasha Levin
2025-04-14 13:31 ` [PATCH AUTOSEL 5.10 11/11] ext4: make block validity check resistent to sb bh corruption Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox