From 2ea974a00c7bdbbee140d68d8867ddcbfb529ecc Mon Sep 17 00:00:00 2001 From: Sangmoon Kim Date: Tue, 29 Sep 2020 10:15:35 +0900 Subject: [PATCH 01/18] ANDROID: workqueue: add vendor hook for wq lockup information - Add the hook to provide additional information like a task scheduling log. Bug: 169374262 Signed-off-by: Sangmoon Kim Change-Id: I203dbc6faa77687ea48769f76658d28b29ef46fd --- drivers/android/vendor_hooks.c | 2 ++ include/trace/hooks/wqlockup.h | 24 ++++++++++++++++++++++++ kernel/workqueue.c | 5 +++++ 3 files changed, 31 insertions(+) create mode 100644 include/trace/hooks/wqlockup.h diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 4dc0d89c835b..333f9ce7d4e0 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -18,6 +18,7 @@ #include #include #include +#include /* * Export tracepoints that act as a bare tracehook (ie: have no trace event @@ -58,3 +59,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop); 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); diff --git a/include/trace/hooks/wqlockup.h b/include/trace/hooks/wqlockup.h new file mode 100644 index 000000000000..de70eacaa8c8 --- /dev/null +++ b/include/trace/hooks/wqlockup.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM wqlockup +#define TRACE_INCLUDE_PATH trace/hooks + +#if !defined(_TRACE_HOOK_WQLOCKUP_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HOOK_WQLOCKUP_H +#include +#include +/* + * Following tracepoints are not exported in tracefs and provide a + * mechanism for vendor modules to hook and extend functionality + */ +#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS) +DECLARE_HOOK(android_vh_wq_lockup_pool, + TP_PROTO(int cpu, unsigned long pool_ts), + TP_ARGS(cpu, pool_ts)); +#else +#define trace_android_vh_wq_lockup_pool(cpu, pool_ts) +#endif + +#endif /* _TRACE_HOOK_WQLOCKUP_H */ +/* This part must be outside protection */ +#include diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 81d99906a97c..7791fe0b9399 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -53,6 +53,10 @@ #include "workqueue_internal.h" +#include +/* events/workqueue.h uses default TRACE_INCLUDE_PATH */ +#undef TRACE_INCLUDE_PATH + enum { /* * worker_pool flags @@ -5768,6 +5772,7 @@ static void wq_watchdog_timer_fn(struct timer_list *unused) pr_cont_pool_info(pool); pr_cont(" stuck for %us!\n", jiffies_to_msecs(jiffies - pool_ts) / 1000); + trace_android_vh_wq_lockup_pool(pool->cpu, pool_ts); } } From ebaebc32e58f3eb63a865ef46aa8a01ce197c9e2 Mon Sep 17 00:00:00 2001 From: Jungrae Kim Date: Mon, 5 Oct 2020 19:41:46 +0900 Subject: [PATCH 02/18] ANDROID: ABI: update allowed list for galaxy Leaf changes summary: 28 artifacts changed (1 filtered out) Changed leaf types summary: 0 (1 filtered out) leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 28 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 28 Added functions: [A] 'function vm_struct* __get_vm_area(unsigned long int, unsigned long int, unsigned long int, unsigned long int)' [A] 'function int __kfifo_init(__kfifo*, void*, unsigned int, size_t)' [A] 'function unsigned int __kfifo_out_peek(__kfifo*, void*, unsigned int)' [A] 'function void __kfree_skb(sk_buff*)' [A] 'function void argv_free(char**)' [A] 'function char** argv_split(unsigned int, const char*, int*)' [A] 'function void cfg80211_port_authorized(net_device*, const u8*, gfp_t)' [A] 'function void class_dev_iter_exit(class_dev_iter*)' [A] 'function void class_dev_iter_init(class_dev_iter*, class*, device*, const device_type*)' [A] 'function device* class_dev_iter_next(class_dev_iter*)' [A] 'function unsigned int cpufreq_get(unsigned int)' [A] 'function device* create_function_device(char*)' [A] 'function void emergency_restart()' [A] 'function file* get_mm_exe_file(mm_struct*)' [A] 'function pid* get_task_pid(task_struct*, pid_type)' [A] 'function void gether_get_host_addr_u8(net_device*, u8*)' [A] 'function ktime_t ktime_get_coarse_with_offset(tk_offsets)' [A] 'function task_struct* pid_task(pid*, pid_type)' [A] 'function bool rfkill_set_sw_state(rfkill*, bool)' [A] 'function int send_sig(int, task_struct*, int)' [A] 'function int skb_copy_ubufs(sk_buff*, unsigned int)' [A] 'function void smpboot_unregister_percpu_thread(smp_hotplug_thread*)' [A] 'function __anonymous_struct__ sock_i_uid(sock*)' [A] 'function void sock_wfree(sk_buff*)' [A] 'function unsigned long int strspn(const char*, const char*)' [A] 'function int usb_gadget_connect(usb_gadget*)' [A] 'function int usb_gadget_disconnect(usb_gadget*)' [A] 'function unsigned long int vmalloc_to_pfn(void*)' Bug: 170065985 Signed-off-by: Jungrae Kim Change-Id: Ic14fc4aa42c42b2346e0235f92ee73fb558b2437 Signed-off-by: Jungrae Kim --- android/abi_gki_aarch64.xml | 2744 +++++++++++++++++--------------- android/abi_gki_aarch64_galaxy | 28 + 2 files changed, 1493 insertions(+), 1279 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 3ca8c00c964d..32a09eba446c 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -93,6 +93,7 @@ + @@ -122,10 +123,13 @@ + + + @@ -323,6 +327,8 @@ + + @@ -535,6 +541,7 @@ + @@ -556,6 +563,9 @@ + + + @@ -665,6 +675,7 @@ + @@ -689,6 +700,7 @@ + @@ -1441,6 +1453,7 @@ + @@ -1569,6 +1582,7 @@ + @@ -1577,6 +1591,7 @@ + @@ -1593,6 +1608,7 @@ + @@ -2135,6 +2151,7 @@ + @@ -2699,6 +2716,7 @@ + @@ -3012,6 +3030,7 @@ + @@ -3164,6 +3183,7 @@ + @@ -3266,6 +3286,7 @@ + @@ -3307,6 +3328,7 @@ + @@ -3485,6 +3507,7 @@ + @@ -3504,6 +3527,7 @@ + @@ -3572,6 +3596,7 @@ + @@ -3893,6 +3918,8 @@ + + @@ -4171,6 +4198,7 @@ + @@ -5696,26 +5724,19 @@ - + - - - - - - - - - - - + + + + @@ -5725,6 +5746,14 @@ + + + + + + + + @@ -6020,7 +6049,7 @@ - + @@ -6777,7 +6806,7 @@ - + @@ -6807,7 +6836,7 @@ - + @@ -6854,7 +6883,7 @@ - + @@ -6866,7 +6895,7 @@ - + @@ -7227,7 +7256,7 @@ - + @@ -7249,7 +7278,7 @@ - + @@ -7355,7 +7384,7 @@ - + @@ -7372,7 +7401,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -7383,7 +7431,7 @@ - + @@ -7394,6 +7442,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7403,7 +7493,7 @@ - + @@ -7636,13 +7726,13 @@ - + - + @@ -7761,27 +7851,27 @@ - + - + - + - + @@ -7799,7 +7889,7 @@ - + @@ -8424,7 +8514,7 @@ - + @@ -8843,7 +8933,7 @@ - + @@ -8917,7 +9007,7 @@ - + @@ -8937,7 +9027,7 @@ - + @@ -8985,7 +9075,7 @@ - + @@ -9338,7 +9428,7 @@ - + @@ -9357,7 +9447,7 @@ - + @@ -9374,7 +9464,7 @@ - + @@ -9636,7 +9726,7 @@ - + @@ -9666,7 +9756,7 @@ - + @@ -9816,7 +9906,7 @@ - + @@ -9853,7 +9943,7 @@ - + @@ -9861,7 +9951,7 @@ - + @@ -9885,7 +9975,7 @@ - + @@ -9896,7 +9986,7 @@ - + @@ -9914,7 +10004,7 @@ - + @@ -9933,7 +10023,7 @@ - + @@ -9944,7 +10034,7 @@ - + @@ -9952,7 +10042,7 @@ - + @@ -9960,7 +10050,7 @@ - + @@ -9972,7 +10062,7 @@ - + @@ -9994,7 +10084,7 @@ - + @@ -10016,7 +10106,7 @@ - + @@ -10025,6 +10115,14 @@ + + + + + + + + @@ -10148,7 +10246,7 @@ - + @@ -10221,6 +10319,14 @@ + + + + + + + + @@ -10795,7 +10901,7 @@ - + @@ -11175,7 +11281,7 @@ - + @@ -11200,6 +11306,23 @@ + + + + + + + + + + + + + + + + + @@ -11213,7 +11336,7 @@ - + @@ -11534,7 +11657,7 @@ - + @@ -12216,7 +12339,7 @@ - + @@ -12224,7 +12347,7 @@ - + @@ -14168,6 +14291,14 @@ + + + + + + + + @@ -14176,6 +14307,14 @@ + + + + + + + + @@ -14187,23 +14326,6 @@ - - - - - - - - - - - - - - - - - @@ -14220,106 +14342,36 @@ - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -14383,22 +14435,6 @@ - - - - - - - - - - - - - - - - @@ -14547,6 +14583,12 @@ + + + + + + @@ -15249,22 +15291,7 @@ - - - - - - - - - - - - - - - - + @@ -15916,7 +15943,6 @@ - @@ -16051,6 +16077,22 @@ + + + + + + + + + + + + + + + + @@ -16211,8 +16253,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16232,6 +16319,17 @@ + + + + + + + + + + + @@ -16261,6 +16359,10 @@ + + + + @@ -18710,7 +18812,7 @@ - + @@ -18723,27 +18825,16 @@ - - - - - - - - - - - - - - - - - - + + + + + + + @@ -18759,6 +18850,19 @@ + + + + + + + + + + + + + @@ -18906,7 +19010,7 @@ - + @@ -18944,6 +19048,20 @@ + + + + + + + + + + + + + + @@ -18952,7 +19070,91 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18990,164 +19192,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - - - - - - - - - + @@ -19162,7 +19217,7 @@ - + @@ -19173,7 +19228,7 @@ - + @@ -19193,7 +19248,7 @@ - + @@ -19201,7 +19256,24 @@ - + + + + + + + + + + + + + + + + + + @@ -19299,7 +19371,7 @@ - + @@ -20094,6 +20166,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20163,7 +20273,7 @@ - + @@ -20452,7 +20562,7 @@ - + @@ -22281,6 +22391,10 @@ + + + + @@ -22452,31 +22566,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -22555,9 +22644,7 @@ - - @@ -22644,10 +22731,6 @@ - - - - @@ -26937,7 +27020,7 @@ - + @@ -26948,7 +27031,7 @@ - + @@ -27968,6 +28051,10 @@ + + + + @@ -31495,7 +31582,7 @@ - + @@ -32572,7 +32659,7 @@ - + @@ -33956,7 +34043,7 @@ - + @@ -34217,7 +34304,7 @@ - + @@ -34431,6 +34518,7 @@ + @@ -35222,7 +35310,7 @@ - + @@ -36917,6 +37005,14 @@ + + + + + + + + @@ -37936,7 +38032,6 @@ - @@ -42869,7 +42964,7 @@ - + @@ -42944,7 +43039,7 @@ - + @@ -44646,45 +44741,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -44945,25 +45023,6 @@ - - - - - - - - - - - - - - - - - - - @@ -53884,14 +53943,6 @@ - - - - - - - - @@ -55154,14 +55205,6 @@ - - - - - - - - @@ -55928,36 +55971,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -56102,8 +56115,6 @@ - - @@ -56111,8 +56122,6 @@ - - @@ -56202,11 +56211,11 @@ - + - + @@ -56323,6 +56332,11 @@ + + + + + @@ -58682,6 +58696,9 @@ + + + @@ -58744,7 +58761,7 @@ - + @@ -58981,10 +58998,10 @@ - + - + @@ -59596,7 +59613,7 @@ - + @@ -59608,7 +59625,7 @@ - + @@ -59619,7 +59636,7 @@ - + @@ -59641,7 +59658,7 @@ - + @@ -59815,7 +59832,7 @@ - + @@ -59870,7 +59887,7 @@ - + @@ -60457,7 +60474,7 @@ - + @@ -60664,7 +60681,7 @@ - + @@ -60753,7 +60770,7 @@ - + @@ -60761,7 +60778,7 @@ - + @@ -60769,7 +60786,7 @@ - + @@ -60777,7 +60794,7 @@ - + @@ -60981,7 +60998,7 @@ - + @@ -60995,7 +61012,7 @@ - + @@ -61009,7 +61026,7 @@ - + @@ -61017,7 +61034,7 @@ - + @@ -61051,7 +61068,7 @@ - + @@ -61300,6 +61317,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -62224,28 +62268,21 @@ - + - - - - - - - - - - - + + + + - + @@ -62253,6 +62290,14 @@ + + + + + + + + @@ -62778,7 +62823,7 @@ - + @@ -62909,7 +62954,8 @@ - + + @@ -62933,6 +62979,7 @@ + @@ -62953,12 +63000,16 @@ + + + + @@ -63041,6 +63092,7 @@ + @@ -63052,7 +63104,8 @@ - + + @@ -63066,8 +63119,10 @@ + - + + @@ -63173,7 +63228,7 @@ - + @@ -63268,7 +63323,7 @@ - + @@ -63348,7 +63403,7 @@ - + @@ -63362,7 +63417,7 @@ - + @@ -63427,11 +63482,11 @@ - + - + @@ -63751,7 +63806,7 @@ - + @@ -63843,7 +63898,7 @@ - + @@ -63872,11 +63927,11 @@ - + - + @@ -63981,7 +64036,7 @@ - + @@ -63992,7 +64047,7 @@ - + @@ -64000,7 +64055,7 @@ - + @@ -64016,7 +64071,7 @@ - + @@ -64032,7 +64087,7 @@ - + @@ -64040,7 +64095,7 @@ - + @@ -64054,7 +64109,7 @@ - + @@ -64065,7 +64120,7 @@ - + @@ -64073,7 +64128,7 @@ - + @@ -64081,7 +64136,7 @@ - + @@ -64089,7 +64144,7 @@ - + @@ -64097,7 +64152,7 @@ - + @@ -64116,7 +64171,7 @@ - + @@ -79394,17 +79449,6 @@ - - - - - - - - - - - @@ -81453,6 +81497,10 @@ + + + + @@ -81843,6 +81891,13 @@ + + + + + + + @@ -81889,6 +81944,14 @@ + + + + + + + + @@ -84335,6 +84398,8 @@ + + @@ -86717,7 +86782,7 @@ - + @@ -87101,7 +87166,7 @@ - + @@ -87931,7 +87996,7 @@ - + @@ -88042,11 +88107,11 @@ - + - + @@ -88074,11 +88139,11 @@ - + - + @@ -88543,12 +88608,12 @@ - + - + @@ -88810,7 +88875,7 @@ - + @@ -88832,7 +88897,7 @@ - + @@ -88865,6 +88930,17 @@ + + + + + + + + + + + @@ -89302,6 +89378,23 @@ + + + + + + + + + + + + + + + + + @@ -89372,7 +89465,7 @@ - + @@ -89401,7 +89494,7 @@ - + @@ -90176,23 +90269,6 @@ - - - - - - - - - - - - - - - - - @@ -91096,12 +91172,12 @@ - + - + - + @@ -92087,10 +92163,13 @@ - + + + + @@ -92290,6 +92369,10 @@ + + + + @@ -92298,6 +92381,11 @@ + + + + + @@ -92314,13 +92402,18 @@ - + - + + + + + + @@ -93228,14 +93321,6 @@ - - - - - - - - @@ -93507,6 +93592,9 @@ + + + @@ -93891,6 +93979,7 @@ + @@ -93904,8 +93993,10 @@ + + @@ -98009,7 +98100,7 @@ - + @@ -98351,13 +98442,13 @@ - + - + @@ -98684,7 +98775,7 @@ - + @@ -98762,10 +98853,10 @@ - + - + @@ -101815,7 +101906,7 @@ - + @@ -101854,63 +101945,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -101958,6 +102011,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -101986,6 +102065,23 @@ + + + + + + + + + + + + + + + + + @@ -102144,7 +102240,7 @@ - + @@ -102173,7 +102269,7 @@ - + @@ -102181,7 +102277,7 @@ - + @@ -103180,9 +103276,9 @@ - + - + @@ -103266,7 +103362,7 @@ - + @@ -104470,6 +104566,10 @@ + + + + @@ -105156,6 +105256,10 @@ + + + + @@ -105218,7 +105322,7 @@ - + @@ -105228,7 +105332,7 @@ - + @@ -105239,7 +105343,7 @@ - + @@ -105251,7 +105355,7 @@ - + @@ -105264,7 +105368,7 @@ - + @@ -105278,7 +105382,7 @@ - + @@ -105293,7 +105397,7 @@ - + @@ -105908,6 +106012,12 @@ + + + + + + @@ -105915,6 +106025,10 @@ + + + + @@ -106624,12 +106738,25 @@ + + + + + + + + + + + + + @@ -106961,6 +107088,11 @@ + + + + + @@ -107667,7 +107799,7 @@ - + @@ -107677,7 +107809,7 @@ - + @@ -107824,37 +107956,18 @@ - + - - - - - - - - - - - - - - - - - - - - - - - + + + + - + @@ -107876,6 +107989,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -108010,6 +108143,10 @@ + + + + @@ -108030,6 +108167,13 @@ + + + + + + + @@ -108175,7 +108319,7 @@ - + @@ -108195,7 +108339,7 @@ - + @@ -108655,10 +108799,28 @@ - + + + + + + + + + + + + + + + + + + + @@ -108688,17 +108850,6 @@ - - - - - - - - - - - @@ -108848,6 +108999,10 @@ + + + + @@ -108938,12 +109093,26 @@ + + + + + + + + + + + + + + - + @@ -108964,6 +109133,10 @@ + + + + @@ -109243,8 +109416,8 @@ - - + + @@ -109261,7 +109434,7 @@ - + @@ -109386,7 +109559,7 @@ - + @@ -109485,6 +109658,17 @@ + + + + + + + + + + + @@ -110145,7 +110329,7 @@ - + @@ -110154,26 +110338,13 @@ - - - - - - - - - - - - - - - - - + + + + @@ -110183,6 +110354,20 @@ + + + + + + + + + + + + + + @@ -110192,7 +110377,7 @@ - + @@ -111679,7 +111864,7 @@ - + @@ -111694,19 +111879,19 @@ - + - + - + @@ -111714,7 +111899,7 @@ - + @@ -111722,7 +111907,7 @@ - + @@ -111744,7 +111929,7 @@ - + @@ -112278,7 +112463,7 @@ - + @@ -112459,6 +112644,22 @@ + + + + + + + + + + + + + + + + @@ -112889,7 +113090,7 @@ - + @@ -113310,7 +113511,7 @@ - + @@ -113474,7 +113675,7 @@ - + @@ -114358,7 +114559,7 @@ - + @@ -114428,45 +114629,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -114474,7 +114637,7 @@ - + @@ -115384,7 +115547,7 @@ - + @@ -115436,7 +115599,7 @@ - + @@ -115788,6 +115951,8 @@ + + @@ -115797,7 +115962,6 @@ - @@ -115810,6 +115974,7 @@ + @@ -115833,11 +115998,11 @@ - + - + @@ -115949,6 +116114,10 @@ + + + + @@ -116143,7 +116312,7 @@ - + @@ -116224,7 +116393,6 @@ - @@ -116751,6 +116919,11 @@ + + + + + @@ -116774,7 +116947,7 @@ - + @@ -117410,7 +117583,7 @@ - + @@ -117568,7 +117741,7 @@ - + @@ -118242,282 +118415,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -118571,91 +118468,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -118670,6 +118482,24 @@ + + + + + + + + + + + + + + + + + + @@ -118772,6 +118602,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -119042,6 +118895,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -119674,7 +119855,7 @@ - + @@ -120365,7 +120546,7 @@ - + @@ -120637,7 +120818,7 @@ - + @@ -121415,7 +121596,6 @@ - @@ -121441,7 +121621,7 @@ - + @@ -121924,70 +122104,70 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -121995,13 +122175,13 @@ - + - + @@ -122010,13 +122190,13 @@ - + - + @@ -122053,25 +122233,25 @@ - + - + - + - + @@ -122081,7 +122261,7 @@ - + @@ -122161,18 +122341,12 @@ - + - + - - - - - - - + @@ -122884,39 +123058,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -123626,6 +123767,12 @@ + + + + + + @@ -123640,6 +123787,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -123655,6 +123840,7 @@ + @@ -129884,6 +130070,6 @@ diff --git a/android/abi_gki_aarch64_galaxy b/android/abi_gki_aarch64_galaxy index 3e4c50792f6c..64224db2d514 100644 --- a/android/abi_gki_aarch64_galaxy +++ b/android/abi_gki_aarch64_galaxy @@ -58,6 +58,7 @@ __free_pages __get_free_pages __get_task_comm + __get_vm_area __getblk_gfp __hrtimer_get_remaining __hwspin_lock_timeout @@ -75,8 +76,11 @@ __kfifo_alloc __kfifo_free __kfifo_in + __kfifo_init __kfifo_out + __kfifo_out_peek __kfifo_to_user + __kfree_skb __kmalloc __kthread_init_worker __list_add_valid @@ -228,6 +232,8 @@ arch_set_freq_scale arch_setup_dma_ops arch_timer_read_counter + argv_free + argv_split arm64_const_caps_ready atomic_notifier_call_chain atomic_notifier_chain_register @@ -305,6 +311,7 @@ cfg80211_mgmt_tx_status cfg80211_michael_mic_failure cfg80211_new_sta + cfg80211_port_authorized cfg80211_put_bss cfg80211_ready_on_channel cfg80211_remain_on_channel_expired @@ -318,6 +325,9 @@ cfg80211_vendor_cmd_reply class_create_file_ns class_destroy + class_dev_iter_exit + class_dev_iter_init + class_dev_iter_next class_find_device class_interface_unregister class_unregister @@ -411,6 +421,7 @@ cpufreq_frequency_table_verify cpufreq_generic_attr cpufreq_generic_frequency_table_verify + cpufreq_get cpufreq_quick_get cpufreq_quick_get_max cpufreq_register_driver @@ -427,6 +438,7 @@ crc32_le crc8 crc8_populate_msb + create_function_device crypto_alloc_shash crypto_destroy_tfm crypto_register_rngs @@ -914,6 +926,7 @@ dw_pcie_read dw_pcie_setup_rc dw_pcie_write + emergency_restart enable_irq enable_percpu_irq end_buffer_read_sync @@ -994,10 +1007,12 @@ get_cpu_device get_cpu_idle_time get_device + get_mm_exe_file get_options get_pid_task get_random_bytes get_random_u32 + get_task_pid get_thermal_instance get_unmapped_area get_unused_fd_flags @@ -1012,6 +1027,7 @@ gether_get_dev_addr gether_get_host_addr gether_get_host_addr_cdc + gether_get_host_addr_u8 gether_get_ifname gether_get_qmult gether_register_netdev @@ -1356,6 +1372,7 @@ kthread_unpark kthread_worker_fn ktime_get + ktime_get_coarse_with_offset ktime_get_mono_fast_ns ktime_get_raw ktime_get_raw_ts64 @@ -1678,6 +1695,7 @@ phy_reset phy_set_mode_ext physvirt_offset + pid_task pinconf_generic_dt_node_to_map pinctrl_add_gpio_range pinctrl_dev_get_drvdata @@ -1883,6 +1901,7 @@ rfkill_destroy rfkill_init_sw_state rfkill_register + rfkill_set_sw_state rfkill_unregister rndis_deregister rndis_free_response @@ -1969,6 +1988,7 @@ sdhci_set_bus_width sdhci_setup_host sdio_signal_irq + send_sig send_sig_info seq_lseek seq_printf @@ -2018,6 +2038,7 @@ skb_copy_bits skb_copy_datagram_iter skb_copy_expand + skb_copy_ubufs skb_dequeue skb_free_datagram skb_pull @@ -2036,6 +2057,7 @@ smp_call_function_single smp_call_function_single_async smp_call_on_cpu + smpboot_unregister_percpu_thread snd_card_free snd_card_new snd_card_register @@ -2163,6 +2185,7 @@ sock_alloc_send_skb sock_create_kern sock_gettstamp + sock_i_uid sock_init_data sock_no_accept sock_no_getsockopt @@ -2176,6 +2199,7 @@ sock_register sock_release sock_unregister + sock_wfree sort spi_bus_type spi_controller_resume @@ -2231,6 +2255,7 @@ strreplace strscpy strsep + strspn strstr submit_bh subsys_system_register @@ -2428,6 +2453,8 @@ usb_free_urb usb_function_register usb_function_unregister + usb_gadget_connect + usb_gadget_disconnect usb_gadget_giveback_request usb_gadget_map_request_by_dev usb_gadget_set_state @@ -2617,6 +2644,7 @@ vm_unmap_ram vmalloc vmalloc_to_page + vmalloc_to_pfn vmalloc_user vmap vmemmap From c37c28d9aa08bd87247d186e9c2975af2cfe182f Mon Sep 17 00:00:00 2001 From: "rogercl.yang" Date: Wed, 23 Sep 2020 11:32:32 +0800 Subject: [PATCH 03/18] ANDROID: adding __nocfi to cpuidle_enter_state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Background: When CPU is going to idle state, it would inform RCU that current CPU is entering idle through rcu_idle_enter(), and RCU will ignore read-side critical sections of this CPU. However, there is CFI check mechanism inside idle flow and calls rcu_read_lock(), so "rcu_read_lock() used illegally while idle" in rcu_read_lock() will be triggered because rcu_idle_enter() was already called before. Beside, the pointer of rcu_dereference() might be invalid due to the RCU read-side critical sections will be ignoring in this going idle CPU, it might cause problems like: access the wrong data/address, kernel exception... Based on above description: We will add __nocfi to cpuidle_enter_state to avoid “rcu_read_lock() used illegally while idle!” and avoid the usage of invalid pointer of rcu_dereference() in this situation. Bug: 169017431 Change-Id: I8bbe25704e18cfde351a8f4277dd4b44b07421f5 Signed-off-by: rogercl.yang Signed-off-by: Chun-Hung Wu --- drivers/cpuidle/cpuidle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c index 29d2d7a21bd7..4b5ea6d09a68 100644 --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -194,7 +194,7 @@ int cpuidle_enter_s2idle(struct cpuidle_driver *drv, struct cpuidle_device *dev) * @drv: cpuidle driver for this cpu * @index: index into the states table in @drv of the state to enter */ -int cpuidle_enter_state(struct cpuidle_device *dev, struct cpuidle_driver *drv, +int __nocfi cpuidle_enter_state(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { int entered_state; From de198b0f2d391a32b41b5fd6cfab1f6679ed4c03 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 10 Oct 2020 12:10:21 +0200 Subject: [PATCH 04/18] ANDROID: GKI: update Vivo symbol list Update the Vivo symbol list to come up to date with some more modules. No new symbols are exported from the system, so no .xml file change needed. New symbol additions should come in their own, separate commit. Bug: 170441871 Cc: Chenggang Wang Signed-off-by: Greg Kroah-Hartman Change-Id: Ic597312f943fe0dc67199ff1c51cd32ace939abe --- android/abi_gki_aarch64_vivo | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/android/abi_gki_aarch64_vivo b/android/abi_gki_aarch64_vivo index b739d3bee3dc..0b239eadbc12 100644 --- a/android/abi_gki_aarch64_vivo +++ b/android/abi_gki_aarch64_vivo @@ -186,6 +186,7 @@ config_ep_by_speed config_group_init_type_name config_item_put + console_printk console_stop console_suspend_enabled __const_udelay @@ -365,6 +366,7 @@ devm_reset_controller_register devm_rtc_device_register devm_snd_soc_register_card + devm_snd_soc_register_component devm_thermal_zone_of_sensor_register devm_usb_get_phy devm_usb_get_phy_by_phandle @@ -720,6 +722,7 @@ find_next_zero_bit find_snd_usb_substream find_vma + find_vpid finish_wait firmware_request_nowarn fixed_phy_register @@ -784,9 +787,11 @@ gether_set_host_addr gether_set_qmult gether_setup_name_default + get_pid_task get_random_bytes get_random_u32 __get_task_comm + get_task_mm get_unmapped_area get_unused_fd_flags get_user_pages @@ -852,6 +857,8 @@ i2c_get_dma_safe_msg_buf i2c_put_dma_safe_msg_buf i2c_register_driver + i2c_smbus_read_byte_data + i2c_smbus_write_byte_data i2c_transfer i2c_transfer_buffer_flags i2c_unregister_device @@ -886,6 +893,7 @@ init_dummy_netdev init_net __init_rwsem + init_task init_timer_key init_uts_ns init_wait_entry @@ -1051,6 +1059,7 @@ kstrtou8 kstrtouint kstrtoull + kstrtoull_from_user kthread_cancel_delayed_work_sync kthread_cancel_work_sync kthread_create_on_node @@ -1147,6 +1156,7 @@ misc_register mmc_of_parse mmc_send_tuning + mmput mod_delayed_work_on mod_node_page_state mod_timer @@ -1400,6 +1410,7 @@ physvirt_offset phy_unregister_fixup_for_uid phy_write_mmd + pid_task pinconf_generic_dt_node_to_map pinctrl_dev_get_drvdata pinctrl_get @@ -1466,8 +1477,10 @@ power_supply_get_drvdata power_supply_get_property power_supply_put + power_supply_register power_supply_reg_notifier power_supply_set_property + power_supply_unregister power_supply_unreg_notifier prandom_u32 preempt_schedule @@ -1647,6 +1660,7 @@ rndis_set_param_vendor rndis_signal_connect rndis_uninit + round_jiffies_relative rpmsg_create_ept rpmsg_destroy_ept rpmsg_poll @@ -1671,6 +1685,7 @@ sched_clock sched_setattr sched_setscheduler + sched_show_task schedule schedule_timeout schedule_timeout_interruptible @@ -2336,7 +2351,9 @@ __wake_up __wake_up_locked wake_up_process + wakeup_source_add wakeup_source_register + wakeup_source_remove wakeup_source_unregister __warn_printk wiphy_free From 42e516f6b23bcef8e7050d064d2c02c1464c201e Mon Sep 17 00:00:00 2001 From: Jeehong Kim Date: Mon, 12 Oct 2020 13:13:30 +0900 Subject: [PATCH 05/18] ANDROID: ABI: update allowed list for galaxy Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function int i2c_bit_add_numbered_bus(i2c_adapter*)' Bug: 170575183 Signed-off-by: Jeehong Kim Change-Id: I300ccb7a97d0671037f3af1fc81f0fa41419e3f0 --- android/abi_gki_aarch64.xml | 1115 ++++++++++++++++---------------- android/abi_gki_aarch64_galaxy | 2 + 2 files changed, 568 insertions(+), 549 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 32a09eba446c..1c0b90949bf2 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1710,6 +1710,7 @@ + @@ -15265,7 +15266,6 @@ - @@ -36752,7 +36752,7 @@ - + @@ -36916,7 +36916,7 @@ - + @@ -37604,7 +37604,7 @@ - + @@ -38380,12 +38380,12 @@ - - + + - + @@ -38399,12 +38399,12 @@ - + - + @@ -38424,7 +38424,7 @@ - + @@ -38452,7 +38452,7 @@ - + @@ -38835,7 +38835,7 @@ - + @@ -39710,6 +39710,12 @@ + + + + + + @@ -55205,6 +55211,14 @@ + + + + + + + + @@ -71769,22 +71783,6 @@ - - - - - - - - - - - - - - - - @@ -72363,6 +72361,22 @@ + + + + + + + + + + + + + + + + @@ -74772,7 +74786,7 @@ - + @@ -74902,7 +74916,7 @@ - + @@ -88584,6 +88598,23 @@ + + + + + + + + + + + + + + + + + @@ -89378,23 +89409,6 @@ - - - - - - - - - - - - - - - - - @@ -106041,80 +106055,80 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -106172,113 +106186,113 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -106292,12 +106306,12 @@ - + - + - + @@ -106306,14 +106320,14 @@ - - - - - - - - + + + + + + + + @@ -106321,16 +106335,16 @@ - - + + - - + + - - + + @@ -106342,7 +106356,7 @@ - + @@ -108342,7 +108356,7 @@ - + @@ -108426,7 +108440,7 @@ - + @@ -109310,6 +109324,17 @@ + + + + + + + + + + + @@ -109658,17 +109683,6 @@ - - - - - - - - - - - @@ -112622,7 +112636,15 @@ - + + + + + + + + + @@ -112630,7 +112652,7 @@ - + @@ -112644,7 +112666,7 @@ - + @@ -112652,7 +112674,7 @@ - + @@ -113511,7 +113533,7 @@ - + @@ -113675,7 +113697,7 @@ - + @@ -114559,7 +114581,7 @@ - + @@ -116941,6 +116963,17 @@ + + + + + + + + + + + @@ -118415,6 +118448,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -118468,6 +118777,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -118482,24 +118876,6 @@ - - - - - - - - - - - - - - - - - - @@ -118602,29 +118978,6 @@ - - - - - - - - - - - - - - - - - - - - - - - @@ -118895,334 +119248,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -120546,7 +120571,7 @@ - + @@ -120818,7 +120843,7 @@ - + @@ -121596,6 +121621,7 @@ + @@ -121621,7 +121647,7 @@ - + @@ -122104,70 +122130,70 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -122175,13 +122201,13 @@ - + - + @@ -122190,13 +122216,13 @@ - + - + @@ -122233,25 +122259,25 @@ - + - + - + - + @@ -122261,7 +122287,7 @@ - + @@ -122333,14 +122359,6 @@ - - - - - - - - @@ -123840,7 +123858,6 @@ - diff --git a/android/abi_gki_aarch64_galaxy b/android/abi_gki_aarch64_galaxy index 64224db2d514..690d1f72c4b0 100644 --- a/android/abi_gki_aarch64_galaxy +++ b/android/abi_gki_aarch64_galaxy @@ -558,6 +558,7 @@ devm_gpio_request devm_gpio_request_one devm_gpiochip_add_data + devm_gpiod_get devm_gpiod_get_optional devm_iio_channel_get devm_iio_device_alloc @@ -1100,6 +1101,7 @@ i2c_adapter_type i2c_add_adapter i2c_add_numbered_adapter + i2c_bit_add_numbered_bus i2c_bus_type i2c_del_adapter i2c_del_driver From 32b242337266a3b8e170b0ddc4bec478d5cf1f94 Mon Sep 17 00:00:00 2001 From: Sangmoon Kim Date: Thu, 8 Oct 2020 10:42:06 +0900 Subject: [PATCH 06/18] ANDROID: sysrq: add vendor hook for sysrq crash information - Add the hook to provide additional information of sysrq crash. Bug: 170234110 Signed-off-by: Sangmoon Kim Change-Id: Ib8f14eaa639b2ef959e911d611515868ff9f193d --- drivers/android/vendor_hooks.c | 2 ++ drivers/tty/sysrq.c | 4 ++++ include/trace/hooks/sysrqcrash.h | 24 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 include/trace/hooks/sysrqcrash.h diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 333f9ce7d4e0..a52cc9b90920 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -19,6 +19,7 @@ #include #include #include +#include /* * Export tracepoints that act as a bare tracehook (ie: have no trace event @@ -60,3 +61,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop); 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); diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index 573b2055173c..0329f5ec0437 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c @@ -54,6 +54,8 @@ #include #include +#include + /* Whether we react on sysrq keys or just ignore them */ static int __read_mostly sysrq_enabled = CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE; static bool __read_mostly sysrq_always_enabled; @@ -137,6 +139,8 @@ static void sysrq_handle_crash(int key) /* release the RCU read lock before crashing */ rcu_read_unlock(); + trace_android_vh_sysrq_crash(current); + panic("sysrq triggered crash\n"); } static struct sysrq_key_op sysrq_crash_op = { diff --git a/include/trace/hooks/sysrqcrash.h b/include/trace/hooks/sysrqcrash.h new file mode 100644 index 000000000000..e5d9102ba4e1 --- /dev/null +++ b/include/trace/hooks/sysrqcrash.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM sysrqcrash +#define TRACE_INCLUDE_PATH trace/hooks + +#if !defined(_TRACE_HOOK_SYSRQCRASH_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HOOK_SYSRQCRASH_H +#include +#include +/* + * Following tracepoints are not exported in tracefs and provide a + * mechanism for vendor modules to hook and extend functionality + */ +#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS) +DECLARE_HOOK(android_vh_sysrq_crash, + TP_PROTO(void *data), + TP_ARGS(data)); +#else +#define trace_android_vh_sysrq_crash(data) +#endif + +#endif /* _TRACE_HOOK_SYSRQCRASH_H */ +/* This part must be outside protection */ +#include From ecb88922f52134a4b16f16767b0317a01c1cdc53 Mon Sep 17 00:00:00 2001 From: Chenggang Wang Date: Thu, 15 Oct 2020 16:30:53 +0800 Subject: [PATCH 07/18] ANDROID: GKI: update Vivo symbol list Update the Vivo symbol list to come up to date with some more modules. No new symbols are exported from the system, so no .xml file change needed. Bug: 170931247 Change-Id: I21e8ce22e327f315efecb9c4597560239b1e0aae Signed-off-by: Chenggang Wang --- android/abi_gki_aarch64_vivo | 3 +++ 1 file changed, 3 insertions(+) diff --git a/android/abi_gki_aarch64_vivo b/android/abi_gki_aarch64_vivo index 0b239eadbc12..b0ac1774bc52 100644 --- a/android/abi_gki_aarch64_vivo +++ b/android/abi_gki_aarch64_vivo @@ -6,6 +6,7 @@ adjust_managed_page_count alarm_cancel alarm_init + alarm_start alarm_start_relative alloc_chrdev_region __alloc_disk_node @@ -858,7 +859,9 @@ i2c_put_dma_safe_msg_buf i2c_register_driver i2c_smbus_read_byte_data + i2c_smbus_read_word_data i2c_smbus_write_byte_data + i2c_smbus_write_word_data i2c_transfer i2c_transfer_buffer_flags i2c_unregister_device From 5427f8b72fc08f6cd51346ab54119799b6940963 Mon Sep 17 00:00:00 2001 From: wangting11 Date: Thu, 15 Oct 2020 20:01:18 +0800 Subject: [PATCH 08/18] ANDROID: GKI: update xiaomi symbol list Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function int snd_soc_dapm_del_routes(snd_soc_dapm_context*, const snd_soc_dapm_route*, int)' Bug: 170934475 Signed-off-by: wangting11 Change-Id: I41e9e29e5f47345ae690a005630e00670285a20a Signed-off-by: wangting11 --- android/abi_gki_aarch64.xml | 2006 ++++++++++++++++---------------- android/abi_gki_aarch64_xiaomi | 5 + 2 files changed, 1001 insertions(+), 1010 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 1c0b90949bf2..d7eb58828bf2 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -3429,6 +3429,7 @@ + @@ -5725,19 +5726,26 @@ - + - + + + + + + + + + + + - - - @@ -5747,14 +5755,6 @@ - - - - - - - - @@ -6050,7 +6050,7 @@ - + @@ -6807,7 +6807,7 @@ - + @@ -6837,7 +6837,7 @@ - + @@ -6884,7 +6884,7 @@ - + @@ -6896,7 +6896,7 @@ - + @@ -7257,7 +7257,7 @@ - + @@ -7279,7 +7279,7 @@ - + @@ -7385,7 +7385,7 @@ - + @@ -7402,26 +7402,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -7432,7 +7413,7 @@ - + @@ -7443,48 +7424,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -7494,7 +7433,7 @@ - + @@ -7727,13 +7666,13 @@ - + - + @@ -7852,27 +7791,27 @@ - + - + - + - + @@ -7890,7 +7829,7 @@ - + @@ -8515,7 +8454,7 @@ - + @@ -8934,7 +8873,7 @@ - + @@ -9008,7 +8947,7 @@ - + @@ -9028,7 +8967,7 @@ - + @@ -9076,7 +9015,7 @@ - + @@ -9429,7 +9368,7 @@ - + @@ -9448,7 +9387,7 @@ - + @@ -9465,7 +9404,7 @@ - + @@ -9727,7 +9666,7 @@ - + @@ -9757,7 +9696,7 @@ - + @@ -9907,7 +9846,7 @@ - + @@ -9944,7 +9883,7 @@ - + @@ -9952,7 +9891,7 @@ - + @@ -9976,7 +9915,7 @@ - + @@ -9987,7 +9926,7 @@ - + @@ -10005,7 +9944,7 @@ - + @@ -10024,7 +9963,7 @@ - + @@ -10035,7 +9974,7 @@ - + @@ -10043,7 +9982,7 @@ - + @@ -10051,7 +9990,7 @@ - + @@ -10063,7 +10002,7 @@ - + @@ -10085,7 +10024,7 @@ - + @@ -10107,7 +10046,7 @@ - + @@ -10116,14 +10055,6 @@ - - - - - - - - @@ -10247,7 +10178,7 @@ - + @@ -10320,14 +10251,6 @@ - - - - - - - - @@ -10902,7 +10825,7 @@ - + @@ -11282,7 +11205,7 @@ - + @@ -11337,7 +11260,7 @@ - + @@ -11658,7 +11581,7 @@ - + @@ -12340,7 +12263,7 @@ - + @@ -12348,7 +12271,7 @@ - + @@ -14292,14 +14215,6 @@ - - - - - - - - @@ -14308,14 +14223,6 @@ - - - - - - - - @@ -14343,36 +14250,106 @@ - + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - @@ -14436,6 +14413,22 @@ + + + + + + + + + + + + + + + + @@ -14514,6 +14507,14 @@ + + + + + + + + @@ -15266,6 +15267,7 @@ + @@ -18812,7 +18814,7 @@ - + @@ -18825,16 +18827,27 @@ - + + + + + + + + + + + + + + + + + + - - - - - - @@ -18850,19 +18863,6 @@ - - - - - - - - - - - - - @@ -19010,7 +19010,7 @@ - + @@ -19048,20 +19048,6 @@ - - - - - - - - - - - - - - @@ -19070,91 +19056,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -19192,17 +19094,6 @@ - - - - - - - - - - - @@ -19217,7 +19108,7 @@ - + @@ -19228,7 +19119,7 @@ - + @@ -19248,7 +19139,7 @@ - + @@ -19256,24 +19147,7 @@ - - - - - - - - - - - - - - - - - - + @@ -19371,7 +19245,7 @@ - + @@ -20167,27 +20041,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - @@ -20197,9 +20194,6 @@ - - - @@ -20273,7 +20267,7 @@ - + @@ -20562,7 +20556,7 @@ - + @@ -32659,7 +32653,7 @@ - + @@ -34043,7 +34037,7 @@ - + @@ -34304,7 +34298,7 @@ - + @@ -35310,7 +35304,7 @@ - + @@ -36752,7 +36746,7 @@ - + @@ -36916,7 +36910,7 @@ - + @@ -37005,14 +36999,6 @@ - - - - - - - - @@ -37604,7 +37590,7 @@ - + @@ -38380,12 +38366,12 @@ - - + + - + @@ -38399,12 +38385,12 @@ - + - + @@ -38424,7 +38410,7 @@ - + @@ -38452,7 +38438,7 @@ - + @@ -38835,7 +38821,7 @@ - + @@ -42970,7 +42956,7 @@ - + @@ -43045,7 +43031,7 @@ - + @@ -44747,28 +44733,45 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - @@ -45029,6 +45032,25 @@ + + + + + + + + + + + + + + + + + + + @@ -51075,6 +51097,7 @@ + @@ -51148,6 +51171,7 @@ + @@ -51206,8 +51230,6 @@ - - @@ -53949,6 +53971,14 @@ + + + + + + + + @@ -56225,11 +56255,11 @@ - + - + @@ -59531,6 +59561,17 @@ + + + + + + + + + + + @@ -59639,7 +59680,7 @@ - + @@ -59650,7 +59691,7 @@ - + @@ -60488,7 +60529,7 @@ - + @@ -60784,7 +60825,7 @@ - + @@ -60792,7 +60833,7 @@ - + @@ -60800,7 +60841,7 @@ - + @@ -60808,7 +60849,7 @@ - + @@ -61012,7 +61053,7 @@ - + @@ -61048,7 +61089,7 @@ - + @@ -62282,21 +62323,28 @@ - + - + + + + + + + + + + + - - - - + @@ -62304,14 +62352,6 @@ - - - - - - - - @@ -62837,7 +62877,7 @@ - + @@ -71783,6 +71823,22 @@ + + + + + + + + + + + + + + + + @@ -72361,22 +72417,6 @@ - - - - - - - - - - - - - - - - @@ -74786,7 +74826,7 @@ - + @@ -74916,7 +74956,7 @@ - + @@ -79373,6 +79413,23 @@ + + + + + + + + + + + + + + + + + @@ -79483,6 +79540,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -79533,6 +79802,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -79746,12 +80077,12 @@ - + - + @@ -80111,7 +80442,7 @@ - + @@ -80365,7 +80696,7 @@ - + @@ -80401,7 +80732,7 @@ - + @@ -81671,7 +82002,7 @@ - + @@ -81918,7 +82249,7 @@ - + @@ -81947,23 +82278,23 @@ - + - + - + - + - + @@ -82138,7 +82469,7 @@ - + @@ -82388,7 +82719,7 @@ - + @@ -82454,7 +82785,7 @@ - + @@ -82480,11 +82811,11 @@ - + - + @@ -82536,37 +82867,37 @@ - + - + - + - + - + - + - + @@ -82586,16 +82917,16 @@ - + - + - + @@ -83344,7 +83675,7 @@ - + @@ -83533,7 +83864,7 @@ - + @@ -83743,7 +84074,7 @@ - + @@ -83966,225 +84297,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -84210,24 +84322,6 @@ - - - - - - - - - - - - - - - - - - @@ -84297,68 +84391,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -84412,34 +84444,32 @@ - - - + - + - + - + - + @@ -84454,11 +84484,11 @@ - + - + @@ -86796,7 +86826,7 @@ - + @@ -87180,7 +87210,7 @@ - + @@ -88010,7 +88040,7 @@ - + @@ -88121,11 +88151,11 @@ - + - + @@ -88153,11 +88183,11 @@ - + - + @@ -88598,23 +88628,6 @@ - - - - - - - - - - - - - - - - - @@ -88639,12 +88652,12 @@ - + - + @@ -88906,7 +88919,7 @@ - + @@ -88928,7 +88941,7 @@ - + @@ -88961,17 +88974,6 @@ - - - - - - - - - - - @@ -89409,6 +89411,23 @@ + + + + + + + + + + + + + + + + + @@ -89479,7 +89498,7 @@ - + @@ -89508,7 +89527,7 @@ - + @@ -92177,13 +92196,10 @@ - + - - - @@ -92416,11 +92432,11 @@ - + - + @@ -93335,6 +93351,14 @@ + + + + + + + + @@ -101920,7 +101944,7 @@ - + @@ -101959,25 +101983,63 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - @@ -102025,32 +102087,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -102079,23 +102115,6 @@ - - - - - - - - - - - - - - - - - @@ -102254,7 +102273,7 @@ - + @@ -102283,7 +102302,7 @@ - + @@ -102291,7 +102310,7 @@ - + @@ -107813,7 +107832,7 @@ - + @@ -107823,7 +107842,7 @@ - + @@ -107970,18 +107989,37 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + - - - - + @@ -108003,26 +108041,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -108333,7 +108351,7 @@ - + @@ -108353,10 +108371,10 @@ - + - + @@ -108440,7 +108458,7 @@ - + @@ -108813,28 +108831,10 @@ - + - - - - - - - - - - - - - - - - - - @@ -109107,6 +109107,17 @@ + + + + + + + + + + + @@ -109126,7 +109137,7 @@ - + @@ -109324,17 +109335,6 @@ - - - - - - - - - - - @@ -109441,8 +109441,8 @@ - - + + @@ -109459,7 +109459,7 @@ - + @@ -110343,7 +110343,7 @@ - + @@ -110352,13 +110352,26 @@ - + + + + + + + + + + + + + + + + + - - - @@ -110368,20 +110381,6 @@ - - - - - - - - - - - - - - @@ -112477,7 +112476,7 @@ - + @@ -112636,15 +112635,7 @@ - - - - - - - - - + @@ -112652,7 +112643,7 @@ - + @@ -112666,7 +112657,7 @@ - + @@ -112674,7 +112665,7 @@ - + @@ -113112,7 +113103,7 @@ - + @@ -113533,7 +113524,7 @@ - + @@ -113697,7 +113688,7 @@ - + @@ -116020,11 +116011,11 @@ - + - + @@ -116963,17 +116954,6 @@ - - - - - - - - - - - @@ -117616,7 +117596,7 @@ - + @@ -117774,7 +117754,7 @@ - + @@ -119880,7 +119860,7 @@ - + @@ -122359,12 +122339,12 @@ - + - + - + @@ -129016,6 +128996,12 @@ + + + + + + @@ -130087,6 +130073,6 @@ diff --git a/android/abi_gki_aarch64_xiaomi b/android/abi_gki_aarch64_xiaomi index 8d1df4df7ba0..7b58413581e8 100644 --- a/android/abi_gki_aarch64_xiaomi +++ b/android/abi_gki_aarch64_xiaomi @@ -11,6 +11,11 @@ snd_soc_info_volsw_range snd_soc_put_volsw_range +# required by cs35l45_dlkm.ko + devm_snd_soc_register_component + regcache_drop_region + snd_soc_dapm_del_routes + # required by q6_dlkm.ko down_interruptible __kfifo_alloc From f0c4a768cfa659c67cc9ae4bdff0bd5c6262a881 Mon Sep 17 00:00:00 2001 From: Quentin Perret Date: Wed, 16 Sep 2020 18:18:25 +0100 Subject: [PATCH 09/18] UPSTREAM: ehci-hcd: Move include to keep CRC stable The CRC calculation done by genksyms is triggered when the parser hits EXPORT_SYMBOL*() macros. At this point, genksyms recursively expands the types of the function parameters, and uses that as the input for the CRC calculation. In the case of forward-declared structs, the type expands to 'UNKNOWN'. Following this, it appears that the result of the expansion of each type is cached somewhere, and seems to be re-used when/if the same type is seen again for another exported symbol in the same C file. Unfortunately, this can cause CRC 'stability' issues when a struct definition becomes visible in the middle of a C file. For example, let's assume code with the following pattern: struct foo; int bar(struct foo *arg) { /* Do work ... */ } EXPORT_SYMBOL_GPL(bar); /* This contains struct foo's definition */ #include "foo.h" int baz(struct foo *arg) { /* Do more work ... */ } EXPORT_SYMBOL_GPL(baz); Here, baz's CRC will be computed using the expansion of struct foo that was cached after bar's CRC calculation ('UNKOWN' here). But if EXPORT_SYMBOL_GPL(bar) is removed from the file (because of e.g. symbol trimming using CONFIG_TRIM_UNUSED_KSYMS), struct foo will be expanded late, during baz's CRC calculation, which now has visibility over the full struct definition, hence resulting in a different CRC for baz. The proper fix for this certainly is in genksyms, but that will take me some time to get right. In the meantime, we have seen one occurrence of this in the ehci-hcd code which hits this problem because of the way it includes C files halfway through the code together with an unlucky mix of symbol trimming. In order to workaround this, move the include done in ehci-hub.c early in ehci-hcd.c, hence making sure the struct definitions are visible to the entire file. This improves CRC stability of the ehci-hcd exports even when symbol trimming is enabled. Bug: 167230325 Acked-by: Alan Stern Cc: stable Signed-off-by: Quentin Perret Link: https://lore.kernel.org/r/20200916171825.3228122-1-qperret@google.com Signed-off-by: Greg Kroah-Hartman (cherry picked from commit 29231826f3bd65500118c473fccf31c0cf14dbc0) Signed-off-by: Greg Kroah-Hartman Change-Id: Ie56a4deee980652e5285a0744a8bcc2c9e60db73 --- drivers/usb/host/ehci-hcd.c | 1 + drivers/usb/host/ehci-hub.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index cf2b7ae93b7e..0e5c56e06559 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index ce0eaf7d7c12..087402aec5cb 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -14,7 +14,6 @@ */ /*-------------------------------------------------------------------------*/ -#include #define PORT_WAKE_BITS (PORT_WKOC_E|PORT_WKDISC_E|PORT_WKCONN_E) From 0ce2100bcf518e2f0092e7b3c8fa75a79ff8bcbf Mon Sep 17 00:00:00 2001 From: Quentin Perret Date: Thu, 1 Oct 2020 09:47:53 +0100 Subject: [PATCH 10/18] ANDROID: Drop abi_gki_aarch64_workarounds ehci_handshake was added to the symbol list as a temporary workaround for CRC-related issues in the ehci code. But since this has now been fixed, let's drop the unnecessary symbol list altogether. Bug: 167230325 Signed-off-by: Quentin Perret Signed-off-by: Greg Kroah-Hartman Change-Id: I8f56b01ff9bed8e0d417f8c90adb7c32480d55cf --- android/abi_gki_aarch64_workarounds | 3 --- build.config.gki.aarch64 | 1 - 2 files changed, 4 deletions(-) delete mode 100644 android/abi_gki_aarch64_workarounds diff --git a/android/abi_gki_aarch64_workarounds b/android/abi_gki_aarch64_workarounds deleted file mode 100644 index c96aebcba081..000000000000 --- a/android/abi_gki_aarch64_workarounds +++ /dev/null @@ -1,3 +0,0 @@ -[abi_symbol_list] - # b/167230325 - ehci_handshake diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64 index cd27f0ad7076..b5aef871837c 100644 --- a/build.config.gki.aarch64 +++ b/build.config.gki.aarch64 @@ -17,7 +17,6 @@ android/abi_gki_aarch64_qcom android/abi_gki_aarch64_sunxi android/abi_gki_aarch64_unisoc android/abi_gki_aarch64_vivo -android/abi_gki_aarch64_workarounds android/abi_gki_aarch64_xiaomi " TRIM_NONLISTED_KMI=1 From 7ee8b58cc107ebcdef16beaccf92c0a37892ef80 Mon Sep 17 00:00:00 2001 From: Suren Baghdasaryan Date: Tue, 22 Sep 2020 10:06:43 -0700 Subject: [PATCH 11/18] ANDROID: GKI: add fields required to enable CONFIG_TRANSPARENT_HUGEPAGE Devices with plenty of RAM might benefit from THP usage. Added fields would allow to enable CONFIG_TRANSPARENT_HUGEPAGE without affecting ABI. Bug: 168269341 Signed-off-by: Suren Baghdasaryan Signed-off-by: Greg Kroah-Hartman Change-Id: Ieb644a8da5377383d514197ee02d7bfd6f1d346d --- arch/arm64/configs/gki_defconfig | 1 + arch/x86/configs/gki_defconfig | 1 + include/linux/huge_mm.h | 1 + include/linux/memcontrol.h | 2 +- include/linux/mm.h | 2 +- include/linux/mm_types.h | 3 ++- include/linux/mmzone.h | 4 ++-- include/linux/vm_event_item.h | 2 +- init/Kconfig.gki | 8 ++++++++ mm/page_alloc.c | 2 +- mm/vmstat.c | 2 +- 11 files changed, 20 insertions(+), 8 deletions(-) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 9f2bdcdae163..3c3ad78c51db 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -94,6 +94,7 @@ CONFIG_MODVERSIONS=y CONFIG_BLK_INLINE_ENCRYPTION=y CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y CONFIG_GKI_HACKS_TO_FIX=y +CONFIG_GKI_OPT_FEATURES=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_BINFMT_MISC=y CONFIG_MEMORY_HOTPLUG=y diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 96140818bf38..5f6b1e4dd7f3 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -70,6 +70,7 @@ CONFIG_MODVERSIONS=y CONFIG_BLK_INLINE_ENCRYPTION=y CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y CONFIG_GKI_HACKS_TO_FIX=y +CONFIG_GKI_OPT_FEATURES=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_BINFMT_MISC=y CONFIG_CLEANCACHE=y diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 93d5cf0bc716..1c9d7ed1f75d 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -309,6 +309,7 @@ static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, } static inline void prep_transhuge_page(struct page *page) {} +static inline void free_transhuge_page(struct page *page) {} #define transparent_hugepage_flags 0UL diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index fb5b2a41bd45..bb7dd481f26b 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -330,7 +330,7 @@ struct mem_cgroup { struct list_head event_list; spinlock_t event_list_lock; -#ifdef CONFIG_TRANSPARENT_HUGEPAGE +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES) struct deferred_split deferred_split_queue; #endif diff --git a/include/linux/mm.h b/include/linux/mm.h index e032e34213aa..39bb339d4c6d 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -799,7 +799,7 @@ enum compound_dtor_id { #ifdef CONFIG_HUGETLB_PAGE HUGETLB_PAGE_DTOR, #endif -#ifdef CONFIG_TRANSPARENT_HUGEPAGE +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES) TRANSHUGE_PAGE_DTOR, #endif NR_COMPOUND_DTORS, diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 3cb63ac546be..0e4e1407d9a3 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -507,7 +507,8 @@ struct mm_struct { #ifdef CONFIG_MMU_NOTIFIER struct mmu_notifier_mm *mmu_notifier_mm; #endif -#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && !USE_SPLIT_PMD_PTLOCKS +#if (defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)) && \ + !USE_SPLIT_PMD_PTLOCKS pgtable_t pmd_huge_pte; /* protected by page_table_lock */ #endif #ifdef CONFIG_NUMA_BALANCING diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index b523ffe1161f..07e884fe9842 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -693,7 +693,7 @@ struct zonelist { extern struct page *mem_map; #endif -#ifdef CONFIG_TRANSPARENT_HUGEPAGE +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES) struct deferred_split { spinlock_t split_queue_lock; struct list_head split_queue; @@ -781,7 +781,7 @@ typedef struct pglist_data { unsigned long first_deferred_pfn; #endif /* CONFIG_DEFERRED_STRUCT_PAGE_INIT */ -#ifdef CONFIG_TRANSPARENT_HUGEPAGE +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES) struct deferred_split deferred_split_queue; #endif diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index 47a3441cf4c4..9d20f7567bdf 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h @@ -70,7 +70,7 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, UNEVICTABLE_PGMUNLOCKED, UNEVICTABLE_PGCLEARED, /* on COW, page truncate */ UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */ -#ifdef CONFIG_TRANSPARENT_HUGEPAGE +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES) THP_FAULT_ALLOC, THP_FAULT_FALLBACK, THP_COLLAPSE_ALLOC, diff --git a/init/Kconfig.gki b/init/Kconfig.gki index 53bfd9fcc311..48c0cc4aa970 100644 --- a/init/Kconfig.gki +++ b/init/Kconfig.gki @@ -208,3 +208,11 @@ config GKI_HACKS_TO_FIX Unless you are building a GKI kernel to be used with modules built from a different config, say N here. + +config GKI_OPT_FEATURES + bool "Optional GKI features" + help + Config option that should be enabled in GKI kernels to allow optional + GKI features be enabled or disabled without ABI breakage. + + If you are not building a GKI kernel, say N here. diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 8944cf01d6a6..94451809380b 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -308,7 +308,7 @@ compound_page_dtor * const compound_page_dtors[] = { #ifdef CONFIG_HUGETLB_PAGE free_huge_page, #endif -#ifdef CONFIG_TRANSPARENT_HUGEPAGE +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES) free_transhuge_page, #endif }; diff --git a/mm/vmstat.c b/mm/vmstat.c index 96d39fbb9a1f..a20d38e35805 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1253,7 +1253,7 @@ const char * const vmstat_text[] = { "unevictable_pgs_cleared", "unevictable_pgs_stranded", -#ifdef CONFIG_TRANSPARENT_HUGEPAGE +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES) "thp_fault_alloc", "thp_fault_fallback", "thp_collapse_alloc", From e89b05984d6c350a6f6f12435f0e740d835eb24f Mon Sep 17 00:00:00 2001 From: Egor Uleyskiy Date: Wed, 7 Oct 2020 21:51:30 +0300 Subject: [PATCH 12/18] ANDROID: vendor_hooks: Extend the vendor data array in task_struct Add an element to ANDROID_VENDOR_DATA_ARRAY(1,2) in task_struct Bug: 169343953 Signed-off-by: Egor Uleyskiy Signed-off-by: Greg Kroah-Hartman Change-Id: Iee22bb544da5cc355d162d7a966c656f453c8a33 --- include/linux/sched.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index a99ebd816867..54a511a71165 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1292,7 +1292,7 @@ struct task_struct { unsigned long prev_lowest_stack; #endif - ANDROID_VENDOR_DATA_ARRAY(1, 2); + ANDROID_VENDOR_DATA_ARRAY(1, 3); ANDROID_KABI_RESERVE(1); ANDROID_KABI_RESERVE(2); From 3b300ff4c5aaccd8668b891b5f9c5815696faa50 Mon Sep 17 00:00:00 2001 From: Egor Uleyskiy Date: Wed, 7 Oct 2020 21:54:07 +0300 Subject: [PATCH 13/18] ANDROID: vendor_hooks: Add a vendor data to file struct Add ANDROID_VENDOR_DATA(1) to struct file Bug: 169343953 Signed-off-by: Egor Uleyskiy Signed-off-by: Greg Kroah-Hartman Change-Id: I1afc259f2bd02fee76b20802dda74cbe79658534 --- include/linux/fs.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index adf8e771abfb..b018302ad852 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -44,6 +44,7 @@ #include #include +#include struct backing_dev_info; struct bdi_writeback; @@ -990,6 +991,8 @@ struct file { #endif /* #ifdef CONFIG_EPOLL */ struct address_space *f_mapping; errseq_t f_wb_err; + + ANDROID_VENDOR_DATA(1); } __randomize_layout __attribute__((aligned(4))); /* lest something weird decides that 2 is OK */ From b7d30a3293ec91f43c272e4307b0f01758710c31 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 8 Oct 2020 15:08:51 +0200 Subject: [PATCH 14/18] ANDROID: GKI: fs.h: add Android ABI padding to struct file Try to mitigate potential future driver core api changes by adding padding to struct file; Bug: 151154716 Signed-off-by: Greg Kroah-Hartman Change-Id: Iba08ecfbd9cf365fe867cb57dbadf2eea00eaf0c --- include/linux/fs.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index b018302ad852..f97c1879a601 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -992,6 +992,7 @@ struct file { struct address_space *f_mapping; errseq_t f_wb_err; + ANDROID_KABI_RESERVE(1); ANDROID_VENDOR_DATA(1); } __randomize_layout __attribute__((aligned(4))); /* lest something weird decides that 2 is OK */ From 9bb683349b6bb60d0a5141140a871cedf0540745 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 15 Oct 2020 17:54:38 +0200 Subject: [PATCH 15/18] ANDROID: GKI: update the .xml file with the October 15 ABI breakages Leaf changes summary: 3291 artifacts changed (10 filtered out) Changed leaf types summary: 5 (1 filtered out) leaf types changed Removed/Changed/Added functions summary: 0 Removed, 3237 Changed (9 filtered out), 0 Added function Removed/Changed/Added variables summary: 0 Removed, 49 Changed, 0 Added variable 3237 functions with some sub-type change: 49 Changed variables: type of variable changed: type size hasn't changed 1 data member insertion: 'deferred_split pglist_data::deferred_split_queue', at offset 42048 (in bits) at mmzone.h:785:1 there are data member changes: 'lruvec pglist_data::lruvec' offset changed from 42048 to 42304 (in bits) (by +256 bits) 'unsigned long int pglist_data::flags' offset changed from 43136 to 43392 (in bits) (by +256 bits) 3325 impacted interfaces type of variable changed: type size hasn't changed there are data member changes: type 'u64[2]' of 'task_struct::android_vendor_data1' changed: type name changed from 'u64[2]' to 'u64[3]' array type size changed from 128 to 192 array type subrange 1 changed length from 2 to 3 'u64 task_struct::android_kabi_reserved1' offset changed from 21312 to 21376 (in bits) (by +64 bits) 'u64 task_struct::android_kabi_reserved2' offset changed from 21376 to 21440 (in bits) (by +64 bits) 'u64 task_struct::android_kabi_reserved3' offset changed from 21440 to 21504 (in bits) (by +64 bits) 'u64 task_struct::android_kabi_reserved4' offset changed from 21504 to 21568 (in bits) (by +64 bits) 'u64 task_struct::android_kabi_reserved5' offset changed from 21568 to 21632 (in bits) (by +64 bits) 'u64 task_struct::android_kabi_reserved6' offset changed from 21632 to 21696 (in bits) (by +64 bits) 'u64 task_struct::android_kabi_reserved7' offset changed from 21696 to 21760 (in bits) (by +64 bits) 'u64 task_struct::android_kabi_reserved8' offset changed from 21760 to 21824 (in bits) (by +64 bits) 3325 impacted interfaces 'struct file at fs.h:955:1' changed: type size changed from 2048 to 2176 (in bits) 2 data member insertions: 'u64 file::android_kabi_reserved1', at offset 2048 (in bits) at fs.h:995:1 'u64 file::android_vendor_data1', at offset 2112 (in bits) at fs.h:996:1 3325 impacted interfaces 'struct mem_cgroup at memcontrol.h:208:1' changed: type size changed from 21504 to 22528 (in bits) 1 data member insertion: 'deferred_split mem_cgroup::deferred_split_queue', at offset 22144 (in bits) at memcontrol.h:334:1 there are data member changes: type 'atomic_long_t[56]' of 'mem_cgroup::vmevents' changed: type name changed from 'atomic_long_t[56]' to 'atomic_long_t[70]' array type size changed from 3584 to 4480 array type subrange 1 changed length from 56 to 70 'atomic_long_t mem_cgroup::memory_events[7]' offset changed from 17280 to 18176 (in bits) (by +896 bits) 'atomic_long_t mem_cgroup::memory_events_local[7]' offset changed from 17728 to 18624 (in bits) (by +896 bits) 'unsigned long int mem_cgroup::socket_pressure' offset changed from 18176 to 19072 (in bits) (by +896 bits) 'bool mem_cgroup::tcpmem_active' offset changed from 18240 to 19136 (in bits) (by +896 bits) 'int mem_cgroup::tcpmem_pressure' offset changed from 18272 to 19168 (in bits) (by +896 bits) 'int mem_cgroup::kmemcg_id' offset changed from 18304 to 19200 (in bits) (by +896 bits) 'memcg_kmem_state mem_cgroup::kmem_state' offset changed from 18336 to 19232 (in bits) (by +896 bits) 'list_head mem_cgroup::kmem_caches' offset changed from 18368 to 19264 (in bits) (by +896 bits) 'int mem_cgroup::last_scanned_node' offset changed from 18496 to 19392 (in bits) (by +896 bits) 'list_head mem_cgroup::cgwb_list' offset changed from 18560 to 19456 (in bits) (by +896 bits) 'wb_domain mem_cgroup::cgwb_domain' offset changed from 18688 to 19584 (in bits) (by +896 bits) 'memcg_cgwb_frn mem_cgroup::cgwb_frn[4]' offset changed from 19776 to 20672 (in bits) (by +896 bits) 'list_head mem_cgroup::event_list' offset changed from 21056 to 21952 (in bits) (by +896 bits) 'spinlock_t mem_cgroup::event_list_lock' offset changed from 21184 to 22080 (in bits) (by +896 bits) 'mem_cgroup_per_node* mem_cgroup::nodeinfo[]' offset changed from 21248 to 22400 (in bits) (by +1152 bits) 420 impacted interfaces 'struct memcg_vmstats_percpu at memcontrol.h:88:1' changed: type size changed from 6272 to 7168 (in bits) there are data member changes: type 'unsigned long int[56]' of 'memcg_vmstats_percpu::events' changed: type name changed from 'unsigned long int[56]' to 'unsigned long int[70]' array type size changed from 3584 to 4480 array type subrange 1 changed length from 56 to 70 'unsigned long int memcg_vmstats_percpu::nr_page_events' offset changed from 6016 to 6912 (in bits) (by +896 bits) 'unsigned long int memcg_vmstats_percpu::targets[3]' offset changed from 6080 to 6976 (in bits) (by +896 bits) 420 impacted interfaces 'struct pglist_data at mmzone.h:713:1' changed: details were reported earlier 'struct task_struct at sched.h:636:1' changed: details were reported earlier Bug: 161946584 Change-Id: I84324ddd226df0c756d61fc02081dc4bc37f36b1 Signed-off-by: Greg Kroah-Hartman --- android/abi_gki_aarch64.xml | 11005 ++++++++++++++++------------------ 1 file changed, 5156 insertions(+), 5849 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index d7eb58828bf2..88042d5b20bc 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2,13 +2,13 @@ - - + + - - + + - + @@ -23,32 +23,32 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - + + + + + - + @@ -56,68 +56,68 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - + + + + - - - + + + - + - - - - - + + + + + - - + + - + - - - + + + @@ -129,98 +129,98 @@ - + - + - - - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - - - + + + + - + - - - - - - - - - + + + + + + + + + - + - - - - - + + + + + - - - - + + + + @@ -228,43 +228,43 @@ - + - + - - + + - + - + - - - + + + - + - + - - - - - - - - - + + + + + + + + + @@ -291,15 +291,15 @@ - - - + + + - + @@ -307,26 +307,26 @@ - + - - - - + + + + - + - - - - - - + + + + + + - + - + @@ -334,274 +334,274 @@ - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - + + - + - - - - - - - - - + + + + + + + + + - + - - - + + + @@ -609,82 +609,82 @@ - + - - + + - + - - + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - + + - + - - - - - - - - - + + + + + + + + + - - + + - + - + - - + + - - - + + + @@ -699,375 +699,375 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1082,39 +1082,39 @@ - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + @@ -1123,417 +1123,416 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - + + + + + + - - - - + + + + - - - + + + - - + + - - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - + - + - + - + - + - - - + + + - - - - - - - - + + + + + + + + @@ -1548,139 +1547,139 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - + - - - - - - + + + + + + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - - + + + + - + @@ -1694,62 +1693,62 @@ - + - - + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + @@ -1762,10 +1761,10 @@ - - - - + + + + @@ -1774,119 +1773,119 @@ - + - - + + - - - + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -1894,223 +1893,223 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - + + + - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -2128,25 +2127,25 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + @@ -2164,83 +2163,83 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2263,99 +2262,99 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + @@ -2364,418 +2363,418 @@ - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - - + + - - - + + + - - - - + + + + - - - - + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2783,97 +2782,97 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + @@ -2895,9 +2894,9 @@ - - - + + + @@ -2905,127 +2904,127 @@ - - - - - - + + + + + + - + - + - - - + + + - - + + - + - + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - + + @@ -3038,284 +3037,284 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - - + + - + - - - - + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - + + + + - + - + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3328,235 +3327,235 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3565,11 +3564,11 @@ - + - - + + @@ -3577,7 +3576,7 @@ - + @@ -3600,306 +3599,306 @@ - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - + - - - - - - - - - - + + + + + + + + + + - + - + - - - - - - + + + + + + - + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - - + + - - + + - - - + + + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + - + @@ -3912,306 +3911,306 @@ - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - + - + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - + + + + - - + + - - + + @@ -4226,73 +4225,73 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -4325,88 +4324,88 @@ - + - + - + - + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + @@ -4416,13 +4415,13 @@ - - + + - - - + + + @@ -4434,19 +4433,19 @@ - + - - + + - + - - - - + + + + @@ -4669,8 +4668,8 @@ - - + + @@ -5726,26 +5725,19 @@ - + - - - - - - - - - - - + + + + @@ -5755,6 +5747,14 @@ + + + + + + + + @@ -5878,69 +5878,75 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + @@ -6050,7 +6056,7 @@ - + @@ -6058,251 +6064,251 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6314,47 +6320,47 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6377,380 +6383,380 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6807,7 +6813,7 @@ - + @@ -6837,7 +6843,7 @@ - + @@ -6884,7 +6890,7 @@ - + @@ -6896,7 +6902,7 @@ - + @@ -6910,63 +6916,63 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7015,108 +7021,108 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7236,28 +7242,28 @@ - + - + - + - + - + - + - + - + @@ -7279,7 +7285,7 @@ - + @@ -7385,7 +7391,7 @@ - + @@ -7402,7 +7408,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -7413,7 +7438,7 @@ - + @@ -7424,16 +7449,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -7582,16 +7649,16 @@ - + - + - + - + @@ -7666,13 +7733,13 @@ - + - + @@ -7733,7 +7800,7 @@ - + @@ -7791,27 +7858,27 @@ - + - + - + - + @@ -7829,7 +7896,7 @@ - + @@ -8398,30 +8465,30 @@ - - - - + - + - + - + - + - + - + + + + @@ -8454,7 +8521,7 @@ - + @@ -8873,7 +8940,7 @@ - + @@ -8947,7 +9014,7 @@ - + @@ -8967,7 +9034,7 @@ - + @@ -9015,7 +9082,7 @@ - + @@ -9368,7 +9435,7 @@ - + @@ -9387,7 +9454,7 @@ - + @@ -9404,7 +9471,7 @@ - + @@ -9666,7 +9733,7 @@ - + @@ -9696,7 +9763,7 @@ - + @@ -9846,7 +9913,7 @@ - + @@ -9883,7 +9950,7 @@ - + @@ -9891,7 +9958,7 @@ - + @@ -9915,7 +9982,7 @@ - + @@ -9926,7 +9993,7 @@ - + @@ -9944,7 +10011,7 @@ - + @@ -9963,7 +10030,7 @@ - + @@ -9974,7 +10041,7 @@ - + @@ -9982,7 +10049,7 @@ - + @@ -9990,7 +10057,7 @@ - + @@ -10002,7 +10069,7 @@ - + @@ -10024,7 +10091,7 @@ - + @@ -10046,7 +10113,7 @@ - + @@ -10055,6 +10122,14 @@ + + + + + + + + @@ -10178,7 +10253,7 @@ - + @@ -10251,6 +10326,14 @@ + + + + + + + + @@ -10602,87 +10685,87 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10777,15 +10860,15 @@ - + - + - + - + @@ -10825,7 +10908,7 @@ - + @@ -10954,239 +11037,239 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -11205,46 +11288,46 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -11260,7 +11343,7 @@ - + @@ -11268,7 +11351,7 @@ - + @@ -11277,24 +11360,24 @@ - + - + - + - + - + - + - + @@ -11305,24 +11388,24 @@ - + - + - + - + - + - + - + @@ -11581,7 +11664,7 @@ - + @@ -12263,7 +12346,7 @@ - + @@ -12271,7 +12354,7 @@ - + @@ -14124,28 +14207,28 @@ - + - + - + - + - + - + - + - + - + @@ -14215,23 +14298,39 @@ - + - + - + - + - + - + + + + + + - + + + + + + + + + + + + @@ -14250,106 +14349,36 @@ - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -14413,22 +14442,6 @@ - - - - - - - - - - - - - - - - @@ -14507,14 +14520,6 @@ - - - - - - - - @@ -18814,7 +18819,7 @@ - + @@ -18827,27 +18832,16 @@ - - - - - - - - - - - - - - - - - - + + + + + + + @@ -18863,6 +18857,19 @@ + + + + + + + + + + + + + @@ -19010,7 +19017,7 @@ - + @@ -19048,6 +19055,20 @@ + + + + + + + + + + + + + + @@ -19056,7 +19077,91 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19094,6 +19199,17 @@ + + + + + + + + + + + @@ -19108,7 +19224,7 @@ - + @@ -19119,7 +19235,7 @@ - + @@ -19139,7 +19255,7 @@ - + @@ -19147,7 +19263,24 @@ - + + + + + + + + + + + + + + + + + + @@ -19245,7 +19378,7 @@ - + @@ -20041,150 +20174,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -20194,6 +20204,9 @@ + + + @@ -20267,7 +20280,7 @@ - + @@ -20556,7 +20569,7 @@ - + @@ -25183,7 +25196,7 @@ - + @@ -25302,7 +25315,7 @@ - + @@ -25314,7 +25327,7 @@ - + @@ -32653,7 +32666,7 @@ - + @@ -34037,7 +34050,7 @@ - + @@ -34298,7 +34311,7 @@ - + @@ -35304,7 +35317,7 @@ - + @@ -36999,6 +37012,14 @@ + + + + + + + + @@ -37512,12 +37533,12 @@ - + - + - + @@ -40855,7 +40876,7 @@ - + @@ -40865,7 +40886,7 @@ - + @@ -40874,7 +40895,7 @@ - + @@ -42956,7 +42977,7 @@ - + @@ -43031,7 +43052,7 @@ - + @@ -44733,45 +44754,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -45032,25 +45036,6 @@ - - - - - - - - - - - - - - - - - - - @@ -51097,7 +51082,6 @@ - @@ -51171,7 +51155,6 @@ - @@ -51230,6 +51213,8 @@ + + @@ -53971,12 +53956,15 @@ - + - + - + + + + @@ -56255,11 +56243,11 @@ - + - + @@ -59561,17 +59549,6 @@ - - - - - - - - - - - @@ -59680,7 +59657,7 @@ - + @@ -59691,7 +59668,7 @@ - + @@ -60529,7 +60506,7 @@ - + @@ -60825,7 +60802,7 @@ - + @@ -60833,7 +60810,7 @@ - + @@ -60841,7 +60818,7 @@ - + @@ -60849,7 +60826,7 @@ - + @@ -61052,27 +61029,27 @@ - - + + - + - + - + - + - + - + - + @@ -61089,7 +61066,7 @@ - + @@ -62323,28 +62300,21 @@ - + - - - - - - - - - - - + + + + - + @@ -62352,6 +62322,14 @@ + + + + + + + + @@ -62877,7 +62855,7 @@ - + @@ -70154,14 +70132,14 @@ - + - + @@ -74591,7 +74569,7 @@ - + @@ -74609,7 +74587,7 @@ - + @@ -79413,23 +79391,6 @@ - - - - - - - - - - - - - - - - - @@ -79540,218 +79501,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -79802,68 +79551,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -80077,12 +79764,12 @@ - + - + @@ -80442,7 +80129,7 @@ - + @@ -80696,7 +80383,7 @@ - + @@ -80732,7 +80419,7 @@ - + @@ -82002,7 +81689,7 @@ - + @@ -82249,7 +81936,7 @@ - + @@ -82278,23 +81965,23 @@ - + - + - + - + - + @@ -82469,7 +82156,7 @@ - + @@ -82719,7 +82406,7 @@ - + @@ -82785,7 +82472,7 @@ - + @@ -82811,11 +82498,11 @@ - + - + @@ -82867,37 +82554,37 @@ - + - + - + - + - + - + - + @@ -82917,757 +82604,24 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -83675,7 +82629,7 @@ - + @@ -83864,7 +82818,7 @@ - + @@ -84074,7 +83028,7 @@ - + @@ -84297,6 +83251,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -84322,6 +83495,24 @@ + + + + + + + + + + + + + + + + + + @@ -84391,6 +83582,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -84444,32 +83697,34 @@ + + - + - + - + - + - + @@ -84484,11 +83739,11 @@ - + - + @@ -85188,6 +84443,9 @@ + + + @@ -86826,7 +86084,7 @@ - + @@ -87210,7 +86468,7 @@ - + @@ -87754,7 +87012,7 @@ - + @@ -87804,7 +87062,7 @@ - + @@ -87950,21 +87208,21 @@ - + - + - + - + - + - + @@ -88029,18 +87287,18 @@ - + - + - + - + - + @@ -88065,7 +87323,7 @@ - + @@ -88074,18 +87332,18 @@ - + - + - + @@ -88120,24 +87378,24 @@ - + - + - + - + - + @@ -88151,14 +87409,14 @@ - + - + - + @@ -88174,7 +87432,7 @@ - + @@ -88183,11 +87441,11 @@ - + - + @@ -88223,7 +87481,7 @@ - + @@ -88233,7 +87491,7 @@ - + @@ -88244,7 +87502,7 @@ - + @@ -88308,7 +87566,7 @@ - + @@ -88335,7 +87593,7 @@ - + @@ -88652,19 +87910,19 @@ - + - + - - + + @@ -88805,7 +88063,7 @@ - + @@ -88836,7 +88094,7 @@ - + @@ -88919,7 +88177,7 @@ - + @@ -88941,11 +88199,11 @@ - + - + @@ -88974,6 +88232,25 @@ + + + + + + + + + + + + + + + + + + + @@ -89411,21 +88688,21 @@ - + - + - + - + - + - + @@ -89498,7 +88775,7 @@ - + @@ -89527,7 +88804,7 @@ - + @@ -89560,7 +88837,7 @@ - + @@ -89589,7 +88866,7 @@ - + @@ -89601,7 +88878,7 @@ - + @@ -90533,11 +89810,11 @@ - + - + @@ -90550,13 +89827,13 @@ - + - + @@ -90565,7 +89842,7 @@ - + @@ -90813,7 +90090,7 @@ - + @@ -90915,21 +90192,21 @@ - + - + - + - + - + - + @@ -91158,7 +90435,7 @@ - + @@ -91294,7 +90571,7 @@ - + @@ -91333,7 +90610,7 @@ - + @@ -92196,10 +91473,13 @@ - + + + + @@ -92432,11 +91712,11 @@ - + - + @@ -93351,14 +92631,6 @@ - - - - - - - - @@ -93942,8 +93214,8 @@ - - + + @@ -94156,6 +93428,9 @@ + + + @@ -94166,9 +93441,6 @@ - - - @@ -94230,9 +93502,6 @@ - - - @@ -94240,6 +93509,9 @@ + + + @@ -96203,16 +95475,16 @@ - + - + - + - + @@ -101056,7 +100328,7 @@ - + @@ -101160,51 +100432,54 @@ - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + @@ -101315,17 +100590,17 @@ - + - + - + - + @@ -101388,6 +100663,17 @@ + + + + + + + + + + + @@ -101516,9 +100802,12 @@ + + + - + @@ -101944,7 +101233,7 @@ - + @@ -101983,63 +101272,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -102087,6 +101338,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -102115,6 +101392,23 @@ + + + + + + + + + + + + + + + + + @@ -102273,7 +101567,7 @@ - + @@ -102302,7 +101596,7 @@ - + @@ -102310,7 +101604,7 @@ - + @@ -106051,7 +105345,7 @@ - + @@ -107488,7 +106782,7 @@ - + @@ -107583,7 +106877,7 @@ - + @@ -107759,7 +107053,7 @@ - + @@ -107832,7 +107126,7 @@ - + @@ -107842,20 +107136,20 @@ - + - + - + - + @@ -107989,37 +107283,18 @@ - + - - - - - - - - - - - - - - - - - - - - - - - + + + + - + @@ -108041,6 +107316,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -108119,12 +107414,12 @@ - + - + @@ -108351,12 +107646,243 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -108371,7 +107897,7 @@ - + @@ -108509,7 +108035,18 @@ + + + + + + + + + + + @@ -108692,6 +108229,13 @@ + + + + + + + @@ -108699,6 +108243,10 @@ + + + + @@ -108831,10 +108379,28 @@ - + + + + + + + + + + + + + + + + + + + @@ -109107,17 +108673,6 @@ - - - - - - - - - - - @@ -109137,7 +108692,7 @@ - + @@ -109430,7 +108985,7 @@ - + @@ -109441,8 +108996,8 @@ - - + + @@ -109459,7 +109014,7 @@ - + @@ -110343,7 +109898,7 @@ - + @@ -110352,26 +109907,13 @@ - - - - - - - - - - - - - - - - - + + + + @@ -110381,6 +109923,20 @@ + + + + + + + + + + + + + + @@ -112476,7 +112032,7 @@ - + @@ -112657,20 +112213,20 @@ - + - + - + - + - + - + @@ -113103,7 +112659,7 @@ - + @@ -116011,11 +115567,11 @@ - + - + @@ -116827,7 +116383,7 @@ - + @@ -116850,17 +116406,17 @@ - + - + - + @@ -116954,6 +116510,17 @@ + + + + + + + + + + + @@ -117365,268 +116932,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -117698,17 +117004,6 @@ - - - - - - - - - - - @@ -117754,7 +117049,7 @@ - + @@ -119860,7 +119155,7 @@ - + @@ -122347,6 +121642,14 @@ + + + + + + + + @@ -123035,6 +122338,7 @@ + @@ -126454,6 +125758,9 @@ + + + @@ -130073,6 +129380,6 @@ From a2114d2456100c0db1d94773ec377fe8fa89f4a9 Mon Sep 17 00:00:00 2001 From: Todd Kjos Date: Thu, 15 Oct 2020 10:56:37 -0700 Subject: [PATCH 16/18] ANDROID: Update KMI_GENERATION after KMI change The KMI was changed by several patches on Oct 15. Update the generation number. Bug: 161946584 Signed-off-by: Todd Kjos Change-Id: If641819d24743f319cfe704b79ec479be8aae78f --- build.config.common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.config.common b/build.config.common index 3936fc8ef5c5..26e8f3ac9dfb 100644 --- a/build.config.common +++ b/build.config.common @@ -1,5 +1,5 @@ BRANCH=android11-5.4 -KMI_GENERATION=0 +KMI_GENERATION=1 CC=clang LD=ld.lld From c2ad8d4b00c4c559d9f68e04aae28dc0762e514b Mon Sep 17 00:00:00 2001 From: Raviteja Tamatam Date: Fri, 16 Oct 2020 15:07:02 +0530 Subject: [PATCH 17/18] ANDROID: ABI: update allowed list for QCOM Update the android/abi_gki_aarch64_qcom with recent symbol additions. No need to update the .xml file, as no new symbol addition. Bug: 171024164 Signed-off-by: Raviteja Tamatam Change-Id: I38fdb82878c578a19fb01df1e97eb7fafd7dac06 --- android/abi_gki_aarch64_qcom | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 9522a5ed5ad1..6c2539bdd013 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -574,6 +574,7 @@ dma_resv_test_signaled_rcu dma_resv_wait_timeout_rcu dma_set_coherent_mask + __dma_request_channel dma_set_mask do_exit do_wait_intr @@ -1333,11 +1334,18 @@ __mdiobus_register mdiobus_unregister media_create_pad_link + media_create_intf_link media_device_cleanup media_device_init __media_device_register + media_device_register_entity media_device_unregister + media_device_unregister_entity + media_devnode_create + media_devnode_remove media_entity_pads_init + media_entity_remove_links + media_remove_intf_links memblock_free memchr memcmp @@ -2679,7 +2687,9 @@ vb2_mmap vb2_ops_wait_finish vb2_ops_wait_prepare + vb2_plane_cookie vb2_plane_vaddr + vb2_prepare_buf vb2_poll vb2_qbuf vb2_querybuf @@ -2687,6 +2697,7 @@ vb2_queue_init vb2_queue_release vb2_reqbufs + vb2_request_object_is_buffer vb2_streamoff vb2_streamon vb2_vmalloc_memops From 8540985fd2ad34b2c6e055fb2a0bb33175f50b0d Mon Sep 17 00:00:00 2001 From: Riley Andrews Date: Fri, 2 Oct 2015 00:39:53 -0700 Subject: [PATCH 18/18] ANDROID: trace: sched: add sched blocked tracepoint which dumps out context of sleep. Declare war on uninterruptible sleep. Add a tracepoint which walks the kernel stack and dumps the first non-scheduler function called before the scheduler is invoked. Bug: 120445457 Change-Id: I19e965d5206329360a92cbfe2afcc8c30f65c229 Signed-off-by: Riley Andrews [astrachan: deleted an unnecessary whitespace change] Signed-off-by: Alistair Strachan Bug: 170916884 Signed-off-by: Todd Kjos --- include/trace/events/sched.h | 24 ++++++++++++++++++++++++ kernel/sched/fair.c | 1 + 2 files changed, 25 insertions(+) diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index 420e80e56e55..202676bbbeb5 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -402,6 +402,30 @@ DEFINE_EVENT_SCHEDSTAT(sched_stat_template, sched_stat_blocked, TP_PROTO(struct task_struct *tsk, u64 delay), TP_ARGS(tsk, delay)); +/* + * Tracepoint for recording the cause of uninterruptible sleep. + */ +TRACE_EVENT(sched_blocked_reason, + + TP_PROTO(struct task_struct *tsk), + + TP_ARGS(tsk), + + TP_STRUCT__entry( + __field( pid_t, pid ) + __field( void*, caller ) + __field( bool, io_wait ) + ), + + TP_fast_assign( + __entry->pid = tsk->pid; + __entry->caller = (void *)get_wchan(tsk); + __entry->io_wait = tsk->in_iowait; + ), + + TP_printk("pid=%d iowait=%d caller=%pS", __entry->pid, __entry->io_wait, __entry->caller) +); + /* * Tracepoint for accounting runtime (time the task is executing * on a CPU). diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 1847651661e8..f78a92c2b54b 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -973,6 +973,7 @@ update_stats_enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se) } trace_sched_stat_blocked(tsk, delta); + trace_sched_blocked_reason(tsk); /* * Blocking time is in units of nanosecs, so shift by