+++ /dev/null
-From 195a1b7d8388c0ec2969a39324feb8bebf9bb907 Mon Sep 17 00:00:00 2001
-From: Yang Shi <yang@os.amperecomputing.com>
-Date: Thu, 18 Sep 2025 09:23:49 -0700
-Subject: arm64: kprobes: call set_memory_rox() for kprobe page
-
-From: Yang Shi <yang@os.amperecomputing.com>
-
-commit 195a1b7d8388c0ec2969a39324feb8bebf9bb907 upstream.
-
-The kprobe page is allocated by execmem allocator with ROX permission.
-It needs to call set_memory_rox() to set proper permission for the
-direct map too. It was missed.
-
-Fixes: 10d5e97c1bf8 ("arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page")
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Yang Shi <yang@os.amperecomputing.com>
-Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Will Deacon <will@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kernel/probes/kprobes.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---- a/arch/arm64/kernel/probes/kprobes.c
-+++ b/arch/arm64/kernel/probes/kprobes.c
-@@ -10,6 +10,7 @@
-
- #define pr_fmt(fmt) "kprobes: " fmt
-
-+#include <linux/execmem.h>
- #include <linux/extable.h>
- #include <linux/kasan.h>
- #include <linux/kernel.h>
-@@ -41,6 +42,17 @@ DEFINE_PER_CPU(struct kprobe_ctlblk, kpr
- static void __kprobes
- post_kprobe_handler(struct kprobe *, struct kprobe_ctlblk *, struct pt_regs *);
-
-+void *alloc_insn_page(void)
-+{
-+ void *addr;
-+
-+ addr = execmem_alloc(EXECMEM_KPROBES, PAGE_SIZE);
-+ if (!addr)
-+ return NULL;
-+ set_memory_rox((unsigned long)addr, 1);
-+ return addr;
-+}
-+
- static void __kprobes arch_prepare_ss_slot(struct kprobe *p)
- {
- kprobe_opcode_t *addr = p->ainsn.api.insn;
acpi-tad-add-missing-sysfs_remove_group-for-acpi_tad_rt.patch
acpi-debug-fix-signedness-issues-in-read-write-helpers.patch
arm64-dts-qcom-msm8916-add-missing-mdss-reset.patch
-arm64-kprobes-call-set_memory_rox-for-kprobe-page.patch
arm-omap2-pm33xx-core-ix-device-node-reference-leaks-in-amx3_idle_init.patch
xen-events-cleanup-find_virq-return-codes.patch
xen-manage-fix-suspend-error-path.patch
+++ /dev/null
-From 195a1b7d8388c0ec2969a39324feb8bebf9bb907 Mon Sep 17 00:00:00 2001
-From: Yang Shi <yang@os.amperecomputing.com>
-Date: Thu, 18 Sep 2025 09:23:49 -0700
-Subject: arm64: kprobes: call set_memory_rox() for kprobe page
-
-From: Yang Shi <yang@os.amperecomputing.com>
-
-commit 195a1b7d8388c0ec2969a39324feb8bebf9bb907 upstream.
-
-The kprobe page is allocated by execmem allocator with ROX permission.
-It needs to call set_memory_rox() to set proper permission for the
-direct map too. It was missed.
-
-Fixes: 10d5e97c1bf8 ("arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page")
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Yang Shi <yang@os.amperecomputing.com>
-Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Will Deacon <will@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kernel/probes/kprobes.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---- a/arch/arm64/kernel/probes/kprobes.c
-+++ b/arch/arm64/kernel/probes/kprobes.c
-@@ -10,6 +10,7 @@
-
- #define pr_fmt(fmt) "kprobes: " fmt
-
-+#include <linux/execmem.h>
- #include <linux/extable.h>
- #include <linux/kasan.h>
- #include <linux/kernel.h>
-@@ -41,6 +42,17 @@ DEFINE_PER_CPU(struct kprobe_ctlblk, kpr
- static void __kprobes
- post_kprobe_handler(struct kprobe *, struct kprobe_ctlblk *, struct pt_regs *);
-
-+void *alloc_insn_page(void)
-+{
-+ void *addr;
-+
-+ addr = execmem_alloc(EXECMEM_KPROBES, PAGE_SIZE);
-+ if (!addr)
-+ return NULL;
-+ set_memory_rox((unsigned long)addr, 1);
-+ return addr;
-+}
-+
- static void __kprobes arch_prepare_ss_slot(struct kprobe *p)
- {
- kprobe_opcode_t *addr = p->ainsn.api.insn;
arm64-dts-qcom-msm8916-add-missing-mdss-reset.patch
arm64-dts-qcom-sdm845-fix-slimbam-num-channels-ees.patch
arm64-dts-ti-k3-am62a-main-fix-main-padcfg-length.patch
-arm64-kprobes-call-set_memory_rox-for-kprobe-page.patch
arm-omap2-pm33xx-core-ix-device-node-reference-leaks-in-amx3_idle_init.patch
cpuidle-governors-menu-avoid-using-invalid-recent-intervals-data.patch
dt-bindings-phy-rockchip-inno-csi-dphy-make-power-domains-non-required.patch
+++ /dev/null
-From 195a1b7d8388c0ec2969a39324feb8bebf9bb907 Mon Sep 17 00:00:00 2001
-From: Yang Shi <yang@os.amperecomputing.com>
-Date: Thu, 18 Sep 2025 09:23:49 -0700
-Subject: arm64: kprobes: call set_memory_rox() for kprobe page
-
-From: Yang Shi <yang@os.amperecomputing.com>
-
-commit 195a1b7d8388c0ec2969a39324feb8bebf9bb907 upstream.
-
-The kprobe page is allocated by execmem allocator with ROX permission.
-It needs to call set_memory_rox() to set proper permission for the
-direct map too. It was missed.
-
-Fixes: 10d5e97c1bf8 ("arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page")
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Yang Shi <yang@os.amperecomputing.com>
-Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Will Deacon <will@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kernel/probes/kprobes.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---- a/arch/arm64/kernel/probes/kprobes.c
-+++ b/arch/arm64/kernel/probes/kprobes.c
-@@ -10,6 +10,7 @@
-
- #define pr_fmt(fmt) "kprobes: " fmt
-
-+#include <linux/execmem.h>
- #include <linux/extable.h>
- #include <linux/kasan.h>
- #include <linux/kernel.h>
-@@ -41,6 +42,17 @@ DEFINE_PER_CPU(struct kprobe_ctlblk, kpr
- static void __kprobes
- post_kprobe_handler(struct kprobe *, struct kprobe_ctlblk *, struct pt_regs *);
-
-+void *alloc_insn_page(void)
-+{
-+ void *addr;
-+
-+ addr = execmem_alloc(EXECMEM_KPROBES, PAGE_SIZE);
-+ if (!addr)
-+ return NULL;
-+ set_memory_rox((unsigned long)addr, 1);
-+ return addr;
-+}
-+
- static void __kprobes arch_prepare_ss_slot(struct kprobe *p)
- {
- kprobe_opcode_t *addr = p->ainsn.api.insn;
arm64-dts-qcom-msm8939-add-missing-mdss-reset.patch
arm64-dts-qcom-sdm845-fix-slimbam-num-channels-ees.patch
arm64-dts-ti-k3-am62a-main-fix-main-padcfg-length.patch
-arm64-kprobes-call-set_memory_rox-for-kprobe-page.patch
arm-omap2-pm33xx-core-ix-device-node-reference-leaks-in-amx3_idle_init.patch
dt-bindings-phy-rockchip-inno-csi-dphy-make-power-domains-non-required.patch
xen-events-cleanup-find_virq-return-codes.patch