소스 검색

ANDROID: abi preservation for fscrypt change in 5.10.154

commit 391cceee6d43 ("fscrypt: stop using keyrings subsystem for
fscrypt_master_key") changed the pointer types of 2 pointers.  These are
private pointers to the fscrypt code, which will not matter to any GKI
users, but the types change so the CRC needs to be preserved and the
.xml file needs to be updates to reflect the type changes that happened.

Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 2 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 fscrypt_info at fscrypt_private.h:195:1' changed:
  type size hasn't changed
  there are data member changes:
    type 'key*' of 'fscrypt_info::ci_master_key' changed:
      pointer type changed from: 'key*' to: 'fscrypt_master_key*'
  2694 impacted interfaces

'struct super_block at fs.h:1450:1' changed:
  type size hasn't changed
  there are data member changes:
    type 'key*' of 'super_block::s_master_keys' changed:
      pointer type changed from: 'key*' to: 'fscrypt_keyring*'
  2694 impacted interfaces

Bug: 161946584
Cc: Eric Biggers <[email protected]>
Fixes: 391cceee6d43 ("fscrypt: stop using keyrings subsystem for fscrypt_master_key")
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: Ia8bec0c8879e7b6bd4e19baf59f36a22d11f4b9b
Greg Kroah-Hartman 2 년 전
부모
커밋
e5d2cd6ad8
3개의 변경된 파일255개의 추가작업 그리고 203개의 파일을 삭제
  1. 237 203
      android/abi_gki_aarch64.xml
  2. 9 0
      fs/crypto/fscrypt_private.h
  3. 9 0
      include/linux/fs.h

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 237 - 203
android/abi_gki_aarch64.xml


+ 9 - 0
fs/crypto/fscrypt_private.h

@@ -222,7 +222,16 @@ struct fscrypt_info {
 	 * will be NULL if the master key was found in a process-subscribed
 	 * keyring rather than in the filesystem-level keyring.
 	 */
+#ifdef __GENKSYMS__
+	/*
+	 * Android ABI CRC preservation due to commit 391cceee6d43 ("fscrypt:
+	 * stop using keyrings subsystem for fscrypt_master_key") changing this
+	 * type.  Size is the same, this is a private field.
+	 */
+	struct key *ci_master_key;
+#else
 	struct fscrypt_master_key *ci_master_key;
+#endif
 
 	/*
 	 * Link in list of inodes that were unlocked with the master key.

+ 9 - 0
include/linux/fs.h

@@ -1471,8 +1471,17 @@ struct super_block {
 	const struct xattr_handler **s_xattr;
 #ifdef CONFIG_FS_ENCRYPTION
 	const struct fscrypt_operations	*s_cop;
+#ifdef __GENKSYMS__
+	/*
+	 * Android ABI CRC preservation due to commit 391cceee6d43 ("fscrypt:
+	 * stop using keyrings subsystem for fscrypt_master_key") changing this
+	 * type.  Size is the same, this is a private field.
+	 */
+	struct key		*s_master_keys; /* master crypto keys in use */
+#else
 	struct fscrypt_keyring	*s_master_keys; /* master crypto keys in use */
 #endif
+#endif
 #ifdef CONFIG_FS_VERITY
 	const struct fsverity_operations *s_vop;
 #endif

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.