From 0495a11f43c325ee9f535e3cfc3a4c77c9e30046 Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Mon, 5 Dec 2022 15:59:49 +0530 Subject: [PATCH 1/6] ANDROID: vendor hooks: Export symbols for bootloader based hibernation To add encryption support to bootloader based hibernation, export symbols snapshot_get_image_size and alloc_swapdev_block. These symbols can be used by vendor implementation to be called before and after storing the snapshot image. Bug: 260069271 Change-Id: I0d44bf833a97fce5bc5213712b2b2523a9e22607 Signed-off-by: Shreyas K K --- include/linux/swap.h | 1 + kernel/power/snapshot.c | 1 + kernel/power/swap.c | 1 + 3 files changed, 3 insertions(+) diff --git a/include/linux/swap.h b/include/linux/swap.h index 081ac2871103..20ce498ba59d 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -522,6 +522,7 @@ extern int init_swap_address_space(unsigned int type, unsigned long nr_pages); extern void exit_swap_address_space(unsigned int type); extern struct swap_info_struct *get_swap_device(swp_entry_t entry); sector_t swap_page_sector(struct page *page); +extern sector_t alloc_swapdev_block(int swap); static inline void put_swap_device(struct swap_info_struct *si) { diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c index 330d49937692..6ed6e860a5ed 100644 --- a/kernel/power/snapshot.c +++ b/kernel/power/snapshot.c @@ -2078,6 +2078,7 @@ unsigned long snapshot_get_image_size(void) { return nr_copy_pages + nr_meta_pages + 1; } +EXPORT_SYMBOL_GPL(snapshot_get_image_size); static int init_header(struct swsusp_info *info) { diff --git a/kernel/power/swap.c b/kernel/power/swap.c index 8747b8871c51..85f00d5269c3 100644 --- a/kernel/power/swap.c +++ b/kernel/power/swap.c @@ -187,6 +187,7 @@ sector_t alloc_swapdev_block(int swap) } return 0; } +EXPORT_SYMBOL_GPL(alloc_swapdev_block); /** * free_all_swap_pages - free swap pages allocated for saving image data. From a5941bf2051159a2edb08c8c16a9b449404e7c91 Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Wed, 7 Dec 2022 10:02:42 +0530 Subject: [PATCH 2/6] ANDROID: vendor hooks: Encrypt snapshot for bootloader based hibernation Add encryption support to bootloader based hibernation. This will encrypt the hibernation snapshot image before it is written to the swap partition. Bug: 260069271 Change-Id: I07046ad7fb848fc62258871ab41b3e03246c40dc Signed-off-by: Shreyas K K --- drivers/android/vendor_hooks.c | 4 ++++ include/trace/hooks/bl_hib.h | 16 ++++++++++++++++ kernel/power/swap.c | 13 ++++++++++--- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 33886a858282..81b1c321fabd 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -405,6 +405,10 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_save_hib_resume_bdev); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dma_buf_stats_teardown); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_madvise_cold_or_pageout); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_retry); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_encrypt_page); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_init_aes_encrypt); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_skip_swap_map_write); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_post_image_save); /* * For type visibility diff --git a/include/trace/hooks/bl_hib.h b/include/trace/hooks/bl_hib.h index 13bfa63dd224..7fb33cfcd855 100644 --- a/include/trace/hooks/bl_hib.h +++ b/include/trace/hooks/bl_hib.h @@ -23,6 +23,22 @@ DECLARE_HOOK(android_vh_save_hib_resume_bdev, TP_PROTO(struct block_device *hib_resume_bdev), TP_ARGS(hib_resume_bdev)); +DECLARE_HOOK(android_vh_encrypt_page, + TP_PROTO(void *buf), + TP_ARGS(buf)); + +DECLARE_HOOK(android_vh_init_aes_encrypt, + TP_PROTO(void *unused), + TP_ARGS(unused)); + +DECLARE_HOOK(android_vh_skip_swap_map_write, + TP_PROTO(bool *skip), + TP_ARGS(skip)); + +DECLARE_HOOK(android_vh_post_image_save, + TP_PROTO(unsigned short root_swap), + TP_ARGS(root_swap)); + #endif /* _TRACE_HOOK_S2D_H */ /* This part must be outside protection */ #include diff --git a/kernel/power/swap.c b/kernel/power/swap.c index 85f00d5269c3..09ee9fb4268a 100644 --- a/kernel/power/swap.c +++ b/kernel/power/swap.c @@ -452,6 +452,7 @@ static int swap_write_page(struct swap_map_handle *handle, void *buf, { int error = 0; sector_t offset; + bool skip = false; if (!handle->cur) return -EINVAL; @@ -465,9 +466,12 @@ static int swap_write_page(struct swap_map_handle *handle, void *buf, if (!offset) return -ENOSPC; handle->cur->next_swap = offset; - error = write_page(handle->cur, handle->cur_swap, hb); - if (error) - goto out; + trace_android_vh_skip_swap_map_write(&skip); + if (!skip) { + error = write_page(handle->cur, handle->cur_swap, hb); + if (error) + goto out; + } clear_page(handle->cur); handle->cur_swap = offset; handle->k = 0; @@ -562,6 +566,7 @@ static int save_image(struct swap_map_handle *handle, ret = snapshot_read_next(snapshot); if (ret <= 0) break; + trace_android_vh_encrypt_page(data_of(*snapshot)); ret = swap_write_page(handle, data_of(*snapshot), &hb); if (ret) break; @@ -578,6 +583,7 @@ static int save_image(struct swap_map_handle *handle, if (!ret) pr_info("Image saving done\n"); swsusp_show_speed(start, stop, nr_to_write, "Wrote"); + trace_android_vh_post_image_save(root_swap); return ret; } @@ -924,6 +930,7 @@ int swsusp_write(unsigned int flags) pr_err("Cannot get swap writer\n"); return error; } + trace_android_vh_init_aes_encrypt(NULL); if (flags & SF_NOCOMPRESS_MODE) { if (!enough_swap(pages)) { pr_err("Not enough free swap\n"); From 916755255d3c7ea5a13c2efe56b0ccc68ebf15de Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Fri, 6 Jan 2023 21:33:28 +0530 Subject: [PATCH 3/6] ANDROID: abi_gki_aarch64_qcom: Add secure hibernation APIs Add tracepoints related to commit 3cc69a0a0aff ("ANDROID: vendor hooks: Encrypt snapshot for bootloader based hibernation") Leaf changes summary: 10 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 6 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 4 Added variables 6 Added functions: [A] 'function int __traceiter_android_vh_encrypt_page(void*, void*)' [A] 'function int __traceiter_android_vh_init_aes_encrypt(void*, void*)' [A] 'function int __traceiter_android_vh_post_image_save(void*, unsigned short int)' [A] 'function int __traceiter_android_vh_skip_swap_map_write(void*, bool*)' [A] 'function sector_t alloc_swapdev_block(int)' [A] 'function unsigned long int snapshot_get_image_size()' 4 Added variables: [A] 'tracepoint __tracepoint_android_vh_encrypt_page' [A] 'tracepoint __tracepoint_android_vh_init_aes_encrypt' [A] 'tracepoint __tracepoint_android_vh_post_image_save' [A] 'tracepoint __tracepoint_android_vh_skip_swap_map_write' Bug: 262644209 Change-Id: Icdbeaa177931d89e953c849c9d4a8fcbf58dced8 Signed-off-by: Shreyas K K --- android/abi_gki_aarch64.xml | 41 ++++++++++++++++++++++++++++++++++++ android/abi_gki_aarch64_qcom | 10 +++++++++ 2 files changed, 51 insertions(+) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 9209e886c8ee..cf1a862c115b 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -539,6 +539,7 @@ + @@ -562,6 +563,7 @@ + @@ -608,6 +610,7 @@ + @@ -649,6 +652,7 @@ + @@ -877,6 +881,7 @@ + @@ -5270,6 +5275,7 @@ + @@ -6906,6 +6912,7 @@ + @@ -6929,6 +6936,7 @@ + @@ -6976,6 +6984,7 @@ + @@ -7022,6 +7031,7 @@ + @@ -128640,6 +128650,11 @@ + + + + + @@ -128778,6 +128793,11 @@ + + + + + @@ -129055,6 +129075,11 @@ + + + + + @@ -129298,6 +129323,11 @@ + + + + + @@ -130113,6 +130143,7 @@ + @@ -130136,6 +130167,7 @@ + @@ -130183,6 +130215,7 @@ + @@ -130229,6 +130262,7 @@ + @@ -131054,6 +131088,10 @@ + + + + @@ -153904,6 +153942,9 @@ + + + diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 28a6079bd34c..15df4abcebe6 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -19,6 +19,7 @@ __alloc_percpu __alloc_skb alloc_skb_with_frags + alloc_swapdev_block alloc_workqueue amba_bustype amba_driver_register @@ -1905,6 +1906,7 @@ smp_call_function smp_call_function_single smp_call_function_single_async + snapshot_get_image_size snd_info_create_module_entry snd_info_free_entry snd_info_register @@ -2152,6 +2154,7 @@ __traceiter_android_vh_cpuidle_psci_exit __traceiter_android_vh_disable_thermal_cooling_stats __traceiter_android_vh_do_wake_up_sync + __traceiter_android_vh_encrypt_page __traceiter_android_vh_ftrace_dump_buffer __traceiter_android_vh_ftrace_format_check __traceiter_android_vh_ftrace_oops_enter @@ -2160,6 +2163,7 @@ __traceiter_android_vh_gic_resume __traceiter_android_vh_gic_v2_resume __traceiter_android_vh_handle_tlb_conf + __traceiter_android_vh_init_aes_encrypt __traceiter_android_vh_ipi_stop __traceiter_android_vh_jiffies_update __traceiter_android_vh_kswapd_per_node @@ -2168,6 +2172,7 @@ __traceiter_android_vh_madvise_cold_or_pageout __traceiter_android_vh_mmc_sdio_pm_flag_set __traceiter_android_vh_mmc_sd_update_cmdline_timing + __traceiter_android_vh_post_image_save __traceiter_android_vh_printk_hotplug __traceiter_android_vh_rproc_recovery __traceiter_android_vh_rproc_recovery_set @@ -2176,6 +2181,7 @@ __traceiter_android_vh_scheduler_tick __traceiter_android_vh_show_resume_epoch_val __traceiter_android_vh_show_suspend_epoch_val + __traceiter_android_vh_skip_swap_map_write __traceiter_android_vh_timer_calc_index __traceiter_android_vh_ufs_check_int_errors __traceiter_android_vh_ufs_clock_scaling @@ -2265,6 +2271,7 @@ __tracepoint_android_vh_cpuidle_psci_exit __tracepoint_android_vh_disable_thermal_cooling_stats __tracepoint_android_vh_do_wake_up_sync + __tracepoint_android_vh_encrypt_page __tracepoint_android_vh_ftrace_dump_buffer __tracepoint_android_vh_ftrace_format_check __tracepoint_android_vh_ftrace_oops_enter @@ -2273,6 +2280,7 @@ __tracepoint_android_vh_gic_resume __tracepoint_android_vh_gic_v2_resume __tracepoint_android_vh_handle_tlb_conf + __tracepoint_android_vh_init_aes_encrypt __tracepoint_android_vh_ipi_stop __tracepoint_android_vh_jiffies_update __tracepoint_android_vh_kswapd_per_node @@ -2281,6 +2289,7 @@ __tracepoint_android_vh_madvise_cold_or_pageout __tracepoint_android_vh_mmc_sdio_pm_flag_set __tracepoint_android_vh_mmc_sd_update_cmdline_timing + __tracepoint_android_vh_post_image_save __tracepoint_android_vh_printk_hotplug __tracepoint_android_vh_rproc_recovery __tracepoint_android_vh_rproc_recovery_set @@ -2289,6 +2298,7 @@ __tracepoint_android_vh_scheduler_tick __tracepoint_android_vh_show_resume_epoch_val __tracepoint_android_vh_show_suspend_epoch_val + __tracepoint_android_vh_skip_swap_map_write __tracepoint_android_vh_timer_calc_index __tracepoint_android_vh_ufs_check_int_errors __tracepoint_android_vh_ufs_clock_scaling From fe4d27c3709a9910097347db79d935bea6a523cf Mon Sep 17 00:00:00 2001 From: Nagireddy Annem Date: Tue, 15 Nov 2022 09:35:26 +0530 Subject: [PATCH 4/6] ANDROID: irqchip/irq-gic-v3: Add vendor hook for gic suspend This change adds vendor hook for gic suspend syscore ops callback. And it is invoked during deepsleep and hibernation to store gic register snapshot. Bug: 259163247 Change-Id: I4e3729afa4daf18d73e00ee9601b6da72a578b4a Signed-off-by: Nagireddy Annem (cherry picked from commit 9d0ccb89bcd4b7cfd6886adb5e21a138064208cd) --- drivers/android/vendor_hooks.c | 1 + drivers/irqchip/irq-gic-v3.c | 17 ++++++++++++++--- include/linux/irqchip/arm-gic-v3.h | 3 +++ include/trace/hooks/gic_v3.h | 3 +++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 81b1c321fabd..cb0ff8e7e646 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -148,6 +148,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_enter); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_exit); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mpam_set); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_resume); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_suspend); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_wq_lockup_pool); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sysrq_crash); diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index bbee60844ee7..632f12d3fcb7 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -214,10 +214,11 @@ static void gic_do_wait_for_rwp(void __iomem *base, u32 bit) } /* Wait for completion of a distributor change */ -static void gic_dist_wait_for_rwp(void) +void gic_dist_wait_for_rwp(void) { gic_do_wait_for_rwp(gic_data.dist_base, GICD_CTLR_RWP); } +EXPORT_SYMBOL_GPL(gic_dist_wait_for_rwp); /* Wait for completion of a redistributor change */ static void gic_redist_wait_for_rwp(void) @@ -791,7 +792,7 @@ static bool gic_has_group0(void) return val != 0; } -static void __init gic_dist_init(void) +void gic_dist_init(void) { unsigned int i; u64 affinity; @@ -853,6 +854,7 @@ static void __init gic_dist_init(void) gic_write_irouter(affinity, base + GICD_IROUTERnE + i * 8); } } +EXPORT_SYMBOL_GPL(gic_dist_init); static int gic_iterate_rdists(int (*fn)(struct redist_region *, void __iomem *)) { @@ -1134,7 +1136,7 @@ static int gic_dist_supports_lpis(void) !gicv3_nolpi); } -static void gic_cpu_init(void) +void gic_cpu_init(void) { void __iomem *rbase; int i; @@ -1161,6 +1163,7 @@ static void gic_cpu_init(void) /* initialise system registers */ gic_cpu_sys_reg_init(); } +EXPORT_SYMBOL_GPL(gic_cpu_init); #ifdef CONFIG_SMP @@ -1363,8 +1366,15 @@ void gic_resume(void) } EXPORT_SYMBOL_GPL(gic_resume); +static int gic_suspend(void) +{ + trace_android_vh_gic_suspend(&gic_data); + return 0; +} + static struct syscore_ops gic_syscore_ops = { .resume = gic_resume, + .suspend = gic_suspend, }; static void gic_syscore_init(void) @@ -1375,6 +1385,7 @@ static void gic_syscore_init(void) #else static inline void gic_syscore_init(void) { } void gic_resume(void) { } +static int gic_suspend(void) { return 0; } #endif diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 4a49a763f5e5..6f8c62160565 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h @@ -676,6 +676,9 @@ static inline bool gic_enable_sre(void) #endif void gic_resume(void); +void gic_dist_init(void); +void gic_cpu_init(void); +void gic_dist_wait_for_rwp(void); #endif diff --git a/include/trace/hooks/gic_v3.h b/include/trace/hooks/gic_v3.h index d4eceda59676..4d93422a2b3e 100644 --- a/include/trace/hooks/gic_v3.h +++ b/include/trace/hooks/gic_v3.h @@ -32,6 +32,9 @@ DECLARE_RESTRICTED_HOOK(android_rvh_gic_v3_set_affinity, DECLARE_HOOK(android_vh_gic_resume, TP_PROTO(struct gic_chip_data *gd), TP_ARGS(gd)); +DECLARE_HOOK(android_vh_gic_suspend, + TP_PROTO(struct gic_chip_data *gd), + TP_ARGS(gd)); #endif /* _TRACE_HOOK_GIC_V3_H */ /* This part must be outside protection */ From fd3da776396c69d743d0e9c481d9832413dd934a Mon Sep 17 00:00:00 2001 From: Nagireddy Annem Date: Sat, 24 Dec 2022 06:38:04 +0530 Subject: [PATCH 5/6] ANDROID: Update the GKI symbol list and ABI XML Add below fnctions and symbols to support GIC Deepsleep and Hibernation feature. 4 function symbol(s) added 'int __traceiter_android_vh_gic_suspend(void *, struct gic_chip_data *)' 'void gic_cpu_init()' 'void gic_dist_init()' 'void gic_dist_wait_for_rwp()' 1 variable symbol(s) added 'struct tracepoint __tracepoint_android_vh_gic_suspend' Bug: 259163247 Change-Id: I96e439ef537e5dfc4e16c76fe6dd91bd5f13d6dd Signed-off-by: Nagireddy Annem (cherry picked from commit 6525e159bb43a70eaaa46877222ba4b0a7fc1f16) --- android/abi_gki_aarch64.xml | 24 ++++++++++++++++++++++-- android/abi_gki_aarch64_qcom | 5 +++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index cf1a862c115b..83bec6f2b0ef 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -560,6 +560,7 @@ + @@ -2893,6 +2894,9 @@ + + + @@ -6933,6 +6937,7 @@ + @@ -51346,7 +51351,7 @@ - + @@ -128775,6 +128780,11 @@ + + + + + @@ -130164,6 +130174,7 @@ + @@ -141745,8 +141756,17 @@ + + + + + + + + + - + diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 15df4abcebe6..cbfd29397df8 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -771,6 +771,9 @@ get_unused_fd_flags get_user_ifreq get_zeroed_page + gic_cpu_init + gic_dist_init + gic_dist_wait_for_rwp gic_nonsecure_priorities gic_resume gic_v2_resume @@ -2161,6 +2164,7 @@ __traceiter_android_vh_ftrace_oops_exit __traceiter_android_vh_ftrace_size_check __traceiter_android_vh_gic_resume + __traceiter_android_vh_gic_suspend __traceiter_android_vh_gic_v2_resume __traceiter_android_vh_handle_tlb_conf __traceiter_android_vh_init_aes_encrypt @@ -2278,6 +2282,7 @@ __tracepoint_android_vh_ftrace_oops_exit __tracepoint_android_vh_ftrace_size_check __tracepoint_android_vh_gic_resume + __tracepoint_android_vh_gic_suspend __tracepoint_android_vh_gic_v2_resume __tracepoint_android_vh_handle_tlb_conf __tracepoint_android_vh_init_aes_encrypt From 0219b0d21ff6e269a7870073e92fb1cb0295ab2d Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Lanka Date: Wed, 26 Oct 2022 17:28:11 -0700 Subject: [PATCH 6/6] ANDROID: GKI: Update abi_gki_aarch64_qcom Add blkdev_compat_ptr_ioct and ktime_add_safe symbols 2 function symbol(s) added 'int blkdev_compat_ptr_ioctl(struct block_device *, fmode_t, unsigned int, unsigned long int)' 'ktime_t ktime_add_safe(const ktime_t, const ktime_t)' Bug: 256033907 Bug: 265356072 Change-Id: I6d9ab59651505479b8cfba1090b418ee9b3394c4 Signed-off-by: Vamsi Krishna Lanka Signed-off-by: Blagovest Kolenichev (cherry picked from commit 4fa690983de16baf7995040065a29d4173688854) --- android/abi_gki_aarch64.xml | 305 ++++++++++++++++++----------------- android/abi_gki_aarch64_qcom | 2 + 2 files changed, 162 insertions(+), 145 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 83bec6f2b0ef..b12876989058 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1045,6 +1045,7 @@ + @@ -3541,6 +3542,7 @@ + @@ -7379,7 +7381,7 @@ - + @@ -7943,7 +7945,7 @@ - + @@ -14293,7 +14295,7 @@ - + @@ -14305,7 +14307,7 @@ - + @@ -14332,10 +14334,10 @@ - + - + @@ -15957,7 +15959,7 @@ - + @@ -21303,7 +21305,7 @@ - + @@ -24471,7 +24473,7 @@ - + @@ -27164,7 +27166,7 @@ - + @@ -33612,7 +33614,7 @@ - + @@ -39619,63 +39621,63 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -46726,7 +46728,7 @@ - + @@ -47438,7 +47440,7 @@ - + @@ -47456,7 +47458,7 @@ - + @@ -49557,7 +49559,7 @@ - + @@ -53897,7 +53899,7 @@ - + @@ -55459,13 +55461,13 @@ - + - + - + @@ -60212,7 +60214,7 @@ - + @@ -66675,7 +66677,7 @@ - + @@ -71376,7 +71378,7 @@ - + @@ -75420,10 +75422,10 @@ - + - + @@ -79261,7 +79263,7 @@ - + @@ -79757,7 +79759,7 @@ - + @@ -81388,7 +81390,15 @@ - + + + + + + + + + @@ -81396,7 +81406,7 @@ - + @@ -81404,7 +81414,7 @@ - + @@ -81415,7 +81425,7 @@ - + @@ -81423,7 +81433,7 @@ - + @@ -81431,7 +81441,7 @@ - + @@ -81439,7 +81449,7 @@ - + @@ -81447,7 +81457,7 @@ - + @@ -81455,7 +81465,7 @@ - + @@ -81466,7 +81476,7 @@ - + @@ -81474,7 +81484,7 @@ - + @@ -81482,7 +81492,7 @@ - + @@ -81493,7 +81503,7 @@ - + @@ -81504,7 +81514,7 @@ - + @@ -81512,7 +81522,7 @@ - + @@ -81520,7 +81530,7 @@ - + @@ -81528,7 +81538,7 @@ - + @@ -81536,7 +81546,7 @@ - + @@ -81544,7 +81554,7 @@ - + @@ -81552,7 +81562,7 @@ - + @@ -81560,12 +81570,12 @@ - + - + @@ -81591,7 +81601,7 @@ - + @@ -81605,7 +81615,7 @@ - + @@ -81613,7 +81623,7 @@ - + @@ -81621,7 +81631,7 @@ - + @@ -81632,7 +81642,7 @@ - + @@ -81640,7 +81650,7 @@ - + @@ -81648,7 +81658,7 @@ - + @@ -81656,7 +81666,7 @@ - + @@ -81667,7 +81677,7 @@ - + @@ -81675,7 +81685,7 @@ - + @@ -81686,7 +81696,7 @@ - + @@ -81694,7 +81704,7 @@ - + @@ -81702,7 +81712,7 @@ - + @@ -81719,7 +81729,7 @@ - + @@ -81730,7 +81740,7 @@ - + @@ -81738,7 +81748,7 @@ - + @@ -81746,7 +81756,7 @@ - + @@ -81754,7 +81764,7 @@ - + @@ -81765,7 +81775,7 @@ - + @@ -81773,14 +81783,6 @@ - - - - - - - - @@ -86507,7 +86509,7 @@ - + @@ -87008,7 +87010,7 @@ - + @@ -97227,7 +97229,7 @@ - + @@ -99224,7 +99226,7 @@ - + @@ -104319,7 +104321,7 @@ - + @@ -104511,10 +104513,10 @@ - + - + @@ -106515,6 +106517,7 @@ + @@ -112951,12 +112954,12 @@ - + - + @@ -112965,7 +112968,7 @@ - + @@ -113007,7 +113010,7 @@ - + @@ -113263,7 +113266,7 @@ - + @@ -117460,7 +117463,7 @@ - + @@ -119323,7 +119326,7 @@ - + @@ -119603,10 +119606,10 @@ - + - + @@ -121235,7 +121238,7 @@ - + @@ -124565,13 +124568,13 @@ - + - + @@ -125299,7 +125302,7 @@ - + @@ -126421,13 +126424,13 @@ - - - - - - - + + + + + + + @@ -131931,6 +131934,13 @@ + + + + + + + @@ -144866,13 +144876,13 @@ - - - + + + - - + + @@ -145115,6 +145125,11 @@ + + + + + @@ -151954,10 +151969,10 @@ - - - - + + + + @@ -157538,21 +157553,21 @@ - - - + + + - - + + - - + + - - + + @@ -157562,13 +157577,13 @@ - - - + + + - - + + diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index cbfd29397df8..4b1ff7f9a757 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -112,6 +112,7 @@ blk_rq_map_user_iov blk_rq_unmap_user blk_sync_queue + blkdev_compat_ptr_ioctl blocking_notifier_call_chain blocking_notifier_chain_register blocking_notifier_chain_unregister @@ -1124,6 +1125,7 @@ kthread_should_stop kthread_stop kthread_worker_fn + ktime_add_safe ktime_get ktime_get_mono_fast_ns ktime_get_real_ts64