Affected files and structs: include/linux/mfd/core.h struct mfd_cell cpuhotplug.h enum cpuhp_state irq_work.h struct irq_work irqdesc.h struct irq_desc irqdomain_defs.h enum irq_domain_bus_token irqdomain.h struct irq_domain
Liao Chen (6): kabi: reserve space for enum cpuhp_state kabi: reserve space for struct irq_work kabi: reserve space for struct irq_desc kabi: reserve space for struct irq_domain kabi: reserve space for enum irq_domain_bus_token kabi: reserve space for struct mfd_cell
include/linux/cpuhotplug.h | 9 +++++++++ include/linux/irq_work.h | 5 +++++ include/linux/irqdesc.h | 5 +++++ include/linux/irqdomain.h | 5 +++++ include/linux/irqdomain_defs.h | 8 ++++++++ include/linux/mfd/core.h | 6 ++++++ 6 files changed, 38 insertions(+)
maillist inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8PLUM CVE: NA Reference: https://lore.kernel.org/all/1604317487-14543-2-git-send-email-sumit.garg@lin...
-------------------------------------------------
This patch turns on CONFIG_IPI_AS_NMI in openeuler_defconfig, which follows upstream commit 6188d51075ea (arm64: Add CONFIG_IPI_AS_NMI to IPI as NMI feature).
Signed-off-by: Liao Chen liaochen4@huawei.com --- arch/arm64/configs/openeuler_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig index e6f9a3314d4a..09fed73b41eb 100644 --- a/arch/arm64/configs/openeuler_defconfig +++ b/arch/arm64/configs/openeuler_defconfig @@ -541,6 +541,7 @@ CONFIG_ARM64_SVE=y CONFIG_ARM64_SME=y CONFIG_ARM64_PSEUDO_NMI=y # CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set +CONFIG_IPI_AS_NMI=y CONFIG_NON_NMI_IPI_BACKTRACE=y CONFIG_RELOCATABLE=y CONFIG_RANDOMIZE_BASE=y
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8YRD2
--------------------------------
reserve space for enum cpuhp_state
Signed-off-by: Liao Chen liaochen4@huawei.com --- include/linux/cpuhotplug.h | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h index 624d4a38c358..76ad45a2ca40 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h @@ -3,6 +3,7 @@ #define __CPUHOTPLUG_H
#include <linux/types.h> +#include <linux/kabi.h>
/* * CPU-up CPU-down @@ -258,6 +259,14 @@ enum cpuhp_state { CPUHP_AP_X86_KVM_CLK_ONLINE, CPUHP_AP_ACTIVE, CPUHP_ONLINE, + CPUHP_AP_KABI_RESERVE_1, + CPUHP_AP_KABI_RESERVE_2, + CPUHP_AP_KABI_RESERVE_3, + CPUHP_AP_KABI_RESERVE_4, + CPUHP_AP_KABI_RESERVE_5, + CPUHP_AP_KABI_RESERVE_6, + CPUHP_AP_KABI_RESERVE_7, + CPUHP_AP_KABI_RESERVE_8, };
int __cpuhp_setup_state(enum cpuhp_state state, const char *name, bool invoke,
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8YRD2
--------------------------------
reserve space for struct irq_work
Signed-off-by: Liao Chen liaochen4@huawei.com --- include/linux/irq_work.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h index 8cd11a223260..5b0bc64244f9 100644 --- a/include/linux/irq_work.h +++ b/include/linux/irq_work.h @@ -4,6 +4,7 @@
#include <linux/smp_types.h> #include <linux/rcuwait.h> +#include <linux/kabi.h>
/* * An entry can be in one of four states: @@ -18,6 +19,10 @@ struct irq_work { struct __call_single_node node; void (*func)(struct irq_work *); struct rcuwait irqwait; + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
#define __IRQ_WORK_INIT(_func, _flags) (struct irq_work){ \
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8YRD2
--------------------------------
reserve space for struct irq_desc
Signed-off-by: Liao Chen liaochen4@huawei.com --- include/linux/irqdesc.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index d9451d456a73..6116f2aedda4 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h @@ -5,6 +5,7 @@ #include <linux/rcupdate.h> #include <linux/kobject.h> #include <linux/mutex.h> +#include <linux/kabi.h>
/* * Core internal functions to deal with irq descriptors @@ -105,6 +106,10 @@ struct irq_desc { #ifdef CONFIG_HARDIRQS_SW_RESEND struct hlist_node resend_node; #endif + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) } ____cacheline_internodealigned_in_smp;
#ifdef CONFIG_SPARSE_IRQ
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8YRD2
--------------------------------
reserve space for struct irq_domain
Signed-off-by: Liao Chen liaochen4@huawei.com --- include/linux/irqdomain.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 51c254b7fec2..15e97ad11502 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -36,6 +36,7 @@ #include <linux/of.h> #include <linux/mutex.h> #include <linux/radix-tree.h> +#include <linux/kabi.h>
struct device_node; struct fwnode_handle; @@ -169,6 +170,10 @@ struct irq_domain { #ifdef CONFIG_GENERIC_MSI_IRQ const struct msi_parent_ops *msi_parent_ops; #endif + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4)
/* reverse map data. The linear map gets appended to the irq_domain */ irq_hw_number_t hwirq_max;
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8YRD2
--------------------------------
reserve space for enum irq_domain_bus_token
Signed-off-by: Liao Chen liaochen4@huawei.com --- include/linux/irqdomain_defs.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/include/linux/irqdomain_defs.h b/include/linux/irqdomain_defs.h index c29921fd8cd1..5640c6c3c956 100644 --- a/include/linux/irqdomain_defs.h +++ b/include/linux/irqdomain_defs.h @@ -2,6 +2,8 @@ #ifndef _LINUX_IRQDOMAIN_DEFS_H #define _LINUX_IRQDOMAIN_DEFS_H
+#include <linux/kabi.h> + /* * Should several domains have the same device node, but serve * different purposes (for example one domain is for PCI/MSI, and the @@ -26,6 +28,12 @@ enum irq_domain_bus_token { DOMAIN_BUS_DMAR, DOMAIN_BUS_AMDVI, DOMAIN_BUS_PCI_DEVICE_IMS, + DOMAIN_BUS_KABI_RESERVE_1, + DOMAIN_BUS_KABI_RESERVE_2, + DOMAIN_BUS_KABI_RESERVE_3, + DOMAIN_BUS_KABI_RESERVE_4, + DOMAIN_BUS_KABI_RESERVE_5, + DOMAIN_BUS_KABI_RESERVE_6, };
#endif /* _LINUX_IRQDOMAIN_DEFS_H */
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8YRD2
--------------------------------
reserve space for struct mfd_cell
Signed-off-by: Liao Chen liaochen4@huawei.com --- include/linux/mfd/core.h | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index e8bcad641d8c..b8000884cef2 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h @@ -11,6 +11,7 @@ #define MFD_CORE_H
#include <linux/platform_device.h> +#include <linux/kabi.h>
#define MFD_RES_SIZE(arr) (sizeof(arr) / sizeof(struct resource))
@@ -118,6 +119,11 @@ struct mfd_cell { */ int num_parent_supplies; const char * const *parent_supplies; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
/*