diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 7832d0edb581..1989997c9623 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -8,6 +8,7 @@ + @@ -109,6 +110,7 @@ + @@ -213,6 +215,7 @@ + @@ -404,6 +407,7 @@ + @@ -420,7 +424,12 @@ + + + + + @@ -469,6 +478,7 @@ + @@ -1547,6 +1557,17 @@ + + + + + + + + + + + @@ -1848,6 +1869,7 @@ + @@ -1859,6 +1881,7 @@ + @@ -2055,6 +2078,7 @@ + @@ -2295,6 +2319,7 @@ + @@ -2868,6 +2893,7 @@ + @@ -3261,6 +3287,7 @@ + @@ -3339,6 +3366,14 @@ + + + + + + + + @@ -3934,6 +3969,7 @@ + @@ -4658,6 +4694,7 @@ + @@ -4815,7 +4852,7 @@ - + @@ -13342,7 +13379,7 @@ - + @@ -13818,7 +13855,7 @@ - + @@ -13826,7 +13863,7 @@ - + @@ -13834,7 +13871,7 @@ - + @@ -13861,7 +13898,7 @@ - + @@ -14917,26 +14954,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -15390,7 +15408,6 @@ - @@ -16218,7 +16235,6 @@ - @@ -17142,7 +17158,17 @@ - + + + + + + + + + + + @@ -17746,7 +17772,7 @@ - + @@ -18645,7 +18671,7 @@ - + @@ -21164,7 +21190,7 @@ - + @@ -26463,7 +26489,7 @@ - + @@ -26471,7 +26497,7 @@ - + @@ -27590,7 +27616,7 @@ - + @@ -30001,6 +30027,7 @@ + @@ -30017,6 +30044,7 @@ + @@ -32382,6 +32410,11 @@ + + + + + @@ -32503,9 +32536,25 @@ + + + + + + + + + + + + + + + + @@ -32516,6 +32565,20 @@ + + + + + + + + + + + + + + @@ -32527,6 +32590,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -32571,11 +32661,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -32603,70 +32730,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33023,10 +33086,18 @@ + + + + + + + + @@ -33084,6 +33155,10 @@ + + + + @@ -33108,6 +33183,14 @@ + + + + + + + + @@ -33232,7 +33315,7 @@ - + @@ -33335,7 +33418,7 @@ - + @@ -33433,6 +33516,12 @@ + + + + + + @@ -33609,6 +33698,16 @@ + + + + + + + + + + @@ -33895,6 +33994,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33918,7 +34043,46 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34023,7 +34187,7 @@ - + @@ -34097,54 +34261,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -34221,6 +34337,15 @@ + + + + + + + + + @@ -34332,32 +34457,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -40944,20 +41133,7 @@ - - - - - - - - - - - - - - + @@ -41360,7 +41536,6 @@ - @@ -41558,14 +41733,6 @@ - - - - - - - - @@ -41670,296 +41837,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -41996,13 +41873,6 @@ - - - - - - - @@ -42135,106 +42005,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -42246,34 +42019,12 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -42287,8 +42038,233 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -42348,848 +42324,176 @@ - + + + + + + + + + + + - + - + + + + - + + + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - + - + - + + + + - + + + + - + - - - - - - - - - - + - - - - - - - + - - - - + - + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + - - - - - - - - - + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -43335,1123 +42639,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - @@ -44566,6 +42761,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44582,6 +43000,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44697,7 +43210,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44705,6 +43321,10 @@ + + + + @@ -48938,6 +47558,9 @@ + + + @@ -49040,7 +47663,7 @@ - + @@ -49077,6 +47700,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -54748,7 +53391,7 @@ - + @@ -54756,7 +53399,7 @@ - + @@ -54779,6 +53422,7 @@ + @@ -56496,7 +55140,7 @@ - + @@ -56540,7 +55184,6 @@ - @@ -59164,7 +57807,7 @@ - + @@ -62154,6 +60797,9 @@ + + + @@ -64096,7 +62742,7 @@ - + @@ -64104,7 +62750,7 @@ - + @@ -64112,17 +62758,17 @@ - + - + - + @@ -64588,7 +63234,7 @@ - + @@ -67526,7 +66172,6 @@ - @@ -68479,6 +67124,7 @@ + @@ -71238,7 +69884,6 @@ - @@ -72762,11 +71407,11 @@ - + - + @@ -72866,13 +71511,13 @@ - + - + @@ -72955,7 +71600,7 @@ - + @@ -73353,7 +71998,7 @@ - + @@ -73855,6 +72500,7 @@ + @@ -74932,8 +73578,20 @@ + + + + + + + + + + + + @@ -74992,6 +73650,11 @@ + + + + + @@ -75098,6 +73761,20 @@ + + + + + + + + + + + + + + @@ -75260,7 +73937,7 @@ - + @@ -75284,6 +73961,7 @@ + @@ -75872,7 +74550,7 @@ - + @@ -76726,17 +75404,17 @@ - + - + - + @@ -81301,7 +79979,6 @@ - @@ -81921,46 +80598,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -81985,7 +80622,6 @@ - @@ -82003,7 +80639,6 @@ - @@ -82551,7 +81186,6 @@ - @@ -82871,7 +81505,7 @@ - + @@ -83537,7 +82171,7 @@ - + @@ -84859,7 +83493,7 @@ - + @@ -85835,7 +84469,7 @@ - + @@ -87234,7 +85868,7 @@ - + @@ -88947,7 +87581,7 @@ - + @@ -96851,7 +95485,7 @@ - + @@ -96884,7 +95518,7 @@ - + @@ -97182,7 +95816,7 @@ - + @@ -97206,7 +95840,7 @@ - + @@ -98333,6 +96967,1516 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -101565,35 +101709,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -103960,8 +104076,8 @@ - - + + @@ -104127,6 +104243,20 @@ + + + + + + + + + + + + + + @@ -105884,6 +106014,7 @@ + @@ -107513,6 +107644,13 @@ + + + + + + + @@ -108234,11 +108372,6 @@ - - - - - @@ -108407,6 +108540,11 @@ + + + + + @@ -110076,7 +110214,7 @@ - + @@ -114359,7 +114497,7 @@ - + @@ -114383,7 +114521,7 @@ - + @@ -114566,7 +114704,7 @@ - + @@ -114927,7 +115065,7 @@ - + @@ -117321,22 +117459,6 @@ - - - - - - - - - - - - - - - - @@ -117842,6 +117964,22 @@ + + + + + + + + + + + + + + + + @@ -122145,7 +122283,7 @@ - + @@ -122684,7 +122822,7 @@ - + @@ -123043,8 +123181,8 @@ - - + + @@ -136640,7 +136778,7 @@ - + @@ -137616,7 +137754,7 @@ - + @@ -139253,7 +139391,7 @@ - + @@ -140545,6 +140683,10 @@ + + + + @@ -140998,7 +141140,7 @@ - + @@ -141425,6 +141567,7 @@ + @@ -141700,6 +141843,9 @@ + + + @@ -143638,7 +143784,17 @@ - + + + + + + + + + + + @@ -143931,20 +144087,7 @@ - - - - - - - - - - - - - - + @@ -155682,6 +155825,11 @@ + + + + + @@ -157184,6 +157332,12 @@ + + + + + + @@ -158127,6 +158281,12 @@ + + + + + + @@ -159675,7 +159835,7 @@ - + @@ -161001,114 +161161,114 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -161152,15 +161312,15 @@ - + - + - + - + @@ -161213,12 +161373,12 @@ - + - + - + @@ -161298,51 +161458,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -161841,114 +162001,114 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -161959,59 +162119,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -162167,15 +162327,15 @@ - + - + - + - + @@ -164931,7 +165091,7 @@ - + @@ -165382,7 +165542,7 @@ - + @@ -168470,7 +168630,7 @@ - + @@ -168618,7 +168778,7 @@ - + @@ -170699,6 +170859,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -170723,7 +170912,7 @@ - + @@ -170738,6 +170927,7 @@ + @@ -171761,62 +171951,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -171924,6 +172058,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -173615,7 +173805,7 @@ - + @@ -173644,7 +173834,7 @@ - + @@ -174236,7 +174426,7 @@ - + @@ -175196,7 +175386,7 @@ - + @@ -178305,36 +178495,36 @@ - + - + - + - + - + - + - + - + - + - + - + diff --git a/android/abi_gki_aarch64_75c93eb439.xml b/android/abi_gki_aarch64_5d7dfa34c622.xml similarity index 99% rename from android/abi_gki_aarch64_75c93eb439.xml rename to android/abi_gki_aarch64_5d7dfa34c622.xml index 62c7a892a723..21bc14b7a4e9 100644 --- a/android/abi_gki_aarch64_75c93eb439.xml +++ b/android/abi_gki_aarch64_5d7dfa34c622.xml @@ -63,6 +63,8 @@ + + @@ -1166,9 +1168,13 @@ + + + + @@ -1691,15 +1697,18 @@ + + + @@ -1728,6 +1737,7 @@ + @@ -1987,6 +1997,9 @@ + + + @@ -2811,9 +2824,11 @@ + + @@ -8213,7 +8228,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -8893,6 +8927,7 @@ + @@ -11082,6 +11117,17 @@ + + + + + + + + + + + @@ -18094,9 +18140,6 @@ - - - @@ -18534,6 +18577,9 @@ + + + @@ -19035,6 +19081,1013 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20039,825 +21092,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -25430,17 +25669,6 @@ - - - - - - - - - - - @@ -35904,6 +36132,17 @@ + + + + + + + + + + + @@ -38368,17 +38607,6 @@ - - - - - - - - - - - @@ -38390,17 +38618,6 @@ - - - - - - - - - - - @@ -43422,10 +43639,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -43444,6 +43695,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -44153,6 +44425,8 @@ + + @@ -45757,7 +46031,6 @@ - @@ -45784,79 +46057,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -45874,125 +46075,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -60533,74 +60629,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -61631,9 +61660,6 @@ - - - @@ -62425,25 +62451,6 @@ - - - - - - - - - - - - - - - - - - - @@ -62464,7 +62471,6 @@ - @@ -63348,9 +63354,6 @@ - - - @@ -72157,6 +72160,13 @@ + + + + + + + @@ -72165,8 +72175,10 @@ + + @@ -72455,6 +72467,10 @@ + + + + @@ -72605,7 +72621,7 @@ - + @@ -72700,6 +72716,11 @@ + + + + + @@ -91983,7 +92004,7 @@ - + @@ -92782,8 +92803,6 @@ - - @@ -95438,7 +95457,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -112644,74 +112682,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -121882,80 +121853,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -124612,7 +124509,6 @@ - @@ -125055,95 +124951,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -125267,11 +125074,6 @@ - - - - - @@ -125708,6 +125510,7 @@ + @@ -126108,6 +125911,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -126823,49 +126652,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -126978,7 +126765,7 @@ - + @@ -127210,7 +126997,7 @@ - + @@ -131526,66 +131313,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -131629,53 +131356,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -131832,6 +131512,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -131844,6 +131584,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -132711,32 +132498,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/android/abi_gki_aarch64_db845c b/android/abi_gki_aarch64_db845c index 4318f338e6af..671c62ec75aa 100644 --- a/android/abi_gki_aarch64_db845c +++ b/android/abi_gki_aarch64_db845c @@ -750,12 +750,14 @@ match_token noop_llseek notify_change + override_creds pagecache_get_page path_get path_put __put_cred __put_page register_filesystem + revert_creds set_anon_super sget simple_getattr diff --git a/android/abi_gki_aarch64_galaxy b/android/abi_gki_aarch64_galaxy index e460d3ff7965..bef65a0d87b9 100644 --- a/android/abi_gki_aarch64_galaxy +++ b/android/abi_gki_aarch64_galaxy @@ -3,6 +3,7 @@ __alloc_disk_node __alloc_pages_nodemask __alloc_percpu + __alloc_percpu_gfp __alloc_skb __arch_clear_user __arch_copy_from_user @@ -133,6 +134,7 @@ __request_module __request_percpu_irq __request_region + __sbitmap_queue_get __scsi_device_lookup_by_target __scsi_execute __scsi_print_sense @@ -267,7 +269,13 @@ blk_execute_rq_nowait blk_get_request blk_lookup_devt + blk_mq_bio_list_merge blk_mq_rq_cpu + blk_mq_run_hw_queue + blk_mq_sched_mark_restart_hctx + blk_mq_sched_request_inserted + blk_mq_sched_try_insert_merge + blk_mq_sched_try_merge blk_put_request blk_queue_bounce_limit blk_queue_max_hw_sectors @@ -275,6 +283,7 @@ blk_rq_map_user blk_rq_map_user_iov blk_rq_unmap_user + blk_stat_enable_accounting blk_verify_command blkdev_get_by_dev blkdev_get_by_path @@ -955,6 +964,17 @@ dw_pcie_read dw_pcie_setup_rc dw_pcie_write + elevator_alloc + elv_bio_merge_ok + elv_rb_add + elv_rb_del + elv_rb_find + elv_rb_former_request + elv_rb_latter_request + elv_register + elv_rqhash_add + elv_rqhash_del + elv_unregister emergency_restart enable_irq enable_percpu_irq @@ -1233,6 +1253,7 @@ int_sqrt int_to_scsilun invalidate_mapping_pages + ioc_lookup_icq iomem_resource iommu_alloc_resv_region iommu_attach_device @@ -1406,6 +1427,7 @@ kstrtoull kstrtoull_from_user kthread_bind + kthread_blkcg kthread_cancel_delayed_work_sync kthread_cancel_work_sync kthread_create_on_node @@ -2011,6 +2033,14 @@ runqueues save_stack_trace save_stack_trace_tsk + sbitmap_add_wait_queue + sbitmap_any_bit_set + sbitmap_del_wait_queue + sbitmap_init_node + sbitmap_queue_clear + sbitmap_queue_init_node + sbitmap_queue_min_shallow_depth + sbitmap_queue_resize sched_clock sched_setscheduler sched_setscheduler_nocheck @@ -2386,6 +2416,7 @@ thermal_zone_of_sensor_register thermal_zone_of_sensor_unregister time64_to_tm + timer_reduce timespec64_to_jiffies touch_softlockup_watchdog trace_define_field diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 56e9a249a8cc..998ca55dc22a 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -1058,13 +1058,20 @@ hwspin_lock_unregister __hwspin_unlock hypervisor_kobj + i2c_adapter_type i2c_add_adapter i2c_add_numbered_adapter i2c_del_adapter i2c_del_driver + i2c_get_device_id i2c_get_dma_safe_msg_buf i2c_put_dma_safe_msg_buf i2c_register_driver + i2c_smbus_read_byte + i2c_smbus_write_byte + __i2c_smbus_xfer + i2c_smbus_xfer + __i2c_transfer i2c_transfer i2c_transfer_buffer_flags icc_get @@ -1209,6 +1216,7 @@ irq_domain_remove irq_domain_set_hwirq_and_chip irq_domain_set_info + irq_domain_simple_ops irq_domain_update_bus_token irq_domain_xlate_onecell irq_domain_xlate_twocell @@ -2013,6 +2021,9 @@ rtc_tm_to_time64 rtc_update_irq rtc_valid_tm + rt_mutex_lock + rt_mutex_trylock + rt_mutex_unlock rtnl_is_locked rtnl_link_register rtnl_link_unregister @@ -2862,3 +2873,7 @@ xdp_rxq_info_reg xdp_rxq_info_reg_mem_model xdp_rxq_info_unreg + pci_get_slot + pcie_capability_clear_and_set_word + pci_device_is_present + pci_find_bus diff --git a/build.config.db845c b/build.config.db845c index e4e25e3d8f7e..04f6f875f69c 100644 --- a/build.config.db845c +++ b/build.config.db845c @@ -3,7 +3,8 @@ BUILD_INITRAMFS=1 DEFCONFIG=db845c_gki_defconfig -PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/db845c_gki.fragment" +FRAGMENT_CONFIG=${KERNEL_DIR}/arch/arm64/configs/db845c_gki.fragment +PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${FRAGMENT_CONFIG}" POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}" FILES=" diff --git a/build.config.gki_kprobes b/build.config.gki_kprobes new file mode 100644 index 000000000000..7047133f04f6 --- /dev/null +++ b/build.config.gki_kprobes @@ -0,0 +1,19 @@ +DEFCONFIG=gki_defconfig +POST_DEFCONFIG_CMDS="check_defconfig && update_kprobes_config" +function update_kprobes_config() { + ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \ + -d CONFIG_LTO \ + -d CONFIG_LTO_CLANG \ + -d CONFIG_CFI_CLANG \ + -d CFI_PERMISSIVE \ + -d CFI_CLANG \ + -e CONFIG_FUNCTION_TRACER \ + -e CONFIG_IRQSOFF_TRACER \ + -e CONFIG_PREEMPT_TRACER \ + -e CONFIG_DEBUG_FS \ + -e CONFIG_CHECKPOINT_RESTORE \ + -d CONFIG_RANDOMIZE_BASE + (cd ${OUT_DIR} && \ + make ${CC_LD_ARG} O=${OUT_DIR} olddefconfig) +} + diff --git a/build.config.gki_kprobes.aarch64 b/build.config.gki_kprobes.aarch64 new file mode 100644 index 000000000000..627c2176f971 --- /dev/null +++ b/build.config.gki_kprobes.aarch64 @@ -0,0 +1,4 @@ +. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common +. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64 +. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki_kprobes + diff --git a/build.config.gki_kprobes.x86_64 b/build.config.gki_kprobes.x86_64 new file mode 100644 index 000000000000..a1d3da740b36 --- /dev/null +++ b/build.config.gki_kprobes.x86_64 @@ -0,0 +1,4 @@ +. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common +. ${ROOT_DIR}/${KERNEL_DIR}/build.config.x86_64 +. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki_kprobes + diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 6686dbc0f1af..0830f821d49b 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -20,6 +20,8 @@ #include #include #include +#include +#include /* * Export tracepoints that act as a bare tracehook (ie: have no trace event @@ -69,3 +71,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sysrq_crash); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_pd_energy); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cgroup_set_task); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_syscall_prctl_finished); diff --git a/drivers/net/ethernet/sun/sunvnet_common.c b/drivers/net/ethernet/sun/sunvnet_common.c index 8b94d9ad9e2b..f87e135a8aef 100644 --- a/drivers/net/ethernet/sun/sunvnet_common.c +++ b/drivers/net/ethernet/sun/sunvnet_common.c @@ -1353,27 +1353,12 @@ sunvnet_start_xmit_common(struct sk_buff *skb, struct net_device *dev, if (vio_version_after_eq(&port->vio, 1, 3)) localmtu -= VLAN_HLEN; - if (skb->protocol == htons(ETH_P_IP)) { - struct flowi4 fl4; - struct rtable *rt = NULL; - - memset(&fl4, 0, sizeof(fl4)); - fl4.flowi4_oif = dev->ifindex; - fl4.flowi4_tos = RT_TOS(ip_hdr(skb)->tos); - fl4.daddr = ip_hdr(skb)->daddr; - fl4.saddr = ip_hdr(skb)->saddr; - - rt = ip_route_output_key(dev_net(dev), &fl4); - if (!IS_ERR(rt)) { - skb_dst_set(skb, &rt->dst); - icmp_send(skb, ICMP_DEST_UNREACH, - ICMP_FRAG_NEEDED, - htonl(localmtu)); - } - } + if (skb->protocol == htons(ETH_P_IP)) + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(localmtu)); #if IS_ENABLED(CONFIG_IPV6) else if (skb->protocol == htons(ETH_P_IPV6)) - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, localmtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, localmtu); #endif goto out_dropped; } diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c index 4e19c3149848..d0653babab92 100644 --- a/drivers/net/gtp.c +++ b/drivers/net/gtp.c @@ -545,9 +545,8 @@ static int gtp_build_skb_ip4(struct sk_buff *skb, struct net_device *dev, if (!skb_is_gso(skb) && (iph->frag_off & htons(IP_DF)) && mtu < ntohs(iph->tot_len)) { netdev_dbg(dev, "packet too big, fragmentation needed\n"); - memset(IPCB(skb), 0, sizeof(*IPCB(skb))); - icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, - htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(mtu)); goto err_rt; } diff --git a/include/linux/icmpv6.h b/include/linux/icmpv6.h index a8f888976137..1121a623516c 100644 --- a/include/linux/icmpv6.h +++ b/include/linux/icmpv6.h @@ -3,6 +3,7 @@ #define _LINUX_ICMPV6_H #include +#include #include static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb) @@ -13,21 +14,61 @@ static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb) #include #if IS_ENABLED(CONFIG_IPV6) -extern void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info); typedef void ip6_icmp_send_t(struct sk_buff *skb, u8 type, u8 code, __u32 info, - const struct in6_addr *force_saddr); + const struct in6_addr *force_saddr, + const struct inet6_skb_parm *parm); +void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, + const struct in6_addr *force_saddr, + const struct inet6_skb_parm *parm); +#if IS_BUILTIN(CONFIG_IPV6) +static inline void __icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, + const struct inet6_skb_parm *parm) +{ + icmp6_send(skb, type, code, info, NULL, parm); +} +static inline int inet6_register_icmp_sender(ip6_icmp_send_t *fn) +{ + BUILD_BUG_ON(fn != icmp6_send); + return 0; +} +static inline int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn) +{ + BUILD_BUG_ON(fn != icmp6_send); + return 0; +} +#else +extern void __icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, + const struct inet6_skb_parm *parm); extern int inet6_register_icmp_sender(ip6_icmp_send_t *fn); extern int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn); +#endif + +void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info); + int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type, unsigned int data_len); +#if IS_ENABLED(CONFIG_NF_NAT) +void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info); +#else +static inline void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info) +{ + struct inet6_skb_parm parm = { 0 }; + __icmpv6_send(skb_in, type, code, info, &parm); +} +#endif + #else static inline void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info) { +} +static inline void icmpv6_ndo_send(struct sk_buff *skb, + u8 type, u8 code, __u32 info) +{ } #endif diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index abc5971bf97c..4ef94590dbeb 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -90,7 +90,6 @@ struct ipv6_params { __s32 autoconf; }; extern struct ipv6_params ipv6_defaults; -#include #include #include diff --git a/include/net/icmp.h b/include/net/icmp.h index 5d4bfdba9adf..fd84adc47963 100644 --- a/include/net/icmp.h +++ b/include/net/icmp.h @@ -43,6 +43,16 @@ static inline void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 __icmp_send(skb_in, type, code, info, &IPCB(skb_in)->opt); } +#if IS_ENABLED(CONFIG_NF_NAT) +void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info); +#else +static inline void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info) +{ + struct ip_options opts = { 0 }; + __icmp_send(skb_in, type, code, info, &opts); +} +#endif + int icmp_rcv(struct sk_buff *skb); int icmp_err(struct sk_buff *skb, u32 info); int icmp_init(void); diff --git a/include/trace/hooks/cgroup.h b/include/trace/hooks/cgroup.h new file mode 100644 index 000000000000..cc44ccf9e109 --- /dev/null +++ b/include/trace/hooks/cgroup.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM cgroup +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH trace/hooks +#if !defined(_TRACE_HOOK_CGROUP_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HOOK_CGROUP_H +#include +#include + +struct task_struct; +DECLARE_HOOK(android_vh_cgroup_set_task, + TP_PROTO(int ret, struct task_struct *task), + TP_ARGS(ret, task)); +#endif + +#include diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index ed5b113273ad..fa3636d255ef 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -58,8 +58,8 @@ DECLARE_RESTRICTED_HOOK(android_rvh_rtmutex_prepare_setprio, TP_ARGS(p, pi_task), 1); DECLARE_RESTRICTED_HOOK(android_rvh_set_user_nice, - TP_PROTO(struct task_struct *p, long *nice), - TP_ARGS(p, nice), 1); + TP_PROTO(struct task_struct *p, long *nice, bool *allowed), + TP_ARGS(p, nice, allowed), 1); DECLARE_RESTRICTED_HOOK(android_rvh_setscheduler, TP_PROTO(struct task_struct *p), diff --git a/include/trace/hooks/sys.h b/include/trace/hooks/sys.h new file mode 100644 index 000000000000..9e5d7a5cb2cf --- /dev/null +++ b/include/trace/hooks/sys.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM sys +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH trace/hooks +#if !defined(_TRACE_HOOK_SYS_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HOOK_SYS_H +#include +#include + +struct task_struct; +DECLARE_HOOK(android_vh_syscall_prctl_finished, + TP_PROTO(int option, struct task_struct *task), + TP_ARGS(option, task)); +#endif + +#include diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c index 7b9ee484abab..c91f8a1e012b 100644 --- a/kernel/cgroup/cgroup-v1.c +++ b/kernel/cgroup/cgroup-v1.c @@ -17,6 +17,7 @@ #include #include +#include #define cg_invalf(fc, fmt, ...) invalf(fc, fmt, ## __VA_ARGS__) @@ -522,6 +523,7 @@ static ssize_t __cgroup1_procs_write(struct kernfs_open_file *of, goto out_finish; ret = cgroup_attach_task(cgrp, task, threadgroup); + trace_android_vh_cgroup_set_task(ret, task); out_finish: cgroup_procs_write_finish(task); diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0cc2d5114934..b3e2892c3c39 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4773,12 +4773,13 @@ static inline int rt_effective_prio(struct task_struct *p, int prio) void set_user_nice(struct task_struct *p, long nice) { - bool queued, running; + bool queued, running, allowed = false; int old_prio, delta; struct rq_flags rf; struct rq *rq; - if (task_nice(p) == nice || nice < MIN_NICE || nice > MAX_NICE) + trace_android_rvh_set_user_nice(p, &nice, &allowed); + if ((task_nice(p) == nice || nice < MIN_NICE || nice > MAX_NICE) && !allowed) return; /* * We have to be careful, if called from sys_setpriority(), @@ -4786,7 +4787,6 @@ void set_user_nice(struct task_struct *p, long nice) */ rq = task_rq_lock(p, &rf); update_rq_clock(rq); - trace_android_rvh_set_user_nice(p, &nice); /* * The RT priorities are set via sched_setscheduler(), but we still diff --git a/kernel/sys.c b/kernel/sys.c index 730672cc1942..ccad9fef972d 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -75,6 +75,8 @@ #include "uid16.h" +#include + #ifndef SET_UNALIGN_CTL # define SET_UNALIGN_CTL(a, b) (-EINVAL) #endif @@ -2644,6 +2646,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, error = -EINVAL; break; } + trace_android_vh_syscall_prctl_finished(option, me); return error; } diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index d00533aea1f0..dd8fae89be72 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -750,6 +750,40 @@ out:; } EXPORT_SYMBOL(__icmp_send); +#if IS_ENABLED(CONFIG_NF_NAT) +#include +void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info) +{ + struct sk_buff *cloned_skb = NULL; + struct ip_options opts = { 0 }; + enum ip_conntrack_info ctinfo; + struct nf_conn *ct; + __be32 orig_ip; + + ct = nf_ct_get(skb_in, &ctinfo); + if (!ct || !(ct->status & IPS_SRC_NAT)) { + __icmp_send(skb_in, type, code, info, &opts); + return; + } + + if (skb_shared(skb_in)) + skb_in = cloned_skb = skb_clone(skb_in, GFP_ATOMIC); + + if (unlikely(!skb_in || skb_network_header(skb_in) < skb_in->head || + (skb_network_header(skb_in) + sizeof(struct iphdr)) > + skb_tail_pointer(skb_in) || skb_ensure_writable(skb_in, + skb_network_offset(skb_in) + sizeof(struct iphdr)))) + goto out; + + orig_ip = ip_hdr(skb_in)->saddr; + ip_hdr(skb_in)->saddr = ct->tuplehash[0].tuple.src.u3.ip; + __icmp_send(skb_in, type, code, info, &opts); + ip_hdr(skb_in)->saddr = orig_ip; +out: + consume_skb(cloned_skb); +} +EXPORT_SYMBOL(icmp_ndo_send); +#endif static void icmp_socket_deliver(struct sk_buff *skb, u32 info) { diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 7d3a3894f785..da4b6aa26b7c 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c @@ -306,10 +306,9 @@ static int icmpv6_getfrag(void *from, char *to, int offset, int len, int odd, st } #if IS_ENABLED(CONFIG_IPV6_MIP6) -static void mip6_addr_swap(struct sk_buff *skb) +static void mip6_addr_swap(struct sk_buff *skb, const struct inet6_skb_parm *opt) { struct ipv6hdr *iph = ipv6_hdr(skb); - struct inet6_skb_parm *opt = IP6CB(skb); struct ipv6_destopt_hao *hao; struct in6_addr tmp; int off; @@ -326,7 +325,7 @@ static void mip6_addr_swap(struct sk_buff *skb) } } #else -static inline void mip6_addr_swap(struct sk_buff *skb) {} +static inline void mip6_addr_swap(struct sk_buff *skb, const struct inet6_skb_parm *opt) {} #endif static struct dst_entry *icmpv6_route_lookup(struct net *net, @@ -420,8 +419,9 @@ static int icmp6_iif(const struct sk_buff *skb) /* * Send an ICMP message in response to a packet in error */ -static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, - const struct in6_addr *force_saddr) +void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, + const struct in6_addr *force_saddr, + const struct inet6_skb_parm *parm) { struct inet6_dev *idev = NULL; struct ipv6hdr *hdr = ipv6_hdr(skb); @@ -514,7 +514,7 @@ static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, if (!(skb->dev->flags & IFF_LOOPBACK) && !icmpv6_global_allow(net, type)) goto out_bh_enable; - mip6_addr_swap(skb); + mip6_addr_swap(skb, parm); memset(&fl6, 0, sizeof(fl6)); fl6.flowi6_proto = IPPROTO_ICMPV6; @@ -594,12 +594,13 @@ out: out_bh_enable: local_bh_enable(); } +EXPORT_SYMBOL(icmp6_send); /* Slightly more convenient version of icmp6_send. */ void icmpv6_param_prob(struct sk_buff *skb, u8 code, int pos) { - icmp6_send(skb, ICMPV6_PARAMPROB, code, pos, NULL); + icmp6_send(skb, ICMPV6_PARAMPROB, code, pos, NULL, IP6CB(skb)); kfree_skb(skb); } @@ -656,10 +657,10 @@ int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type, } if (type == ICMP_TIME_EXCEEDED) icmp6_send(skb2, ICMPV6_TIME_EXCEED, ICMPV6_EXC_HOPLIMIT, - info, &temp_saddr); + info, &temp_saddr, IP6CB(skb2)); else icmp6_send(skb2, ICMPV6_DEST_UNREACH, ICMPV6_ADDR_UNREACH, - info, &temp_saddr); + info, &temp_saddr, IP6CB(skb2)); if (rt) ip6_rt_put(rt); diff --git a/net/ipv6/ip6_icmp.c b/net/ipv6/ip6_icmp.c index 02045494c24c..d779716f508b 100644 --- a/net/ipv6/ip6_icmp.c +++ b/net/ipv6/ip6_icmp.c @@ -9,6 +9,8 @@ #if IS_ENABLED(CONFIG_IPV6) +#if !IS_BUILTIN(CONFIG_IPV6) + static ip6_icmp_send_t __rcu *ip6_icmp_send; int inet6_register_icmp_sender(ip6_icmp_send_t *fn) @@ -31,18 +33,64 @@ int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn) } EXPORT_SYMBOL(inet6_unregister_icmp_sender); -void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info) +void __icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, + const struct inet6_skb_parm *parm) { ip6_icmp_send_t *send; rcu_read_lock(); send = rcu_dereference(ip6_icmp_send); - - if (!send) - goto out; - send(skb, type, code, info, NULL); -out: + if (send) + send(skb, type, code, info, NULL, parm); rcu_read_unlock(); } -EXPORT_SYMBOL(icmpv6_send); +EXPORT_SYMBOL(__icmpv6_send); +#endif + +/* + * ANDROID API HACK for android11-5.4 branch only + * + * Work around loss of icmpv6_send global symbol that got moved to __icmpv6_send + * in 5.4.102 + */ +void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info) +{ + __icmpv6_send(skb, type, code, info, IP6CB(skb)); +} +EXPORT_SYMBOL(icmpv6_send); + +#if IS_ENABLED(CONFIG_NF_NAT) +#include +void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info) +{ + struct inet6_skb_parm parm = { 0 }; + struct sk_buff *cloned_skb = NULL; + enum ip_conntrack_info ctinfo; + struct in6_addr orig_ip; + struct nf_conn *ct; + + ct = nf_ct_get(skb_in, &ctinfo); + if (!ct || !(ct->status & IPS_SRC_NAT)) { + __icmpv6_send(skb_in, type, code, info, &parm); + return; + } + + if (skb_shared(skb_in)) + skb_in = cloned_skb = skb_clone(skb_in, GFP_ATOMIC); + + if (unlikely(!skb_in || skb_network_header(skb_in) < skb_in->head || + (skb_network_header(skb_in) + sizeof(struct ipv6hdr)) > + skb_tail_pointer(skb_in) || skb_ensure_writable(skb_in, + skb_network_offset(skb_in) + sizeof(struct ipv6hdr)))) + goto out; + + orig_ip = ipv6_hdr(skb_in)->saddr; + ipv6_hdr(skb_in)->saddr = ct->tuplehash[0].tuple.src.u3.in6; + __icmpv6_send(skb_in, type, code, info, &parm); + ipv6_hdr(skb_in)->saddr = orig_ip; +out: + consume_skb(cloned_skb); +} +EXPORT_SYMBOL(icmpv6_ndo_send); +#endif #endif diff --git a/net/xfrm/xfrm_interface.c b/net/xfrm/xfrm_interface.c index 00af31d3e774..01c65f96d283 100644 --- a/net/xfrm/xfrm_interface.c +++ b/net/xfrm/xfrm_interface.c @@ -300,10 +300,10 @@ xfrmi_xmit2(struct sk_buff *skb, struct net_device *dev, struct flowi *fl) if (mtu < IPV6_MIN_MTU) mtu = IPV6_MIN_MTU; - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); } else { - icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, - htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(mtu)); } dst_release(dst);