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 2 file_lock_operations 16 2 lock_manager_operations 24 1 super_block 1392 2
Signed-off-by: Zhihao Cheng chengzhihao1@huawei.com --- include/linux/filelock.h | 5 +++++ include/linux/fs.h | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+)
diff --git a/include/linux/filelock.h b/include/linux/filelock.h index 95e868e09e29..92795ed425d9 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,8 @@ 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) };
struct lock_manager { diff --git a/include/linux/fs.h b/include/linux/fs.h index cc34619424cf..daf7221fbdc3 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -451,6 +451,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; @@ -497,6 +502,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 @@ -756,6 +769,9 @@ struct inode { #endif
void *i_private; /* fs or device private pointer */ + + KABI_RESERVE(1) + KABI_RESERVE(2) } __randomize_layout;
struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode); @@ -1328,6 +1344,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)