From 059a229c3ec0cd2525381823226ef091bace74cf Mon Sep 17 00:00:00 2001 From: Charan Teja Kalla Date: Tue, 14 Mar 2023 18:46:08 +0530 Subject: [PATCH] ANDROID: mm: shmem: add vendor data in 'shmem_inode_info' Add vendor specific data in the 'struct shmem_inode_info'. Also properly initialize the vendor data by adding this fixup: https://android-review.googlesource.com/c/kernel/common/+/2969472 Bug: 273448633 Change-Id: I83a3ac822275d2464af7eb25b869b816fdb7276e Signed-off-by: Charan Teja Kalla (cherry picked from commit f1d69f5a1119f3519dca0370f46b93bb5dfb7083) Signed-off-by: Georgi Djakov --- include/linux/shmem_fs.h | 3 +++ mm/shmem.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index 515a9a6a3c6f..0e0c8b382c6c 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -10,6 +10,7 @@ #include #include #include +#include /* inode in-kernel data */ @@ -40,6 +41,8 @@ struct shmem_inode_info { struct dquot __rcu *i_dquot[MAXQUOTAS]; #endif struct inode vfs_inode; + + ANDROID_VENDOR_DATA(1); }; #define SHMEM_FL_USER_VISIBLE FS_FL_USER_VISIBLE diff --git a/mm/shmem.c b/mm/shmem.c index 91ba325a24bf..39767c4b0bc1 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -84,6 +84,7 @@ static struct vfsmount *shm_mnt __ro_after_init; #include #include #include +#include #include @@ -2816,6 +2817,7 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap, inode->i_generation = get_random_u32(); info = SHMEM_I(inode); memset(info, 0, (char *)inode - (char *)info); + android_init_vendor_data(info, 1); spin_lock_init(&info->lock); atomic_set(&info->stop_eviction, 0); info->seals = F_SEAL_SEAL;