[PATCH OLK-6.6 v2] vfs: reserve kabi space for vfs related structures

hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I900QB CVE: NA -------------------------------- struture size reserves address_space_operations 160 4 address_space 200 7 inode 624 4 file_lock_operations 16 2 lock_manager_operations 88 2 super_block 1392 2 Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com> --- v1->v2: Reservations change: lock_manager_operations: 1 -> 2 inode: 2 -> 4 include/linux/filelock.h | 6 ++++++ include/linux/fs.h | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/include/linux/filelock.h b/include/linux/filelock.h index 95e868e09e29..51f79cd77771 100644 --- a/include/linux/filelock.h +++ b/include/linux/filelock.h @@ -31,6 +31,9 @@ struct file_lock; struct file_lock_operations { void (*fl_copy_lock)(struct file_lock *, struct file_lock *); void (*fl_release_private)(struct file_lock *); + + KABI_RESERVE(1) + KABI_RESERVE(2) }; struct lock_manager_operations { @@ -45,6 +48,9 @@ struct lock_manager_operations { bool (*lm_breaker_owns_lease)(struct file_lock *); bool (*lm_lock_expirable)(struct file_lock *cfl); void (*lm_expire_lock)(void); + + KABI_RESERVE(1) + KABI_RESERVE(2) }; struct lock_manager { diff --git a/include/linux/fs.h b/include/linux/fs.h index f84c9c3a99e1..4bbed16bf8d5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -452,6 +452,11 @@ struct address_space_operations { sector_t *span); void (*swap_deactivate)(struct file *file); int (*swap_rw)(struct kiocb *iocb, struct iov_iter *iter); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) }; extern const struct address_space_operations empty_aops; @@ -498,6 +503,14 @@ struct address_space { spinlock_t private_lock; struct list_head private_list; void *private_data; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) } __attribute__((aligned(sizeof(long)))) __randomize_layout; /* * On most architectures that alignment is already the case; but @@ -757,6 +770,11 @@ struct inode { #endif void *i_private; /* fs or device private pointer */ + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) } __randomize_layout; struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode); @@ -1331,6 +1349,9 @@ struct super_block { spinlock_t s_inode_wblist_lock; struct list_head s_inodes_wb; /* writeback inodes */ + + KABI_RESERVE(1) + KABI_RESERVE(2) } __randomize_layout; static inline struct user_namespace *i_user_ns(const struct inode *inode) -- 2.31.1

反馈: 您发送到kernel@openeuler.org的补丁/补丁集,已成功转换为PR! PR链接地址: https://gitee.com/openeuler/kernel/pulls/4398 邮件列表地址:https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/A... 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/4398 Mailing list address: https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/A...
participants (2)
-
patchwork bot
-
Zhihao Cheng