ANDROID: abi preservation for fscrypt change in 5.10.154

commit 391cceee6d ("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 <ebiggers@google.com>
Fixes: 391cceee6d ("fscrypt: stop using keyrings subsystem for fscrypt_master_key")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia8bec0c8879e7b6bd4e19baf59f36a22d11f4b9b
This commit is contained in:
Greg Kroah-Hartman 2022-12-01 11:42:47 +00:00
parent 5bc3ece380
commit e5d2cd6ad8
3 changed files with 1065 additions and 950 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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.

View File

@ -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