diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 88042d5b20bc..18c8c69aeec7 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 @@ + @@ -15298,7 +15317,6 @@ - @@ -15318,6 +15336,20 @@ + + + + + + + + + + + + + + @@ -16102,6 +16134,8 @@ + + @@ -16915,7 +16949,7 @@ - + @@ -17032,7 +17066,7 @@ - + @@ -17092,8 +17126,8 @@ - - + + @@ -22722,6 +22756,13 @@ + + + + + + + @@ -31299,7 +31340,6 @@ - @@ -32094,7 +32134,6 @@ - @@ -39744,6 +39783,8 @@ + + @@ -39760,6 +39801,11 @@ + + + + + @@ -40797,6 +40843,7 @@ + @@ -40827,11 +40874,23 @@ + + + + + + + + + + + + @@ -53967,6 +54026,14 @@ + + + + + + + + @@ -55229,14 +55296,6 @@ - - - - - - - - @@ -55987,6 +56046,17 @@ + + + + + + + + + + + @@ -59320,7 +59390,7 @@ - + @@ -59645,17 +59715,6 @@ - - - - - - - - - - - @@ -64203,6 +64262,17 @@ + + + + + + + + + + + @@ -64365,7 +64435,7 @@ - + @@ -64411,8 +64481,6 @@ - - @@ -70760,6 +70828,20 @@ + + + + + + + + + + + + + + @@ -70902,6 +70984,7 @@ + @@ -71066,6 +71149,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -88232,14 +88339,6 @@ - - - - - - - - @@ -88251,6 +88350,20 @@ + + + + + + + + + + + + + + @@ -92758,6 +92871,8 @@ + + @@ -92803,6 +92918,15 @@ + + + + + + + + + @@ -93072,7 +93196,7 @@ - + @@ -93298,6 +93422,7 @@ + @@ -99520,13 +99645,13 @@ - + - + - + @@ -99568,7 +99693,7 @@ - + @@ -103731,7 +103856,7 @@ - + @@ -103747,7 +103872,7 @@ - + @@ -103755,7 +103880,7 @@ - + @@ -103769,7 +103894,7 @@ - + @@ -103800,6 +103925,11 @@ + + + + + @@ -103813,6 +103943,18 @@ + + + + + + + + + + + + @@ -107618,6 +107760,10 @@ + + + + @@ -108670,29 +108816,7 @@ - - - - - - - - - - - - - - - - - - - - - - - + @@ -108985,7 +109109,7 @@ - + @@ -109029,18 +109153,18 @@ - + - + - + @@ -109167,32 +109291,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -111460,6 +111558,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -111484,6 +111607,7 @@ + @@ -114128,7 +114252,7 @@ - + @@ -116334,6 +116458,25 @@ + + + + + + + + + + + + + + + + + + + @@ -116383,11 +116526,11 @@ - + - + @@ -116399,29 +116542,41 @@ - + - + - - + + - + + + + + + + + + + + + + @@ -116510,17 +116665,6 @@ - - - - - - - - - - - @@ -116932,6 +117076,25 @@ + + + + + + + + + + + + + + + + + + + @@ -116947,6 +117110,18 @@ + + + + + + + + + + + + @@ -121642,14 +121817,6 @@ - - - - - - - - @@ -122094,6 +122261,11 @@ + + + + + @@ -122180,6 +122352,13 @@ + + + + + + + @@ -122367,6 +122546,8 @@ + + @@ -122390,6 +122571,10 @@ + + + + @@ -122922,6 +123107,11 @@ + + + + + @@ -123089,44 +123279,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -128225,6 +128377,11 @@ + + + + + @@ -129380,6 +129537,6 @@ diff --git a/android/abi_gki_aarch64_d6430e6763.xml b/android/abi_gki_aarch64_d6430e6763.xml index 55d7c759adc0..5762be03f24d 100644 --- a/android/abi_gki_aarch64_d6430e6763.xml +++ b/android/abi_gki_aarch64_d6430e6763.xml @@ -984,6 +984,7 @@ + @@ -1706,6 +1707,7 @@ + @@ -1958,6 +1960,7 @@ + @@ -3030,6 +3033,17 @@ + + + + + + + + + + + @@ -3142,6 +3156,7 @@ + @@ -3533,6 +3548,17 @@ + + + + + + + + + + + @@ -3668,6 +3694,7 @@ + @@ -3822,7 +3849,18 @@ - + + + + + + + + + + + + @@ -4013,6 +4051,7 @@ + @@ -4863,567 +4902,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5454,92 +4947,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -6792,6 +6199,566 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6800,6 +6767,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7026,7 +7079,7 @@ - + @@ -7133,6 +7186,20 @@ + + + + + + + + + + + + + + @@ -7791,6 +7858,17 @@ + + + + + + + + + + + @@ -7817,7 +7895,7 @@ - + @@ -7825,7 +7903,7 @@ - + @@ -7842,7 +7920,7 @@ - + @@ -7912,6 +7990,7 @@ + @@ -14292,7 +14371,7 @@ - + @@ -19063,28 +19142,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -22239,6 +22296,17 @@ + + + + + + + + + + + @@ -22420,6 +22488,7 @@ + @@ -24664,7 +24733,7 @@ - + @@ -25177,7 +25246,7 @@ - + @@ -25301,7 +25370,7 @@ - + @@ -25810,7 +25879,7 @@ - + @@ -25874,7 +25943,7 @@ - + @@ -25931,7 +26000,7 @@ - + @@ -26079,7 +26148,7 @@ - + @@ -26110,7 +26179,7 @@ - + @@ -26121,7 +26190,7 @@ - + @@ -26380,7 +26449,7 @@ - + @@ -26399,7 +26468,7 @@ - + @@ -26436,7 +26505,7 @@ - + @@ -26560,7 +26629,7 @@ - + @@ -26581,7 +26650,7 @@ - + @@ -26618,7 +26687,7 @@ - + @@ -26712,7 +26781,7 @@ - + @@ -26771,7 +26840,7 @@ - + @@ -28722,7 +28791,7 @@ - + @@ -28730,7 +28799,7 @@ - + @@ -29172,7 +29241,7 @@ - + @@ -29223,7 +29292,7 @@ - + @@ -29445,7 +29514,7 @@ - + @@ -29466,6 +29535,17 @@ + + + + + + + + + + + @@ -29606,6 +29686,7 @@ + @@ -30884,17 +30965,6 @@ - - - - - - - - - - - @@ -32971,7 +33041,7 @@ - + @@ -33139,7 +33209,7 @@ - + @@ -35053,6 +35123,17 @@ + + + + + + + + + + + @@ -35101,6 +35182,7 @@ + @@ -39315,12 +39397,24 @@ + + + + + + + + + + + + @@ -40693,6 +40787,7 @@ + @@ -40719,18 +40814,7 @@ - - - - - - - - - - - - + @@ -40738,7 +40822,7 @@ - + @@ -40746,7 +40830,7 @@ - + @@ -40825,6 +40909,7 @@ + @@ -40946,22 +41031,6 @@ - - - - - - - - - - - - - - - - @@ -41475,6 +41544,14 @@ + + + + + + + + @@ -41574,7 +41651,7 @@ - + @@ -41630,7 +41707,7 @@ - + @@ -41680,14 +41757,6 @@ - - - - - - - - @@ -41714,14 +41783,6 @@ - - - - - - - - @@ -42329,6 +42390,22 @@ + + + + + + + + + + + + + + + + @@ -42491,6 +42568,17 @@ + + + + + + + + + + + @@ -42505,6 +42593,7 @@ + @@ -48108,6 +48197,17 @@ + + + + + + + + + + + @@ -48121,6 +48221,7 @@ + @@ -51483,7 +51584,7 @@ - + @@ -51523,9 +51624,7 @@ - - @@ -51574,12 +51673,24 @@ + + + + + + + + + + + + @@ -51812,6 +51923,17 @@ + + + + + + + + + + + @@ -51826,6 +51948,7 @@ + @@ -51836,20 +51959,6 @@ - - - - - - - - - - - - - - @@ -51864,14 +51973,6 @@ - - - - - - - - @@ -51945,12 +52046,12 @@ - + - + @@ -52295,6 +52396,16 @@ + + + + + + + + + + @@ -52388,42 +52499,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -52519,7 +52594,7 @@ - + @@ -52540,26 +52615,19 @@ - - - - - - - - + - + - + - + @@ -52570,15 +52638,31 @@ + + + + + + + + + + + + + + + + - + - + @@ -53028,6 +53112,7 @@ + @@ -53103,6 +53188,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -53311,6 +53557,7 @@ + @@ -53697,6 +53944,7 @@ + @@ -54870,195 +55118,195 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -58495,13 +58743,13 @@ - + - + @@ -58623,7 +58871,7 @@ - + @@ -58674,7 +58922,7 @@ - + @@ -61075,7 +61323,7 @@ - + @@ -61663,13 +61911,13 @@ - + - + @@ -61711,7 +61959,7 @@ - + @@ -62107,7 +62355,7 @@ - + @@ -65867,7 +66115,7 @@ - + @@ -66524,6 +66772,19 @@ + + + + + + + + + + + + + @@ -66569,7 +66830,7 @@ - + @@ -66726,7 +66987,7 @@ - + @@ -66734,7 +66995,7 @@ - + @@ -66742,7 +67003,7 @@ - + @@ -66756,7 +67017,7 @@ - + @@ -66811,7 +67072,7 @@ - + @@ -66831,7 +67092,7 @@ - + @@ -66877,17 +67138,17 @@ - + - + - + @@ -66895,7 +67156,7 @@ - + @@ -66931,7 +67192,7 @@ - + @@ -67063,7 +67324,7 @@ - + @@ -67117,7 +67378,7 @@ - + @@ -67146,7 +67407,7 @@ - + @@ -67154,7 +67415,7 @@ - + @@ -67683,7 +67944,7 @@ - + @@ -69780,7 +70041,7 @@ - + @@ -69845,7 +70106,7 @@ - + @@ -69920,7 +70181,18 @@ - + + + + + + + + + + + + @@ -69953,7 +70225,7 @@ - + @@ -70014,7 +70286,7 @@ - + @@ -70033,54 +70305,17 @@ - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -70104,6 +70339,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -70190,6 +70446,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -70339,6 +70632,17 @@ + + + + + + + + + + + @@ -70354,6 +70658,7 @@ + @@ -70449,7 +70754,9 @@ + + @@ -70458,10 +70765,11 @@ - + + @@ -71005,7 +71313,7 @@ - + @@ -75595,6 +75903,14 @@ + + + + + + + + @@ -75604,6 +75920,17 @@ + + + + + + + + + + + @@ -78303,17 +78630,6 @@ - - - - - - - - - - - @@ -78356,6 +78672,11 @@ + + + + + @@ -78531,6 +78852,8 @@ + + @@ -78575,6 +78898,12 @@ + + + + + + @@ -79094,6 +79423,7 @@ + @@ -81607,7 +81937,7 @@ - + @@ -81687,7 +82017,7 @@ - + @@ -81695,6 +82025,11 @@ + + + + + @@ -81758,7 +82093,7 @@ - + @@ -83107,34 +83442,34 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -83149,8 +83484,8 @@ - - + + @@ -83159,12 +83494,12 @@ - - - - - - + + + + + + @@ -85333,7 +85668,7 @@ - + @@ -85544,11 +85879,6 @@ - - - - - @@ -85585,8 +85915,6 @@ - - @@ -85945,6 +86273,10 @@ + + + + @@ -89180,425 +89512,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -89675,7 +89591,7 @@ - + @@ -89721,30 +89637,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + @@ -89906,13 +89877,6 @@ - - - - - - - @@ -89920,10 +89884,6 @@ - - - - @@ -90065,20 +90025,6 @@ - - - - - - - - - - - - - - @@ -90714,6 +90660,17 @@ + + + + + + + + + + + @@ -90744,6 +90701,7 @@ + @@ -90842,7 +90800,7 @@ - + @@ -91105,12 +91063,12 @@ - + - + @@ -91173,7 +91131,7 @@ - + @@ -91248,14 +91206,6 @@ - - - - - - - - @@ -91659,22 +91609,6 @@ - - - - - - - - - - - - - - - - @@ -91713,8 +91647,10 @@ + + @@ -91815,34 +91751,34 @@ - + - + - + - + - + - + @@ -91890,24 +91826,32 @@ - + - + - + - + + + + + + + + + @@ -92058,7 +92002,7 @@ - + @@ -92257,6 +92201,7 @@ + @@ -92269,6 +92214,9 @@ + + + @@ -92303,6 +92251,13 @@ + + + + + + + @@ -92916,6 +92871,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -95956,6 +96131,10 @@ + + + + @@ -95980,6 +96159,7 @@ + @@ -96067,7 +96247,13 @@ + + + + + + @@ -96114,6 +96300,13 @@ + + + + + + + @@ -96691,6 +96884,10 @@ + + + + @@ -96782,7 +96979,23 @@ - + + + + + + + + + + + + + + + + + @@ -96790,7 +97003,7 @@ - + @@ -96798,7 +97011,7 @@ - + @@ -96806,7 +97019,7 @@ - + @@ -96814,7 +97027,45 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -96828,7 +97079,7 @@ - + @@ -96836,7 +97087,7 @@ - + @@ -96847,7 +97098,7 @@ - + @@ -96858,23 +97109,7 @@ - - - - - - - - - - - - - - - - - + @@ -96882,7 +97117,7 @@ - + @@ -96890,7 +97125,7 @@ - + @@ -96898,7 +97133,7 @@ - + @@ -96906,7 +97141,7 @@ - + @@ -96914,7 +97149,7 @@ - + @@ -96922,7 +97157,7 @@ - + @@ -96930,7 +97165,7 @@ - + @@ -97399,11 +97634,10 @@ - - + @@ -97435,7 +97669,7 @@ - + @@ -97443,7 +97677,7 @@ - + @@ -97464,7 +97698,7 @@ - + @@ -98245,6 +98479,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -98831,6 +99114,17 @@ + + + + + + + + + + + @@ -98974,7 +99268,7 @@ - + @@ -99146,6 +99440,7 @@ + diff --git a/android/abi_gki_aarch64_exynos b/android/abi_gki_aarch64_exynos index 0b41a3f16cad..3e86b71f22cd 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 @@ -34,6 +35,7 @@ _bcd2bin bcmp _bin2bcd + bin2hex bio_crypt_should_process __bitmap_clear __bitmap_parse @@ -56,6 +58,7 @@ bpf_trace_run6 bpf_trace_run7 bpf_trace_run9 + __break_lease build_skb bus_find_device bus_for_each_dev @@ -78,9 +81,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 +98,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 +112,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 @@ -206,14 +216,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 +325,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 +356,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 +412,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 +433,7 @@ down_trylock down_write d_path + dput driver_find driver_find_device driver_register @@ -465,10 +485,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 +571,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 +594,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 +616,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 +675,7 @@ iounmap __iowrite32_copy ip_send_check + iput __irq_alloc_descs irq_create_mapping __irq_domain_add @@ -664,6 +701,7 @@ irq_to_desc irq_work_queue is_console_locked + iterate_dir jiffies jiffies_64 jiffies_64_to_clock_t @@ -673,7 +711,9 @@ kasprintf kernel_kobj kernel_read + kernel_restart kernel_write + kern_path keyslot_manager_create_passthrough keyslot_manager_private __kfifo_alloc @@ -752,10 +792,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 +887,7 @@ no_llseek nonseekable_open noop_llseek + notify_change nr_cpu_ids nr_irqs nsecs_to_jiffies @@ -916,6 +963,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 +977,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 +1171,7 @@ register_chrdev_region register_console register_die_notifier + register_filesystem register_inet6addr_notifier register_inetaddr_notifier register_netdev @@ -1177,13 +1228,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 +1266,7 @@ seq_printf seq_puts seq_read + set_anon_super set_cpus_allowed_ptr set_normalized_timespec64 set_page_dirty_lock @@ -1218,6 +1274,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 +1287,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 +1361,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 +1430,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 +1475,13 @@ strncat strncmp strncpy + strndup_user strnlen strnstr strpbrk strrchr strsep + strspn strstr submit_bh subsys_system_register @@ -1425,6 +1490,7 @@ __sync_dirty_buffer sync_file_create sync_file_get_fence + sync_filesystem synchronize_irq synchronize_rcu syscon_regmap_lookup_by_phandle @@ -1490,6 +1556,7 @@ __trace_puts trace_raw_output_prep trace_seq_printf + truncate_inode_pages try_module_get __tty_alloc_driver tty_flip_buffer_push @@ -1534,9 +1601,13 @@ 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 +1713,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 +1764,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 +1786,7 @@ video_unregister_device vmalloc vmalloc_to_page + vmalloc_to_pfn vmalloc_user vmap vmemmap @@ -1712,6 +1796,7 @@ vm_map_pages vm_map_ram vm_unmap_ram + vprintk_emit vscnprintf vsnprintf vsprintf @@ -1724,12 +1809,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_qcom b/android/abi_gki_aarch64_qcom index 7f2f930d0be7..961b6796d8e7 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -872,6 +872,7 @@ find_next_zero_bit find_snd_usb_substream find_vma + find_vpid finish_wait firmware_request_nowarn flow_keys_basic_dissector @@ -1668,6 +1669,7 @@ phy_start phy_stop physvirt_offset + pid_task pinconf_generic_dt_node_to_map pinctrl_dev_get_drvdata pinctrl_force_default @@ -1979,6 +1981,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/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 66e71d75ea2c..4101cbdc7c8c 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 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/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/kernel/module.c b/kernel/module.c index 3a7cf1a3a24f..f386b99a2245 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), @@ -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)