mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
ANDROID: GKI: fs.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to a bunch of filesystem structures.
Based on a change made to the RHEL/CENTOS 8 kernel.
Leaf changes summary: 12 artifacts changed
Changed leaf types summary: 12 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
'struct address_space at fs.h:445:1' changed:
type size changed from 1280 to 1536 (in bits)
4 data member insertions:
'u64 address_space::android_kabi_reserved1', at offset 1280 (in bits) at fs.h:472:1
'u64 address_space::android_kabi_reserved2', at offset 1344 (in bits) at fs.h:473:1
'u64 address_space::android_kabi_reserved3', at offset 1408 (in bits) at fs.h:474:1
'u64 address_space::android_kabi_reserved4', at offset 1472 (in bits) at fs.h:475:1
'struct address_space_operations at fs.h:362:1' changed:
type size changed from 1344 to 1600 (in bits)
4 data member insertions:
'u64 address_space_operations::android_kabi_reserved1', at offset 1344 (in bits) at fs.h:412:1
'u64 address_space_operations::android_kabi_reserved2', at offset 1408 (in bits) at fs.h:413:1
'u64 address_space_operations::android_kabi_reserved3', at offset 1472 (in bits) at fs.h:414:1
'u64 address_space_operations::android_kabi_reserved4', at offset 1536 (in bits) at fs.h:415:1
'struct block_device at fs.h:473:1' changed:
type size changed from 1728 to 1984 (in bits)
4 data member insertions:
'u64 block_device::android_kabi_reserved1', at offset 1728 (in bits) at fs.h:521:1
'u64 block_device::android_kabi_reserved2', at offset 1792 (in bits) at fs.h:522:1
'u64 block_device::android_kabi_reserved3', at offset 1856 (in bits) at fs.h:523:1
'u64 block_device::android_kabi_reserved4', at offset 1920 (in bits) at fs.h:524:1
'struct file_lock at fs.h:1080:1' changed:
type size changed from 1728 to 1984 (in bits)
3 data member insertions:
'list_head file_lock::android_reserved1', at offset 1728 (in bits) at fs.h:1142:1
'u64 file_lock::android_kabi_reserved1', at offset 1856 (in bits) at fs.h:1143:1
'u64 file_lock::android_kabi_reserved2', at offset 1920 (in bits) at fs.h:1144:1
'struct file_lock_operations at fs.h:1030:1' changed:
type size changed from 128 to 256 (in bits)
2 data member insertions:
'u64 file_lock_operations::android_kabi_reserved1', at offset 128 (in bits) at fs.h:1053:1
'u64 file_lock_operations::android_kabi_reserved2', at offset 192 (in bits) at fs.h:1054:1
'struct file_operations at fs.h:1843:1' changed:
type size changed from 2048 to 2304 (in bits)
4 data member insertions:
'u64 file_operations::android_kabi_reserved1', at offset 2048 (in bits) at fs.h:1918:1
'u64 file_operations::android_kabi_reserved2', at offset 2112 (in bits) at fs.h:1919:1
'u64 file_operations::android_kabi_reserved3', at offset 2176 (in bits) at fs.h:1920:1
'u64 file_operations::android_kabi_reserved4', at offset 2240 (in bits) at fs.h:1921:1
'struct file_system_type at fs.h:2245:1' changed:
type size changed from 640 to 896 (in bits)
4 data member insertions:
'u64 file_system_type::android_kabi_reserved1', at offset 640 (in bits) at fs.h:2322:1
'u64 file_system_type::android_kabi_reserved2', at offset 704 (in bits) at fs.h:2323:1
'u64 file_system_type::android_kabi_reserved3', at offset 768 (in bits) at fs.h:2324:1
'u64 file_system_type::android_kabi_reserved4', at offset 832 (in bits) at fs.h:2325:1
'struct inode at fs.h:628:1' changed:
type size changed from 4800 to 5184 (in bits)
2 data member insertions:
'u64 inode::android_kabi_reserved1', at offset 5056 (in bits) at fs.h:756:1
'u64 inode::android_kabi_reserved2', at offset 5120 (in bits) at fs.h:757:1
'struct inode_operations at fs.h:1885:1' changed:
type size changed from 1536 to 2048 (in bits)
4 data member insertions:
'u64 inode_operations::android_kabi_reserved1', at offset 1472 (in bits) at fs.h:1955:1
'u64 inode_operations::android_kabi_reserved2', at offset 1536 (in bits) at fs.h:1956:1
'u64 inode_operations::android_kabi_reserved3', at offset 1600 (in bits) at fs.h:1957:1
'u64 inode_operations::android_kabi_reserved4', at offset 1664 (in bits) at fs.h:1958:1
'struct lock_manager_operations at fs.h:1035:1' changed:
type size changed from 448 to 576 (in bits)
2 data member insertions:
'u64 lock_manager_operations::android_kabi_reserved1', at offset 448 (in bits) at fs.h:1066:1
'u64 lock_manager_operations::android_kabi_reserved2', at offset 512 (in bits) at fs.h:1067:1
'struct super_block at fs.h:1431:1' changed:
type size changed from 11776 to 12288 (in bits)
4 data member insertions:
'u64 super_block::android_kabi_reserved1', at offset 11648 (in bits) at fs.h:1592:1
'u64 super_block::android_kabi_reserved2', at offset 11712 (in bits) at fs.h:1593:1
'u64 super_block::android_kabi_reserved3', at offset 11776 (in bits) at fs.h:1594:1
'u64 super_block::android_kabi_reserved4', at offset 11840 (in bits) at fs.h:1595:1
'struct super_operations at fs.h:1966:1' changed:
type size changed from 1920 to 2176 (in bits)
4 data member insertions:
'u64 super_operations::android_kabi_reserved1', at offset 1920 (in bits) at fs.h:2048:1
'u64 super_operations::android_kabi_reserved2', at offset 1984 (in bits) at fs.h:2049:1
'u64 super_operations::android_kabi_reserved3', at offset 2048 (in bits) at fs.h:2050:1
'u64 super_operations::android_kabi_reserved4', at offset 2112 (in bits) at fs.h:2051:1
Bug: 151154716
Change-Id: Ida6d98d30f292c980ab07e0250fec5268c4c87ed
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
d568dedb8b
commit
5b6494b7be
2 changed files with 16221 additions and 16198 deletions
33275
abi_gki_aarch64.xml
33275
abi_gki_aarch64.xml
File diff suppressed because it is too large
Load diff
|
|
@ -40,6 +40,7 @@
|
|||
#include <linux/fs_types.h>
|
||||
#include <linux/build_bug.h>
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/android_kabi.h>
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
#include <uapi/linux/fs.h>
|
||||
|
|
@ -407,6 +408,11 @@ struct address_space_operations {
|
|||
int (*swap_activate)(struct swap_info_struct *sis, struct file *file,
|
||||
sector_t *span);
|
||||
void (*swap_deactivate)(struct file *file);
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
};
|
||||
|
||||
extern const struct address_space_operations empty_aops;
|
||||
|
|
@ -462,6 +468,11 @@ struct address_space {
|
|||
spinlock_t private_lock;
|
||||
struct list_head private_list;
|
||||
void *private_data;
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
} __attribute__((aligned(sizeof(long)))) __randomize_layout;
|
||||
/*
|
||||
* On most architectures that alignment is already the case; but
|
||||
|
|
@ -506,6 +517,11 @@ struct block_device {
|
|||
int bd_fsfreeze_count;
|
||||
/* Mutex for freeze */
|
||||
struct mutex bd_fsfreeze_mutex;
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
} __randomize_layout;
|
||||
|
||||
/* XArray tags, for tagging dirty and writeback pages in the pagecache. */
|
||||
|
|
@ -736,6 +752,9 @@ struct inode {
|
|||
#endif
|
||||
|
||||
void *i_private; /* fs or device private pointer */
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
} __randomize_layout;
|
||||
|
||||
struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode);
|
||||
|
|
@ -1030,6 +1049,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 *);
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
};
|
||||
|
||||
struct lock_manager_operations {
|
||||
|
|
@ -1040,6 +1062,9 @@ struct lock_manager_operations {
|
|||
bool (*lm_break)(struct file_lock *);
|
||||
int (*lm_change)(struct file_lock *, int, struct list_head *);
|
||||
void (*lm_setup)(struct file_lock *, void **);
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
};
|
||||
|
||||
struct lock_manager {
|
||||
|
|
@ -1113,6 +1138,10 @@ struct file_lock {
|
|||
unsigned int debug_id;
|
||||
} afs;
|
||||
} fl_u;
|
||||
|
||||
struct list_head android_reserved1; /* not a macro as we might just need it as-is */
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
} __randomize_layout;
|
||||
|
||||
struct file_lock_context {
|
||||
|
|
@ -1559,6 +1588,11 @@ struct super_block {
|
|||
|
||||
spinlock_t s_inode_wblist_lock;
|
||||
struct list_head s_inodes_wb; /* writeback inodes */
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
} __randomize_layout;
|
||||
|
||||
/* Helper functions so that in most cases filesystems will
|
||||
|
|
@ -1880,6 +1914,11 @@ struct file_operations {
|
|||
struct file *file_out, loff_t pos_out,
|
||||
loff_t len, unsigned int remap_flags);
|
||||
int (*fadvise)(struct file *, loff_t, loff_t, int);
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
} __randomize_layout;
|
||||
|
||||
struct inode_operations {
|
||||
|
|
@ -1912,6 +1951,11 @@ struct inode_operations {
|
|||
umode_t create_mode);
|
||||
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
|
||||
int (*set_acl)(struct inode *, struct posix_acl *, int);
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
} ____cacheline_aligned;
|
||||
|
||||
static inline ssize_t call_read_iter(struct file *file, struct kiocb *kio,
|
||||
|
|
@ -2000,6 +2044,11 @@ struct super_operations {
|
|||
struct shrink_control *);
|
||||
long (*free_cached_objects)(struct super_block *,
|
||||
struct shrink_control *);
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -2269,6 +2318,11 @@ struct file_system_type {
|
|||
struct lock_class_key i_lock_key;
|
||||
struct lock_class_key i_mutex_key;
|
||||
struct lock_class_key i_mutex_dir_key;
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
ANDROID_KABI_RESERVE(3);
|
||||
ANDROID_KABI_RESERVE(4);
|
||||
};
|
||||
|
||||
#define MODULE_ALIAS_FS(NAME) MODULE_ALIAS("fs-" NAME)
|
||||
|
|
|
|||
Loading…
Reference in a new issue