diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml
index c6377fd04f7a..6f4440e64311 100644
--- a/android/abi_gki_aarch64.xml
+++ b/android/abi_gki_aarch64.xml
@@ -7157,21 +7157,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -8297,6 +8297,11 @@
+
+
+
+
+
@@ -9642,30 +9647,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -10592,12 +10597,12 @@
-
+
-
+
-
+
@@ -12539,9 +12544,9 @@
-
+
-
+
@@ -13491,18 +13496,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -16726,24 +16731,24 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -17760,15 +17765,15 @@
-
+
-
+
-
+
-
+
@@ -18187,12 +18192,12 @@
-
+
-
+
-
+
@@ -18751,42 +18756,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -19240,24 +19245,24 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -21416,7 +21421,7 @@
-
+
@@ -22139,7 +22144,7 @@
-
+
@@ -23076,12 +23081,12 @@
-
+
-
+
-
+
@@ -25114,66 +25119,66 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -25242,12 +25247,12 @@
-
+
-
+
-
+
@@ -26754,6 +26759,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -27197,6 +27213,9 @@
+
+
+
@@ -28327,6 +28346,7 @@
+
@@ -30033,12 +30053,12 @@
-
+
-
+
-
+
@@ -30478,9 +30498,9 @@
-
+
-
+
@@ -31303,6 +31323,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -31395,30 +31429,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -32742,15 +32776,15 @@
-
+
-
+
-
+
-
+
@@ -33131,24 +33165,24 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -38711,12 +38745,12 @@
-
+
-
+
-
+
@@ -40403,30 +40437,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -41315,21 +41349,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -42450,21 +42484,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -44315,81 +44349,81 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -45770,9 +45804,9 @@
-
+
-
+
@@ -46439,21 +46473,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -48106,7 +48140,7 @@
-
+
@@ -48905,15 +48939,15 @@
-
+
-
+
-
+
-
+
@@ -51049,21 +51083,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -53785,18 +53819,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -53850,15 +53884,15 @@
-
+
-
+
-
+
-
+
@@ -55911,12 +55945,12 @@
-
+
-
+
-
+
@@ -56268,30 +56302,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -56874,114 +56908,114 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -58431,27 +58465,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -58960,36 +58994,36 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -61003,96 +61037,96 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -66281,45 +66315,45 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -66817,28 +66851,28 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -67590,27 +67624,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -67657,9 +67691,9 @@
-
+
-
+
@@ -68011,30 +68045,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -68111,18 +68145,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -68554,12 +68588,12 @@
-
+
-
+
-
+
@@ -68819,18 +68853,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -68848,6 +68882,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -68928,12 +69012,12 @@
-
+
-
+
-
+
@@ -71663,15 +71747,15 @@
-
+
-
+
-
+
-
+
@@ -71976,18 +72060,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -72890,18 +72974,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -73377,15 +73461,15 @@
-
+
-
+
-
+
-
+
@@ -74159,30 +74243,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -77641,30 +77725,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -78552,9 +78636,9 @@
-
+
-
+
@@ -78568,6 +78652,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -79183,121 +79278,121 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -79336,21 +79431,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -81737,18 +81832,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -82774,73 +82869,73 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -84077,151 +84172,151 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -87599,39 +87694,40 @@
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -92262,9 +92358,9 @@
-
+
-
+
@@ -92965,18 +93061,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -93523,7 +93619,7 @@
-
+
@@ -96065,12 +96161,12 @@
-
+
-
+
-
+
@@ -96862,12 +96958,12 @@
-
+
-
+
-
+
@@ -97164,12 +97260,12 @@
-
+
-
+
-
+
@@ -100089,6 +100185,7 @@
+
@@ -100275,15 +100372,15 @@
-
+
-
+
-
+
-
+
@@ -100675,12 +100772,12 @@
-
+
-
+
-
+
@@ -100855,42 +100952,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -101291,9 +101388,9 @@
-
+
-
+
@@ -102311,33 +102408,33 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -104688,33 +104785,33 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -104821,18 +104918,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -107755,30 +107852,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -109809,33 +109906,33 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -109888,9 +109985,9 @@
-
+
-
+
@@ -112596,15 +112693,15 @@
-
+
-
+
-
+
-
+
@@ -114158,39 +114255,39 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -116245,44 +116342,44 @@
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
@@ -116932,8 +117029,8 @@
-
-
+
+
@@ -120843,12 +120940,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -121157,8 +121254,8 @@
-
-
+
+
@@ -123250,8 +123347,8 @@
-
-
+
+
@@ -123260,8 +123357,8 @@
-
-
+
+
@@ -129572,10 +129669,10 @@
-
-
-
-
+
+
+
+
@@ -129943,11 +130040,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -130174,10 +130271,10 @@
-
-
-
-
+
+
+
+
@@ -130261,8 +130358,8 @@
-
-
+
+
@@ -130309,8 +130406,8 @@
-
-
+
+
@@ -130320,9 +130417,9 @@
-
-
-
+
+
+
@@ -130351,15 +130448,15 @@
-
-
+
+
-
-
-
-
-
+
+
+
+
+
@@ -130367,14 +130464,14 @@
-
-
-
+
+
+
-
-
-
+
+
+
@@ -130392,14 +130489,14 @@
-
-
-
+
+
+
-
-
-
+
+
+
@@ -130419,22 +130516,22 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
@@ -130449,10 +130546,10 @@
-
-
-
-
+
+
+
+
@@ -130462,15 +130559,15 @@
-
-
-
-
+
+
+
+
-
-
-
+
+
+
@@ -131047,12 +131144,12 @@
-
-
+
+
-
-
+
+
@@ -131136,9 +131233,9 @@
-
-
-
+
+
+
@@ -133817,22 +133914,22 @@
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
@@ -135591,12 +135688,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -139660,12 +139757,12 @@
-
-
+
+
-
-
+
+
@@ -140123,12 +140220,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -141110,16 +141207,16 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -141618,45 +141715,45 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
@@ -141683,9 +141780,9 @@
-
-
-
+
+
+
@@ -141904,10 +142001,10 @@
-
-
-
-
+
+
+
+
@@ -144498,12 +144595,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -144608,8 +144705,8 @@
-
-
+
+
@@ -145507,21 +145604,21 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -145537,71 +145634,71 @@
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
@@ -145610,8 +145707,8 @@
-
-
+
+
@@ -145892,11 +145989,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -145991,12 +146088,12 @@
-
-
+
+
-
-
+
+
@@ -147249,11 +147346,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -147533,11 +147630,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -147554,11 +147651,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -148252,22 +148349,22 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -148338,23 +148435,23 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -148792,28 +148889,28 @@
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -148824,38 +148921,38 @@
-
-
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
@@ -148873,9 +148970,9 @@
-
-
-
+
+
+
@@ -148898,14 +148995,14 @@
-
-
-
+
+
+
-
-
-
+
+
+
@@ -148935,9 +149032,9 @@
-
-
-
+
+
+
@@ -148950,8 +149047,8 @@
-
-
+
+
diff --git a/fs/crypto/fscrypt_private.h b/fs/crypto/fscrypt_private.h
index 4f88ff06bce2..f5f056739cb6 100644
--- a/fs/crypto/fscrypt_private.h
+++ b/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.
diff --git a/include/linux/fs.h b/include/linux/fs.h
index dcf1c720e26c..79f9fa17f7f8 100644
--- a/include/linux/fs.h
+++ b/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