diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml
index 88042d5b20bc..86c4dcbfb904 100644
--- a/android/abi_gki_aarch64.xml
+++ b/android/abi_gki_aarch64.xml
@@ -215,7 +215,9 @@
+
+
@@ -250,6 +252,8 @@
+
+
@@ -299,6 +303,7 @@
+
@@ -522,7 +527,9 @@
+
+
@@ -544,6 +551,7 @@
+
@@ -857,6 +865,7 @@
+
@@ -1569,9 +1578,11 @@
+
+
@@ -1717,6 +1728,7 @@
+
@@ -1821,11 +1833,13 @@
+
+
@@ -3025,6 +3039,7 @@
+
@@ -3065,10 +3080,12 @@
+
+
@@ -3427,6 +3444,7 @@
+
@@ -4206,6 +4224,7 @@
+
@@ -4319,6 +4338,7 @@
+
@@ -4449,34 +4469,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -4568,6 +4560,7 @@
+
@@ -4842,7 +4835,7 @@
-
+
@@ -4991,7 +4984,7 @@
-
+
@@ -5412,198 +5405,198 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -12158,6 +12151,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -12338,7 +12355,7 @@
-
+
@@ -12346,7 +12363,7 @@
-
+
@@ -12354,7 +12371,7 @@
-
+
@@ -14165,7 +14182,7 @@
-
+
@@ -14179,7 +14196,7 @@
-
+
@@ -14453,6 +14470,7 @@
+
@@ -15298,7 +15316,6 @@
-
@@ -15318,6 +15335,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -17307,6 +17338,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -17383,6 +17425,7 @@
+
@@ -17417,6 +17460,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -17454,6 +17536,7 @@
+
@@ -17601,6 +17684,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -18338,7 +18432,7 @@
-
+
@@ -18354,12 +18448,12 @@
-
+
-
+
@@ -18441,7 +18535,7 @@
-
+
@@ -18832,7 +18926,7 @@
-
+
@@ -19069,7 +19163,7 @@
-
+
@@ -19210,7 +19304,7 @@
-
+
@@ -20025,6 +20119,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -20042,7 +20174,7 @@
-
+
@@ -20173,44 +20305,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -20841,7 +20935,7 @@
-
+
@@ -20863,7 +20957,7 @@
-
+
@@ -21548,7 +21642,7 @@
-
+
@@ -21556,7 +21650,7 @@
-
+
@@ -21570,6 +21664,7 @@
+
@@ -22722,6 +22817,13 @@
+
+
+
+
+
+
+
@@ -28885,6 +28987,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -28924,6 +29037,7 @@
+
@@ -28976,6 +29090,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -29049,6 +29174,7 @@
+
@@ -31299,7 +31425,6 @@
-
@@ -32094,7 +32219,6 @@
-
@@ -37533,14 +37657,6 @@
-
-
-
-
-
-
-
-
@@ -38476,13 +38592,13 @@
-
+
-
+
@@ -38565,7 +38681,7 @@
-
+
@@ -38963,7 +39079,7 @@
-
+
@@ -39156,6 +39272,9 @@
+
+
+
@@ -39724,6 +39843,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -39744,6 +39874,8 @@
+
+
@@ -39760,6 +39892,11 @@
+
+
+
+
+
@@ -39838,6 +39975,7 @@
+
@@ -40797,6 +40935,7 @@
+
@@ -40827,11 +40966,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -42222,6 +42373,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -42285,6 +42447,7 @@
+
@@ -42760,6 +42923,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -42960,6 +43134,7 @@
+
@@ -46037,7 +46212,7 @@
-
+
@@ -46136,7 +46311,7 @@
-
+
@@ -48045,7 +48220,7 @@
-
+
@@ -48558,7 +48733,7 @@
-
+
@@ -48682,7 +48857,7 @@
-
+
@@ -49191,7 +49366,7 @@
-
+
@@ -49255,7 +49430,7 @@
-
+
@@ -49312,7 +49487,7 @@
-
+
@@ -49451,7 +49626,7 @@
-
+
@@ -49482,7 +49657,7 @@
-
+
@@ -49493,7 +49668,7 @@
-
+
@@ -49752,7 +49927,7 @@
-
+
@@ -49771,7 +49946,7 @@
-
+
@@ -49808,7 +49983,7 @@
-
+
@@ -49932,7 +50107,7 @@
-
+
@@ -49953,7 +50128,7 @@
-
+
@@ -49990,7 +50165,7 @@
-
+
@@ -50084,7 +50259,7 @@
-
+
@@ -50143,7 +50318,7 @@
-
+
@@ -51155,6 +51330,7 @@
+
@@ -51214,7 +51390,6 @@
-
@@ -52138,7 +52313,7 @@
-
+
@@ -52146,7 +52321,7 @@
-
+
@@ -52588,7 +52763,7 @@
-
+
@@ -52639,7 +52814,7 @@
-
+
@@ -52865,7 +53040,7 @@
-
+
@@ -53510,6 +53685,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -53956,17 +54166,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -55059,7 +55258,7 @@
-
+
@@ -55083,7 +55282,18 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -55229,7 +55439,7 @@
-
+
@@ -55517,6 +55727,7 @@
+
@@ -59549,6 +59760,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -59645,7 +60017,7 @@
-
+
@@ -60713,7 +61085,7 @@
-
+
@@ -60919,8 +61291,8 @@
-
-
+
+
@@ -61044,7 +61416,7 @@
-
+
@@ -61058,7 +61430,7 @@
-
+
@@ -61100,7 +61472,7 @@
-
+
@@ -62303,7 +62675,7 @@
-
+
@@ -62863,7 +63235,7 @@
-
+
@@ -64068,7 +64440,7 @@
-
+
@@ -64079,7 +64451,7 @@
-
+
@@ -64087,7 +64459,7 @@
-
+
@@ -64103,7 +64475,7 @@
-
+
@@ -64119,7 +64491,7 @@
-
+
@@ -64127,7 +64499,7 @@
-
+
@@ -64141,7 +64513,7 @@
-
+
@@ -64152,7 +64524,7 @@
-
+
@@ -64160,7 +64532,7 @@
-
+
@@ -64168,7 +64540,7 @@
-
+
@@ -64176,7 +64548,7 @@
-
+
@@ -64184,7 +64556,7 @@
-
+
@@ -64203,7 +64575,7 @@
-
+
@@ -64366,6 +64738,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -64395,7 +64778,7 @@
-
+
@@ -64475,6 +64858,7 @@
+
@@ -64527,6 +64911,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -64584,6 +64979,7 @@
+
@@ -64732,14 +65128,6 @@
-
-
-
-
-
-
-
-
@@ -65090,6 +65478,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -65851,12 +66262,6 @@
-
-
-
-
-
-
@@ -70760,6 +71165,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -74140,6 +74559,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -74238,7 +74668,7 @@
-
+
@@ -74419,6 +74849,7 @@
+
@@ -76967,6 +77398,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -76978,6 +77420,7 @@
+
@@ -77121,11 +77564,6 @@
-
-
-
-
-
@@ -79072,6 +79510,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -79140,8 +79589,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -79154,6 +79615,7 @@
+
@@ -80766,6 +81228,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -81220,17 +81693,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -86074,7 +86536,7 @@
-
+
@@ -86634,6 +87096,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -86672,6 +87145,7 @@
+
@@ -87082,6 +87556,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -87194,7 +87694,7 @@
-
+
@@ -87225,32 +87725,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -87320,7 +87794,7 @@
-
+
@@ -87540,6 +88014,14 @@
+
+
+
+
+
+
+
+
@@ -87929,7 +88411,7 @@
-
+
@@ -87952,7 +88434,7 @@
-
+
@@ -88232,23 +88714,18 @@
-
+
-
+
-
-
-
-
-
-
+
-
+
-
+
@@ -88276,14 +88753,6 @@
-
-
-
-
-
-
-
-
@@ -88626,6 +89095,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -88680,7 +89160,7 @@
-
+
@@ -88688,7 +89168,7 @@
-
+
@@ -88710,7 +89190,7 @@
-
+
@@ -88943,6 +89423,7 @@
+
@@ -88971,12 +89452,8 @@
-
-
-
-
@@ -90423,11 +90900,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90592,7 +91081,11 @@
+
+
+
+
@@ -91340,7 +91833,7 @@
-
+
@@ -91765,6 +92258,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -91855,6 +92359,7 @@
+
@@ -92105,10 +92610,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -92354,34 +92871,34 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -92395,16 +92912,16 @@
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -92758,6 +93275,8 @@
+
+
@@ -92803,6 +93322,15 @@
+
+
+
+
+
+
+
+
+
@@ -93072,7 +93600,7 @@
-
+
@@ -93306,7 +93834,6 @@
-
@@ -95326,7 +95853,7 @@
-
+
@@ -95448,7 +95975,7 @@
-
+
@@ -95487,7 +96014,7 @@
-
+
@@ -99027,7 +99554,7 @@
-
+
@@ -99520,13 +100047,13 @@
-
+
-
+
-
+
@@ -99568,7 +100095,7 @@
-
+
@@ -101639,6 +102166,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -102076,7 +102614,7 @@
-
+
@@ -102699,6 +103237,7 @@
+
@@ -103731,7 +104270,7 @@
-
+
@@ -103747,7 +104286,7 @@
-
+
@@ -103755,7 +104294,7 @@
-
+
@@ -103769,7 +104308,7 @@
-
+
@@ -103777,7 +104316,7 @@
-
+
@@ -103785,7 +104324,8 @@
-
+
+
@@ -103800,6 +104340,11 @@
+
+
+
+
+
@@ -103813,6 +104358,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -104163,6 +104720,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -104214,6 +104797,8 @@
+
+
@@ -104272,6 +104857,7 @@
+
@@ -104543,6 +105129,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -104623,6 +105220,7 @@
+
@@ -106740,6 +107338,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -106847,26 +107465,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -107089,23 +107687,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -107618,6 +108199,10 @@
+
+
+
+
@@ -107649,238 +108234,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -108035,18 +108405,7 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -108229,13 +108588,6 @@
-
-
-
-
-
-
-
@@ -108243,10 +108595,6 @@
-
-
-
-
@@ -108521,6 +108869,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -108551,6 +108910,7 @@
+
@@ -108673,33 +109033,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -108883,6 +109221,14 @@
+
+
+
+
+
+
+
+
@@ -108985,7 +109331,7 @@
-
+
@@ -109139,7 +109485,7 @@
-
+
@@ -109676,6 +110022,14 @@
+
+
+
+
+
+
+
+
@@ -109907,7 +110261,7 @@
-
+
@@ -110370,7 +110724,7 @@
-
+
@@ -110450,14 +110804,6 @@
-
-
-
-
-
-
-
-
@@ -110997,6 +111343,14 @@
+
+
+
+
+
+
+
+
@@ -111284,6 +111638,14 @@
+
+
+
+
+
+
+
+
@@ -111433,7 +111795,7 @@
-
+
@@ -111448,40 +111810,27 @@
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
@@ -111495,6 +111844,7 @@
+
@@ -112213,7 +112563,19 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -112221,7 +112583,7 @@
-
+
@@ -112229,6 +112591,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -113080,7 +113458,7 @@
-
+
@@ -113244,7 +113622,7 @@
-
+
@@ -114128,14 +114506,6 @@
-
-
-
-
-
-
-
-
@@ -115116,7 +115486,7 @@
-
+
@@ -115543,7 +115913,6 @@
-
@@ -116383,7 +116752,7 @@
-
+
@@ -116406,22 +116775,34 @@
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -116932,7 +117313,260 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -116947,6 +117581,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -117004,6 +117650,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -118137,6 +118794,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -120118,7 +120786,7 @@
-
+
@@ -121564,6 +122232,7 @@
+
@@ -121624,7 +122293,7 @@
-
+
@@ -121642,14 +122311,6 @@
-
-
-
-
-
-
-
-
@@ -122094,6 +122755,11 @@
+
+
+
+
+
@@ -122180,6 +122846,13 @@
+
+
+
+
+
+
+
@@ -122367,6 +123040,8 @@
+
+
@@ -122390,6 +123065,10 @@
+
+
+
+
@@ -122922,6 +123601,11 @@
+
+
+
+
+
@@ -122934,7 +123618,7 @@
-
+
@@ -122955,7 +123639,7 @@
-
+
@@ -123089,42 +123773,20 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -123378,7 +124040,7 @@
-
+
@@ -128225,6 +128887,11 @@
+
+
+
+
+
@@ -129380,6 +130047,6 @@
diff --git a/android/abi_gki_aarch64_d6430e6763.xml b/android/abi_gki_aarch64_d6430e6763.xml
index 55d7c759adc0..80259adebf48 100644
--- a/android/abi_gki_aarch64_d6430e6763.xml
+++ b/android/abi_gki_aarch64_d6430e6763.xml
@@ -411,6 +411,7 @@
+
@@ -984,6 +985,7 @@
+
@@ -1048,6 +1050,7 @@
+
@@ -1706,6 +1709,7 @@
+
@@ -1797,6 +1801,7 @@
+
@@ -1958,6 +1963,7 @@
+
@@ -3030,6 +3036,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -3142,6 +3159,7 @@
+
@@ -3533,6 +3551,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -3668,6 +3697,7 @@
+
@@ -3822,7 +3852,18 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4013,6 +4054,7 @@
+
@@ -4863,567 +4905,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5454,92 +4950,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -6792,6 +6202,566 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6800,6 +6770,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7026,7 +7082,7 @@
-
+
@@ -7133,6 +7189,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7791,6 +7861,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -7817,7 +7898,7 @@
-
+
@@ -7825,7 +7906,7 @@
-
+
@@ -7842,7 +7923,7 @@
-
+
@@ -7912,6 +7993,7 @@
+
@@ -8327,6 +8409,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -11210,6 +11312,11 @@
+
+
+
+
+
@@ -14292,7 +14399,7 @@
-
+
@@ -19063,28 +19170,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -22274,6 +22359,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -22420,6 +22527,7 @@
+
@@ -23004,6 +23112,7 @@
+
@@ -23080,6 +23189,7 @@
+
@@ -24664,7 +24774,7 @@
-
+
@@ -25177,7 +25287,7 @@
-
+
@@ -25301,7 +25411,7 @@
-
+
@@ -25810,7 +25920,7 @@
-
+
@@ -25874,7 +25984,7 @@
-
+
@@ -25931,7 +26041,7 @@
-
+
@@ -26079,7 +26189,7 @@
-
+
@@ -26110,7 +26220,7 @@
-
+
@@ -26121,7 +26231,7 @@
-
+
@@ -26380,7 +26490,7 @@
-
+
@@ -26399,7 +26509,7 @@
-
+
@@ -26436,7 +26546,7 @@
-
+
@@ -26560,7 +26670,7 @@
-
+
@@ -26581,7 +26691,7 @@
-
+
@@ -26618,7 +26728,7 @@
-
+
@@ -26712,7 +26822,7 @@
-
+
@@ -26771,7 +26881,7 @@
-
+
@@ -28722,7 +28832,7 @@
-
+
@@ -28730,7 +28840,7 @@
-
+
@@ -29172,7 +29282,7 @@
-
+
@@ -29223,7 +29333,7 @@
-
+
@@ -29445,7 +29555,7 @@
-
+
@@ -29466,6 +29576,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -29606,6 +29727,7 @@
+
@@ -30884,17 +31006,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -32971,7 +33082,7 @@
-
+
@@ -33139,7 +33250,7 @@
-
+
@@ -35053,6 +35164,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -35101,6 +35223,7 @@
+
@@ -35200,14 +35323,6 @@
-
-
-
-
-
-
-
-
@@ -35488,6 +35603,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -35496,6 +35621,13 @@
+
+
+
+
+
+
+
@@ -36909,6 +37041,7 @@
+
@@ -37078,6 +37211,7 @@
+
@@ -39104,6 +39238,14 @@
+
+
+
+
+
+
+
+
@@ -39315,12 +39457,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -40719,18 +40884,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -40738,7 +40892,7 @@
-
+
@@ -40746,7 +40900,7 @@
-
+
@@ -40946,22 +41100,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -41475,6 +41613,14 @@
+
+
+
+
+
+
+
+
@@ -41574,7 +41720,7 @@
-
+
@@ -41630,7 +41776,7 @@
-
+
@@ -41680,14 +41826,6 @@
-
-
-
-
-
-
-
-
@@ -41714,14 +41852,6 @@
-
-
-
-
-
-
-
-
@@ -42329,6 +42459,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -42491,6 +42637,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -42505,6 +42662,7 @@
+
@@ -43370,6 +43528,7 @@
+
@@ -43567,6 +43726,7 @@
+
@@ -44051,11 +44211,6 @@
-
-
-
-
-
@@ -48108,6 +48263,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -48121,6 +48287,7 @@
+
@@ -51483,7 +51650,7 @@
-
+
@@ -51523,9 +51690,7 @@
-
-
@@ -51574,12 +51739,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -51812,6 +51989,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -51826,6 +52014,7 @@
+
@@ -51836,20 +52025,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -51864,14 +52039,6 @@
-
-
-
-
-
-
-
-
@@ -51945,12 +52112,12 @@
-
+
-
+
@@ -52388,42 +52555,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -52519,7 +52650,7 @@
-
+
@@ -52540,26 +52671,19 @@
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
@@ -52570,15 +52694,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -53028,6 +53168,7 @@
+
@@ -53103,6 +53244,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -53311,6 +53613,7 @@
+
@@ -53692,7 +53995,7 @@
-
+
@@ -54870,195 +55173,195 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -55068,7 +55371,7 @@
-
+
@@ -55283,7 +55586,7 @@
-
+
@@ -56924,7 +57227,7 @@
-
+
@@ -58495,13 +58798,13 @@
-
+
-
+
@@ -58623,7 +58926,7 @@
-
+
@@ -58674,7 +58977,7 @@
-
+
@@ -59548,7 +59851,7 @@
-
+
@@ -59632,7 +59935,7 @@
-
+
@@ -60416,7 +60719,7 @@
-
+
@@ -61075,7 +61378,7 @@
-
+
@@ -61663,13 +61966,13 @@
-
+
-
+
@@ -61711,7 +62014,7 @@
-
+
@@ -62107,7 +62410,7 @@
-
+
@@ -63091,7 +63394,7 @@
-
+
@@ -63103,7 +63406,7 @@
-
+
@@ -66180,7 +66483,7 @@
-
+
@@ -66524,6 +66827,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -66569,7 +66885,7 @@
-
+
@@ -66726,7 +67042,7 @@
-
+
@@ -66734,7 +67050,7 @@
-
+
@@ -66742,7 +67058,7 @@
-
+
@@ -66756,7 +67072,7 @@
-
+
@@ -66811,7 +67127,7 @@
-
+
@@ -66831,7 +67147,7 @@
-
+
@@ -66877,17 +67193,17 @@
-
+
-
+
-
+
@@ -66895,7 +67211,7 @@
-
+
@@ -66931,7 +67247,7 @@
-
+
@@ -67063,7 +67379,7 @@
-
+
@@ -67117,7 +67433,7 @@
-
+
@@ -67146,7 +67462,7 @@
-
+
@@ -67154,7 +67470,7 @@
-
+
@@ -67455,7 +67771,7 @@
-
+
@@ -67640,7 +67956,7 @@
-
+
@@ -67683,7 +67999,7 @@
-
+
@@ -67710,7 +68026,7 @@
-
+
@@ -67722,7 +68038,7 @@
-
+
@@ -68840,7 +69156,7 @@
-
+
@@ -69780,7 +70096,7 @@
-
+
@@ -69845,7 +70161,7 @@
-
+
@@ -69904,7 +70220,7 @@
-
+
@@ -69920,6 +70236,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -69953,7 +70280,7 @@
-
+
@@ -70003,7 +70330,7 @@
-
+
@@ -70014,7 +70341,7 @@
-
+
@@ -70033,7 +70360,8 @@
-
+
+
@@ -70041,46 +70369,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -70104,6 +70392,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -70190,6 +70499,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -70339,6 +70684,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -70354,6 +70710,7 @@
+
@@ -70462,6 +70819,8 @@
+
+
@@ -71005,7 +71364,7 @@
-
+
@@ -75595,6 +75954,14 @@
+
+
+
+
+
+
+
+
@@ -75604,6 +75971,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -78303,17 +78681,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -78356,6 +78723,11 @@
+
+
+
+
+
@@ -78531,6 +78903,8 @@
+
+
@@ -78575,6 +78949,12 @@
+
+
+
+
+
+
@@ -79094,6 +79474,7 @@
+
@@ -81607,7 +81988,7 @@
-
+
@@ -81687,7 +82068,7 @@
-
+
@@ -81695,6 +82076,15 @@
+
+
+
+
+
+
+
+
+
@@ -81758,10 +82148,15 @@
-
+
+
+
+
+
+
@@ -82914,9 +83309,6 @@
-
-
-
@@ -82942,49 +83334,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -83107,34 +83456,34 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -83149,8 +83498,8 @@
-
-
+
+
@@ -83159,12 +83508,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -83340,17 +83689,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -85333,7 +85671,7 @@
-
+
@@ -85544,11 +85882,6 @@
-
-
-
-
-
@@ -85585,8 +85918,6 @@
-
-
@@ -85945,6 +86276,10 @@
+
+
+
+
@@ -89198,6 +89533,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -89483,62 +89874,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -90039,7 +90374,7 @@
-
+
@@ -90065,20 +90400,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -90714,6 +91035,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -90746,6 +91078,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90754,7 +91105,7 @@
-
+
@@ -90842,7 +91193,7 @@
-
+
@@ -91105,12 +91456,12 @@
-
+
-
+
@@ -91173,7 +91524,7 @@
-
+
@@ -91248,14 +91599,6 @@
-
-
-
-
-
-
-
-
@@ -91659,15 +92002,7 @@
-
-
-
-
-
-
-
-
-
+
@@ -91713,8 +92048,10 @@
+
+
@@ -91815,34 +92152,34 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -91890,24 +92227,32 @@
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
@@ -92004,6 +92349,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -92015,6 +92392,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -92058,7 +92479,7 @@
-
+
@@ -96782,83 +97203,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -96866,7 +97211,7 @@
-
+
@@ -96874,7 +97219,7 @@
-
+
@@ -96882,7 +97227,7 @@
-
+
@@ -96890,7 +97235,7 @@
-
+
@@ -96898,7 +97243,7 @@
-
+
@@ -96906,7 +97251,7 @@
-
+
@@ -96914,7 +97259,7 @@
-
+
@@ -96922,7 +97267,7 @@
-
+
@@ -96930,7 +97275,7 @@
-
+
@@ -97399,11 +97744,10 @@
-
-
+
@@ -97435,7 +97779,7 @@
-
+
@@ -97443,7 +97787,7 @@
-
+
@@ -97464,7 +97808,7 @@
-
+
@@ -97519,7 +97863,7 @@
-
+
@@ -97527,7 +97871,7 @@
-
+
@@ -97535,7 +97879,7 @@
-
+
@@ -97543,7 +97887,7 @@
-
+
@@ -98135,6 +98479,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -98245,6 +98603,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -98270,20 +98677,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -98831,6 +99224,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -98974,7 +99378,7 @@
-
+
@@ -99146,6 +99550,7 @@
+
diff --git a/android/abi_gki_aarch64_exynos b/android/abi_gki_aarch64_exynos
index 0b41a3f16cad..4222e5233d9d 100644
--- a/android/abi_gki_aarch64_exynos
+++ b/android/abi_gki_aarch64_exynos
@@ -3,6 +3,7 @@
add_timer_on
add_uevent_var
add_wait_queue
+ add_wait_queue_exclusive
adjust_managed_page_count
alarm_cancel
alarm_init
@@ -18,6 +19,7 @@
amba_driver_register
amba_driver_unregister
anon_inode_getfd
+ __arch_clear_user
__arch_copy_from_user
__arch_copy_in_user
__arch_copy_to_user
@@ -34,6 +36,7 @@
_bcd2bin
bcmp
_bin2bcd
+ bin2hex
bio_crypt_should_process
__bitmap_clear
__bitmap_parse
@@ -56,6 +59,7 @@
bpf_trace_run6
bpf_trace_run7
bpf_trace_run9
+ __break_lease
build_skb
bus_find_device
bus_for_each_dev
@@ -78,9 +82,11 @@
__cfg80211_alloc_event_skb
__cfg80211_alloc_reply_skb
cfg80211_chandef_create
+ cfg80211_chandef_valid
cfg80211_ch_switch_notify
cfg80211_classify8021d
cfg80211_connect_done
+ cfg80211_conn_failed
cfg80211_del_sta_sinfo
cfg80211_disconnected
cfg80211_external_auth_request
@@ -93,6 +99,7 @@
cfg80211_new_sta
cfg80211_put_bss
cfg80211_ready_on_channel
+ cfg80211_ref_bss
cfg80211_remain_on_channel_expired
cfg80211_roamed
cfg80211_rx_mgmt
@@ -106,9 +113,13 @@
__class_create
class_create_file_ns
class_destroy
+ class_dev_iter_exit
+ class_dev_iter_init
+ class_dev_iter_next
class_find_device
__class_register
class_unregister
+ clear_inode
clear_page
clk_bulk_disable
clk_bulk_enable
@@ -155,6 +166,7 @@
config_ep_by_speed
config_group_init_type_name
console_lock
+ console_stop
console_trylock
console_unlock
__const_udelay
@@ -206,14 +218,18 @@
csum_partial
csum_tcpudp_nofold
_ctype
+ d_add
dapm_pinctrl_event
dapm_regulator_event
datagram_poll
+ d_drop
+ deactivate_locked_super
default_llseek
default_wake_function
delayed_work_timer_fn
del_timer
del_timer_sync
+ dentry_open
destroy_workqueue
dev_alloc_name
_dev_crit
@@ -311,6 +327,7 @@
devm_request_threaded_irq
devm_reset_control_array_get
__devm_reset_control_get
+ devm_rtc_allocate_device
devm_rtc_device_register
devm_snd_dmaengine_pcm_register
devm_snd_soc_register_card
@@ -341,7 +358,10 @@
devres_release
dev_set_mac_address
dev_set_name
+ dev_vprintk_emit
_dev_warn
+ dget_parent
+ d_instantiate
disable_irq
disable_irq_nosync
disable_percpu_irq
@@ -394,6 +414,7 @@
dma_free_attrs
dma_get_slave_caps
dma_get_slave_channel
+ d_make_root
dmam_alloc_attrs
dma_mmap_attrs
dma_pool_alloc
@@ -414,6 +435,7 @@
down_trylock
down_write
d_path
+ dput
driver_find
driver_find_device
driver_register
@@ -465,10 +487,19 @@
freq_qos_add_request
freq_qos_remove_request
freq_qos_update_request
+ fs_kobj
+ fsstack_copy_attr_all
fwnode_property_present
fwnode_property_read_u16_array
generic_file_llseek
+ generic_file_mmap
+ generic_file_read_iter
+ generic_file_splice_read
generic_handle_irq
+ generic_read_dir
+ generic_shutdown_super
+ genl_family_attrbuf
+ genlmsg_multicast_allns
genlmsg_put
genl_register_family
genl_unregister_family
@@ -542,6 +573,7 @@
i2c_del_driver
i2c_for_each_dev
i2c_get_adapter
+ i2c_new_device
i2c_new_dummy
i2c_put_adapter
i2c_register_driver
@@ -564,13 +596,17 @@
ieee80211_channel_to_freq_khz
ieee80211_freq_khz_to_channel
ieee80211_get_channel_khz
+ iget5_locked
ignore_console_lock_warning
+ ihold
iio_channel_get
iio_channel_release
+ iio_convert_raw_to_processed
iio_device_alloc
iio_device_free
__iio_device_register
iio_device_unregister
+ iio_get_channel_type
iio_read_channel_processed
iio_read_channel_raw
in4_pton
@@ -582,6 +618,8 @@
init_timer_key
init_wait_entry
__init_waitqueue_head
+ inode_init_once
+ inode_init_owner
input_allocate_device
input_event
input_free_device
@@ -639,6 +677,7 @@
iounmap
__iowrite32_copy
ip_send_check
+ iput
__irq_alloc_descs
irq_create_mapping
__irq_domain_add
@@ -664,6 +703,7 @@
irq_to_desc
irq_work_queue
is_console_locked
+ iterate_dir
jiffies
jiffies_64
jiffies_64_to_clock_t
@@ -673,7 +713,9 @@
kasprintf
kernel_kobj
kernel_read
+ kernel_restart
kernel_write
+ kern_path
keyslot_manager_create_passthrough
keyslot_manager_private
__kfifo_alloc
@@ -752,10 +794,16 @@
llist_add_batch
__local_bh_enable_ip
__lock_buffer
+ lockref_get
+ lock_rename
lock_sock_nested
+ lookup_one_len
loops_per_jiffy
+ LZ4_decompress_safe
map_vm_area
+ match_int
match_string
+ match_token
media_create_intf_link
media_create_pad_link
media_device_register_entity
@@ -841,6 +889,7 @@
no_llseek
nonseekable_open
noop_llseek
+ notify_change
nr_cpu_ids
nr_irqs
nsecs_to_jiffies
@@ -916,6 +965,7 @@
of_usb_get_phy_mode
of_usb_host_tpl_support
oops_in_progress
+ pagecache_get_page
panic
panic_notifier_list
param_array_ops
@@ -929,6 +979,8 @@
param_ops_ullong
param_ops_ulong
param_set_uint
+ path_get
+ path_put
pci_alloc_irq_vectors_affinity
pci_bus_type
pci_d3cold_disable
@@ -1121,6 +1173,7 @@
register_chrdev_region
register_console
register_die_notifier
+ register_filesystem
register_inet6addr_notifier
register_inetaddr_notifier
register_netdev
@@ -1177,13 +1230,17 @@
reset_control_reset
return_address
rfkill_alloc
+ rfkill_blocked
rfkill_destroy
rfkill_register
rfkill_unregister
rps_needed
+ rtc_add_group
rtc_class_close
rtc_class_open
rtc_read_time
+ __rtc_register_device
+ rtc_set_time
rtc_time64_to_tm
rtc_tm_to_time64
rtc_update_irq
@@ -1211,6 +1268,7 @@
seq_printf
seq_puts
seq_read
+ set_anon_super
set_cpus_allowed_ptr
set_normalized_timespec64
set_page_dirty_lock
@@ -1218,6 +1276,7 @@
sg_alloc_table
sg_alloc_table_from_pages
sg_copy_to_buffer
+ sget
sg_free_table
sg_init_one
sg_init_table
@@ -1230,8 +1289,11 @@
__sg_page_iter_start
sg_pcopy_from_buffer
sg_pcopy_to_buffer
+ simple_getattr
simple_open
simple_read_from_buffer
+ simple_setattr
+ simple_statfs
simple_strtol
simple_strtoul
simple_write_to_buffer
@@ -1301,6 +1363,7 @@
snd_soc_dai_set_fmt
snd_soc_dai_set_sysclk
snd_soc_dai_set_tdm_slot
+ snd_soc_dai_set_tristate
snd_soc_dapm_add_routes
snd_soc_dapm_disable_pin
snd_soc_dapm_enable_pin
@@ -1369,6 +1432,8 @@
sock_no_shutdown
sock_no_socketpair
sock_queue_rcv_skb
+ __sock_recv_timestamp
+ __sock_recv_wifi_status
sock_register
sock_unregister
softnet_data
@@ -1412,11 +1477,13 @@
strncat
strncmp
strncpy
+ strndup_user
strnlen
strnstr
strpbrk
strrchr
strsep
+ strspn
strstr
submit_bh
subsys_system_register
@@ -1425,6 +1492,7 @@
__sync_dirty_buffer
sync_file_create
sync_file_get_fence
+ sync_filesystem
synchronize_irq
synchronize_rcu
syscon_regmap_lookup_by_phandle
@@ -1481,6 +1549,7 @@
__tracepoint_android_vh_is_fpsimd_save
__tracepoint_device_pm_callback_end
__tracepoint_device_pm_callback_start
+ __tracepoint_gpu_mem_total
__tracepoint_pelt_cfs_tp
tracepoint_probe_register
__tracepoint_suspend_resume
@@ -1490,6 +1559,7 @@
__trace_puts
trace_raw_output_prep
trace_seq_printf
+ truncate_inode_pages
try_module_get
__tty_alloc_driver
tty_flip_buffer_push
@@ -1529,14 +1599,19 @@
ufshcd_dme_get_attr
ufshcd_dme_set_attr
ufshcd_pltfrm_init
+ ufshcd_query_descriptor_retry
ufshcd_remove
ufshcd_shutdown
ufshcd_system_resume
ufshcd_system_suspend
ufshcd_wb_ctrl
+ unlock_new_inode
+ unlock_page
+ unlock_rename
unmap_mapping_range
__unregister_chrdev
unregister_chrdev_region
+ unregister_filesystem
unregister_inet6addr_notifier
unregister_inetaddr_notifier
unregister_netdev
@@ -1642,6 +1717,7 @@
usb_unregister_notify
usb_wakeup_notification
__usecs_to_jiffies
+ user_path_at_empty
usleep_range
v4l2_ctrl_handler_free
v4l2_ctrl_handler_init_class
@@ -1692,9 +1768,20 @@
vb2_streamon
vb2_wait_for_all_buffers
vfree
+ vfs_create
+ vfs_fallocate
vfs_fsync
+ vfs_getattr
+ vfs_getxattr
+ vfs_link
+ vfs_listxattr
vfs_llseek
+ vfs_mkdir
+ vfs_rename
+ vfs_rmdir
+ vfs_setxattr
vfs_statx
+ vfs_unlink
video_devdata
video_device_alloc
video_device_release
@@ -1703,6 +1790,7 @@
video_unregister_device
vmalloc
vmalloc_to_page
+ vmalloc_to_pfn
vmalloc_user
vmap
vmemmap
@@ -1712,6 +1800,7 @@
vm_map_pages
vm_map_ram
vm_unmap_ram
+ vprintk_emit
vscnprintf
vsnprintf
vsprintf
@@ -1724,12 +1813,14 @@
wait_for_completion_timeout
__wait_on_buffer
__wake_up
+ __wake_up_locked_key
wake_up_process
wakeup_source_add
wakeup_source_create
wakeup_source_destroy
wakeup_source_register
wakeup_source_unregister
+ __wake_up_sync
__warn_printk
watchdog_init_timeout
watchdog_register_device
diff --git a/android/abi_gki_aarch64_oneplus b/android/abi_gki_aarch64_oneplus
index 9d8fa8a826ad..57fde0b742f2 100644
--- a/android/abi_gki_aarch64_oneplus
+++ b/android/abi_gki_aarch64_oneplus
@@ -35,11 +35,13 @@
cdev_alloc
cdev_del
cdev_init
+ __cfi_slowpath
__check_object_size
__class_create
class_destroy
__class_register
class_unregister
+ cleanup_srcu_struct
clk_bulk_disable
clk_bulk_enable
clk_bulk_prepare
@@ -79,7 +81,6 @@
__const_udelay
consume_skb
contig_page_data
- _copy_from_iter_full
cpu_hwcap_keys
cpu_hwcaps
cpumask_next
@@ -88,6 +89,9 @@
__cpu_possible_mask
__cpu_present_mask
crc32_le
+ crypto_alloc_shash
+ crypto_destroy_tfm
+ crypto_shash_digest
_ctype
delayed_work_timer_fn
del_timer
@@ -103,15 +107,12 @@
device_create
device_create_bin_file
device_create_file
- device_del
device_destroy
+ device_find_child
device_for_each_child
- device_get_next_child_node
device_initialize
device_init_wakeup
- device_match_fwnode
device_property_present
- device_property_read_string
device_property_read_u32_array
device_register
device_remove_file
@@ -128,7 +129,10 @@
devm_extcon_dev_register
devm_free_irq
devm_gpiod_get_optional
+ devm_gpio_free
+ devm_gpio_request
devm_gpio_request_one
+ devm_iio_channel_get
devm_input_allocate_device
devm_ioremap
devm_ioremap_nocache
@@ -165,7 +169,6 @@
devm_reset_controller_register
devm_thermal_zone_of_sensor_register
devm_usb_get_phy_by_phandle
- _dev_notice
dev_pm_opp_add
dev_pm_opp_find_freq_ceil
dev_pm_opp_get_opp_count
@@ -191,8 +194,6 @@
dma_buf_fd
dma_buf_get
dma_buf_get_flags
- dma_buf_kmap
- dma_buf_kunmap
dma_buf_map_attachment
dma_buf_put
dma_buf_unmap_attachment
@@ -208,6 +209,7 @@
dma_direct_unmap_page
dma_direct_unmap_sg
dma_fence_add_callback
+ dma_fence_array_create
dma_fence_array_ops
dma_fence_context_alloc
dma_fence_default_wait
@@ -232,6 +234,7 @@
driver_unregister
drm_panel_notifier_register
drm_panel_notifier_unregister
+ dump_stack
enable_irq
event_triggers_call
extcon_get_edev_by_phandle
@@ -239,12 +242,12 @@
extcon_register_notifier
extcon_set_state_sync
fd_install
+ fget
find_last_bit
find_next_bit
find_next_zero_bit
find_vma
finish_wait
- firmware_request_nowarn
flush_delayed_work
flush_work
flush_workqueue
@@ -252,8 +255,8 @@
free_irq
free_netdev
__free_pages
- freezing_slow_path
- fwnode_property_present
+ free_pages
+ generic_file_llseek
generic_handle_irq
genl_register_family
genl_unregister_family
@@ -264,8 +267,10 @@
gen_pool_free_owner
get_cpu_device
get_device
+ __get_free_pages
get_random_bytes
get_unused_fd_flags
+ get_zeroed_page
gpiochip_add_data_with_key
gpiochip_add_pin_range
gpiochip_generic_free
@@ -278,8 +283,6 @@
gpiod_get_raw_value
gpiod_get_raw_value_cansleep
gpiod_get_value
- gpiod_get_value_cansleep
- gpiod_set_debounce
gpiod_set_raw_value
gpiod_set_raw_value_cansleep
gpiod_set_value
@@ -293,12 +296,15 @@
handle_nested_irq
handle_simple_irq
hex_dump_to_buffer
+ hrtimer_active
hrtimer_cancel
hrtimer_init
hrtimer_start_range_ns
- hrtimer_try_to_cancel
i2c_del_driver
i2c_register_driver
+ i2c_smbus_read_byte_data
+ i2c_smbus_read_i2c_block_data
+ i2c_smbus_write_byte_data
i2c_transfer
i2c_transfer_buffer_flags
icc_get
@@ -321,6 +327,7 @@
idr_get_next
idr_preload
idr_remove
+ iio_read_channel_processed
init_net
__init_rwsem
init_timer_key
@@ -341,7 +348,6 @@
input_unregister_device
input_unregister_handle
input_unregister_handler
- invalidate_mapping_pages
iomem_resource
iommu_attach_device
iommu_detach_device
@@ -351,6 +357,8 @@
iommu_domain_get_attr
iommu_domain_set_attr
iommu_get_domain_for_dev
+ iommu_group_get_for_dev
+ iommu_group_put
iommu_map
iommu_map_sg
iommu_present
@@ -382,10 +390,10 @@
irq_modify_status
irq_of_parse_and_map
irq_set_affinity_hint
+ irq_set_affinity_notifier
irq_set_chained_handler_and_data
irq_set_chip_and_handler_name
irq_set_chip_data
- irq_set_irq_type
irq_set_irq_wake
irq_to_desc
jiffies
@@ -398,6 +406,7 @@
kernel_recvmsg
kernel_sendmsg
__kfifo_in
+ __kfifo_out
kfree
kfree_skb
kimage_vaddr
@@ -415,6 +424,7 @@
kobject_del
kobject_init_and_add
kobject_put
+ kobject_uevent
kobject_uevent_env
krealloc
kstrdup
@@ -439,7 +449,6 @@
kvfree
kvmalloc_node
kzfree
- led_classdev_unregister
__list_add_valid
__list_del_entry_valid
list_sort
@@ -449,18 +458,13 @@
mbox_free_channel
mbox_request_channel
mbox_send_message
- media_device_cleanup
- media_device_init
- __media_device_register
- media_device_unregister
- media_entity_pads_init
memchr
memcmp
memcpy
__memcpy_fromio
__memcpy_toio
memdup_user
- memmove
+ memremap
memset
__memset_io
misc_deregister
@@ -472,18 +476,18 @@
module_put
__msecs_to_jiffies
msleep
- msleep_interruptible
__mutex_init
mutex_is_locked
mutex_lock
mutex_lock_interruptible
mutex_trylock
mutex_unlock
- __netdev_alloc_skb
netif_receive_skb
netif_rx_ni
netif_tx_wake_queue
no_llseek
+ nonseekable_open
+ noop_llseek
nr_cpu_ids
ns_to_timespec
nvmem_cell_get
@@ -509,6 +513,7 @@
of_find_node_with_property
of_find_property
of_fwnode_ops
+ of_genpd_add_provider_onecell
of_genpd_del_provider
of_get_address
of_get_child_by_name
@@ -554,6 +559,7 @@
param_ops_int
param_ops_string
param_ops_uint
+ param_set_bool
pci_alloc_irq_vectors_affinity
pci_bus_type
pci_clear_master
@@ -565,6 +571,7 @@
pci_irq_vector
pci_load_and_free_saved_state
pci_read_config_dword
+ pci_read_config_word
__pci_register_driver
pci_release_region
pci_request_region
@@ -574,6 +581,7 @@
pci_set_power_state
pci_store_saved_state
pci_unregister_driver
+ PDE_DATA
perf_trace_buf_alloc
perf_trace_run_bpf_submit
pfn_valid
@@ -615,6 +623,7 @@
pm_clk_suspend
pm_generic_resume
pm_generic_suspend
+ pm_genpd_add_subdomain
pm_genpd_init
pm_power_off
pm_qos_add_request
@@ -649,8 +658,11 @@
print_hex_dump
printk
proc_create
+ proc_create_data
+ proc_mkdir
__pskb_pull_tail
put_device
+ __put_page
__put_task_struct
put_unused_fd
pwm_apply_state
@@ -690,19 +702,22 @@
__rcu_read_lock
__rcu_read_unlock
rdev_get_drvdata
+ reboot_mode
refcount_dec_and_test_checked
refcount_dec_checked
refcount_inc_checked
refcount_inc_not_zero_checked
- __refrigerator
regcache_mark_dirty
regcache_sync
regcache_sync_region
__register_chrdev
+ register_chrdev_region
register_netdev
register_pm_notifier
+ register_reboot_notifier
register_restart_handler
__register_rpmsg_driver
+ register_syscore_ops
regmap_bulk_read
regmap_bulk_write
__regmap_init
@@ -727,34 +742,35 @@
request_threaded_irq
reset_control_assert
reset_control_deassert
- rpmsg_poll
rpmsg_send
rpmsg_trysend
+ rtc_time64_to_tm
sched_clock
sched_setscheduler
schedule
schedule_timeout
- schedule_timeout_uninterruptible
scnprintf
- scsi_normalize_sense
seq_printf
seq_puts
+ seq_read
set_normalized_timespec64
- set_page_dirty_lock
sg_alloc_table
sg_free_table
sg_init_table
sg_next
__sg_page_iter_next
__sg_page_iter_start
+ simple_open
simple_read_from_buffer
+ simple_strtoul
+ single_open
+ single_release
skb_clone
skb_copy_expand
skb_dequeue
skb_pull
skb_push
skb_put
- skb_queue_purge
skb_queue_tail
skb_trim
sk_free
@@ -762,6 +778,9 @@
snd_info_create_module_entry
snd_info_free_entry
snd_info_register
+ snd_pcm_hw_constraint_integer
+ snd_pcm_lib_ioctl
+ snd_pcm_period_elapsed
snd_soc_add_component_controls
snd_soc_component_init_regmap
snd_soc_component_read32
@@ -792,6 +811,7 @@
sock_create_kern
sock_release
sort
+ spi_sync
spmi_controller_add
spmi_controller_alloc
spmi_controller_remove
@@ -804,6 +824,7 @@
__stack_chk_fail
__stack_chk_guard
strcasecmp
+ strcat
strchr
strcmp
strcpy
@@ -811,13 +832,14 @@
strlcpy
strlen
strncasecmp
+ strncat
strnchr
strncmp
+ strncpy
strnlen
strnstr
strpbrk
strrchr
- strscpy
strsep
strstr
__sw_hweight32
@@ -827,19 +849,22 @@
sync_file_get_fence
synchronize_irq
syscon_node_to_regmap
+ sysfs_create_bin_file
sysfs_create_file_ns
sysfs_create_files
sysfs_create_group
sysfs_create_link
sysfs_notify
+ sysfs_remove_bin_file
sysfs_remove_file_ns
sysfs_remove_files
sysfs_remove_group
sysfs_remove_link
sysfs_streq
system_freezable_wq
- system_freezing_cnt
+ system_highpri_wq
system_long_wq
+ system_power_efficient_wq
system_unbound_wq
system_wq
__tasklet_hi_schedule
@@ -871,7 +896,9 @@
unregister_chrdev_region
unregister_netdev
unregister_pm_notifier
+ unregister_reboot_notifier
unregister_rpmsg_driver
+ unregister_syscore_ops
up_read
up_write
usb_add_hcd
@@ -879,10 +906,6 @@
usb_alloc_coherent
usb_alloc_urb
usb_assign_descriptors
- usb_autopm_get_interface
- usb_autopm_put_interface
- usb_clear_halt
- usb_composite_setup_continue
usb_control_msg
usb_deregister
usb_disabled
@@ -894,7 +917,6 @@
usb_ep_free_request
usb_ep_queue
usb_ep_set_halt
- usb_find_common_endpoints
usb_free_all_descriptors
usb_free_coherent
usb_free_urb
@@ -902,71 +924,34 @@
usb_function_unregister
usb_gadget_wakeup
usb_get_dr_mode
- usb_gstrings_attach
usb_hcd_is_primary_hcd
- usb_ifnum_to_if
usb_interface_id
usb_kill_urb
- usb_poison_urb
- usb_put_dev
usb_put_function_instance
usb_put_hcd
usb_register_driver
usb_remove_hcd
usb_remove_phy
- usb_set_interface
+ usb_role_switch_register
+ usb_role_switch_unregister
usb_string_id
usb_submit_urb
__usecs_to_jiffies
usleep_range
- v4l2_ctrl_handler_free
- __v4l2_ctrl_s_ctrl
v4l2_device_register
- v4l2_device_register_subdev
v4l2_device_unregister
v4l2_event_pending
- v4l2_event_queue_fh
v4l2_event_subscribe
v4l2_event_unsubscribe
- v4l2_fh_add
- v4l2_fh_del
- v4l2_fh_exit
- v4l2_fh_init
- v4l2_fh_open
- v4l2_subdev_init
vabits_actual
- vb2_buffer_done
- vb2_dqbuf
- vb2_fop_mmap
- vb2_fop_poll
- vb2_fop_release
- vb2_ioctl_create_bufs
- vb2_ioctl_dqbuf
- vb2_ioctl_qbuf
- vb2_ioctl_querybuf
- vb2_ioctl_reqbufs
- vb2_ioctl_streamoff
- vb2_ioctl_streamon
- vb2_ops_wait_finish
- vb2_ops_wait_prepare
- vb2_plane_vaddr
- vb2_qbuf
- vb2_queue_init
- vb2_queue_release
- vb2_reqbufs
- vb2_streamoff
- vb2_streamon
vfree
video_devdata
- video_device_release_empty
video_ioctl2
__video_register_device
video_unregister_device
vmalloc
vmap
vmemmap
- vm_map_ram
- vm_unmap_ram
vsnprintf
vunmap
vzalloc
@@ -976,7 +961,1346 @@
wait_for_completion_timeout
__wake_up
wake_up_process
+ wakeup_source_add
wakeup_source_register
wakeup_source_unregister
__warn_printk
work_busy
+ xa_erase
+ xa_load
+
+# required by core_hang_detect.ko
+ cpu_subsys
+
+# required by qcom-pdc.ko
+ irq_chip_get_parent_state
+ irq_chip_retrigger_hierarchy
+ irq_domain_alloc_irqs_parent
+ irq_domain_create_hierarchy
+ irq_domain_set_hwirq_and_chip
+ irq_domain_update_bus_token
+
+# required by phy-generic.ko
+ regulator_set_current_limit
+
+# required by ns.ko
+ kernel_bind
+ kernel_setsockopt
+ xa_find
+ xa_find_after
+ xa_store
+
+# required by smcinvoke.ko
+ anon_inode_getfile
+
+# required by wsa883x_dlkm.ko
+ snd_soc_component_exit_regmap
+
+# required by i2c-msm-geni.ko
+ i2c_add_adapter
+ i2c_del_adapter
+ i2c_get_dma_safe_msg_buf
+ i2c_put_dma_safe_msg_buf
+
+# required by msm-vidc.ko
+ v4l2_ctrl_find
+ v4l2_ctrl_get_name
+ v4l2_ctrl_handler_free
+ v4l2_ctrl_handler_init_class
+ __v4l2_ctrl_modify_range
+ v4l2_ctrl_new_custom
+ v4l2_ctrl_new_std
+ v4l2_ctrl_new_std_menu
+ __v4l2_ctrl_s_ctrl
+ v4l2_event_dequeue
+ v4l2_event_queue_fh
+ v4l2_fh_add
+ v4l2_fh_del
+ v4l2_fh_exit
+ v4l2_fh_init
+ v4l2_s_ctrl
+ vb2_buffer_done
+ vb2_dqbuf
+ vb2_qbuf
+ vb2_queue_init
+ vb2_queue_release
+ vb2_reqbufs
+ vb2_streamoff
+ vb2_streamon
+
+# required by cnss_prealloc.ko
+ save_stack_trace
+ stack_trace_print
+
+# required by qti_amoled_ecm.ko
+ kstrtou16
+
+# required by mbhc_dlkm.ko
+ snd_jack_set_key
+ snd_soc_card_jack_new
+ snd_soc_jack_report
+
+# required by usbtouchscreen.ko
+ usb_autopm_get_interface
+ usb_autopm_put_interface
+ usb_bulk_msg
+
+# required by qcom-spmi-temp-alarm.ko
+ of_thermal_get_ntrips
+ of_thermal_get_trip_points
+ of_thermal_is_trip_valid
+ thermal_zone_device_update
+
+# required by smp2p.ko
+ irq_set_parent
+
+# required by typec_ucsi.ko
+ device_get_next_child_node
+ fwnode_usb_role_switch_get
+ typec_altmode_get_partner
+ typec_altmode_update_active
+ typec_get_drvdata
+ typec_partner_register_altmode
+ typec_port_register_altmode
+ typec_register_partner
+ typec_register_port
+ typec_set_data_role
+ typec_set_pwr_opmode
+ typec_set_pwr_role
+ typec_unregister_altmode
+ typec_unregister_partner
+ typec_unregister_port
+ usb_role_switch_set_role
+
+# required by msm_rng.ko
+ crypto_register_rngs
+ crypto_unregister_rngs
+ hwrng_register
+ hwrng_unregister
+
+# required by touchscreen.ko
+ wait_for_completion_killable_timeout
+
+# required by ssusb-redriver-nb7vpq904m.ko
+ of_find_i2c_device_by_node
+
+# required by frpc-adsprpc.ko
+ memmove
+ try_wait_for_completion
+
+# required by dwc3-qcom.ko
+ devm_extcon_register_notifier
+ of_clk_get
+ of_clk_get_parent_count
+
+# required by ufshcd-crypto-qti.ko
+ keyslot_manager_create
+ keyslot_manager_private
+ ufshcd_crypto_cap_find
+ ufshcd_crypto_disable_spec
+ ufshcd_crypto_enable_spec
+ ufshcd_hold
+ ufshcd_release
+
+# required by tx_macro_dlkm.ko
+ snd_soc_get_enum_double
+ snd_soc_put_enum_double
+
+# required by qcom-arm-smmu-mod.ko
+ alloc_io_pgtable_ops
+ amba_bustype
+ bus_set_iommu
+ device_link_add
+ device_link_del
+ device_match_fwnode
+ _dev_notice
+ driver_find_device
+ free_io_pgtable_ops
+ generic_device_group
+ iommu_alloc_resv_region
+ iommu_device_register
+ iommu_device_unregister
+ iommu_dma_get_resv_regions
+ iommu_fwspec_add_ids
+ iommu_fwspec_free
+ iommu_get_dma_cookie
+ iommu_group_get
+ iommu_group_get_iommudata
+ iommu_group_ref_get
+ iommu_group_remove_device
+ iommu_group_set_iommudata
+ iommu_put_dma_cookie
+ of_dma_is_coherent
+ of_n_addr_cells
+ of_n_size_cells
+ pci_device_group
+ regulator_bulk_disable
+ regulator_disable_deferred
+ report_iommu_fault
+
+# required by gf_spi_driver.ko
+ __netlink_kernel_create
+ netlink_kernel_release
+ netlink_unicast
+ __nlmsg_put
+ wakeup_source_remove
+
+# required by wcd_core_dlkm.ko
+ devm_regmap_add_irq_chip
+ devm_regmap_del_irq_chip
+ irq_create_mapping
+ regmap_irq_get_virq
+ snd_soc_dapm_disable_pin
+ snd_soc_dapm_force_enable_pin
+
+# required by dwc3-haps.ko
+ pcim_enable_device
+
+# required by msm_qmp.ko
+ mbox_chan_received_data
+ mbox_chan_txdone
+
+# required by msm-poweroff.ko
+ param_set_int
+
+# required by qrtr.ko
+ alloc_skb_with_frags
+ capable
+ _copy_from_iter_full
+ datagram_poll
+ in_egroup_p
+ lock_sock_nested
+ proto_register
+ proto_unregister
+ radix_tree_iter_delete
+ radix_tree_next_chunk
+ refcount_dec_not_one
+ release_sock
+ sk_alloc
+ skb_copy_bits
+ skb_copy_datagram_iter
+ skb_free_datagram
+ __skb_pad
+ skb_queue_purge
+ skb_recv_datagram
+ skb_set_owner_w
+ skb_store_bits
+ sock_alloc_send_skb
+ sock_gettstamp
+ sock_init_data
+ sock_no_accept
+ sock_no_getsockopt
+ sock_no_listen
+ sock_no_mmap
+ sock_no_sendpage
+ sock_no_setsockopt
+ sock_no_shutdown
+ sock_no_socketpair
+ sock_queue_rcv_skb
+ sock_register
+ sock_unregister
+
+# required by atmel_mxt_ts.ko
+ desc_to_gpio
+ input_alloc_absinfo
+ input_mt_report_pointer_emulation
+ kmemdup_nul
+
+# required by qti-fixed-regulator.ko
+ gpiod_get_optional
+
+# required by dwc3.ko
+ device_property_read_string
+ device_property_read_u8_array
+ devm_usb_get_phy
+ extcon_find_edev_by_node
+ extcon_get_extcon_dev
+ extcon_unregister_notifier
+ of_usb_get_phy_mode
+ phy_pm_runtime_get_sync
+ phy_pm_runtime_put_sync
+ platform_get_irq_byname_optional
+ usb_add_gadget_udc
+ usb_decode_ctrl
+ usb_del_gadget_udc
+ usb_ep_set_maxpacket_limit
+ usb_gadget_giveback_request
+ usb_gadget_map_request_by_dev
+ usb_gadget_set_state
+ usb_gadget_udc_reset
+ usb_gadget_unmap_request_by_dev
+ usb_gadget_vbus_draw
+ usb_get_maximum_speed
+
+# required by extcon-usb-gpio.ko
+ device_set_wakeup_capable
+ gpiod_get_value_cansleep
+ gpiod_set_debounce
+
+# required by msm_glink_ssr.ko
+ of_phandle_iterator_init
+ of_phandle_iterator_next
+
+# required by qcom-spmi-adc5.ko
+ devm_iio_device_alloc
+ __devm_iio_device_register
+
+# required by bootloader_log.ko
+ seq_lseek
+
+# required by oplus_chg.ko
+ add_uevent_var
+ devm_power_supply_register
+ devres_destroy
+ i2c_smbus_read_word_data
+ i2c_smbus_write_i2c_block_data
+ i2c_smbus_write_word_data
+ iio_channel_get
+ power_supply_changed
+ power_supply_get_drvdata
+ round_jiffies_relative
+ schedule_timeout_interruptible
+
+# required by qseecom-mod.ko
+ __arch_copy_in_user
+ firmware_request_nowarn
+ sigprocmask
+
+# required by snd-usb-audio-qmi.ko
+ find_snd_usb_substream
+ snd_usb_enable_audio_stream
+ usb_ifnum_to_if
+
+# required by rndisipam.ko
+ alloc_etherdev_mqs
+ eth_mac_addr
+ eth_type_trans
+ netif_carrier_off
+ netif_carrier_on
+
+# required by pinctrl-spmi-gpio.ko
+ device_get_match_data
+ irq_chip_ack_parent
+
+# required by msm_ion_heaps.ko
+ cma_alloc
+ cma_release
+ gen_pool_avail
+ gen_pool_size
+ ion_buffer_zero
+ __ion_device_add_heap
+ ion_free
+ ion_heap_map_kernel
+ ion_heap_map_user
+ ion_heap_unmap_kernel
+ of_platform_device_create
+ of_translate_address
+ split_page
+ vm_map_ram
+ vm_unmap_ram
+
+# required by qcom_wdt_core.ko
+ cpu_pm_register_notifier
+ cpu_pm_unregister_notifier
+ panic_timeout
+ smp_call_function_single
+
+# required by hh_ctrl.ko
+ hypervisor_kobj
+
+# required by hvc_haven.ko
+ hvc_alloc
+ hvc_kick
+ hvc_poll
+ hvc_remove
+
+# required by qcom_glink_native.ko
+ kthread_cancel_work_sync
+ rpmsg_register_device
+ rpmsg_unregister_device
+ set_cpus_allowed_ptr
+
+# required by peripheral-loader.ko
+ __iowrite32_copy
+ request_firmware_into_buf
+
+# required by qcom_rpmh.ko
+ irq_get_irqchip_state
+
+# required by secure_buffer.ko
+ trace_print_array_seq
+
+# required by eud.ko
+ uart_insert_char
+
+# required by usb_f_diag.ko
+ refcount_dec_and_lock
+
+# required by governor_msm_adreno_tz.ko
+ update_devfreq
+
+# required by leds-qti-flash.ko
+ led_classdev_flash_register_ext
+ led_classdev_flash_unregister
+ led_classdev_unregister
+
+# required by rpmhpd.ko
+ dev_pm_opp_get_level
+
+# required by hh_msgq.ko
+ of_property_read_u64_index
+
+# required by cdsprm.ko
+ thermal_cdev_update
+
+# required by regmap-spmi.ko
+ spmi_ext_register_read
+ spmi_ext_register_readl
+ spmi_ext_register_write
+ spmi_ext_register_writel
+ spmi_register_read
+ spmi_register_write
+ spmi_register_zero_write
+
+# required by qti_battery_debug.ko
+ memory_read_from_buffer
+
+# required by usb_f_uac2.ko
+ usb_gstrings_attach
+
+# required by camera.ko
+ arch_timer_read_counter
+ devm_gpiod_put
+ down
+ gpio_free_array
+ gpio_request_one
+ iommu_dma_reserve_iova
+ __kfifo_alloc
+ __kfifo_in_r
+ __kfifo_len_r
+ __kfifo_out_r
+ __kfifo_to_user
+ led_trigger_event
+ led_trigger_register_simple
+ led_trigger_unregister_simple
+ media_device_cleanup
+ media_device_init
+ __media_device_register
+ media_device_unregister
+ media_entity_pads_init
+ ns_to_timespec64
+ of_clk_get_from_provider
+ __release_region
+ request_firmware_direct
+ __request_region
+ __spi_register_driver
+ spi_setup
+ strchrnul
+ sysfs_create_groups
+ sysfs_remove_groups
+ up
+ v4l2_device_register_subdev
+ v4l2_device_register_subdev_nodes
+ v4l2_device_unregister_subdev
+ v4l2_event_queue
+ v4l2_fh_open
+ v4l2_fh_release
+ v4l2_subdev_call_wrappers
+ v4l2_subdev_init
+ video_device_alloc
+ video_device_release
+ video_device_release_empty
+
+# required by msm_sharedmem.ko
+ __uio_register_device
+ uio_unregister_device
+
+# required by msm_geni_serial.ko
+ console_stop
+ console_suspend_enabled
+ _raw_spin_trylock
+ __tty_insert_flip_char
+ tty_insert_flip_string_fixed_flag
+ uart_get_baud_rate
+ uart_resume_port
+ uart_suspend_port
+ uart_update_timeout
+ uart_write_wakeup
+
+# required by pci-msm-drv.ko
+ crc8
+ crc8_populate_msb
+ devm_of_pci_get_host_bridge_resources
+ devm_pci_alloc_host_bridge
+ devm_request_pci_bus_resources
+ irq_domain_free_irqs_parent
+ of_irq_parse_and_map_pci
+ of_irq_parse_one
+ pci_assign_unassigned_bus_resources
+ pci_bus_add_devices
+ pci_common_swizzle
+ pci_find_ext_capability
+ pci_get_device
+ pci_msi_create_irq_domain
+ pci_msi_mask_irq
+ pci_msi_unmask_irq
+ pci_scan_root_bus_bridge
+ pci_walk_bus
+ pci_write_config_dword
+
+# required by bolero_cdc_dlkm.ko
+ regcache_cache_only
+
+# required by ufs-qcom.ko
+ blk_mq_rq_cpu
+ phy_calibrate
+ ufshcd_dme_get_attr
+ ufshcd_dme_set_attr
+ ufshcd_dump_regs
+ ufshcd_get_local_unipro_ver
+ ufshcd_pltfrm_init
+ ufshcd_pltfrm_resume
+ ufshcd_pltfrm_runtime_idle
+ ufshcd_pltfrm_runtime_resume
+ ufshcd_pltfrm_runtime_suspend
+ ufshcd_pltfrm_shutdown
+ ufshcd_pltfrm_suspend
+ ufshcd_query_attr
+ ufshcd_query_descriptor_retry
+ ufshcd_query_flag
+ ufshcd_remove
+ ufshcd_uic_hibern8_enter
+ ufshcd_uic_hibern8_exit
+
+# required by qcom-hv-haptics.ko
+ input_ff_create
+ input_ff_destroy
+
+# required by spi-msm-geni.ko
+ __spi_alloc_controller
+ spi_register_controller
+ spi_unregister_controller
+
+# required by incrementalfs.ko
+ bin2hex
+ __break_lease
+ clear_inode
+ __close_fd
+ d_add
+ d_drop
+ deactivate_locked_super
+ dentry_open
+ dget_parent
+ d_instantiate
+ d_make_root
+ dput
+ flush_dcache_page
+ fs_kobj
+ fsstack_copy_attr_all
+ generic_file_mmap
+ generic_file_read_iter
+ generic_file_splice_read
+ generic_read_dir
+ generic_shutdown_super
+ iget5_locked
+ ihold
+ inode_init_once
+ inode_init_owner
+ iput
+ iterate_dir
+ kernel_read
+ kernel_write
+ kern_path
+ lockref_get
+ lock_rename
+ lookup_one_len
+ LZ4_decompress_safe
+ match_int
+ match_token
+ notify_change
+ pagecache_get_page
+ path_get
+ path_put
+ __put_cred
+ register_filesystem
+ set_anon_super
+ sget
+ simple_getattr
+ simple_setattr
+ simple_statfs
+ strndup_user
+ sync_filesystem
+ truncate_inode_pages
+ unlock_new_inode
+ unlock_page
+ unlock_rename
+ unregister_filesystem
+ user_path_at_empty
+ vfs_create
+ vfs_fallocate
+ vfs_getattr
+ vfs_getxattr
+ vfs_link
+ vfs_listxattr
+ vfs_mkdir
+ vfs_rename
+ vfs_rmdir
+ vfs_setxattr
+ vfs_unlink
+
+# required by cnss2.ko
+ cma_get_name
+ devm_device_add_group
+ devm_device_remove_group
+ genlmsg_put
+ netlink_broadcast
+ nla_put
+ pci_assign_resource
+ pci_iomap
+ pci_load_saved_state
+ wait_for_completion_killable
+
+# required by glink_pkt.ko
+ rpmsg_get_signals
+ rpmsg_poll
+ rpmsg_set_signals
+
+# required by gpi.ko
+ dma_async_device_register
+ dma_async_device_unregister
+ dma_async_tx_descriptor_init
+ dma_get_slave_channel
+ of_dma_controller_free
+ of_dma_controller_register
+ vchan_dma_desc_free_list
+ vchan_init
+ vchan_tx_desc_free
+ vchan_tx_submit
+
+# required by cqhci.ko
+ dmam_alloc_attrs
+ dmam_free_coherent
+ mmc_cqe_request_done
+
+# required by qcom_pm8008-regulator.ko
+ devm_regulator_register_notifier
+ regulator_get_drvdata
+ regulator_list_voltage_linear
+ regulator_notifier_call_chain
+
+# required by op_cmdline.ko
+ simple_strtol
+
+# required by hh_rm_drv.ko
+ irq_create_fwspec_mapping
+
+# required by lvstest.ko
+ usb_alloc_dev
+ usb_find_common_endpoints
+ usb_poison_urb
+ usb_put_dev
+ usb_set_device_state
+
+# required by ipam.ko
+ add_wait_queue
+ alloc_netdev_mqs
+ ether_setup
+ hrtimer_try_to_cancel
+ init_dummy_netdev
+ napi_complete_done
+ napi_disable
+ __napi_schedule
+ napi_schedule_prep
+ __netdev_alloc_skb
+ netif_device_attach
+ netif_device_detach
+ netif_napi_add
+ netif_napi_del
+ netif_rx
+ ns_capable
+ remove_wait_queue
+ skb_add_rx_frag
+ skb_copy
+ skb_queue_head
+ vm_iomap_memory
+ wait_woken
+ woken_wake_function
+
+# required by slimbus-ngd.ko
+ gcd
+
+# required by clk-dummy.ko
+ of_clk_del_provider
+ of_clk_src_simple_get
+
+# required by sim_holder_detect.ko
+ remove_proc_entry
+
+# required by msm_drm.ko
+ adjust_managed_page_count
+ autoremove_wake_function
+ backlight_device_get_by_type
+ backlight_device_register
+ backlight_device_set_brightness
+ backlight_device_unregister
+ bpf_trace_run11
+ bpf_trace_run12
+ bpf_trace_run8
+ clk_get_parent
+ clk_register
+ device_create_with_groups
+ devm_clk_bulk_get
+ devm_pwm_put
+ dma_resv_fini
+ dma_resv_init
+ dma_resv_wait_timeout_rcu
+ do_wait_intr
+ drm_add_edid_modes
+ drm_add_modes_noedid
+ drm_atomic_commit
+ drm_atomic_get_connector_state
+ drm_atomic_get_crtc_state
+ drm_atomic_get_plane_state
+ drm_atomic_get_private_obj_state
+ drm_atomic_helper_check
+ drm_atomic_helper_cleanup_planes
+ drm_atomic_helper_commit_duplicated_state
+ drm_atomic_helper_commit_hw_done
+ drm_atomic_helper_commit_modeset_disables
+ drm_atomic_helper_commit_modeset_enables
+ drm_atomic_helper_commit_planes
+ __drm_atomic_helper_connector_destroy_state
+ __drm_atomic_helper_connector_duplicate_state
+ __drm_atomic_helper_connector_reset
+ __drm_atomic_helper_crtc_destroy_state
+ __drm_atomic_helper_crtc_duplicate_state
+ drm_atomic_helper_dirtyfb
+ drm_atomic_helper_disable_plane
+ drm_atomic_helper_duplicate_state
+ drm_atomic_helper_page_flip
+ __drm_atomic_helper_plane_duplicate_state
+ drm_atomic_helper_prepare_planes
+ __drm_atomic_helper_private_obj_duplicate_state
+ drm_atomic_helper_set_config
+ drm_atomic_helper_shutdown
+ drm_atomic_helper_swap_state
+ drm_atomic_helper_update_legacy_modeset_state
+ drm_atomic_helper_update_plane
+ drm_atomic_helper_wait_for_fences
+ drm_atomic_helper_wait_for_vblanks
+ drm_atomic_private_obj_init
+ drm_atomic_set_crtc_for_connector
+ drm_atomic_set_fence_for_plane
+ drm_atomic_set_mode_for_crtc
+ drm_atomic_state_alloc
+ drm_atomic_state_clear
+ drm_atomic_state_default_clear
+ drm_atomic_state_default_release
+ __drm_atomic_state_free
+ drm_atomic_state_init
+ drm_bridge_attach
+ drm_bridge_disable
+ drm_bridge_enable
+ drm_bridge_mode_set
+ drm_bridge_post_disable
+ drm_bridge_pre_enable
+ drm_client_init
+ drm_client_modeset_commit_force
+ drm_client_register
+ drm_compat_ioctl
+ drm_connector_attach_encoder
+ drm_connector_cleanup
+ drm_connector_init
+ drm_connector_list_iter_begin
+ drm_connector_list_iter_end
+ drm_connector_list_iter_next
+ drm_connector_register
+ drm_connector_unregister
+ drm_connector_update_edid_property
+ drm_crtc_cleanup
+ drm_crtc_handle_vblank
+ drm_crtc_init_with_planes
+ drm_crtc_send_vblank_event
+ drm_crtc_vblank_off
+ drm_crtc_vblank_on
+ drm_crtc_vblank_reset
+ drm_crtc_wait_one_vblank
+ drm_dbg
+ drm_debug
+ drm_detect_hdmi_monitor
+ drm_detect_monitor_audio
+ drm_dev_alloc
+ drm_dev_dbg
+ drm_dev_printk
+ drm_dev_put
+ drm_dev_register
+ drm_dev_unregister
+ drm_dp_atomic_find_vcpi_slots
+ drm_dp_atomic_release_vcpi_slots
+ drm_dp_aux_register
+ drm_dp_aux_unregister
+ drm_dp_bw_code_to_link_rate
+ drm_dp_calc_pbn_mode
+ drm_dp_channel_eq_ok
+ drm_dp_check_act_status
+ drm_dp_clock_recovery_ok
+ drm_dp_dpcd_read
+ drm_dp_dpcd_read_link_status
+ drm_dp_dpcd_write
+ drm_dp_find_vcpi_slots
+ drm_dp_get_adjust_request_pre_emphasis
+ drm_dp_get_adjust_request_voltage
+ drm_dp_link_configure
+ drm_dp_link_power_down
+ drm_dp_link_power_up
+ drm_dp_link_rate_to_bw_code
+ drm_dp_link_train_channel_eq_delay
+ drm_dp_link_train_clock_recovery_delay
+ drm_dp_mst_allocate_vcpi
+ drm_dp_mst_deallocate_vcpi
+ drm_dp_mst_detect_port
+ drm_dp_mst_get_edid
+ drm_dp_mst_get_port_malloc
+ drm_dp_mst_hpd_irq
+ drm_dp_mst_put_port_malloc
+ drm_dp_mst_reset_vcpi_slots
+ drm_dp_mst_topology_mgr_destroy
+ drm_dp_mst_topology_mgr_init
+ drm_dp_mst_topology_mgr_set_mst
+ drm_dp_send_power_updown_phy
+ drm_dp_update_payload_part1
+ drm_dp_update_payload_part2
+ drm_edid_duplicate
+ drm_encoder_cleanup
+ drm_encoder_init
+ drm_err
+ drm_event_reserve_init_locked
+ drm_format_info
+ drm_framebuffer_init
+ drm_framebuffer_lookup
+ drm_framebuffer_remove
+ drm_framebuffer_unregister_private
+ drm_gem_create_mmap_offset
+ drm_gem_fb_create_handle
+ drm_gem_fb_destroy
+ drm_gem_fb_get_obj
+ drm_gem_free_mmap_offset
+ drm_gem_get_pages
+ drm_gem_handle_create
+ drm_gem_mmap
+ drm_gem_mmap_obj
+ drm_gem_object_init
+ drm_gem_object_lookup
+ drm_gem_object_put
+ drm_gem_object_put_unlocked
+ drm_gem_object_release
+ drm_gem_prime_export
+ drm_gem_prime_fd_to_handle
+ drm_gem_prime_handle_to_fd
+ drm_gem_private_object_init
+ drm_gem_put_pages
+ drm_gem_vm_close
+ drm_gem_vm_open
+ drm_get_connector_status_name
+ drm_get_edid
+ drm_get_format_info
+ drm_helper_hpd_irq_event
+ drm_helper_mode_fill_fb_struct
+ drm_helper_probe_single_connector_modes
+ drm_ioctl
+ drm_irq_install
+ drm_irq_uninstall
+ drm_kms_helper_poll_disable
+ drm_kms_helper_poll_enable
+ drm_kms_helper_poll_fini
+ drm_kms_helper_poll_init
+ drm_match_cea_mode
+ drm_mm_init
+ drm_mm_insert_node_in_range
+ drm_mm_remove_node
+ drm_mm_takedown
+ drm_mode_config_cleanup
+ drm_mode_config_init
+ drm_mode_config_reset
+ drm_mode_convert_umode
+ drm_mode_copy
+ drm_mode_create
+ drm_mode_create_dp_colorspace_property
+ drm_mode_debug_printmodeline
+ drm_mode_duplicate
+ drm_mode_equal
+ drm_mode_object_find
+ drm_mode_object_get
+ drm_mode_object_put
+ drm_mode_probed_add
+ drm_modeset_acquire_fini
+ drm_modeset_acquire_init
+ drm_modeset_backoff
+ drm_mode_set_crtcinfo
+ drm_modeset_drop_locks
+ drm_modeset_lock
+ drm_modeset_lock_all
+ drm_modeset_lock_all_ctx
+ drm_mode_set_name
+ drm_modeset_unlock_all
+ drm_mode_vrefresh
+ drm_object_attach_property
+ drm_object_property_set_value
+ drm_of_component_match_add
+ drm_open
+ drm_panel_add
+ drm_panel_init
+ drm_panel_notifier_call_chain
+ drm_panel_remove
+ drm_plane_cleanup
+ drm_plane_create_rotation_property
+ drm_poll
+ drm_prime_gem_destroy
+ drm_prime_pages_to_sg
+ drm_property_blob_get
+ drm_property_blob_put
+ drm_property_create
+ drm_property_create_bitmask
+ drm_property_create_blob
+ drm_property_create_enum
+ drm_property_create_range
+ drm_property_lookup_blob
+ drm_read
+ drm_release
+ drm_rotation_simplify
+ drm_send_event_locked
+ drm_set_preferred_mode
+ drm_universal_plane_init
+ drm_vblank_init
+ drm_wait_one_vblank
+ i2c_recover_bus
+ invalidate_mapping_pages
+ irq_domain_xlate_onecell
+ kernfs_find_and_get_ns
+ kernfs_notify
+ kernfs_put
+ kthread_cancel_delayed_work_sync
+ kthread_delayed_work_timer_fn
+ kthread_flush_work
+ kthread_mod_delayed_work
+ kthread_park
+ kthread_parkme
+ kthread_queue_delayed_work
+ kthread_should_park
+ kthread_unpark
+ memblock_free
+ memparse
+ memunmap
+ mipi_dsi_create_packet
+ mipi_dsi_dcs_set_display_brightness
+ mipi_dsi_dcs_set_tear_off
+ mipi_dsi_host_register
+ mipi_dsi_host_unregister
+ of_drm_find_bridge
+ of_genpd_add_provider_simple
+ of_graph_get_next_endpoint
+ of_graph_get_remote_port_parent
+ of_graph_parse_endpoint
+ of_node_name_eq
+ pm_genpd_remove
+ regulator_get_mode
+ shmem_truncate_range
+ strim
+ strreplace
+ timespec64_to_jiffies
+ unmap_mapping_range
+ vmf_insert_mixed
+ vm_get_page_prot
+ __wake_up_locked
+
+# required by ucsi_glink.ko
+ raw_notifier_call_chain
+ raw_notifier_chain_register
+ raw_notifier_chain_unregister
+
+# required by tri_key.ko
+ devm_extcon_dev_unregister
+
+# required by qcom-spmi-pmic.ko
+ __spmi_driver_register
+
+# required by phy-qcom-ufs.ko
+ __devm_of_phy_provider_register
+ devm_phy_create
+ of_phy_simple_xlate
+
+# required by xhci-pci.ko
+ pci_d3cold_disable
+ pci_read_config_byte
+ pci_set_mwi
+ usb_amd_quirk_pll_check
+ usb_create_shared_hcd
+ usb_enable_intel_xhci_ports
+ usb_hcd_pci_pm_ops
+ usb_hcd_pci_probe
+ usb_hcd_pci_remove
+ usb_hcd_pci_shutdown
+
+# required by sg.ko
+ __alloc_disk_node
+ blk_execute_rq_nowait
+ blk_get_request
+ blk_put_request
+ blk_rq_map_user
+ blk_rq_map_user_iov
+ blk_rq_unmap_user
+ blk_verify_command
+ class_interface_unregister
+ fasync_helper
+ import_iovec
+ kill_fasync
+ __module_get
+ put_disk
+ scsi_autopm_get_device
+ scsi_autopm_put_device
+ scsi_block_when_processing_errors
+ scsi_command_size_tbl
+ scsi_device_get
+ scsi_device_put
+ scsi_ioctl
+ scsi_ioctl_block_when_processing_errors
+ scsi_normalize_sense
+ __scsi_print_sense
+ scsi_register_interface
+ sdev_prefix_printk
+ sg_scsi_ioctl
+ __task_pid_nr_ns
+
+# required by mhi_bus.ko
+ device_del
+ prandom_u32
+ _raw_read_lock_irq
+ _raw_read_unlock_irq
+
+# required by rtc-pm8xxx.ko
+ devm_rtc_device_register
+ rtc_tm_to_time64
+ rtc_update_irq
+ rtc_valid_tm
+
+# required by smem.ko
+ devm_ioremap_wc
+ hwspin_lock_free
+ hwspin_lock_request_specific
+ __hwspin_lock_timeout
+ __hwspin_unlock
+ of_hwspin_lock_get_id
+
+# required by socinfo.ko
+ add_device_randomness
+ soc_device_register
+ soc_device_unregister
+
+# required by qcom_hwspinlock.ko
+ devm_regmap_field_alloc
+ hwspin_lock_register
+ hwspin_lock_unregister
+ regmap_field_read
+ regmap_field_update_bits_base
+
+# required by xhci-plat-hcd.ko
+ device_wakeup_enable
+ devm_clk_get_optional
+ of_usb_host_tpl_support
+ __usb_create_hcd
+ usb_hcd_platform_shutdown
+
+# required by dwc3-of-simple.ko
+ clk_bulk_get_all
+ of_reset_control_array_get
+ reset_control_put
+ reset_control_reset
+
+# required by platform_dlkm.ko
+ freezing_slow_path
+ hrtimer_forward
+ of_property_read_variable_u16_array
+ __refrigerator
+ snd_ctl_add
+ snd_ctl_boolean_mono_info
+ snd_ctl_enum_info
+ snd_ctl_new1
+ snd_ctl_notify
+ snd_ctl_remove
+ snd_pcm_add_chmap_ctls
+ snd_pcm_hw_constraint_list
+ snd_pcm_hw_constraint_minmax
+ snd_pcm_hw_constraint_step
+ snd_pcm_std_chmaps
+ snd_pcm_stop
+ snd_soc_bytes_tlv_callback
+ snd_soc_card_get_kcontrol
+ snd_soc_new_compress
+ snd_timer_interrupt
+ system_freezing_cnt
+
+# required by machine_dlkm.ko
+ devm_snd_soc_register_card
+ snd_soc_dai_get_channel_map
+ snd_soc_dai_set_channel_map
+ snd_soc_dai_set_fmt
+ snd_soc_dai_set_sysclk
+ snd_soc_dai_set_tdm_slot
+ snd_soc_get_pcm_runtime
+ snd_soc_of_parse_audio_routing
+ snd_soc_of_parse_card_name
+ snd_soc_pm_ops
+ snd_soc_unregister_card
+
+# required by qpnp-power-on.ko
+ _dev_emerg
+
+# required by qmi_helpers.ko
+ synchronize_rcu
+
+# required by synx-driver.ko
+ dma_fence_enable_sw_signaling
+ dma_fence_get_status
+ time64_to_tm
+
+# required by usb_f_gsi.ko
+ dev_get_by_name
+ rndis_deregister
+ rndis_free_response
+ rndis_get_next_response
+ rndis_msg_parser
+ rndis_register
+ rndis_set_host_mac
+ rndis_set_param_dev
+ rndis_set_param_medium
+ rndis_set_param_vendor
+ rndis_signal_connect
+ rndis_uninit
+ usb_composite_setup_continue
+
+# required by aw8697.ko
+ __hrtimer_get_remaining
+ i2c_smbus_write_byte
+
+# required by xhci-hcd.ko
+ dma_pool_alloc
+ dma_pool_create
+ dma_pool_destroy
+ dma_pool_free
+ __num_online_cpus
+ param_ops_ullong
+ radix_tree_delete
+ radix_tree_maybe_preload
+ schedule_timeout_uninterruptible
+ sg_pcopy_from_buffer
+ sg_pcopy_to_buffer
+ usb_amd_dev_put
+ usb_amd_pt_check_port
+ usb_amd_quirk_pll_disable
+ usb_amd_quirk_pll_enable
+ usb_asmedia_modifyflowcontrol
+ usb_disable_xhci_ports
+ usb_get_urb
+ usb_hcd_check_unlink_urb
+ usb_hcd_end_port_resume
+ usb_hcd_giveback_urb
+ usb_hc_died
+ usb_hcd_irq
+ usb_hcd_link_urb_to_ep
+ usb_hcd_map_urb_for_dma
+ usb_hcd_poll_rh_status
+ usb_hcd_resume_root_hub
+ usb_hcd_start_port_resume
+ usb_hcd_unlink_urb_from_ep
+ usb_hub_clear_tt_buffer
+ usb_hub_find_child
+ usb_root_hub_lost_power
+ usb_wakeup_notification
+
+# required by _qcom_scm.ko
+ __arm_smccc_smc
+ gen_pool_best_fit
+ gen_pool_set_algo
+ gen_pool_virt_to_phys
+
+# required by clk-qcom.ko
+ __clk_determine_rate
+ clk_fixed_rate_ops
+ __clk_get_name
+ clk_hw_get_flags
+ clk_hw_get_parent
+ clk_hw_get_parent_by_index
+ clk_hw_is_enabled
+ clk_hw_round_rate
+ clk_sync_state
+ divider_get_val
+ divider_recalc_rate
+ divider_ro_round_rate_parent
+ divider_round_rate_parent
+ pm_genpd_remove_subdomain
+ rational_best_approximation
+ regmap_mmio_detach_clk
+ syscon_regmap_lookup_by_phandle
+
+# required by tfa9894_dlkm.ko
+ default_llseek
+ device_remove_bin_file
+ msleep_interruptible
+ proc_remove
+ simple_attr_open
+ simple_attr_read
+ simple_attr_release
+ simple_attr_write
+
+# required by rx_macro_dlkm.ko
+ snd_pcm_format_width
+
+# required by project_info.ko
+ sprint_symbol
+
+# required by msm_kgsl.ko
+ bpf_trace_run10
+ check_zeroed_user
+ clear_page
+ _dev_crit
+ devfreq_add_device
+ devfreq_cooling_unregister
+ devfreq_remove_device
+ devfreq_resume_device
+ devfreq_suspend_device
+ device_show_int
+ device_store_int
+ __devm_request_region
+ dev_pm_opp_find_freq_exact
+ dev_pm_opp_find_freq_floor
+ dev_pm_opp_put
+ dev_pm_opp_register_notifier
+ dev_pm_opp_unregister_notifier
+ dma_fence_free
+ getboottime64
+ get_random_u32
+ __get_task_comm
+ get_unmapped_area
+ get_user_pages
+ idr_for_each
+ idr_replace
+ init_uts_ns
+ irq_work_queue
+ iterate_fd
+ ktime_get_real_seconds
+ llist_add_batch
+ llist_reverse_order
+ nvmem_cell_read_u32
+ of_devfreq_cooling_register
+ of_find_matching_node_and_match
+ _raw_spin_trylock_bh
+ _raw_write_lock
+ _raw_write_unlock
+ rb_last
+ rb_prev
+ register_shrinker
+ set_page_dirty_lock
+ set_user_nice
+ sg_alloc_table_from_pages
+ thermal_zone_get_temp
+ thermal_zone_get_zone_by_name
+ trace_print_flags_seq
+ unregister_shrinker
+ vmf_insert_pfn
+ vm_insert_page
+ __xa_alloc
+
+# required by u_audio.ko
+ snd_card_free
+ snd_card_new
+ snd_card_register
+ snd_pcm_lib_free_pages
+ snd_pcm_lib_malloc_pages
+ snd_pcm_lib_preallocate_pages_for_all
+ snd_pcm_new
+ snd_pcm_set_ops
+ _snd_pcm_stream_lock_irqsave
+ snd_pcm_stream_unlock_irqrestore
+
+# required by q6_dlkm.ko
+ kset_create_and_add
+ kset_unregister
+
+# required by subsystem_restart.ko
+ init_srcu_struct
+ param_ops_long
+ __srcu_read_lock
+ __srcu_read_unlock
+ synchronize_srcu
+ system_state
+
+# required by spss_utils.ko
+ kernel_restart
+
+# required by qcom-cpufreq-hw.ko
+ arch_set_freq_scale
+ cpufreq_cpu_get_raw
+ cpufreq_freq_attr_scaling_available_freqs
+ cpufreq_freq_attr_scaling_boost_freqs
+ cpufreq_generic_frequency_table_verify
+ cpufreq_register_driver
+ cpufreq_unregister_driver
+ dev_pm_opp_of_register_em
+ dev_pm_opp_remove_all_dynamic
+ dev_pm_opp_set_sharing_cpus
+ of_cpufreq_cooling_register
+
+# required by sdhci-msm.ko
+ mmc_of_parse
+ mmc_send_tuning
+ regulator_is_supported_voltage
+ __sdhci_add_host
+ sdhci_add_host
+ sdhci_cleanup_host
+ sdhci_cqe_disable
+ sdhci_cqe_enable
+ sdhci_cqe_irq
+ sdhci_dumpregs
+ sdhci_enable_clk
+ sdhci_get_property
+ sdhci_pltfm_free
+ sdhci_pltfm_init
+ sdhci_remove_host
+ sdhci_reset
+ sdhci_set_bus_width
+ sdhci_setup_host
+
+# required by btpower.ko
+ regulator_get_voltage
+ rfkill_alloc
+ rfkill_destroy
+ rfkill_init_sw_state
+ rfkill_register
+ rfkill_unregister
+
+# required by dwc3-msm.ko
+ device_wakeup_disable
+ extcon_get_edev_name
+ extcon_get_property
+ irq_set_irqchip_state
+ irq_set_irq_type
+ pm_runtime_barrier
+ regulator_register_notifier
+ regulator_unregister_notifier
+ usb_gadget_vbus_connect
+ usb_gadget_vbus_disconnect
+ usb_register_notify
+ usb_speed_string
+ usb_unregister_notify
+
+# required by pwm-qti-lpg.ko
+ pwmchip_add
+ pwmchip_remove
+
+# required by pinctrl-msm.ko
+ device_property_read_u16_array
+ gpiochip_line_is_valid
+ handle_bad_irq
+ pinctrl_force_default
+ pinctrl_force_sleep
+ unregister_restart_handler
diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom
index 7f2f930d0be7..2c874f5110a3 100644
--- a/android/abi_gki_aarch64_qcom
+++ b/android/abi_gki_aarch64_qcom
@@ -254,6 +254,7 @@
cpufreq_freq_attr_scaling_boost_freqs
cpufreq_generic_attr
cpufreq_generic_frequency_table_verify
+ cpufreq_get_policy
cpufreq_quick_get_max
cpufreq_register_driver
cpufreq_register_notifier
@@ -872,6 +873,7 @@
find_next_zero_bit
find_snd_usb_substream
find_vma
+ find_vpid
finish_wait
firmware_request_nowarn
flow_keys_basic_dissector
@@ -956,6 +958,7 @@
get_random_bytes
get_random_u32
__get_task_comm
+ get_task_pid
get_tree_single
get_unmapped_area
get_unused_fd_flags
@@ -1668,6 +1671,7 @@
phy_start
phy_stop
physvirt_offset
+ pid_task
pinconf_generic_dt_node_to_map
pinctrl_dev_get_drvdata
pinctrl_force_default
@@ -1775,6 +1779,7 @@
put_device
put_disk
__put_page
+ put_pid
__put_task_struct
put_unused_fd
put_vaddr_frames
@@ -1979,6 +1984,7 @@
sched_clock
sched_setattr
sched_setscheduler
+ sched_setscheduler_nocheck
schedule
schedule_timeout
schedule_timeout_interruptible
diff --git a/android/abi_gki_aarch64_xiaomi b/android/abi_gki_aarch64_xiaomi
index 7b58413581e8..95acdab2fb70 100644
--- a/android/abi_gki_aarch64_xiaomi
+++ b/android/abi_gki_aarch64_xiaomi
@@ -16,6 +16,10 @@
regcache_drop_region
snd_soc_dapm_del_routes
+# required by tfa98xx_dlkm.ko
+ device_remove_bin_file
+ snd_pcm_hw_constraint_mask64
+
# required by q6_dlkm.ko
down_interruptible
__kfifo_alloc
diff --git a/arch/Kconfig b/arch/Kconfig
index d775e4a95794..88401dab0689 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -606,6 +606,7 @@ endchoice
config CFI_CLANG
bool "Use Clang's Control Flow Integrity (CFI)"
depends on LTO_CLANG && KALLSYMS
+ depends on !GCOV_KERNEL
help
This option enables Clang's Control Flow Integrity (CFI), which adds
runtime checking for indirect function calls.
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
index e70bf5b86b04..75e9549e63d8 100644
--- a/arch/arm64/configs/gki_defconfig
+++ b/arch/arm64/configs/gki_defconfig
@@ -68,6 +68,7 @@ CONFIG_CPU_IDLE=y
CONFIG_ARM_CPUIDLE=y
CONFIG_ARM_PSCI_CPUIDLE=y
CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_TIMES=y
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
@@ -228,8 +229,10 @@ CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_DW_PLAT_EP=y
CONFIG_PCIE_QCOM=y
CONFIG_PCIE_KIRIN=y
+CONFIG_PCI_ENDPOINT=y
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
# CONFIG_FW_CACHE is not set
@@ -340,10 +343,13 @@ CONFIG_POWER_AVS=y
CONFIG_POWER_RESET_HISI=y
# CONFIG_HWMON is not set
CONFIG_THERMAL=y
+CONFIG_THERMAL_STATISTICS=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_MFD_ACT8945A=y
@@ -441,6 +447,7 @@ CONFIG_HWSPINLOCK=y
CONFIG_MTK_TIMER=y
CONFIG_MAILBOX=y
CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT=y
+CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
CONFIG_REMOTEPROC=y
CONFIG_RPMSG_CHAR=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
index 66e71d75ea2c..8609914b07dd 100644
--- a/arch/x86/configs/gki_defconfig
+++ b/arch/x86/configs/gki_defconfig
@@ -47,6 +47,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
CONFIG_PROFILING=y
CONFIG_SMP=y
+CONFIG_X86_X2APIC=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_NR_CPUS=32
@@ -54,6 +55,7 @@ CONFIG_EFI=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=0
# CONFIG_PM_WAKELOCKS_GC is not set
+CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_TIMES=y
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
@@ -203,6 +205,8 @@ CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
CONFIG_PCI_MSI=y
+CONFIG_PCIE_DW_PLAT_EP=y
+CONFIG_PCI_ENDPOINT=y
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
# CONFIG_FW_CACHE is not set
@@ -291,8 +295,13 @@ CONFIG_HPET=y
CONFIG_SPI=y
CONFIG_GPIOLIB=y
# CONFIG_HWMON is not set
+CONFIG_THERMAL_STATISTICS=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
+CONFIG_CPU_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 7a141e148f3f..aa614bd4c622 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -230,7 +230,7 @@ static struct binder_transaction_log_entry *binder_transaction_log_add(
struct binder_work {
struct list_head entry;
- enum {
+ enum binder_work_type {
BINDER_WORK_TRANSACTION = 1,
BINDER_WORK_TRANSACTION_COMPLETE,
BINDER_WORK_RETURN_ERROR,
@@ -917,27 +917,6 @@ static struct binder_work *binder_dequeue_work_head_ilocked(
return w;
}
-/**
- * binder_dequeue_work_head() - Dequeues the item at head of list
- * @proc: binder_proc associated with list
- * @list: list to dequeue head
- *
- * Removes the head of the list if there are items on the list
- *
- * Return: pointer dequeued binder_work, NULL if list was empty
- */
-static struct binder_work *binder_dequeue_work_head(
- struct binder_proc *proc,
- struct list_head *list)
-{
- struct binder_work *w;
-
- binder_inner_proc_lock(proc);
- w = binder_dequeue_work_head_ilocked(list);
- binder_inner_proc_unlock(proc);
- return w;
-}
-
static void
binder_defer_work(struct binder_proc *proc, enum binder_deferred_state defer);
static void binder_free_thread(struct binder_thread *thread);
@@ -4769,13 +4748,17 @@ static void binder_release_work(struct binder_proc *proc,
struct list_head *list)
{
struct binder_work *w;
+ enum binder_work_type wtype;
while (1) {
- w = binder_dequeue_work_head(proc, list);
+ binder_inner_proc_lock(proc);
+ w = binder_dequeue_work_head_ilocked(list);
+ wtype = w ? w->type : 0;
+ binder_inner_proc_unlock(proc);
if (!w)
return;
- switch (w->type) {
+ switch (wtype) {
case BINDER_WORK_TRANSACTION: {
struct binder_transaction *t;
@@ -4809,9 +4792,11 @@ static void binder_release_work(struct binder_proc *proc,
kfree(death);
binder_stats_deleted(BINDER_STAT_DEATH);
} break;
+ case BINDER_WORK_NODE:
+ break;
default:
pr_err("unexpected work type, %d, not freed\n",
- w->type);
+ wtype);
break;
}
}
diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c
index a52cc9b90920..a1839ddcf05b 100644
--- a/drivers/android/vendor_hooks.c
+++ b/drivers/android/vendor_hooks.c
@@ -62,3 +62,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_printk_store);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_regs);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_wq_lockup_pool);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sysrq_crash);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group);
\ No newline at end of file
diff --git a/drivers/iommu/io-pgtable-arm-v7s.c b/drivers/iommu/io-pgtable-arm-v7s.c
index 4cb394937700..6c08e991c9b0 100644
--- a/drivers/iommu/io-pgtable-arm-v7s.c
+++ b/drivers/iommu/io-pgtable-arm-v7s.c
@@ -50,20 +50,26 @@
*/
#define ARM_V7S_ADDR_BITS 32
#define _ARM_V7S_LVL_BITS(lvl) (16 - (lvl) * 4)
+/* MediaTek: totally 34bits, 14bits at lvl1 and 8bits at lvl2. */
+#define _ARM_V7S_LVL_BITS_MTK(lvl) (20 - (lvl) * 6)
#define ARM_V7S_LVL_SHIFT(lvl) (ARM_V7S_ADDR_BITS - (4 + 8 * (lvl)))
#define ARM_V7S_TABLE_SHIFT 10
-#define ARM_V7S_PTES_PER_LVL(lvl) (1 << _ARM_V7S_LVL_BITS(lvl))
-#define ARM_V7S_TABLE_SIZE(lvl) \
- (ARM_V7S_PTES_PER_LVL(lvl) * sizeof(arm_v7s_iopte))
+#define ARM_V7S_PTES_PER_LVL(lvl, cfg) ({ \
+ !arm_v7s_is_mtk_enabled(cfg) ? \
+ (1 << _ARM_V7S_LVL_BITS(lvl)) : (1 << _ARM_V7S_LVL_BITS_MTK(lvl));\
+})
+
+#define ARM_V7S_TABLE_SIZE(lvl, cfg) \
+ (ARM_V7S_PTES_PER_LVL(lvl, cfg) * sizeof(arm_v7s_iopte))
#define ARM_V7S_BLOCK_SIZE(lvl) (1UL << ARM_V7S_LVL_SHIFT(lvl))
#define ARM_V7S_LVL_MASK(lvl) ((u32)(~0U << ARM_V7S_LVL_SHIFT(lvl)))
#define ARM_V7S_TABLE_MASK ((u32)(~0U << ARM_V7S_TABLE_SHIFT))
-#define _ARM_V7S_IDX_MASK(lvl) (ARM_V7S_PTES_PER_LVL(lvl) - 1)
-#define ARM_V7S_LVL_IDX(addr, lvl) ({ \
+#define _ARM_V7S_IDX_MASK(lvl, cfg) (ARM_V7S_PTES_PER_LVL(lvl, cfg) - 1)
+#define ARM_V7S_LVL_IDX(addr, lvl, cfg) ({ \
int _l = lvl; \
- ((u32)(addr) >> ARM_V7S_LVL_SHIFT(_l)) & _ARM_V7S_IDX_MASK(_l); \
+ ((addr) >> ARM_V7S_LVL_SHIFT(_l)) & _ARM_V7S_IDX_MASK(_l, cfg); \
})
/*
@@ -112,9 +118,10 @@
#define ARM_V7S_TEX_MASK 0x7
#define ARM_V7S_ATTR_TEX(val) (((val) & ARM_V7S_TEX_MASK) << ARM_V7S_TEX_SHIFT)
-/* MediaTek extend the two bits for PA 32bit/33bit */
+/* MediaTek extend the bits below for PA 32bit/33bit/34bit */
#define ARM_V7S_ATTR_MTK_PA_BIT32 BIT(9)
#define ARM_V7S_ATTR_MTK_PA_BIT33 BIT(4)
+#define ARM_V7S_ATTR_MTK_PA_BIT34 BIT(5)
/* *well, except for TEX on level 2 large pages, of course :( */
#define ARM_V7S_CONT_PAGE_TEX_SHIFT 6
@@ -196,6 +203,8 @@ static arm_v7s_iopte paddr_to_iopte(phys_addr_t paddr, int lvl,
pte |= ARM_V7S_ATTR_MTK_PA_BIT32;
if (paddr & BIT_ULL(33))
pte |= ARM_V7S_ATTR_MTK_PA_BIT33;
+ if (paddr & BIT_ULL(34))
+ pte |= ARM_V7S_ATTR_MTK_PA_BIT34;
return pte;
}
@@ -220,6 +229,8 @@ static phys_addr_t iopte_to_paddr(arm_v7s_iopte pte, int lvl,
paddr |= BIT_ULL(32);
if (pte & ARM_V7S_ATTR_MTK_PA_BIT33)
paddr |= BIT_ULL(33);
+ if (pte & ARM_V7S_ATTR_MTK_PA_BIT34)
+ paddr |= BIT_ULL(34);
return paddr;
}
@@ -236,7 +247,7 @@ static void *__arm_v7s_alloc_table(int lvl, gfp_t gfp,
struct device *dev = cfg->iommu_dev;
phys_addr_t phys;
dma_addr_t dma;
- size_t size = ARM_V7S_TABLE_SIZE(lvl);
+ size_t size = ARM_V7S_TABLE_SIZE(lvl, cfg);
void *table = NULL;
if (lvl == 1)
@@ -282,7 +293,7 @@ static void __arm_v7s_free_table(void *table, int lvl,
{
struct io_pgtable_cfg *cfg = &data->iop.cfg;
struct device *dev = cfg->iommu_dev;
- size_t size = ARM_V7S_TABLE_SIZE(lvl);
+ size_t size = ARM_V7S_TABLE_SIZE(lvl, cfg);
if (!cfg->coherent_walk)
dma_unmap_single(dev, __arm_v7s_dma_addr(table), size,
@@ -426,7 +437,7 @@ static int arm_v7s_init_pte(struct arm_v7s_io_pgtable *data,
arm_v7s_iopte *tblp;
size_t sz = ARM_V7S_BLOCK_SIZE(lvl);
- tblp = ptep - ARM_V7S_LVL_IDX(iova, lvl);
+ tblp = ptep - ARM_V7S_LVL_IDX(iova, lvl, cfg);
if (WARN_ON(__arm_v7s_unmap(data, NULL, iova + i * sz,
sz, lvl, tblp) != sz))
return -EINVAL;
@@ -479,7 +490,7 @@ static int __arm_v7s_map(struct arm_v7s_io_pgtable *data, unsigned long iova,
int num_entries = size >> ARM_V7S_LVL_SHIFT(lvl);
/* Find our entry at the current level */
- ptep += ARM_V7S_LVL_IDX(iova, lvl);
+ ptep += ARM_V7S_LVL_IDX(iova, lvl, cfg);
/* If we can install a leaf entry at this level, then do so */
if (num_entries)
@@ -552,7 +563,7 @@ static void arm_v7s_free_pgtable(struct io_pgtable *iop)
struct arm_v7s_io_pgtable *data = io_pgtable_to_data(iop);
int i;
- for (i = 0; i < ARM_V7S_PTES_PER_LVL(1); i++) {
+ for (i = 0; i < ARM_V7S_PTES_PER_LVL(1, &data->iop.cfg); i++) {
arm_v7s_iopte pte = data->pgd[i];
if (ARM_V7S_PTE_IS_TABLE(pte, 1))
@@ -604,9 +615,9 @@ static size_t arm_v7s_split_blk_unmap(struct arm_v7s_io_pgtable *data,
if (!tablep)
return 0; /* Bytes unmapped */
- num_ptes = ARM_V7S_PTES_PER_LVL(2);
+ num_ptes = ARM_V7S_PTES_PER_LVL(2, cfg);
num_entries = size >> ARM_V7S_LVL_SHIFT(2);
- unmap_idx = ARM_V7S_LVL_IDX(iova, 2);
+ unmap_idx = ARM_V7S_LVL_IDX(iova, 2, cfg);
pte = arm_v7s_prot_to_pte(arm_v7s_pte_to_prot(blk_pte, 1), 2, cfg);
if (num_entries > 1)
@@ -648,7 +659,7 @@ static size_t __arm_v7s_unmap(struct arm_v7s_io_pgtable *data,
if (WARN_ON(lvl > 2))
return 0;
- idx = ARM_V7S_LVL_IDX(iova, lvl);
+ idx = ARM_V7S_LVL_IDX(iova, lvl, &iop->cfg);
ptep += idx;
do {
pte[i] = READ_ONCE(ptep[i]);
@@ -719,7 +730,7 @@ static size_t arm_v7s_unmap(struct io_pgtable_ops *ops, unsigned long iova,
{
struct arm_v7s_io_pgtable *data = io_pgtable_ops_to_data(ops);
- if (WARN_ON(upper_32_bits(iova)))
+ if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias)))
return 0;
return __arm_v7s_unmap(data, gather, iova, size, 1, data->pgd);
@@ -734,7 +745,7 @@ static phys_addr_t arm_v7s_iova_to_phys(struct io_pgtable_ops *ops,
u32 mask;
do {
- ptep += ARM_V7S_LVL_IDX(iova, ++lvl);
+ ptep += ARM_V7S_LVL_IDX(iova, ++lvl, &data->iop.cfg);
pte = READ_ONCE(*ptep);
ptep = iopte_deref(pte, lvl, data);
} while (ARM_V7S_PTE_IS_TABLE(pte, lvl));
@@ -753,10 +764,10 @@ static struct io_pgtable *arm_v7s_alloc_pgtable(struct io_pgtable_cfg *cfg,
{
struct arm_v7s_io_pgtable *data;
- if (cfg->ias > ARM_V7S_ADDR_BITS)
+ if (cfg->ias > (arm_v7s_is_mtk_enabled(cfg) ? 34 : ARM_V7S_ADDR_BITS))
return NULL;
- if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 34 : ARM_V7S_ADDR_BITS))
+ if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 35 : ARM_V7S_ADDR_BITS))
return NULL;
if (cfg->quirks & ~(IO_PGTABLE_QUIRK_ARM_NS |
@@ -777,8 +788,8 @@ static struct io_pgtable *arm_v7s_alloc_pgtable(struct io_pgtable_cfg *cfg,
spin_lock_init(&data->split_lock);
data->l2_tables = kmem_cache_create("io-pgtable_armv7s_l2",
- ARM_V7S_TABLE_SIZE(2),
- ARM_V7S_TABLE_SIZE(2),
+ ARM_V7S_TABLE_SIZE(2, cfg),
+ ARM_V7S_TABLE_SIZE(2, cfg),
ARM_V7S_TABLE_SLAB_FLAGS, NULL);
if (!data->l2_tables)
goto out_free_data;
diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 3dd2e2697294..d6d9667c947a 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -18,6 +18,7 @@ void dw_pcie_ep_linkup(struct dw_pcie_ep *ep)
pci_epc_linkup(epc);
}
+EXPORT_SYMBOL_GPL(dw_pcie_ep_linkup);
static void __dw_pcie_ep_reset_bar(struct dw_pcie *pci, enum pci_barno bar,
int flags)
@@ -607,3 +608,4 @@ int dw_pcie_ep_init(struct dw_pcie_ep *ep)
return 0;
}
+EXPORT_SYMBOL_GPL(dw_pcie_ep_init);
diff --git a/include/linux/io-pgtable.h b/include/linux/io-pgtable.h
index 821a0792b8bd..3407f85b878f 100644
--- a/include/linux/io-pgtable.h
+++ b/include/linux/io-pgtable.h
@@ -100,8 +100,8 @@ struct io_pgtable_cfg {
* TLB maintenance when mapping as well as when unmapping.
*
* IO_PGTABLE_QUIRK_ARM_MTK_EXT: (ARM v7s format) MediaTek IOMMUs extend
- * to support up to 34 bits PA where the bit32 and bit33 are
- * encoded in the bit9 and bit4 of the PTE respectively.
+ * to support up to 35 bits PA where the bit32, bit33 and bit34 are
+ * encoded in the bit9, bit4 and bit5 of the PTE respectively.
*
* IO_PGTABLE_QUIRK_NON_STRICT: Skip issuing synchronous leaf TLBIs
* on unmap, for DMA domains using the flush queue mechanism for
diff --git a/include/linux/module.h b/include/linux/module.h
index 996e81a51fbf..5246cbce5881 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -346,6 +346,11 @@ struct klp_modinfo {
};
#endif
+struct module_kabi_preserve_1 {
+ u64 using_gplonly_symbols:1;
+ u64 free:63;
+};
+
struct module {
enum module_state state;
@@ -515,7 +520,7 @@ struct module {
struct error_injection_entry *ei_funcs;
unsigned int num_ei_funcs;
#endif
- ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_USE(1, struct module_kabi_preserve_1 m1);
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
@@ -573,34 +578,14 @@ struct module *find_module(const char *name);
struct symsearch {
const struct kernel_symbol *start, *stop;
const s32 *crcs;
- enum {
+ enum mod_license {
NOT_GPL_ONLY,
GPL_ONLY,
WILL_BE_GPL_ONLY,
- } licence;
+ } license;
bool unused;
};
-/*
- * Search for an exported symbol by name.
- *
- * Must be called with module_mutex held or preemption disabled.
- */
-const struct kernel_symbol *find_symbol(const char *name,
- struct module **owner,
- const s32 **crc,
- bool gplok,
- bool warn);
-
-/*
- * Walk the exported symbol table
- *
- * Must be called with module_mutex held or preemption disabled.
- */
-bool each_symbol_section(bool (*fn)(const struct symsearch *arr,
- struct module *owner,
- void *data), void *data);
-
/* Returns 0 and fills in value, defined and namebuf, or -ERANGE if
symnum out of range. */
int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
@@ -648,7 +633,6 @@ static inline void __module_get(struct module *module)
#define symbol_put_addr(p) do { } while (0)
#endif /* CONFIG_MODULE_UNLOAD */
-int ref_module(struct module *a, struct module *b);
/* This is a #define so the string doesn't get put in every .o file */
#define module_name(mod) \
diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h
index 6ac7dd6f97b7..4e2be4d70658 100644
--- a/include/trace/hooks/sched.h
+++ b/include/trace/hooks/sched.h
@@ -65,6 +65,11 @@ DECLARE_RESTRICTED_HOOK(android_rvh_set_user_nice,
DECLARE_RESTRICTED_HOOK(android_rvh_setscheduler,
TP_PROTO(struct task_struct *p),
TP_ARGS(p), 1);
+
+struct sched_group;
+DECLARE_RESTRICTED_HOOK(android_rvh_find_busiest_group,
+ TP_PROTO(struct sched_group *busiest, struct rq *dst_rq, int *out_balance),
+ TP_ARGS(busiest, dst_rq, out_balance), 1);
#else
#define trace_android_rvh_select_task_rq_fair(p, prev_cpu, sd_flag, wake_flags, new_cpu)
#define trace_android_rvh_select_task_rq_rt(p, prev_cpu, sd_flag, wake_flags, new_cpu)
@@ -79,6 +84,7 @@ DECLARE_RESTRICTED_HOOK(android_rvh_setscheduler,
#define trace_android_rvh_rtmutex_prepare_setprio(p, pi_task)
#define trace_android_rvh_set_user_nice(p, nice)
#define trace_android_rvh_setscheduler(p)
+#define trace_android_rvh_find_busiest_group(busiest, dst_rq, out_balance)
#endif
#endif /* _TRACE_HOOK_SCHED_H */
/* This part must be outside protection */
diff --git a/kernel/module.c b/kernel/module.c
index 3a7cf1a3a24f..49c40cd2f26c 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -419,7 +419,7 @@ static bool each_symbol_in_section(const struct symsearch *arr,
}
/* Returns true as soon as fn returns true, otherwise false. */
-bool each_symbol_section(bool (*fn)(const struct symsearch *arr,
+static bool each_symbol_section(bool (*fn)(const struct symsearch *arr,
struct module *owner,
void *data),
void *data)
@@ -481,7 +481,6 @@ bool each_symbol_section(bool (*fn)(const struct symsearch *arr,
}
return false;
}
-EXPORT_SYMBOL_GPL(each_symbol_section);
struct find_symbol_arg {
/* Input */
@@ -493,6 +492,7 @@ struct find_symbol_arg {
struct module *owner;
const s32 *crc;
const struct kernel_symbol *sym;
+ enum mod_license license;
};
static bool check_exported_symbol(const struct symsearch *syms,
@@ -502,9 +502,9 @@ static bool check_exported_symbol(const struct symsearch *syms,
struct find_symbol_arg *fsa = data;
if (!fsa->gplok) {
- if (syms->licence == GPL_ONLY)
+ if (syms->license == GPL_ONLY)
return false;
- if (syms->licence == WILL_BE_GPL_ONLY && fsa->warn) {
+ if (syms->license == WILL_BE_GPL_ONLY && fsa->warn) {
pr_warn("Symbol %s is being used by a non-GPL module, "
"which will not be allowed in the future\n",
fsa->name);
@@ -526,6 +526,7 @@ static bool check_exported_symbol(const struct symsearch *syms,
fsa->owner = owner;
fsa->crc = symversion(syms->crcs, symnum);
fsa->sym = &syms->start[symnum];
+ fsa->license = syms->license;
return true;
}
@@ -582,9 +583,10 @@ static bool find_exported_symbol_in_section(const struct symsearch *syms,
/* Find an exported symbol and return it, along with, (optional) crc and
* (optional) module which owns it. Needs preempt disabled or module_mutex. */
-const struct kernel_symbol *find_symbol(const char *name,
+static const struct kernel_symbol *find_symbol(const char *name,
struct module **owner,
const s32 **crc,
+ enum mod_license *license,
bool gplok,
bool warn)
{
@@ -599,13 +601,14 @@ const struct kernel_symbol *find_symbol(const char *name,
*owner = fsa.owner;
if (crc)
*crc = fsa.crc;
+ if (license)
+ *license = fsa.license;
return fsa.sym;
}
pr_debug("Failed to find symbol %s\n", name);
return NULL;
}
-EXPORT_SYMBOL_GPL(find_symbol);
/*
* Search for module by name: must hold module_mutex (or preempt disabled
@@ -866,7 +869,7 @@ static int add_module_usage(struct module *a, struct module *b)
}
/* Module a uses b: caller needs module_mutex() */
-int ref_module(struct module *a, struct module *b)
+static int ref_module(struct module *a, struct module *b)
{
int err;
@@ -885,7 +888,6 @@ int ref_module(struct module *a, struct module *b)
}
return 0;
}
-EXPORT_SYMBOL_GPL(ref_module);
/* Clear the unload stuff of the module. */
static void module_unload_free(struct module *mod)
@@ -1074,7 +1076,7 @@ void __symbol_put(const char *symbol)
struct module *owner;
preempt_disable();
- if (!find_symbol(symbol, &owner, NULL, true, false))
+ if (!find_symbol(symbol, &owner, NULL, NULL, true, false))
BUG();
module_put(owner);
preempt_enable();
@@ -1165,11 +1167,10 @@ static inline void module_unload_free(struct module *mod)
{
}
-int ref_module(struct module *a, struct module *b)
+static int ref_module(struct module *a, struct module *b)
{
return strong_try_module_get(b);
}
-EXPORT_SYMBOL_GPL(ref_module);
static inline int module_unload_init(struct module *mod)
{
@@ -1352,7 +1353,7 @@ static inline int check_modstruct_version(const struct load_info *info,
* locking is necessary -- use preempt_disable() to placate lockdep.
*/
preempt_disable();
- if (!find_symbol("module_layout", NULL, &crc, true, false)) {
+ if (!find_symbol("module_layout", NULL, &crc, NULL, true, false)) {
preempt_enable();
BUG();
}
@@ -1426,6 +1427,24 @@ static int verify_namespace_is_imported(const struct load_info *info,
return 0;
}
+static bool inherit_taint(struct module *mod, struct module *owner)
+{
+ if (!owner || !test_bit(TAINT_PROPRIETARY_MODULE, &owner->taints))
+ return true;
+
+ if (mod->m1.using_gplonly_symbols) {
+ pr_err("%s: module using GPL-only symbols uses symbols from proprietary module %s.\n",
+ mod->name, owner->name);
+ return false;
+ }
+
+ if (!test_bit(TAINT_PROPRIETARY_MODULE, &mod->taints)) {
+ pr_warn("%s: module uses symbols from proprietary module %s, inheriting taint.\n",
+ mod->name, owner->name);
+ set_bit(TAINT_PROPRIETARY_MODULE, &mod->taints);
+ }
+ return true;
+}
/* Resolve a symbol for this module. I.e. if we find one, record usage. */
static const struct kernel_symbol *resolve_symbol(struct module *mod,
@@ -1436,6 +1455,7 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,
struct module *owner;
const struct kernel_symbol *sym;
const s32 *crc;
+ enum mod_license license;
int err;
/*
@@ -1445,11 +1465,19 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,
*/
sched_annotate_sleep();
mutex_lock(&module_mutex);
- sym = find_symbol(name, &owner, &crc,
+ sym = find_symbol(name, &owner, &crc, &license,
!(mod->taints & (1 << TAINT_PROPRIETARY_MODULE)), true);
if (!sym)
goto unlock;
+ if (license == GPL_ONLY)
+ mod->m1.using_gplonly_symbols = true;
+
+ if (!inherit_taint(mod, owner)) {
+ sym = NULL;
+ goto getname;
+ }
+
if (!check_version(info, name, mod, crc)) {
sym = ERR_PTR(-EINVAL);
goto getname;
@@ -2271,7 +2299,7 @@ void *__symbol_get(const char *symbol)
const struct kernel_symbol *sym;
preempt_disable();
- sym = find_symbol(symbol, &owner, NULL, true, true);
+ sym = find_symbol(symbol, &owner, NULL, NULL, true, true);
if (sym && strong_try_module_get(owner))
sym = NULL;
preempt_enable();
@@ -2306,7 +2334,7 @@ static int verify_exported_symbols(struct module *mod)
for (i = 0; i < ARRAY_SIZE(arr); i++) {
for (s = arr[i].sym; s < arr[i].sym + arr[i].num; s++) {
if (find_symbol(kernel_symbol_name(s), &owner, NULL,
- true, false)) {
+ NULL, true, false)) {
pr_err("%s: exports duplicate symbol %s"
" (owned by %s)\n",
mod->name, kernel_symbol_name(s),
@@ -4324,10 +4352,10 @@ int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
static void cfi_init(struct module *mod)
{
#ifdef CONFIG_CFI_CLANG
- rcu_read_lock();
+ rcu_read_lock_sched();
mod->cfi_check = (cfi_check_fn)find_kallsyms_symbol_value(mod,
CFI_CHECK_FN_NAME);
- rcu_read_unlock();
+ rcu_read_unlock_sched();
cfi_module_add(mod, module_addr_min, module_addr_max);
#endif
}
@@ -4530,7 +4558,6 @@ struct module *__module_address(unsigned long addr)
}
return mod;
}
-EXPORT_SYMBOL_GPL(__module_address);
/*
* is_module_text_address - is this address inside module code?
@@ -4569,7 +4596,6 @@ struct module *__module_text_address(unsigned long addr)
}
return mod;
}
-EXPORT_SYMBOL_GPL(__module_text_address);
/* Don't grab lock, we're oopsing. */
void print_modules(void)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 56200fa9a2e8..a7f4a780d0ca 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3799,11 +3799,22 @@ util_est_dequeue(struct cfs_rq *cfs_rq, struct task_struct *p, bool task_sleep)
if (ue.enqueued & UTIL_AVG_UNCHANGED)
return;
+ /*
+ * Reset EWMA on utilization increases, the moving average is used only
+ * to smooth utilization decreases.
+ */
+ ue.enqueued = (task_util(p) | UTIL_AVG_UNCHANGED);
+ if (sched_feat(UTIL_EST_FASTUP)) {
+ if (ue.ewma < ue.enqueued) {
+ ue.ewma = ue.enqueued;
+ goto done;
+ }
+ }
+
/*
* Skip update of task's estimated utilization when its EWMA is
* already ~1% close to its last activation value.
*/
- ue.enqueued = (task_util(p) | UTIL_AVG_UNCHANGED);
last_ewma_diff = ue.enqueued - ue.ewma;
if (within_margin(last_ewma_diff, (SCHED_CAPACITY_SCALE / 100)))
return;
@@ -3836,6 +3847,7 @@ util_est_dequeue(struct cfs_rq *cfs_rq, struct task_struct *p, bool task_sleep)
ue.ewma <<= UTIL_EST_WEIGHT_SHIFT;
ue.ewma += last_ewma_diff;
ue.ewma >>= UTIL_EST_WEIGHT_SHIFT;
+done:
WRITE_ONCE(p->se.avg.util_est, ue);
}
@@ -9764,7 +9776,12 @@ static struct sched_group *find_busiest_group(struct lb_env *env)
#ifdef CONFIG_SCHED_WALT
if (rcu_dereference(rd->pd) && !sd_overutilized(env->sd)) {
#else
- if (rcu_dereference(rd->pd) && !READ_ONCE(rd->overutilized)) {
+ int out_balance = 1;
+
+ trace_android_rvh_find_busiest_group(sds.busiest, env->dst_rq,
+ &out_balance);
+ if (rcu_dereference(rd->pd) && !READ_ONCE(rd->overutilized)
+ && out_balance) {
#endif
int cpu_local, cpu_busiest;
unsigned long capacity_local, capacity_busiest;
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index 16579ad03aae..de47cb4b5e6e 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -94,3 +94,4 @@ SCHED_FEAT(UTIL_EST, true)
* Request max frequency from schedutil whenever a RT task is running.
*/
SCHED_FEAT(SUGOV_RT_MAX_FREQ, false)
+SCHED_FEAT(UTIL_EST_FASTUP, true)
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h
index f9b19524da11..42ad2f95e2f2 100644
--- a/scripts/recordmcount.h
+++ b/scripts/recordmcount.h
@@ -529,6 +529,9 @@ static int find_secsym_ndx(unsigned const txtndx,
if (txtndx == get_symindex(symp, symtab, symtab_shndx)
/* avoid STB_WEAK */
&& (STB_LOCAL == st_bind || STB_GLOBAL == st_bind)) {
+ /* avoid file symbols */
+ if (ELF_ST_TYPE(symp->st_info) == STT_FILE)
+ continue;
/* function symbols on ARM have quirks, avoid them */
if (w2(ehdr->e_machine) == EM_ARM
&& ELF_ST_TYPE(symp->st_info) == STT_FUNC)