Merge branch 'android11-5.4' into 'android11-5.4-lts

Sync up with android11-5.4 for the following commits:

42e516f6b2 ANDROID: ABI: update allowed list for galaxy
de198b0f2d ANDROID: GKI: update Vivo symbol list
c37c28d9aa ANDROID: adding __nocfi to cpuidle_enter_state
ebaebc32e5 ANDROID: ABI: update allowed list for galaxy
2ea974a00c ANDROID: workqueue: add vendor hook for wq lockup information
d240b6929c ANDROID: db845c_gki.fragment: Add missing qcom drivers required for cpufreq functionality
81e694dedc ANDROID: ABI: update allowed list for QCOM

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Idbce7f9daa342e5ae3356193cfa2771054303838
This commit is contained in:
Greg Kroah-Hartman 2020-10-14 09:57:56 +02:00
commit 1dc6fc5d03
9 changed files with 1293 additions and 1009 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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
@ -546,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
@ -914,6 +927,7 @@
dw_pcie_read
dw_pcie_setup_rc
dw_pcie_write
emergency_restart
enable_irq
enable_percpu_irq
end_buffer_read_sync
@ -994,10 +1008,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 +1028,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
@ -1084,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
@ -1356,6 +1374,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 +1697,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 +1903,7 @@
rfkill_destroy
rfkill_init_sw_state
rfkill_register
rfkill_set_sw_state
rfkill_unregister
rndis_deregister
rndis_free_response
@ -1969,6 +1990,7 @@
sdhci_set_bus_width
sdhci_setup_host
sdio_signal_irq
send_sig
send_sig_info
seq_lseek
seq_printf
@ -2018,6 +2040,7 @@
skb_copy_bits
skb_copy_datagram_iter
skb_copy_expand
skb_copy_ubufs
skb_dequeue
skb_free_datagram
skb_pull
@ -2036,6 +2059,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 +2187,7 @@
sock_alloc_send_skb
sock_create_kern
sock_gettstamp
sock_i_uid
sock_init_data
sock_no_accept
sock_no_getsockopt
@ -2176,6 +2201,7 @@
sock_register
sock_release
sock_unregister
sock_wfree
sort
spi_bus_type
spi_controller_resume
@ -2231,6 +2257,7 @@
strreplace
strscpy
strsep
strspn
strstr
submit_bh
subsys_system_register
@ -2428,6 +2455,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 +2646,7 @@
vm_unmap_ram
vmalloc
vmalloc_to_page
vmalloc_to_pfn
vmalloc_user
vmap
vmemmap

View File

@ -1834,6 +1834,7 @@
refcount_inc_not_zero_checked
__refrigerator
regcache_cache_only
regcache_cache_bypass
regcache_mark_dirty
regcache_sync
regcache_sync_region
@ -1866,6 +1867,7 @@
regmap_mmio_detach_clk
regmap_raw_read
regmap_read
regmap_register_patch
regmap_update_bits_base
regmap_write
regulator_bulk_disable

View File

@ -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

View File

@ -65,3 +65,4 @@ CONFIG_ARM_SMMU=m
CONFIG_INCREMENTAL_FS=m
CONFIG_PINCTRL_MSM=m
CONFIG_QCOM_COMMAND_DB=m
CONFIG_ARM_QCOM_CPUFREQ_HW=m

View File

@ -18,6 +18,7 @@
#include <trace/hooks/topology.h>
#include <trace/hooks/debug.h>
#include <trace/hooks/minidump.h>
#include <trace/hooks/wqlockup.h>
/*
* 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);

View File

@ -195,7 +195,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;

View File

@ -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 <linux/tracepoint.h>
#include <trace/hooks/vendor_hooks.h>
/*
* 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 <trace/define_trace.h>

View File

@ -53,6 +53,10 @@
#include "workqueue_internal.h"
#include <trace/hooks/wqlockup.h>
/* events/workqueue.h uses default TRACE_INCLUDE_PATH */
#undef TRACE_INCLUDE_PATH
enum {
/*
* worker_pool flags
@ -5770,6 +5774,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);
}
}