reserve space for arm64 related structures.
Yuntao Liu (12): kabi: reserve space for struct drm_fb_helper.h:drm_fb_helper drm_fb_helper.h:drm_fb_helper_funcs kabi: reserve space for struct drm_file.h:drm_minor drm_file.h:drm_file kabi: reserve space for struct drm_fourcc.h:drm_format_info kabi: reserve space for struct drm_gem.h:vm_operations_struct drm_gem.h:drm_gem_object kabi: reserve space for struct efi.h:efi kabi: reserve space for struct extable.h:exception_table_entry kabi: reserve space for struct fb.h:fb_deferred_io fb.h:fb_info kabi: reserve space for struct irq_work.h:irq_work kabi: reserve space for struct irqdesc.h:irq_desc kabi: reserve space for enum irqdomain_defs.h:irq_domain_bus_token kabi: reserve space for struct irqdomain.h:irq_domain kabi: reserve space for struct processor.h:thread_struct
arch/arm64/include/asm/extable.h | 2 ++ arch/arm64/include/asm/processor.h | 9 +++++++++ include/drm/drm_fb_helper.h | 7 +++++++ include/drm/drm_file.h | 7 +++++++ include/drm/drm_fourcc.h | 3 +++ include/drm/drm_gem.h | 13 +++++++++++++ include/linux/efi.h | 3 +++ include/linux/fb.h | 7 +++++++ include/linux/irq_work.h | 4 ++++ include/linux/irqdesc.h | 3 +++ include/linux/irqdomain.h | 9 +++++++++ include/linux/irqdomain_defs.h | 12 ++++++++++++ 12 files changed, 79 insertions(+)
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct drm_fb_helper.h:drm_fb_helper drm_fb_helper.h:drm_fb_helper_funcs.
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/drm/drm_fb_helper.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 375737fd6c36..11e6a0ca5a10 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -36,6 +36,7 @@ struct drm_fb_helper; #include <linux/fb.h>
#include <drm/drm_client.h> +#include <linux/kabi.h>
/** * struct drm_fb_helper_surface_size - describes fbdev size and scanout surface size @@ -99,6 +100,10 @@ struct drm_fb_helper_funcs { * 0 on success, or an error code otherwise. */ int (*fb_dirty)(struct drm_fb_helper *helper, struct drm_clip_rect *clip); + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
/** @@ -206,6 +211,8 @@ struct drm_fb_helper { */ struct fb_deferred_io fbdefio; #endif + KABI_RESERVE(1) + KABI_RESERVE(2) };
static inline struct drm_fb_helper *
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct drm_file.h:drm_minor drm_file.h:drm_file
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/drm/drm_file.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h index 010239392adf..0f2983f9a79a 100644 --- a/include/drm/drm_file.h +++ b/include/drm/drm_file.h @@ -37,6 +37,7 @@ #include <uapi/drm/drm.h>
#include <drm/drm_prime.h> +#include <linux/kabi.h>
struct dma_fence; struct drm_file; @@ -83,6 +84,8 @@ struct drm_minor {
struct list_head debugfs_list; struct mutex debugfs_lock; /* Protects debugfs_list. */ + KABI_RESERVE(1) + KABI_RESERVE(2) };
/** @@ -374,6 +377,10 @@ struct drm_file { #if IS_ENABLED(CONFIG_DRM_LEGACY) unsigned long lock_count; /* DRI1 legacy lock count */ #endif + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
/**
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct drm_fourcc.h:drm_format_info
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/drm/drm_fourcc.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h index 532ae78ca747..ad9cb64cb518 100644 --- a/include/drm/drm_fourcc.h +++ b/include/drm/drm_fourcc.h @@ -24,6 +24,7 @@
#include <linux/types.h> #include <uapi/drm/drm_fourcc.h> +#include <linux/kabi.h>
/** * DRM_FORMAT_MAX_PLANES - maximum number of planes a DRM format can have @@ -141,6 +142,8 @@ struct drm_format_info {
/** @is_color_indexed: Is it a color-indexed format? */ bool is_color_indexed; + KABI_RESERVE(1) + KABI_RESERVE(2) };
/**
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct drm_gem.h:vm_operations_struct drm_gem.h:drm_gem_object
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/drm/drm_gem.h | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h index bc9f6aa2f3fe..1b05c39b921b 100644 --- a/include/drm/drm_gem.h +++ b/include/drm/drm_gem.h @@ -40,6 +40,7 @@ #include <linux/mutex.h>
#include <drm/drm_vma_manager.h> +#include <linux/kabi.h>
struct iosys_map; struct drm_gem_object; @@ -216,6 +217,14 @@ struct drm_gem_object_funcs { * This is optional but necessary for mmap support. */ const struct vm_operations_struct *vm_ops; + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) + KABI_RESERVE(8) };
/** @@ -421,6 +430,10 @@ struct drm_gem_object { * The current LRU list that the GEM object is on. */ struct drm_gem_lru *lru; + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
/**
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct efi.h:efi
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/linux/efi.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/include/linux/efi.h b/include/linux/efi.h index 80b21d1c6eaf..4e89a4aac75a 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -26,6 +26,7 @@ #include <linux/uuid.h>
#include <asm/page.h> +#include <linux/kabi.h>
struct screen_info;
@@ -669,6 +670,8 @@ extern struct efi {
struct efi_memory_map memmap; unsigned long flags; + KABI_RESERVE(1) + KABI_RESERVE(2) } efi;
#define EFI_RT_SUPPORTED_GET_TIME 0x0001
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct extable.h:exception_table_entry
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- arch/arm64/include/asm/extable.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm64/include/asm/extable.h b/arch/arm64/include/asm/extable.h index f80ebd0addfd..ffcb3c1ad099 100644 --- a/arch/arm64/include/asm/extable.h +++ b/arch/arm64/include/asm/extable.h @@ -2,6 +2,7 @@ #ifndef __ASM_EXTABLE_H #define __ASM_EXTABLE_H
+#include <linux/kabi.h> /* * The exception table consists of pairs of relative offsets: the first * is the relative offset to an instruction that is allowed to fault, @@ -19,6 +20,7 @@ struct exception_table_entry { int insn, fixup; short type, data; + KABI_RESERVE(1) };
#define ARCH_HAS_RELATIVE_EXTABLE
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct fb.h:fb_deferred_io fb.h:fb_info
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/linux/fb.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/include/linux/fb.h b/include/linux/fb.h index c14576458228..ab2a9f4163c7 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -17,6 +17,7 @@ #include <linux/slab.h>
#include <asm/fb.h> +#include <linux/kabi.h>
struct vm_area_struct; struct fb_info; @@ -218,6 +219,8 @@ struct fb_deferred_io { struct list_head pagereflist; /* list of pagerefs for touched pages */ /* callback */ void (*deferred_io)(struct fb_info *info, struct list_head *pagelist); + KABI_RESERVE(1) + KABI_RESERVE(2) }; #endif
@@ -501,6 +504,10 @@ struct fb_info { void *par;
bool skip_vt_switch; /* no VT switch on suspend/resume required */ + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
/* This will go away
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct irq_work.h:irq_work
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/linux/irq_work.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h index 8cd11a223260..e4b425996241 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,9 @@ struct irq_work { struct __call_single_node node; void (*func)(struct irq_work *); struct rcuwait irqwait; + KABI_RESERVE(1) + KABI_RESERVE(2) + };
#define __IRQ_WORK_INIT(_func, _flags) (struct irq_work){ \
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct irqdesc.h:irq_desc
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/linux/irqdesc.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index d9451d456a73..3b23fd86f304 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,8 @@ struct irq_desc { #ifdef CONFIG_HARDIRQS_SW_RESEND struct hlist_node resend_node; #endif + KABI_RESERVE(1) + KABI_RESERVE(2) } ____cacheline_internodealigned_in_smp;
#ifdef CONFIG_SPARSE_IRQ
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for enum irqdomain_defs.h:irq_domain_bus_token
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/linux/irqdomain_defs.h | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/include/linux/irqdomain_defs.h b/include/linux/irqdomain_defs.h index c29921fd8cd1..2046148d23d6 100644 --- a/include/linux/irqdomain_defs.h +++ b/include/linux/irqdomain_defs.h @@ -1,4 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 */ +#include <linux/kabi.h> + #ifndef _LINUX_IRQDOMAIN_DEFS_H #define _LINUX_IRQDOMAIN_DEFS_H
@@ -26,6 +28,16 @@ enum irq_domain_bus_token { DOMAIN_BUS_DMAR, DOMAIN_BUS_AMDVI, DOMAIN_BUS_PCI_DEVICE_IMS, +#ifdef CONFIG_KABI_RESERVE + DOMAIN_BUS_TYPE_RESERVE_1, + DOMAIN_BUS_TYPE_RESERVE_2, + DOMAIN_BUS_TYPE_RESERVE_3, + DOMAIN_BUS_TYPE_RESERVE_4, + DOMAIN_BUS_TYPE_RESERVE_5, + DOMAIN_BUS_TYPE_RESERVE_6, + DOMAIN_BUS_TYPE_RESERVE_7, + DOMAIN_BUS_TYPE_RESERVE_8, +#endif };
#endif /* _LINUX_IRQDOMAIN_DEFS_H */
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct irqdomain.h:irq_domain
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- include/linux/irqdomain.h | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 51c254b7fec2..d2bf3703df61 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; @@ -170,6 +171,14 @@ struct irq_domain { const struct msi_parent_ops *msi_parent_ops; #endif
+ KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) + KABI_RESERVE(8) /* reverse map data. The linear map gets appended to the irq_domain */ irq_hw_number_t hwirq_max; unsigned int revmap_size;
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8X87C
--------------------------------
reserve space for struct processor.h:thread_struct
Signed-off-by: Yuntao Liu liuyuntao12@huawei.com --- arch/arm64/include/asm/processor.h | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h index 44cada63ed08..9e688b1b13d4 100644 --- a/arch/arm64/include/asm/processor.h +++ b/arch/arm64/include/asm/processor.h @@ -45,6 +45,7 @@ #include <asm/ptrace.h> #include <asm/spectre.h> #include <asm/types.h> +#include <linux/kabi.h>
/* * TASK_SIZE - the maximum size of a user space task. @@ -187,6 +188,14 @@ struct thread_struct { u64 sctlr_user; u64 svcr; u64 tpidr2_el0; + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) + KABI_RESERVE(8) };
static inline unsigned int thread_get_vl(struct thread_struct *thread,
反馈: 您发送到kernel@openeuler.org的补丁/补丁集,已成功转换为PR! PR链接地址: https://gitee.com/openeuler/kernel/pulls/4076 邮件列表地址:https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/I...
FeedBack: The patch(es) which you have sent to kernel@openeuler.org mailing list has been converted to a pull request successfully! Pull request link: https://gitee.com/openeuler/kernel/pulls/4076 Mailing list address: https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/I...