diff --git a/drivers/dax/super.c b/drivers/dax/super.c index 0da9232ea1754b862455fe6d2d1c0e57398cfde1..cded535b3610d4d7b5186fe76d27c99019e83b05 100644 --- a/drivers/dax/super.c +++ b/drivers/dax/super.c @@ -33,6 +33,15 @@ struct dax_device { const struct dax_operations *ops; void *holder_data; const struct dax_holder_operations *holder_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) }; static dev_t dax_devt; diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index 180906c36f5151cf6824e2560d6642662c08cc24..1cbf9a44422e4e9d462a8bcd4537d452e2fa5550 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c @@ -25,6 +25,10 @@ struct kernfs_open_node { struct list_head files; /* goes through kernfs_open_file.list */ unsigned int nr_mmapped; unsigned int nr_to_release; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) }; /* diff --git a/fs/kernfs/kernfs-internal.h b/fs/kernfs/kernfs-internal.h index a9b854cdfdb5f73e45f25fbea2cdce50c6b00931..ade12719da29f8ae7c30ed7b8f39861878ffcd8a 100644 --- a/fs/kernfs/kernfs-internal.h +++ b/fs/kernfs/kernfs-internal.h @@ -49,6 +49,12 @@ struct kernfs_root { struct rw_semaphore kernfs_rwsem; struct rw_semaphore kernfs_iattr_rwsem; struct rw_semaphore kernfs_supers_rwsem; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) }; /* +1 to avoid triggering overflow warning when negating it */ diff --git a/fs/namei.c b/fs/namei.c index 94565bd7e73f6f41c176513ff15a68961fa351d8..7b7fcb156669995800b12ee57733700c271e3e41 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -587,6 +587,8 @@ struct nameidata { int dfd; vfsuid_t dir_vfsuid; umode_t dir_mode; + + KABI_RESERVE(1) } __randomize_layout; #define ND_ROOT_PRESET 1 diff --git a/include/linux/dax.h b/include/linux/dax.h index 22cd9902345d74484b5a882a283e16d559369a10..00bbfcb7c567e3e3dcbc39b3c208398580542c41 100644 --- a/include/linux/dax.h +++ b/include/linux/dax.h @@ -41,6 +41,11 @@ struct dax_operations { */ size_t (*recovery_write)(struct dax_device *dax_dev, pgoff_t pgoff, void *addr, size_t bytes, struct iov_iter *iter); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) }; struct dax_holder_operations { @@ -53,6 +58,10 @@ struct dax_holder_operations { */ int (*notify_failure)(struct dax_device *dax_dev, u64 offset, u64 len, int mf_flags); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) }; #if IS_ENABLED(CONFIG_DAX) diff --git a/include/linux/fscrypt.h b/include/linux/fscrypt.h index c895b12737a19395193b9c0419c7753b1411b340..1ede2ebb009631b137af956879264f7c6605a1c0 100644 --- a/include/linux/fscrypt.h +++ b/include/linux/fscrypt.h @@ -176,6 +176,10 @@ struct fscrypt_operations { */ struct block_device **(*get_devices)(struct super_block *sb, unsigned int *num_devs); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) }; static inline struct fscrypt_info *fscrypt_get_info(const struct inode *inode) diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index c0892d75ce33394fdbbfb5ede5d921da3c91f549..6004df55fc7bfcca675bbec0f18110a43251c005 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h @@ -165,6 +165,9 @@ struct fsnotify_ops { void (*free_event)(struct fsnotify_group *group, struct fsnotify_event *event); /* called on final put+free to free memory */ void (*free_mark)(struct fsnotify_mark *mark); + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /* @@ -174,6 +177,8 @@ struct fsnotify_ops { */ struct fsnotify_event { struct list_head list; + KABI_RESERVE(1) + KABI_RESERVE(2) }; /* @@ -255,6 +260,15 @@ struct fsnotify_group { } fanotify_data; #endif /* CONFIG_FANOTIFY */ }; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) + KABI_RESERVE(8) }; /* diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h index 2a36f3218b51060c8b997f89156b555da529b1f1..bd3fbcb3c3f67d84fe08aa97b5828e3f7d9f27ca 100644 --- a/include/linux/kernfs.h +++ b/include/linux/kernfs.h @@ -6,6 +6,7 @@ #ifndef __LINUX_KERNFS_H #define __LINUX_KERNFS_H +#include #include #include #include @@ -242,6 +243,10 @@ struct kernfs_syscall_ops { const char *new_name); int (*show_path)(struct seq_file *sf, struct kernfs_node *kn, struct kernfs_root *root); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) }; struct kernfs_node *kernfs_root_to_node(struct kernfs_root *root); @@ -316,6 +321,11 @@ struct kernfs_ops { struct poll_table_struct *pt); int (*mmap)(struct kernfs_open_file *of, struct vm_area_struct *vma); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) }; /* diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index de407e7c3b55fdbd9b5d3cbe93585b1e417a3e20..c742bedf2a8caab1b2afcce02c671a3e83b0a11b 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h @@ -42,6 +42,11 @@ struct proc_ops { #endif int (*proc_mmap)(struct file *, struct vm_area_struct *); unsigned long (*proc_get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) } __randomize_layout; /* definitions for hide_pid field */ diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index fd3fe5c8c17fce0b18111b3b4e48c5f6a5590819..1fbd741a296288fd5dd1dbd2f19d4bf8c05d7a38 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -183,6 +183,8 @@ struct bin_attribute { char *, loff_t, size_t); int (*mmap)(struct file *, struct kobject *, struct bin_attribute *attr, struct vm_area_struct *vma); + + KABI_RESERVE(1) }; /** diff --git a/include/linux/xattr.h b/include/linux/xattr.h index d20051865800800df5d24a0edd7a485b296ba9fa..b570d38bf1ec6b7138c5a705b688eaafc4050eaf 100644 --- a/include/linux/xattr.h +++ b/include/linux/xattr.h @@ -11,7 +11,7 @@ #ifndef _LINUX_XATTR_H #define _LINUX_XATTR_H - +#include #include #include #include @@ -45,6 +45,9 @@ struct xattr_handler { struct mnt_idmap *idmap, struct dentry *dentry, struct inode *inode, const char *name, const void *buffer, size_t size, int flags); + + KABI_RESERVE(1) + KABI_RESERVE(2) }; /**