Merge branch 'android13-5.15' into android13-5.15-lts
Need to merge back android13-5.15 to get the ABI updates so we can fix presubmits on this branch. Change-Id: If7150cb0c3e4b8872bdebf2e622efb3a0739bd55 Signed-off-by: Alistair Delva <adelva@google.com>
This commit is contained in:
@@ -1 +0,0 @@
|
||||
per-file sysfs-fs-f2fs=file:/fs/f2fs/OWNERS
|
||||
@@ -223,6 +223,29 @@ address ABI control and MTE configuration of a process as per the
|
||||
Documentation/arm64/tagged-address-abi.rst and above. The corresponding
|
||||
``regset`` is 1 element of 8 bytes (``sizeof(long))``).
|
||||
|
||||
Core dump support
|
||||
-----------------
|
||||
|
||||
The allocation tags for user memory mapped with ``PROT_MTE`` are dumped
|
||||
in the core file as additional ``PT_AARCH64_MEMTAG_MTE`` segments. The
|
||||
program header for such segment is defined as:
|
||||
|
||||
:``p_type``: ``PT_AARCH64_MEMTAG_MTE``
|
||||
:``p_flags``: 0
|
||||
:``p_offset``: segment file offset
|
||||
:``p_vaddr``: segment virtual address, same as the corresponding
|
||||
``PT_LOAD`` segment
|
||||
:``p_paddr``: 0
|
||||
:``p_filesz``: segment size in file, calculated as ``p_mem_sz / 32``
|
||||
(two 4-bit tags cover 32 bytes of memory)
|
||||
:``p_memsz``: segment size in memory, same as the corresponding
|
||||
``PT_LOAD`` segment
|
||||
:``p_align``: 0
|
||||
|
||||
The tags are stored in the core file at ``p_offset`` as two 4-bit tags
|
||||
in a byte. With the tag granule of 16 bytes, a 4K page requires 128
|
||||
bytes in the core file.
|
||||
|
||||
Example of correct usage
|
||||
========================
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
per-file f2fs**=file:/fs/f2fs/OWNERS
|
||||
2
Makefile
2
Makefile
@@ -1961,7 +1961,7 @@ quiet_cmd_gen_compile_commands = GEN $@
|
||||
cmd_gen_compile_commands = $(PYTHON3) $< -a $(AR) -o $@ $(filter-out $<, $(real-prereqs))
|
||||
|
||||
$(extmod_prefix)compile_commands.json: scripts/clang-tools/gen_compile_commands.py \
|
||||
$(if $(KBUILD_EXTMOD),,$(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)) \
|
||||
$(if $(KBUILD_EXTMOD)$(KBUILD_MIXED_TREE),,$(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)) \
|
||||
$(if $(CONFIG_MODULES), $(MODORDER)) FORCE
|
||||
$(call if_changed,gen_compile_commands)
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
# If we ever add another OWNERS above this directory, it's likely to be
|
||||
# more permissive, so don't inherit from it
|
||||
set noparent
|
||||
include kernel/common:android-mainline:/OWNERS_DrNo
|
||||
|
||||
# Downstream boards maintained directly in this manifest branch
|
||||
per-file abi_gki_aarch64_cuttlefish = adelva@google.com, rammuthiah@google.com
|
||||
per-file abi_gki_aarch64_goldfish = rkir@google.com
|
||||
File diff suppressed because it is too large
Load Diff
@@ -568,6 +568,7 @@
|
||||
drm_crtc_add_crc_entry
|
||||
drm_crtc_arm_vblank_event
|
||||
drm_crtc_cleanup
|
||||
__drm_crtc_commit_free
|
||||
drm_crtc_enable_color_mgmt
|
||||
drm_crtc_handle_vblank
|
||||
drm_crtc_helper_set_config
|
||||
@@ -626,6 +627,7 @@
|
||||
drm_gem_dmabuf_release
|
||||
drm_gem_dmabuf_vmap
|
||||
drm_gem_dmabuf_vunmap
|
||||
drm_gem_fb_begin_cpu_access
|
||||
drm_gem_fb_create_handle
|
||||
drm_gem_fb_destroy
|
||||
drm_gem_handle_create
|
||||
@@ -661,6 +663,7 @@
|
||||
drm_kms_helper_poll_enable
|
||||
drm_kms_helper_poll_fini
|
||||
drm_kms_helper_poll_init
|
||||
drm_match_cea_mode
|
||||
drm_mm_init
|
||||
drm_mm_insert_node_in_range
|
||||
drmm_mode_config_init
|
||||
@@ -673,11 +676,14 @@
|
||||
drm_mode_config_helper_suspend
|
||||
drm_mode_config_reset
|
||||
drm_mode_convert_to_umode
|
||||
drm_mode_copy
|
||||
drm_mode_create_scaling_mode_property
|
||||
drm_mode_crtc_set_gamma_size
|
||||
drm_mode_debug_printmodeline
|
||||
drm_mode_destroy
|
||||
drm_mode_duplicate
|
||||
drm_mode_equal
|
||||
drm_mode_is_420_only
|
||||
drm_mode_match
|
||||
drm_mode_probed_add
|
||||
drm_modeset_acquire_fini
|
||||
@@ -691,6 +697,7 @@
|
||||
drm_mode_set_name
|
||||
drm_modeset_unlock
|
||||
drm_modeset_unlock_all
|
||||
drm_mode_sort
|
||||
drm_mode_vrefresh
|
||||
drm_object_attach_property
|
||||
drm_open
|
||||
@@ -745,6 +752,7 @@
|
||||
drm_universal_plane_init
|
||||
drm_vblank_init
|
||||
drm_wait_one_vblank
|
||||
drm_writeback_cleanup_job
|
||||
drm_writeback_connector_init
|
||||
drm_writeback_queue_job
|
||||
drm_writeback_signal_completion
|
||||
@@ -756,6 +764,7 @@
|
||||
dw_pcie_read
|
||||
dw_pcie_setup_rc
|
||||
dw_pcie_write
|
||||
__dynamic_pr_debug
|
||||
enable_irq
|
||||
ether_setup
|
||||
eth_type_trans
|
||||
@@ -768,6 +777,7 @@
|
||||
_find_first_bit
|
||||
_find_first_zero_bit
|
||||
_find_next_bit
|
||||
find_task_by_vpid
|
||||
find_vpid
|
||||
finish_wait
|
||||
firmware_request_nowarn
|
||||
@@ -813,6 +823,7 @@
|
||||
get_net_ns_by_fd
|
||||
get_net_ns_by_pid
|
||||
get_options
|
||||
get_pid_task
|
||||
get_random_bytes
|
||||
get_random_u32
|
||||
__get_task_comm
|
||||
@@ -1102,6 +1113,7 @@
|
||||
__local_bh_enable_ip
|
||||
__lock_page
|
||||
loops_per_jiffy
|
||||
match_string
|
||||
memchr
|
||||
memcmp
|
||||
memcpy
|
||||
@@ -1112,6 +1124,7 @@
|
||||
memmove
|
||||
memory_read_from_buffer
|
||||
memparse
|
||||
mem_section
|
||||
memset
|
||||
memset64
|
||||
__memset_io
|
||||
@@ -1187,6 +1200,7 @@
|
||||
nr_cpu_ids
|
||||
nr_irqs
|
||||
nsecs_to_jiffies
|
||||
nsec_to_clock_t
|
||||
ns_to_kernel_old_timeval
|
||||
ns_to_timespec64
|
||||
__num_online_cpus
|
||||
@@ -1261,6 +1275,7 @@
|
||||
panic
|
||||
panic_notifier_list
|
||||
param_array_ops
|
||||
param_get_charp
|
||||
param_ops_bint
|
||||
param_ops_bool
|
||||
param_ops_charp
|
||||
@@ -1271,6 +1286,7 @@
|
||||
param_ops_uint
|
||||
param_ops_ullong
|
||||
param_ops_ulong
|
||||
param_set_charp
|
||||
param_set_uint
|
||||
param_set_ulong
|
||||
pci_alloc_irq_vectors_affinity
|
||||
@@ -1526,6 +1542,7 @@
|
||||
__request_module
|
||||
__request_region
|
||||
request_threaded_irq
|
||||
resched_curr
|
||||
reset_control_assert
|
||||
reset_control_deassert
|
||||
return_address
|
||||
@@ -1551,6 +1568,7 @@
|
||||
runqueues
|
||||
sched_clock
|
||||
sched_feat_keys
|
||||
sched_feat_names
|
||||
sched_set_fifo_low
|
||||
sched_setscheduler
|
||||
sched_setscheduler_nocheck
|
||||
@@ -1734,9 +1752,12 @@
|
||||
srcu_notifier_chain_unregister
|
||||
sscanf
|
||||
__stack_chk_fail
|
||||
stack_trace_save_tsk
|
||||
start_backtrace
|
||||
static_key_disable
|
||||
static_key_slow_dec
|
||||
static_key_slow_inc
|
||||
stop_machine
|
||||
stop_one_cpu_nowait
|
||||
stpcpy
|
||||
strcasecmp
|
||||
@@ -1772,6 +1793,7 @@
|
||||
synchronize_net
|
||||
synchronize_rcu
|
||||
syscon_regmap_lookup_by_phandle
|
||||
sysctl_sched_features
|
||||
sysfs_add_file_to_group
|
||||
sysfs_create_bin_file
|
||||
sysfs_create_file_ns
|
||||
@@ -1794,6 +1816,7 @@
|
||||
system_freezable_wq
|
||||
system_freezing_cnt
|
||||
system_highpri_wq
|
||||
system_long_wq
|
||||
system_power_efficient_wq
|
||||
system_state
|
||||
system_unbound_wq
|
||||
@@ -1835,12 +1858,18 @@
|
||||
trace_event_reg
|
||||
trace_handle_return
|
||||
__traceiter_android_rvh_can_migrate_task
|
||||
__traceiter_android_rvh_check_preempt_wakeup
|
||||
__traceiter_android_rvh_cpu_cgroup_attach
|
||||
__traceiter_android_rvh_cpu_cgroup_can_attach
|
||||
__traceiter_android_rvh_cpufreq_transition
|
||||
__traceiter_android_rvh_dequeue_task
|
||||
__traceiter_android_rvh_do_sched_yield
|
||||
__traceiter_android_rvh_enqueue_task
|
||||
__traceiter_android_rvh_find_busiest_queue
|
||||
__traceiter_android_rvh_find_lowest_rq
|
||||
__traceiter_android_rvh_find_new_ilb
|
||||
__traceiter_android_rvh_flush_task
|
||||
__traceiter_android_rvh_gic_v3_set_affinity
|
||||
__traceiter_android_rvh_post_init_entity_util_avg
|
||||
__traceiter_android_rvh_replace_next_task_fair
|
||||
__traceiter_android_rvh_sched_fork_init
|
||||
@@ -1852,16 +1881,22 @@
|
||||
__traceiter_android_rvh_select_task_rq_fair
|
||||
__traceiter_android_rvh_select_task_rq_rt
|
||||
__traceiter_android_rvh_set_task_cpu
|
||||
__traceiter_android_rvh_tick_entry
|
||||
__traceiter_android_rvh_update_misfit_status
|
||||
__traceiter_android_rvh_wake_up_new_task
|
||||
__traceiter_android_vh_binder_restore_priority
|
||||
__traceiter_android_vh_binder_set_priority
|
||||
__traceiter_android_vh_binder_wakeup_ilocked
|
||||
__traceiter_android_vh_cpu_idle_enter
|
||||
__traceiter_android_vh_cpu_idle_exit
|
||||
__traceiter_android_vh_gic_set_affinity
|
||||
__traceiter_android_rvh_gic_v3_set_affinity
|
||||
__traceiter_android_vh_ipi_stop
|
||||
__traceiter_android_vh_logbuf
|
||||
__traceiter_android_vh_logbuf_pr_cont
|
||||
__traceiter_android_vh_scheduler_tick
|
||||
__traceiter_android_vh_ufs_check_int_errors
|
||||
__traceiter_android_vh_ufs_compl_command
|
||||
__traceiter_binder_transaction_received
|
||||
__traceiter_clock_set_rate
|
||||
__traceiter_device_pm_callback_end
|
||||
__traceiter_device_pm_callback_start
|
||||
@@ -1890,12 +1925,18 @@
|
||||
__traceiter_workqueue_execute_end
|
||||
__traceiter_workqueue_execute_start
|
||||
__tracepoint_android_rvh_can_migrate_task
|
||||
__tracepoint_android_rvh_check_preempt_wakeup
|
||||
__tracepoint_android_rvh_cpu_cgroup_attach
|
||||
__tracepoint_android_rvh_cpu_cgroup_can_attach
|
||||
__tracepoint_android_rvh_cpufreq_transition
|
||||
__tracepoint_android_rvh_dequeue_task
|
||||
__tracepoint_android_rvh_do_sched_yield
|
||||
__tracepoint_android_rvh_enqueue_task
|
||||
__tracepoint_android_rvh_find_busiest_queue
|
||||
__tracepoint_android_rvh_find_lowest_rq
|
||||
__tracepoint_android_rvh_find_new_ilb
|
||||
__tracepoint_android_rvh_flush_task
|
||||
__tracepoint_android_rvh_gic_v3_set_affinity
|
||||
__tracepoint_android_rvh_post_init_entity_util_avg
|
||||
__tracepoint_android_rvh_replace_next_task_fair
|
||||
__tracepoint_android_rvh_sched_fork_init
|
||||
@@ -1907,16 +1948,22 @@
|
||||
__tracepoint_android_rvh_select_task_rq_fair
|
||||
__tracepoint_android_rvh_select_task_rq_rt
|
||||
__tracepoint_android_rvh_set_task_cpu
|
||||
__tracepoint_android_rvh_tick_entry
|
||||
__tracepoint_android_rvh_update_misfit_status
|
||||
__tracepoint_android_rvh_wake_up_new_task
|
||||
__tracepoint_android_vh_binder_restore_priority
|
||||
__tracepoint_android_vh_binder_set_priority
|
||||
__tracepoint_android_vh_binder_wakeup_ilocked
|
||||
__tracepoint_android_vh_cpu_idle_enter
|
||||
__tracepoint_android_vh_cpu_idle_exit
|
||||
__tracepoint_android_vh_gic_set_affinity
|
||||
__tracepoint_android_rvh_gic_v3_set_affinity
|
||||
__tracepoint_android_vh_ipi_stop
|
||||
__tracepoint_android_vh_logbuf
|
||||
__tracepoint_android_vh_logbuf_pr_cont
|
||||
__tracepoint_android_vh_scheduler_tick
|
||||
__tracepoint_android_vh_ufs_check_int_errors
|
||||
__tracepoint_android_vh_ufs_compl_command
|
||||
__tracepoint_binder_transaction_received
|
||||
__tracepoint_clock_set_rate
|
||||
__tracepoint_device_pm_callback_end
|
||||
__tracepoint_device_pm_callback_start
|
||||
@@ -2172,6 +2219,7 @@
|
||||
wait_for_completion_killable
|
||||
wait_for_completion_timeout
|
||||
__wake_up
|
||||
wake_up_if_idle
|
||||
__wake_up_locked
|
||||
__wake_up_locked_key
|
||||
wake_up_process
|
||||
@@ -2199,3 +2247,13 @@
|
||||
xhci_resume
|
||||
xhci_run
|
||||
xhci_suspend
|
||||
zs_compact
|
||||
zs_create_pool
|
||||
zs_destroy_pool
|
||||
zs_free
|
||||
zs_get_total_pages
|
||||
zs_huge_class_size
|
||||
zs_malloc
|
||||
zs_map_object
|
||||
zs_pool_stats
|
||||
zs_unmap_object
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
__bitmap_clear
|
||||
__bitmap_complement
|
||||
bitmap_find_free_region
|
||||
bitmap_print_to_pagebuf
|
||||
bitmap_release_region
|
||||
__bitmap_set
|
||||
__bitmap_weight
|
||||
@@ -176,6 +177,7 @@
|
||||
cpu_pm_register_notifier
|
||||
cpu_pm_unregister_notifier
|
||||
__cpu_possible_mask
|
||||
__cpu_present_mask
|
||||
cpus_read_lock
|
||||
cpus_read_unlock
|
||||
crc32_le
|
||||
@@ -393,6 +395,7 @@
|
||||
dql_reset
|
||||
driver_unregister
|
||||
drm_add_edid_modes
|
||||
drm_add_modes_noedid
|
||||
drm_any_plane_has_format
|
||||
drm_aperture_remove_conflicting_pci_framebuffers
|
||||
drm_atomic_bridge_chain_enable
|
||||
@@ -611,6 +614,7 @@
|
||||
drm_prime_sg_to_dma_addr_array
|
||||
drm_print_bits
|
||||
drm_printf
|
||||
__drm_printfn_info
|
||||
__drm_printfn_seq_file
|
||||
drm_property_create_enum
|
||||
drm_property_create_range
|
||||
@@ -620,6 +624,7 @@
|
||||
drm_rotation_simplify
|
||||
drm_set_preferred_mode
|
||||
drm_simple_encoder_init
|
||||
drm_state_dump
|
||||
drm_syncobj_add_point
|
||||
drm_syncobj_create
|
||||
drm_syncobj_find
|
||||
@@ -630,6 +635,7 @@
|
||||
drm_syncobj_replace_fence
|
||||
drm_universal_plane_init
|
||||
drm_vblank_init
|
||||
drm_writeback_connector_init
|
||||
dump_backtrace
|
||||
dump_stack
|
||||
dw_pcie_ep_init
|
||||
@@ -644,6 +650,11 @@
|
||||
eth_commit_mac_addr_change
|
||||
ether_setup
|
||||
eth_mac_addr
|
||||
ethnl_cable_test_amplitude
|
||||
ethnl_cable_test_fault_length
|
||||
ethnl_cable_test_pulse
|
||||
ethnl_cable_test_result
|
||||
ethnl_cable_test_step
|
||||
eth_prepare_mac_addr_change
|
||||
__ethtool_get_link_ksettings
|
||||
ethtool_op_get_link
|
||||
@@ -679,6 +690,23 @@
|
||||
generic_file_llseek
|
||||
generic_handle_domain_irq
|
||||
generic_handle_irq
|
||||
genphy_c45_an_config_aneg
|
||||
genphy_c45_aneg_done
|
||||
genphy_c45_check_and_restart_aneg
|
||||
genphy_c45_loopback
|
||||
genphy_c45_pma_read_abilities
|
||||
genphy_c45_pma_setup_forced
|
||||
genphy_c45_read_link
|
||||
genphy_c45_read_lpa
|
||||
genphy_check_and_restart_aneg
|
||||
__genphy_config_aneg
|
||||
genphy_read_lpa
|
||||
genphy_read_status_fixed
|
||||
genphy_resume
|
||||
genphy_setup_forced
|
||||
genphy_soft_reset
|
||||
genphy_suspend
|
||||
genphy_update_link
|
||||
gen_pool_add_owner
|
||||
gen_pool_alloc_algo_owner
|
||||
gen_pool_free_owner
|
||||
@@ -747,6 +775,21 @@
|
||||
i2c_transfer_buffer_flags
|
||||
i2c_unregister_device
|
||||
i2c_verify_client
|
||||
i3c_generic_ibi_alloc_pool
|
||||
i3c_generic_ibi_free_pool
|
||||
i3c_generic_ibi_get_free_slot
|
||||
i3c_generic_ibi_recycle_slot
|
||||
i3c_master_add_i3c_dev_locked
|
||||
i3c_master_defslvs_locked
|
||||
i3c_master_disec_locked
|
||||
i3c_master_do_daa
|
||||
i3c_master_enec_locked
|
||||
i3c_master_entdaa_locked
|
||||
i3c_master_get_free_addr
|
||||
i3c_master_queue_ibi
|
||||
i3c_master_register
|
||||
i3c_master_set_info
|
||||
i3c_master_unregister
|
||||
ida_alloc_range
|
||||
ida_free
|
||||
idr_alloc
|
||||
@@ -780,6 +823,7 @@
|
||||
input_set_abs_params
|
||||
input_unregister_device
|
||||
input_unregister_handle
|
||||
int_pow
|
||||
iomem_resource
|
||||
iommu_alloc_resv_region
|
||||
iommu_device_register
|
||||
@@ -919,8 +963,12 @@
|
||||
mdiobus_alloc_size
|
||||
mdiobus_free
|
||||
mdiobus_get_phy
|
||||
__mdiobus_read
|
||||
mdiobus_read
|
||||
__mdiobus_register
|
||||
mdiobus_unregister
|
||||
__mdiobus_write
|
||||
mdiobus_write
|
||||
memcpy
|
||||
__memcpy_fromio
|
||||
__memcpy_toio
|
||||
@@ -1171,31 +1219,56 @@
|
||||
perf_trace_run_bpf_submit
|
||||
pfn_is_map_memory
|
||||
phy_attached_info
|
||||
phy_config_aneg
|
||||
phy_configure
|
||||
phy_disconnect
|
||||
phy_drivers_register
|
||||
phy_drivers_unregister
|
||||
phy_error
|
||||
phy_ethtool_get_eee
|
||||
phy_ethtool_ksettings_get
|
||||
phy_ethtool_ksettings_set
|
||||
phy_ethtool_nway_reset
|
||||
phy_ethtool_set_eee
|
||||
phy_exit
|
||||
phy_gbit_fibre_features
|
||||
phy_get_eee_err
|
||||
phy_init
|
||||
phy_init_eee
|
||||
phylink_connect_phy
|
||||
phylink_create
|
||||
phylink_destroy
|
||||
phylink_ethtool_ksettings_get
|
||||
phylink_of_phy_connect
|
||||
phylink_set_port_modes
|
||||
phylink_start
|
||||
phy_mac_interrupt
|
||||
phy_mii_ioctl
|
||||
__phy_modify
|
||||
phy_modify
|
||||
phy_modify_changed
|
||||
phy_modify_mmd
|
||||
phy_modify_mmd_changed
|
||||
phy_modify_paged
|
||||
phy_modify_paged_changed
|
||||
phy_power_off
|
||||
phy_power_on
|
||||
phy_read_mmd
|
||||
phy_read_paged
|
||||
phy_resolve_aneg_pause
|
||||
phy_restore_page
|
||||
phy_resume
|
||||
phy_save_page
|
||||
phy_select_page
|
||||
phy_sfp_attach
|
||||
phy_sfp_detach
|
||||
phy_sfp_probe
|
||||
phy_start_aneg
|
||||
phy_stop
|
||||
phy_suspend
|
||||
phy_trigger_machine
|
||||
phy_write_mmd
|
||||
phy_write_paged
|
||||
pid_task
|
||||
pinctrl_add_gpio_range
|
||||
pinctrl_dev_get_drvdata
|
||||
@@ -1436,6 +1509,7 @@
|
||||
smp_call_function
|
||||
smp_call_function_single
|
||||
smp_call_on_cpu
|
||||
snd_ctl_enum_info
|
||||
snd_dmaengine_pcm_prepare_slave_config
|
||||
snd_pcm_format_width
|
||||
snd_pcm_hw_constraint_integer
|
||||
@@ -1445,6 +1519,7 @@
|
||||
snd_pcm_lib_preallocate_free_for_all
|
||||
snd_pcm_lib_preallocate_pages
|
||||
snd_pcm_period_elapsed
|
||||
snd_soc_add_component_controls
|
||||
snd_soc_component_init_regmap
|
||||
snd_soc_component_read
|
||||
snd_soc_component_update_bits
|
||||
@@ -1489,6 +1564,7 @@
|
||||
__splice_from_pipe
|
||||
split_page
|
||||
sprintf
|
||||
sprint_symbol
|
||||
sscanf
|
||||
__stack_chk_fail
|
||||
start_backtrace
|
||||
@@ -1651,10 +1727,21 @@
|
||||
ttm_sg_tt_init
|
||||
ttm_tt_destroy_common
|
||||
ttm_tt_fini
|
||||
__tty_alloc_driver
|
||||
tty_driver_kref_put
|
||||
tty_flip_buffer_push
|
||||
tty_insert_flip_string_fixed_flag
|
||||
tty_kref_put
|
||||
tty_port_close
|
||||
tty_port_destroy
|
||||
tty_port_hangup
|
||||
tty_port_init
|
||||
tty_port_link_device
|
||||
tty_port_open
|
||||
tty_port_tty_get
|
||||
tty_register_driver
|
||||
tty_std_termios
|
||||
tty_unregister_driver
|
||||
typec_register_partner
|
||||
typec_register_port
|
||||
typec_set_data_role
|
||||
@@ -1692,6 +1779,7 @@
|
||||
unregister_blkdev
|
||||
__unregister_chrdev
|
||||
unregister_chrdev_region
|
||||
unregister_console
|
||||
unregister_netdev
|
||||
unregister_netdevice_notifier
|
||||
unregister_netdevice_queue
|
||||
@@ -1883,3 +1971,13 @@
|
||||
xdp_rxq_info_reg_mem_model
|
||||
xdp_rxq_info_unreg
|
||||
xdp_warn
|
||||
zs_compact
|
||||
zs_create_pool
|
||||
zs_destroy_pool
|
||||
zs_free
|
||||
zs_get_total_pages
|
||||
zs_huge_class_size
|
||||
zs_malloc
|
||||
zs_map_object
|
||||
zs_pool_stats
|
||||
zs_unmap_object
|
||||
|
||||
86
android/abi_gki_aarch64_galaxy
Normal file
86
android/abi_gki_aarch64_galaxy
Normal file
@@ -0,0 +1,86 @@
|
||||
[abi_symbol_list]
|
||||
__alloc_percpu_gfp
|
||||
bdevname
|
||||
blkcg_activate_policy
|
||||
blkcg_deactivate_policy
|
||||
blkcg_policy_register
|
||||
blkcg_policy_unregister
|
||||
blkcg_root
|
||||
blkdev_get_by_dev
|
||||
blkdev_get_by_path
|
||||
blkdev_issue_flush
|
||||
blkg_lookup_slowpath
|
||||
blk_mq_free_request
|
||||
blk_mq_sched_try_insert_merge
|
||||
blk_mq_sched_try_merge
|
||||
blk_queue_rq_timeout
|
||||
class_create_file_ns
|
||||
class_remove_file_ns
|
||||
cleancache_register_ops
|
||||
copy_page
|
||||
crc16
|
||||
create_function_device
|
||||
css_next_descendant_pre
|
||||
_dev_alert
|
||||
drm_edid_get_monitor_name
|
||||
drm_edid_is_valid
|
||||
elevator_alloc
|
||||
elv_bio_merge_ok
|
||||
elv_rb_add
|
||||
elv_rb_del
|
||||
elv_rb_find
|
||||
elv_rb_former_request
|
||||
elv_rb_latter_request
|
||||
elv_register
|
||||
elv_rqhash_add
|
||||
elv_rqhash_del
|
||||
elv_unregister
|
||||
file_ra_state_init
|
||||
file_write_and_wait_range
|
||||
generic_perform_write
|
||||
generic_write_checks
|
||||
get_options
|
||||
get_random_u64
|
||||
gs_alloc_req
|
||||
gserial_free_line
|
||||
gserial_resume
|
||||
gserial_suspend
|
||||
gs_free_req
|
||||
__kfifo_out_peek
|
||||
kmsg_dump_get_line
|
||||
kthread_blkcg
|
||||
name_to_dev_t
|
||||
netlink_ack
|
||||
of_css
|
||||
phy_connect_direct
|
||||
phy_find_first
|
||||
phy_get_pause
|
||||
phy_resolve_aneg_linkmode
|
||||
pinctrl_get
|
||||
proc_set_size
|
||||
pstore_register
|
||||
pstore_unregister
|
||||
sbitmap_queue_min_shallow_depth
|
||||
smpboot_unregister_percpu_thread
|
||||
__traceiter_android_rvh_die_kernel_fault
|
||||
__traceiter_android_rvh_do_mem_abort
|
||||
__traceiter_android_rvh_do_sp_pc_abort
|
||||
__traceiter_android_rvh_do_undefinstr
|
||||
__traceiter_android_vh_meminfo_proc_show
|
||||
__traceiter_android_vh_show_mem
|
||||
__traceiter_block_rq_insert
|
||||
__tracepoint_android_rvh_die_kernel_fault
|
||||
__tracepoint_android_rvh_do_mem_abort
|
||||
__tracepoint_android_rvh_do_sp_pc_abort
|
||||
__tracepoint_android_rvh_do_undefinstr
|
||||
__tracepoint_android_vh_meminfo_proc_show
|
||||
__tracepoint_android_vh_show_mem
|
||||
__tracepoint_block_rq_insert
|
||||
__tracepoint_hrtimer_expire_entry
|
||||
__tracepoint_hrtimer_expire_exit
|
||||
__tracepoint_irq_handler_entry
|
||||
__tracepoint_irq_handler_exit
|
||||
__tracepoint_workqueue_execute_start
|
||||
usbnet_defer_kevent
|
||||
usb_set_device_state
|
||||
vfs_fsync_range
|
||||
@@ -29,6 +29,10 @@
|
||||
__arch_copy_to_user
|
||||
arch_freq_scale
|
||||
arch_timer_read_counter
|
||||
arm_smccc_1_1_get_conduit
|
||||
arm_smccc_1_2_hvc
|
||||
arm_smccc_1_2_smc
|
||||
arm_smccc_get_version
|
||||
arm64_const_caps_ready
|
||||
arm64_use_ng_mappings
|
||||
__arm_smccc_hvc
|
||||
@@ -317,6 +321,7 @@
|
||||
device_init_wakeup
|
||||
device_link_add
|
||||
device_link_remove
|
||||
device_match_any
|
||||
device_node_to_regmap
|
||||
device_property_present
|
||||
device_property_read_string
|
||||
@@ -1163,6 +1168,7 @@
|
||||
mmc_detect_change
|
||||
mmc_free_host
|
||||
mmc_get_card
|
||||
mmc_get_ext_csd
|
||||
mmc_gpio_get_cd
|
||||
mmc_gpio_get_ro
|
||||
mmc_hw_reset
|
||||
@@ -1938,7 +1944,9 @@
|
||||
__traceiter_android_rvh_commit_creds
|
||||
__traceiter_android_rvh_cpu_overutilized
|
||||
__traceiter_android_rvh_dequeue_task
|
||||
__traceiter_android_rvh_dequeue_task_fair
|
||||
__traceiter_android_rvh_enqueue_task
|
||||
__traceiter_android_rvh_enqueue_task_fair
|
||||
__traceiter_android_rvh_exit_creds
|
||||
__traceiter_android_rvh_find_busiest_group
|
||||
__traceiter_android_rvh_find_busiest_queue
|
||||
@@ -1964,6 +1972,7 @@
|
||||
__traceiter_android_rvh_selinux_is_initialized
|
||||
__traceiter_android_rvh_setscheduler
|
||||
__traceiter_android_rvh_set_cpus_allowed_ptr_locked
|
||||
__traceiter_android_rvh_set_cpus_allowed_by_task
|
||||
__traceiter_android_rvh_set_user_nice
|
||||
__traceiter_android_rvh_tick_entry
|
||||
__traceiter_android_rvh_update_cpu_capacity
|
||||
@@ -2001,6 +2010,7 @@
|
||||
__traceiter_mmap_lock_released
|
||||
__traceiter_mmap_lock_start_locking
|
||||
__traceiter_pelt_se_tp
|
||||
__traceiter_sched_update_nr_running_tp
|
||||
__traceiter_task_newtask
|
||||
__traceiter_xhci_urb_giveback
|
||||
trace_output_call
|
||||
@@ -2009,7 +2019,9 @@
|
||||
__tracepoint_android_rvh_commit_creds
|
||||
__tracepoint_android_rvh_cpu_overutilized
|
||||
__tracepoint_android_rvh_dequeue_task
|
||||
__tracepoint_android_rvh_dequeue_task_fair
|
||||
__tracepoint_android_rvh_enqueue_task
|
||||
__tracepoint_android_rvh_enqueue_task_fair
|
||||
__tracepoint_android_rvh_exit_creds
|
||||
__tracepoint_android_rvh_find_busiest_group
|
||||
__tracepoint_android_rvh_find_busiest_queue
|
||||
@@ -2035,6 +2047,7 @@
|
||||
__tracepoint_android_rvh_selinux_is_initialized
|
||||
__tracepoint_android_rvh_setscheduler
|
||||
__tracepoint_android_rvh_set_cpus_allowed_ptr_locked
|
||||
__tracepoint_android_rvh_set_cpus_allowed_by_task
|
||||
__tracepoint_android_rvh_set_user_nice
|
||||
__tracepoint_android_rvh_tick_entry
|
||||
__tracepoint_android_rvh_update_cpu_capacity
|
||||
@@ -2074,6 +2087,8 @@
|
||||
__tracepoint_pelt_se_tp
|
||||
tracepoint_probe_register
|
||||
tracepoint_probe_unregister
|
||||
__tracepoint_sched_update_nr_running_tp
|
||||
tracepoint_srcu
|
||||
__tracepoint_task_newtask
|
||||
__tracepoint_xhci_urb_giveback
|
||||
trace_print_array_seq
|
||||
@@ -2116,6 +2131,9 @@
|
||||
__ubsan_handle_cfi_check_fail_abort
|
||||
uclamp_eff_value
|
||||
__udelay
|
||||
ufshcd_add_command_trace
|
||||
ufshcd_clk_scaling_start_busy
|
||||
ufshcd_clk_scaling_update_busy
|
||||
ufshcd_delay_us
|
||||
ufshcd_dme_configure_adapt
|
||||
ufshcd_dme_get_attr
|
||||
@@ -2123,6 +2141,7 @@
|
||||
ufshcd_dump_regs
|
||||
ufshcd_fixup_dev_quirks
|
||||
ufshcd_get_pwr_dev_param
|
||||
ufshcd_get_vreg
|
||||
ufshcd_hba_enable
|
||||
ufshcd_hba_stop
|
||||
ufshcd_init_pwr_dev_param
|
||||
@@ -2130,6 +2149,7 @@
|
||||
ufshcd_make_hba_operational
|
||||
ufshcd_pltfrm_init
|
||||
ufshcd_pltfrm_shutdown
|
||||
ufshcd_populate_vreg
|
||||
ufshcd_query_attr
|
||||
ufshcd_query_descriptor_retry
|
||||
ufshcd_query_flag
|
||||
@@ -2141,6 +2161,8 @@
|
||||
ufshcd_suspend_prepare
|
||||
ufshcd_system_resume
|
||||
ufshcd_system_suspend
|
||||
ufshcd_transfer_rsp_status
|
||||
ufshcd_uic_change_pwr_mode
|
||||
ufshcd_uic_hibern8_exit
|
||||
ufshcd_update_evt_hist
|
||||
unlock_page
|
||||
@@ -2210,9 +2232,13 @@
|
||||
usb_get_maximum_speed
|
||||
usb_get_role_switch_default_mode
|
||||
usb_gstrings_attach
|
||||
usb_hcd_end_port_resume
|
||||
usb_hcd_is_primary_hcd
|
||||
usb_hcd_poll_rh_status
|
||||
usb_hcd_start_port_resume
|
||||
usb_hub_clear_tt_buffer
|
||||
usb_interface_id
|
||||
usb_wakeup_notification
|
||||
usbnet_change_mtu
|
||||
usbnet_disconnect
|
||||
usbnet_get_drvinfo
|
||||
@@ -2484,6 +2510,7 @@
|
||||
pci_set_power_state
|
||||
pci_unregister_driver
|
||||
_raw_spin_trylock_bh
|
||||
radix_tree_maybe_preload
|
||||
register_inetaddr_notifier
|
||||
regmap_multi_reg_write
|
||||
regmap_register_patch
|
||||
@@ -2491,6 +2518,8 @@
|
||||
rtnl_is_locked
|
||||
sched_setattr
|
||||
sched_set_fifo_low
|
||||
sg_pcopy_from_buffer
|
||||
sg_pcopy_to_buffer
|
||||
skb_copy
|
||||
skb_pull_rcsum
|
||||
skb_queue_head
|
||||
|
||||
@@ -12,10 +12,13 @@
|
||||
__alloc_pages
|
||||
alloc_pages_exact
|
||||
__alloc_percpu
|
||||
__alloc_percpu_gfp
|
||||
__alloc_skb
|
||||
alloc_workqueue
|
||||
anon_inode_getfd
|
||||
anon_inode_getfile
|
||||
arc4_crypt
|
||||
arc4_setkey
|
||||
__arch_clear_user
|
||||
__arch_copy_from_user
|
||||
__arch_copy_to_user
|
||||
@@ -23,6 +26,8 @@
|
||||
arm64_use_ng_mappings
|
||||
__arm_smccc_hvc
|
||||
__arm_smccc_smc
|
||||
atomic_notifier_chain_register
|
||||
atomic_notifier_chain_unregister
|
||||
backlight_device_register
|
||||
backlight_device_unregister
|
||||
baswap
|
||||
@@ -34,6 +39,7 @@
|
||||
bitmap_find_free_region
|
||||
bitmap_find_next_zero_area_off
|
||||
bitmap_from_arr32
|
||||
bitmap_release_region
|
||||
__bitmap_set
|
||||
bitmap_to_arr32
|
||||
__bitmap_weight
|
||||
@@ -51,11 +57,14 @@
|
||||
blocking_notifier_chain_register
|
||||
blocking_notifier_chain_unregister
|
||||
block_is_partially_uptodate
|
||||
bpf_trace_run10
|
||||
bpf_trace_run1
|
||||
bpf_trace_run2
|
||||
bpf_trace_run3
|
||||
bpf_trace_run4
|
||||
bpf_trace_run5
|
||||
bpf_trace_run6
|
||||
bpf_trace_run7
|
||||
__bread_gfp
|
||||
__brelse
|
||||
bt_err
|
||||
@@ -75,6 +84,7 @@
|
||||
bus_unregister
|
||||
bus_unregister_notifier
|
||||
cache_line_size
|
||||
call_rcu
|
||||
cancel_delayed_work
|
||||
cancel_delayed_work_sync
|
||||
cancel_work_sync
|
||||
@@ -154,6 +164,7 @@
|
||||
component_match_add_release
|
||||
component_unbind_all
|
||||
console_printk
|
||||
console_suspend_enabled
|
||||
__const_udelay
|
||||
consume_skb
|
||||
contig_page_data
|
||||
@@ -187,18 +198,33 @@
|
||||
cpus_read_lock
|
||||
cpus_read_unlock
|
||||
crc32_be
|
||||
crc32_le
|
||||
create_empty_buffers
|
||||
crypto_aead_decrypt
|
||||
crypto_aead_encrypt
|
||||
crypto_aead_setauthsize
|
||||
crypto_aead_setkey
|
||||
crypto_alloc_aead
|
||||
crypto_alloc_base
|
||||
crypto_alloc_shash
|
||||
crypto_alloc_skcipher
|
||||
crypto_comp_compress
|
||||
crypto_comp_decompress
|
||||
crypto_destroy_tfm
|
||||
crypto_has_alg
|
||||
__crypto_memneq
|
||||
crypto_register_alg
|
||||
crypto_shash_digest
|
||||
crypto_shash_final
|
||||
crypto_shash_finup
|
||||
crypto_shash_setkey
|
||||
crypto_shash_update
|
||||
crypto_skcipher_decrypt
|
||||
crypto_skcipher_encrypt
|
||||
crypto_skcipher_setkey
|
||||
crypto_unregister_alg
|
||||
crypto_unregister_scomp
|
||||
__crypto_xor
|
||||
_ctype
|
||||
d_add
|
||||
d_add_ci
|
||||
@@ -216,6 +242,8 @@
|
||||
debugfs_create_u8
|
||||
debugfs_create_x32
|
||||
debugfs_remove
|
||||
debugfs_rename
|
||||
dec_zone_page_state
|
||||
default_llseek
|
||||
deferred_free
|
||||
delayed_work_timer_fn
|
||||
@@ -224,10 +252,15 @@
|
||||
del_timer_sync
|
||||
desc_to_gpio
|
||||
destroy_workqueue
|
||||
_dev_alert
|
||||
dev_alloc_name
|
||||
__dev_change_net_namespace
|
||||
dev_close
|
||||
_dev_crit
|
||||
dev_driver_string
|
||||
_dev_emerg
|
||||
_dev_err
|
||||
dev_fetch_sw_netstats
|
||||
devfreq_add_governor
|
||||
devfreq_get_devfreq_by_phandle
|
||||
devfreq_monitor_resume
|
||||
@@ -240,6 +273,8 @@
|
||||
devfreq_suspend_device
|
||||
devfreq_update_interval
|
||||
dev_fwnode
|
||||
__dev_get_by_index
|
||||
dev_get_by_index
|
||||
device_add
|
||||
device_add_disk
|
||||
device_create
|
||||
@@ -259,9 +294,11 @@
|
||||
device_property_read_u32_array
|
||||
device_register
|
||||
device_remove_file
|
||||
device_rename
|
||||
device_unregister
|
||||
_dev_info
|
||||
__dev_kfree_skb_any
|
||||
devm_clk_bulk_get_all
|
||||
devm_clk_get
|
||||
devm_clk_get_optional
|
||||
devm_clk_put
|
||||
@@ -302,6 +339,7 @@
|
||||
__devm_of_phy_provider_register
|
||||
devm_pci_alloc_host_bridge
|
||||
devm_phy_create
|
||||
devm_phy_optional_get
|
||||
devm_pinctrl_get
|
||||
devm_platform_ioremap_resource
|
||||
devm_pwm_get
|
||||
@@ -313,6 +351,7 @@
|
||||
devm_request_pci_bus_resources
|
||||
__devm_request_region
|
||||
devm_request_threaded_irq
|
||||
__devm_reset_control_get
|
||||
devm_rtc_allocate_device
|
||||
__devm_rtc_register_device
|
||||
devm_snd_soc_register_card
|
||||
@@ -337,6 +376,7 @@
|
||||
dev_pm_opp_put_regulators
|
||||
dev_pm_opp_set_regulators
|
||||
_dev_printk
|
||||
dev_queue_xmit
|
||||
devres_add
|
||||
__devres_alloc_node
|
||||
devres_free
|
||||
@@ -526,6 +566,8 @@
|
||||
ether_setup
|
||||
eth_header
|
||||
eth_header_parse
|
||||
eth_mac_addr
|
||||
ethtool_op_get_link
|
||||
eth_type_trans
|
||||
eth_validate_addr
|
||||
event_triggers_call
|
||||
@@ -569,8 +611,10 @@
|
||||
generic_file_open
|
||||
generic_file_read_iter
|
||||
generic_file_splice_read
|
||||
generic_handle_domain_irq
|
||||
generic_handle_irq
|
||||
generic_read_dir
|
||||
genlmsg_multicast_allns
|
||||
genlmsg_put
|
||||
genl_register_family
|
||||
genl_unregister_family
|
||||
@@ -592,6 +636,8 @@
|
||||
get_device
|
||||
__get_free_pages
|
||||
get_kernel_pages
|
||||
get_net_ns_by_fd
|
||||
get_net_ns_by_pid
|
||||
get_random_bytes
|
||||
get_random_u32
|
||||
__get_task_comm
|
||||
@@ -624,6 +670,7 @@
|
||||
gpio_request
|
||||
gpio_to_desc
|
||||
handle_edge_irq
|
||||
handle_fasteoi_irq
|
||||
handle_simple_irq
|
||||
handle_sysrq
|
||||
hci_alloc_dev_priv
|
||||
@@ -638,6 +685,9 @@
|
||||
hrtimer_init
|
||||
hrtimer_start_range_ns
|
||||
hrtimer_try_to_cancel
|
||||
__hw_addr_init
|
||||
__hw_addr_sync
|
||||
__hw_addr_unsync
|
||||
hwspin_lock_free
|
||||
hwspin_lock_get_id
|
||||
hwspin_lock_request
|
||||
@@ -681,12 +731,16 @@
|
||||
__iio_device_register
|
||||
iio_device_unregister
|
||||
iio_read_channel_processed
|
||||
iio_read_channel_scale
|
||||
inc_zone_page_state
|
||||
in_egroup_p
|
||||
inet_csk_get_port
|
||||
init_net
|
||||
init_pseudo
|
||||
__init_rwsem
|
||||
__init_swait_queue_head
|
||||
init_timer_key
|
||||
init_uts_ns
|
||||
init_wait_entry
|
||||
__init_waitqueue_head
|
||||
inode_init_once
|
||||
@@ -752,11 +806,16 @@
|
||||
kasan_flag_enabled
|
||||
kasprintf
|
||||
kernel_kobj
|
||||
kernel_param_lock
|
||||
kernel_param_unlock
|
||||
kernel_sendmsg
|
||||
kernel_sigaction
|
||||
kern_mount
|
||||
kern_path
|
||||
kern_unmount
|
||||
key_create_or_update
|
||||
key_put
|
||||
keyring_alloc
|
||||
__kfifo_alloc
|
||||
__kfifo_free
|
||||
__kfifo_in
|
||||
@@ -767,6 +826,7 @@
|
||||
kfree
|
||||
kfree_sensitive
|
||||
kfree_skb
|
||||
kfree_skb_list
|
||||
kill_anon_super
|
||||
kill_block_super
|
||||
kimage_voffset
|
||||
@@ -802,11 +862,13 @@
|
||||
kthread_stop
|
||||
ktime_get
|
||||
ktime_get_coarse_real_ts64
|
||||
ktime_get_coarse_with_offset
|
||||
ktime_get_mono_fast_ns
|
||||
ktime_get_raw
|
||||
ktime_get_raw_ts64
|
||||
ktime_get_real_seconds
|
||||
ktime_get_real_ts64
|
||||
ktime_get_seconds
|
||||
ktime_get_ts64
|
||||
ktime_get_with_offset
|
||||
kvfree
|
||||
@@ -821,6 +883,7 @@
|
||||
list_sort
|
||||
load_nls
|
||||
load_nls_default
|
||||
__local_bh_enable_ip
|
||||
__lock_buffer
|
||||
__lock_page
|
||||
lzo1x_1_compress
|
||||
@@ -861,6 +924,9 @@
|
||||
__memset_io
|
||||
memstart_addr
|
||||
memunmap
|
||||
mii_ethtool_get_link_ksettings
|
||||
mii_ethtool_set_link_ksettings
|
||||
mii_nway_restart
|
||||
misc_deregister
|
||||
misc_register
|
||||
__mmap_lock_do_trace_acquire_returned
|
||||
@@ -903,23 +969,35 @@
|
||||
__napi_schedule_irqoff
|
||||
napi_schedule_prep
|
||||
__netdev_alloc_skb
|
||||
netdev_err
|
||||
netdev_info
|
||||
netdev_set_default_ethtool_ops
|
||||
netif_carrier_off
|
||||
netif_carrier_on
|
||||
netif_napi_add
|
||||
__netif_napi_del
|
||||
netif_receive_skb
|
||||
netif_receive_skb_list
|
||||
netif_rx
|
||||
netif_rx_ni
|
||||
netif_tx_stop_all_queues
|
||||
netif_tx_wake_queue
|
||||
netlink_broadcast
|
||||
netlink_register_notifier
|
||||
netlink_unicast
|
||||
netlink_unregister_notifier
|
||||
net_ns_type_operations
|
||||
net_ratelimit
|
||||
new_inode
|
||||
nla_find
|
||||
nla_memcpy
|
||||
__nla_parse
|
||||
nla_put_64bit
|
||||
nla_put
|
||||
nla_put_nohdr
|
||||
nla_reserve
|
||||
nla_strscpy
|
||||
__nla_validate
|
||||
no_llseek
|
||||
nonseekable_open
|
||||
noop_llseek
|
||||
@@ -987,6 +1065,7 @@
|
||||
of_property_read_variable_u32_array
|
||||
of_property_read_variable_u8_array
|
||||
of_prop_next_string
|
||||
of_prop_next_u32
|
||||
of_reserved_mem_device_init_by_idx
|
||||
of_reserved_mem_device_release
|
||||
of_reserved_mem_lookup
|
||||
@@ -999,6 +1078,7 @@
|
||||
page_endio
|
||||
page_mapping
|
||||
panic
|
||||
panic_notifier_list
|
||||
param_array_ops
|
||||
param_get_int
|
||||
param_ops_bool
|
||||
@@ -1023,13 +1103,17 @@
|
||||
pci_generic_config_read32
|
||||
pci_generic_config_write32
|
||||
pci_get_device
|
||||
pci_host_probe
|
||||
pci_lock_rescan_remove
|
||||
pci_msi_create_irq_domain
|
||||
pci_msi_mask_irq
|
||||
pci_msi_unmask_irq
|
||||
pci_pio_to_address
|
||||
pci_remap_iospace
|
||||
pci_remove_root_bus
|
||||
pci_scan_root_bus_bridge
|
||||
pci_stop_root_bus
|
||||
pci_unlock_rescan_remove
|
||||
pci_unmap_iospace
|
||||
PDE_DATA
|
||||
__per_cpu_offset
|
||||
@@ -1099,6 +1183,7 @@
|
||||
power_supply_changed
|
||||
power_supply_register
|
||||
power_supply_unregister
|
||||
prandom_bytes
|
||||
preempt_schedule
|
||||
preempt_schedule_notrace
|
||||
prepare_to_wait_event
|
||||
@@ -1113,8 +1198,11 @@
|
||||
proc_set_user
|
||||
proto_register
|
||||
proto_unregister
|
||||
pskb_expand_head
|
||||
__pskb_pull_tail
|
||||
___pskb_trim
|
||||
put_device
|
||||
__put_net
|
||||
__put_page
|
||||
put_pid
|
||||
__put_task_struct
|
||||
@@ -1164,12 +1252,14 @@
|
||||
__register_chrdev
|
||||
register_chrdev_region
|
||||
register_filesystem
|
||||
register_inet6addr_notifier
|
||||
register_inetaddr_notifier
|
||||
register_kprobe
|
||||
register_netdev
|
||||
register_netdevice
|
||||
register_netdevice_notifier
|
||||
register_oom_notifier
|
||||
register_pernet_device
|
||||
register_pm_notifier
|
||||
register_reboot_notifier
|
||||
__register_rpmsg_driver
|
||||
@@ -1208,6 +1298,24 @@
|
||||
__request_module
|
||||
__request_region
|
||||
request_threaded_irq
|
||||
reset_control_assert
|
||||
reset_control_deassert
|
||||
rfkill_alloc
|
||||
rfkill_blocked
|
||||
rfkill_destroy
|
||||
rfkill_register
|
||||
rfkill_resume_polling
|
||||
rfkill_set_hw_state_reason
|
||||
rfkill_unregister
|
||||
rhashtable_free_and_destroy
|
||||
rhashtable_insert_slow
|
||||
rhltable_init
|
||||
__rht_bucket_nested
|
||||
rht_bucket_nested
|
||||
rht_bucket_nested_insert
|
||||
round_jiffies
|
||||
round_jiffies_relative
|
||||
round_jiffies_up
|
||||
rpmsg_create_channel
|
||||
rpmsg_create_ept
|
||||
rpmsg_find_device
|
||||
@@ -1262,10 +1370,15 @@
|
||||
seq_write
|
||||
serial8250_do_pm
|
||||
serial8250_do_set_termios
|
||||
serial8250_do_shutdown
|
||||
serial8250_do_startup
|
||||
serial8250_get_port
|
||||
serial8250_modem_status
|
||||
serial8250_register_8250_port
|
||||
serial8250_resume_port
|
||||
serial8250_rpm_get
|
||||
serial8250_rpm_put
|
||||
serial8250_rpm_put_tx
|
||||
serial8250_rx_chars
|
||||
serial8250_suspend_port
|
||||
serial8250_tx_chars
|
||||
@@ -1298,10 +1411,19 @@
|
||||
single_open
|
||||
single_release
|
||||
sk_alloc
|
||||
skb_add_rx_frag
|
||||
skb_checksum_help
|
||||
skb_clone
|
||||
skb_clone_sk
|
||||
skb_complete_wifi_ack
|
||||
skb_copy
|
||||
skb_copy_bits
|
||||
skb_copy_expand
|
||||
skb_dequeue
|
||||
skb_dequeue_tail
|
||||
skb_ensure_writable
|
||||
__skb_get_hash
|
||||
__skb_gso_segment
|
||||
skb_pull
|
||||
skb_pull_rcsum
|
||||
skb_push
|
||||
@@ -1359,6 +1481,7 @@
|
||||
snd_timer_start
|
||||
snd_timer_stop
|
||||
snprintf
|
||||
__sock_create
|
||||
sockfd_lookup
|
||||
sock_init_data
|
||||
sock_no_accept
|
||||
@@ -1371,6 +1494,7 @@
|
||||
sock_no_sendmsg
|
||||
sock_no_shutdown
|
||||
sock_no_socketpair
|
||||
sock_release
|
||||
__spi_alloc_controller
|
||||
spi_finalize_current_message
|
||||
spi_new_device
|
||||
@@ -1412,8 +1536,10 @@
|
||||
strstr
|
||||
submit_bh
|
||||
suspend_set_ops
|
||||
__sw_hweight16
|
||||
__sw_hweight32
|
||||
__sw_hweight64
|
||||
__sw_hweight8
|
||||
__symbol_get
|
||||
__symbol_put
|
||||
symbol_put_addr
|
||||
@@ -1428,6 +1554,7 @@
|
||||
sysfs_create_file_ns
|
||||
sysfs_create_group
|
||||
sysfs_create_groups
|
||||
sysfs_create_link
|
||||
sysfs_emit
|
||||
sysfs_emit_at
|
||||
__sysfs_match_string
|
||||
@@ -1436,9 +1563,11 @@
|
||||
sysfs_remove_file_ns
|
||||
sysfs_remove_group
|
||||
sysfs_remove_groups
|
||||
sysfs_remove_link
|
||||
sysfs_streq
|
||||
sysfs_unmerge_group
|
||||
sysfs_update_group
|
||||
system_freezable_wq
|
||||
system_freezing_cnt
|
||||
system_highpri_wq
|
||||
system_power_efficient_wq
|
||||
@@ -1447,6 +1576,7 @@
|
||||
tasklet_init
|
||||
tasklet_kill
|
||||
__tasklet_schedule
|
||||
tasklet_setup
|
||||
tasklet_unlock_wait
|
||||
thermal_cooling_device_unregister
|
||||
thermal_of_cooling_device_register
|
||||
@@ -1502,6 +1632,7 @@
|
||||
tty_unregister_driver
|
||||
uart_get_baud_rate
|
||||
uart_get_divisor
|
||||
uart_write_wakeup
|
||||
__ubsan_handle_cfi_check_fail_abort
|
||||
__udelay
|
||||
unload_nls
|
||||
@@ -1515,11 +1646,14 @@
|
||||
__unregister_chrdev
|
||||
unregister_chrdev_region
|
||||
unregister_filesystem
|
||||
unregister_inet6addr_notifier
|
||||
unregister_inetaddr_notifier
|
||||
unregister_netdev
|
||||
unregister_netdevice_many
|
||||
unregister_netdevice_notifier
|
||||
unregister_netdevice_queue
|
||||
unregister_oom_notifier
|
||||
unregister_pernet_device
|
||||
unregister_pm_notifier
|
||||
unregister_reboot_notifier
|
||||
unregister_rpmsg_driver
|
||||
@@ -1669,6 +1803,7 @@
|
||||
vb2_streamoff
|
||||
vb2_streamon
|
||||
vb2_vmalloc_memops
|
||||
verify_pkcs7_signature
|
||||
vfree
|
||||
vfs_llseek
|
||||
video_devdata
|
||||
@@ -1718,6 +1853,7 @@
|
||||
watchdog_register_device
|
||||
watchdog_set_restart_priority
|
||||
watchdog_unregister_device
|
||||
wireless_nlevent_flush
|
||||
wireless_send_event
|
||||
woken_wake_function
|
||||
ww_mutex_lock
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
dec_zone_page_state
|
||||
delayed_work_timer_fn
|
||||
del_gendisk
|
||||
del_timer
|
||||
del_timer_sync
|
||||
device_add_disk
|
||||
disk_end_io_acct
|
||||
@@ -70,25 +71,40 @@
|
||||
free_percpu
|
||||
fs_bio_set
|
||||
fsync_bdev
|
||||
genlmsg_put
|
||||
genl_register_family
|
||||
genl_unregister_family
|
||||
__get_free_pages
|
||||
get_wchan
|
||||
idr_alloc
|
||||
idr_destroy
|
||||
idr_find
|
||||
idr_for_each
|
||||
idr_remove
|
||||
inc_zone_page_state
|
||||
__inet6_lookup_established
|
||||
inet_csk_get_port
|
||||
__inet_lookup_established
|
||||
init_net
|
||||
init_pseudo
|
||||
__init_rwsem
|
||||
init_timer_key
|
||||
init_wait_entry
|
||||
__init_waitqueue_head
|
||||
io_schedule
|
||||
ip6_local_out
|
||||
ip6_route_me_harder
|
||||
ip_local_out
|
||||
ip_route_me_harder
|
||||
iput
|
||||
ipv6_find_hdr
|
||||
ipv6_skip_exthdr
|
||||
jiffies
|
||||
kasan_flag_enabled
|
||||
kern_mount
|
||||
kern_unmount
|
||||
kfree
|
||||
kfree_skb
|
||||
kill_anon_super
|
||||
kmalloc_caches
|
||||
kmem_cache_alloc
|
||||
@@ -105,13 +121,15 @@
|
||||
kthread_create_on_node
|
||||
kthread_should_stop
|
||||
kthread_stop
|
||||
ktime_get_raw_ts64
|
||||
ktime_get_real_ts64
|
||||
__list_add_valid
|
||||
__list_del_entry_valid
|
||||
__lock_page
|
||||
memcpy
|
||||
memparse
|
||||
memset64
|
||||
memset
|
||||
memset64
|
||||
memstart_addr
|
||||
migrate_page_copy
|
||||
mod_timer
|
||||
@@ -122,6 +140,17 @@
|
||||
mutex_lock
|
||||
mutex_trylock
|
||||
mutex_unlock
|
||||
nf_ct_attach
|
||||
nf_ct_delete
|
||||
nf_register_net_hooks
|
||||
nf_unregister_net_hooks
|
||||
nla_find
|
||||
nla_memcpy
|
||||
__nla_parse
|
||||
nla_put
|
||||
nla_put_64bit
|
||||
nla_reserve
|
||||
nla_reserve_64bit
|
||||
nr_cpu_ids
|
||||
__num_online_cpus
|
||||
page_endio
|
||||
@@ -129,6 +158,10 @@
|
||||
page_mapping
|
||||
param_ops_uint
|
||||
__per_cpu_offset
|
||||
platform_device_add
|
||||
platform_device_alloc
|
||||
platform_device_put
|
||||
platform_driver_unregister
|
||||
preempt_schedule
|
||||
preempt_schedule_notrace
|
||||
prepare_to_wait
|
||||
@@ -161,13 +194,17 @@
|
||||
__register_blkdev
|
||||
register_reboot_notifier
|
||||
register_shrinker
|
||||
register_sysctl_table
|
||||
register_tcf_proto_ops
|
||||
schedule
|
||||
schedule_timeout
|
||||
scnprintf
|
||||
shrink_slab
|
||||
set_capacity
|
||||
set_capacity_and_notify
|
||||
__SetPageMovable
|
||||
shrink_slab
|
||||
__skb_checksum_complete
|
||||
skb_dump
|
||||
snprintf
|
||||
sprintf
|
||||
__stack_chk_fail
|
||||
@@ -175,6 +212,7 @@
|
||||
strcpy
|
||||
strlcpy
|
||||
strlen
|
||||
strncmp
|
||||
strncpy
|
||||
submit_bio
|
||||
sysfs_create_files
|
||||
@@ -183,22 +221,96 @@
|
||||
sysfs_streq
|
||||
system_freezable_wq
|
||||
system_wq
|
||||
tcf_action_exec
|
||||
tcf_exts_destroy
|
||||
tcf_exts_dump
|
||||
tcf_exts_dump_stats
|
||||
tcf_exts_validate
|
||||
tcf_queue_work
|
||||
tcp_hashinfo
|
||||
__traceiter_android_rvh_check_preempt_wakeup_ignore
|
||||
__traceiter_android_rvh_pick_next_entity
|
||||
__traceiter_android_rvh_place_entity
|
||||
__traceiter_android_vh_account_task_time
|
||||
__traceiter_android_vh_alloc_pages_slowpath
|
||||
__traceiter_android_vh_binder_free_proc
|
||||
__traceiter_android_vh_binder_has_work_ilocked
|
||||
__traceiter_android_vh_binder_looper_state_registered
|
||||
__traceiter_android_vh_binder_preset
|
||||
__traceiter_android_vh_binder_priority_skip
|
||||
__traceiter_android_vh_binder_proc_transaction_entry
|
||||
__traceiter_android_vh_binder_proc_transaction_finish
|
||||
__traceiter_android_vh_binder_read_done
|
||||
__traceiter_android_vh_binder_select_worklist_ilocked
|
||||
__traceiter_android_vh_binder_thread_read
|
||||
__traceiter_android_vh_binder_thread_release
|
||||
__traceiter_android_vh_build_sched_domains
|
||||
__traceiter_android_vh_cache_show
|
||||
__traceiter_android_vh_cma_drain_all_pages_bypass
|
||||
__traceiter_android_vh_drain_all_pages_bypass
|
||||
__traceiter_android_vh_exit_signal
|
||||
__traceiter_android_vh_futex_sleep_start
|
||||
__traceiter_android_vh_irqtime_account_process_tick
|
||||
__traceiter_android_vh_page_referenced_check_bypass
|
||||
__traceiter_android_vh_pcplist_add_cma_pages_bypass
|
||||
__traceiter_android_vh_print_slabinfo_header
|
||||
__traceiter_android_vh_rwsem_wake_finish
|
||||
__traceiter_android_vh_sched_stat_runtime_rt
|
||||
__traceiter_android_vh_sync_txn_recvd
|
||||
__traceiter_sched_stat_blocked
|
||||
__traceiter_sched_stat_iowait
|
||||
__traceiter_sched_stat_runtime
|
||||
__traceiter_sched_stat_sleep
|
||||
__traceiter_sched_stat_wait
|
||||
__traceiter_sched_waking
|
||||
__traceiter_task_rename
|
||||
__tracepoint_android_rvh_check_preempt_wakeup_ignore
|
||||
__tracepoint_android_rvh_pick_next_entity
|
||||
__tracepoint_android_rvh_place_entity
|
||||
__tracepoint_android_vh_account_task_time
|
||||
__tracepoint_android_vh_alloc_pages_slowpath
|
||||
__tracepoint_android_vh_binder_free_proc
|
||||
__tracepoint_android_vh_binder_has_work_ilocked
|
||||
__tracepoint_android_vh_binder_looper_state_registered
|
||||
__tracepoint_android_vh_binder_preset
|
||||
__tracepoint_android_vh_binder_priority_skip
|
||||
__tracepoint_android_vh_binder_proc_transaction_entry
|
||||
__tracepoint_android_vh_binder_proc_transaction_finish
|
||||
__tracepoint_android_vh_binder_read_done
|
||||
__tracepoint_android_vh_binder_select_worklist_ilocked
|
||||
__tracepoint_android_vh_binder_thread_read
|
||||
__tracepoint_android_vh_binder_thread_release
|
||||
__tracepoint_android_vh_build_sched_domains
|
||||
__tracepoint_android_vh_cache_show
|
||||
__tracepoint_android_vh_cma_drain_all_pages_bypass
|
||||
__tracepoint_android_vh_drain_all_pages_bypass
|
||||
__tracepoint_android_vh_exit_signal
|
||||
__tracepoint_android_vh_futex_sleep_start
|
||||
__tracepoint_android_vh_irqtime_account_process_tick
|
||||
__tracepoint_android_vh_page_referenced_check_bypass
|
||||
__tracepoint_android_vh_pcplist_add_cma_pages_bypass
|
||||
__tracepoint_android_vh_print_slabinfo_header
|
||||
__tracepoint_android_vh_rwsem_wake_finish
|
||||
__tracepoint_android_vh_sched_stat_runtime_rt
|
||||
__tracepoint_android_vh_sync_txn_recvd
|
||||
__tracepoint_sched_stat_blocked
|
||||
__tracepoint_sched_stat_iowait
|
||||
__tracepoint_sched_stat_runtime
|
||||
__tracepoint_sched_stat_sleep
|
||||
__tracepoint_sched_stat_wait
|
||||
__tracepoint_sched_waking
|
||||
__tracepoint_task_rename
|
||||
__ubsan_handle_cfi_check_fail_abort
|
||||
unlock_page
|
||||
unregister_blkdev
|
||||
unregister_reboot_notifier
|
||||
unregister_shrinker
|
||||
unregister_sysctl_table
|
||||
unregister_tcf_proto_ops
|
||||
up_read
|
||||
up_write
|
||||
vfree
|
||||
vzalloc
|
||||
__wake_up
|
||||
wake_up_process
|
||||
__traceiter_android_vh_page_referenced_check_bypass
|
||||
__traceiter_android_vh_drain_all_pages_bypass
|
||||
__traceiter_android_vh_cma_drain_all_pages_bypass
|
||||
__traceiter_android_vh_pcplist_add_cma_pages_bypass
|
||||
__tracepoint_android_vh_page_referenced_check_bypass
|
||||
__tracepoint_android_vh_drain_all_pages_bypass
|
||||
__tracepoint_android_vh_cma_drain_all_pages_bypass
|
||||
__tracepoint_android_vh_pcplist_add_cma_pages_bypass
|
||||
wq_worker_comm
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
add_wait_queue
|
||||
aes_encrypt
|
||||
aes_expandkey
|
||||
alarm_expires_remaining
|
||||
alloc_anon_inode
|
||||
alloc_chrdev_region
|
||||
alloc_io_pgtable_ops
|
||||
@@ -144,6 +145,7 @@
|
||||
__clk_get_name
|
||||
clk_get_parent
|
||||
clk_get_rate
|
||||
clk_get_sys
|
||||
clk_hw_get_flags
|
||||
clk_hw_get_name
|
||||
clk_hw_get_num_parents
|
||||
@@ -715,6 +717,7 @@
|
||||
get_zeroed_page
|
||||
gic_nonsecure_priorities
|
||||
gic_resume
|
||||
gic_v2_resume
|
||||
gov_attr_set_init
|
||||
gov_attr_set_put
|
||||
governor_sysfs_ops
|
||||
@@ -780,6 +783,12 @@
|
||||
i2c_put_dma_safe_msg_buf
|
||||
i2c_register_driver
|
||||
i2c_smbus_read_i2c_block_data
|
||||
i3c_device_disable_ibi
|
||||
i3c_device_enable_ibi
|
||||
i3c_device_free_ibi
|
||||
i3c_device_get_info
|
||||
i3c_device_request_ibi
|
||||
i3cdev_to_dev
|
||||
i3c_generic_ibi_alloc_pool
|
||||
i3c_generic_ibi_free_pool
|
||||
i3c_generic_ibi_get_free_slot
|
||||
@@ -798,6 +807,8 @@
|
||||
icc_link_create
|
||||
icc_node_add
|
||||
icc_node_create
|
||||
icc_node_del
|
||||
icc_node_destroy
|
||||
icc_nodes_remove
|
||||
icc_provider_add
|
||||
icc_provider_del
|
||||
@@ -817,6 +828,8 @@
|
||||
idr_preload
|
||||
idr_remove
|
||||
idr_replace
|
||||
iio_channel_get
|
||||
iio_channel_release
|
||||
iio_read_channel_processed
|
||||
iio_write_channel_raw
|
||||
import_iovec
|
||||
@@ -865,6 +878,7 @@
|
||||
iommu_device_sysfs_add
|
||||
iommu_device_sysfs_remove
|
||||
iommu_device_unregister
|
||||
iommu_dma_enable_best_fit_algo
|
||||
iommu_dma_get_resv_regions
|
||||
iommu_domain_alloc
|
||||
iommu_domain_free
|
||||
@@ -1250,8 +1264,10 @@
|
||||
of_thermal_get_trip_points
|
||||
of_thermal_is_trip_valid
|
||||
of_translate_address
|
||||
on_each_cpu_cond_mask
|
||||
oops_in_progress
|
||||
page_endio
|
||||
page_is_ram
|
||||
page_mapping
|
||||
page_pool_alloc_pages
|
||||
page_pool_create
|
||||
@@ -1481,6 +1497,7 @@
|
||||
pwmchip_add
|
||||
pwmchip_remove
|
||||
qcom_smem_state_get
|
||||
qcom_smem_state_put
|
||||
qcom_smem_state_register
|
||||
qcom_smem_state_unregister
|
||||
qcom_smem_state_update_bits
|
||||
@@ -1597,6 +1614,7 @@
|
||||
regulator_enable
|
||||
regulator_force_disable
|
||||
regulator_get
|
||||
regulator_get_drvdata
|
||||
regulator_get_mode
|
||||
regulator_get_voltage
|
||||
regulator_get_voltage_rdev
|
||||
@@ -2017,6 +2035,7 @@
|
||||
__tracepoint_android_rvh_update_cpu_capacity
|
||||
__tracepoint_android_rvh_update_cpus_allowed
|
||||
__tracepoint_android_rvh_update_misfit_status
|
||||
__tracepoint_android_rvh_update_thermal_stats
|
||||
__tracepoint_android_rvh_wake_up_new_task
|
||||
__tracepoint_android_vh_audio_usb_offload_connect
|
||||
__tracepoint_android_vh_binder_restore_priority
|
||||
@@ -2035,6 +2054,7 @@
|
||||
__tracepoint_android_vh_ftrace_oops_exit
|
||||
__tracepoint_android_vh_ftrace_size_check
|
||||
__tracepoint_android_vh_gic_resume
|
||||
__tracepoint_android_vh_gic_v2_resume
|
||||
__tracepoint_android_vh_handle_tlb_conf
|
||||
__tracepoint_android_vh_ipi_stop
|
||||
__tracepoint_android_vh_jiffies_update
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
blk_mq_requeue_request
|
||||
blk_mq_run_hw_queues
|
||||
blk_update_request
|
||||
blockdev_superblock
|
||||
blocking_notifier_chain_register
|
||||
blocking_notifier_chain_unregister
|
||||
bpf_trace_run1
|
||||
@@ -122,6 +123,9 @@
|
||||
cpu_hotplug_disable
|
||||
cpu_hwcap_keys
|
||||
cpu_hwcaps
|
||||
cpu_latency_qos_add_request
|
||||
cpu_latency_qos_remove_request
|
||||
cpu_latency_qos_update_request
|
||||
cpumask_next
|
||||
cpumask_next_and
|
||||
cpufreq_add_update_util_hook
|
||||
@@ -153,6 +157,7 @@
|
||||
crypto_unregister_shash
|
||||
crypto_unregister_shashes
|
||||
__crypto_xor
|
||||
css_next_child
|
||||
csum_ipv6_magic
|
||||
csum_partial
|
||||
__dynamic_netdev_dbg
|
||||
@@ -539,6 +544,10 @@
|
||||
kmem_cache_destroy
|
||||
kmem_cache_free
|
||||
kmemdup
|
||||
kmsg_dump_get_buffer
|
||||
kmsg_dump_register
|
||||
kmsg_dump_rewind
|
||||
kmsg_dump_unregister
|
||||
kobject_create_and_add
|
||||
kobject_uevent_env
|
||||
ksoftirqd
|
||||
@@ -621,6 +630,7 @@
|
||||
nf_ct_l4proto_find
|
||||
nf_register_net_hooks
|
||||
nf_unregister_net_hooks
|
||||
nla_strscpy
|
||||
node_states
|
||||
noop_llseek
|
||||
nr_cpu_ids
|
||||
@@ -680,6 +690,7 @@
|
||||
__pci_register_driver
|
||||
pci_set_master
|
||||
pci_unregister_driver
|
||||
pcpu_nr_pages
|
||||
PDE_DATA
|
||||
__per_cpu_offset
|
||||
perf_trace_buf_alloc
|
||||
@@ -838,6 +849,7 @@
|
||||
rfkill_resume_polling
|
||||
rfkill_set_hw_state_reason
|
||||
rfkill_unregister
|
||||
root_task_group
|
||||
runqueues
|
||||
__SetPageMovable
|
||||
sched_clock
|
||||
@@ -871,6 +883,8 @@
|
||||
sg_nents
|
||||
sg_next
|
||||
shmem_read_mapping_page_gfp
|
||||
si_mem_available
|
||||
si_swapinfo
|
||||
simple_attr_open
|
||||
simple_attr_read
|
||||
simple_attr_release
|
||||
@@ -1110,11 +1124,15 @@
|
||||
vchan_tx_submit
|
||||
vfree
|
||||
vmalloc
|
||||
vmalloc_nr_pages
|
||||
vmalloc_to_page
|
||||
vm_map_ram
|
||||
vm_memory_committed
|
||||
vm_node_stat
|
||||
vm_unmap_aliases
|
||||
vm_unmap_ram
|
||||
vm_iomap_memory
|
||||
vm_zone_stat
|
||||
vsnprintf
|
||||
vscnprintf
|
||||
vunmap
|
||||
@@ -1157,6 +1175,7 @@
|
||||
xt_unregister_matches
|
||||
xt_unregister_target
|
||||
xt_unregister_targets
|
||||
__trace_bprintk
|
||||
__traceiter_android_rvh_account_irq
|
||||
__traceiter_android_rvh_account_irq_end
|
||||
__traceiter_android_rvh_account_irq_start
|
||||
@@ -1230,6 +1249,7 @@
|
||||
__traceiter_android_vh_thermal_register
|
||||
__traceiter_android_vh_thermal_unregister
|
||||
__traceiter_android_vh_update_topology_flags_workfn
|
||||
__traceiter_android_vh_usb_new_device_added
|
||||
__traceiter_cpu_frequency
|
||||
__traceiter_cpu_frequency_limits
|
||||
__traceiter_pelt_se_tp
|
||||
@@ -1588,6 +1608,7 @@
|
||||
__traceiter_android_vh_printk_caller_id
|
||||
__traceiter_android_vh_printk_ext_header
|
||||
__traceiter_android_rvh_report_bug
|
||||
__traceiter_clock_set_rate
|
||||
__tracepoint_android_vh_dma_buf_release
|
||||
__tracepoint_android_rvh_psci_tos_resident_on
|
||||
__tracepoint_android_rvh_psci_cpu_suspend
|
||||
@@ -1922,6 +1943,7 @@
|
||||
mmc_switch
|
||||
mmc_wait_for_cmd
|
||||
dma_map_sg_attrs
|
||||
mmc_issue_type
|
||||
|
||||
# required by sdiohal.ko
|
||||
mmc_detect_change
|
||||
@@ -2504,6 +2526,16 @@
|
||||
kobject_uevent
|
||||
match_string
|
||||
|
||||
# required by typec_displayport.ko
|
||||
extcon_sync
|
||||
typec_altmode2port
|
||||
typec_altmode_enter
|
||||
typec_altmode_exit
|
||||
typec_altmode_get_partner
|
||||
__typec_altmode_register_driver
|
||||
typec_altmode_unregister_driver
|
||||
typec_get_negotiated_svdm_version
|
||||
|
||||
# required by usb-storage.ko
|
||||
blk_queue_bounce_limit
|
||||
blk_queue_max_hw_sectors
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
22
android/abi_gki_aarch64_virtual_device_removed
Normal file
22
android/abi_gki_aarch64_virtual_device_removed
Normal file
@@ -0,0 +1,22 @@
|
||||
[abi_symbol_list]
|
||||
# abi_gki_aarch64_virtual_device contains all the symbols that are used by the
|
||||
# virtual device modules. Here goes all the symbols that were used
|
||||
# in abi_gki_aarch64_virtual_device but currently retired (e.g Intel HDA).
|
||||
_snd_ctl_add_follower
|
||||
get_device_system_crosststamp
|
||||
snd_card_disconnect
|
||||
snd_component_add
|
||||
snd_ctl_add_vmaster_hook
|
||||
snd_ctl_apply_vmaster_followers
|
||||
snd_ctl_make_virtual_master
|
||||
snd_ctl_remove
|
||||
snd_ctl_sync_vmaster
|
||||
snd_device_disconnect
|
||||
snd_device_new
|
||||
snd_pci_quirk_lookup
|
||||
snd_pci_quirk_lookup_id
|
||||
snd_pcm_hw_limit_rates
|
||||
snd_pcm_set_sync
|
||||
snd_pcm_suspend_all
|
||||
snd_sgbuf_get_chunk_size
|
||||
snd_pcm_std_chmaps
|
||||
@@ -21,6 +21,7 @@
|
||||
alloc_netdev_mqs
|
||||
__alloc_pages
|
||||
__alloc_percpu
|
||||
__alloc_percpu_gfp
|
||||
__alloc_skb
|
||||
alloc_skb_with_frags
|
||||
alloc_workqueue
|
||||
@@ -67,13 +68,18 @@
|
||||
bitmap_release_region
|
||||
__bitmap_set
|
||||
__blk_alloc_disk
|
||||
blk_bio_list_merge
|
||||
blkcg_policy_register
|
||||
blkcg_policy_unregister
|
||||
blk_cleanup_disk
|
||||
blkdev_get_by_dev
|
||||
blkdev_issue_flush
|
||||
blkdev_put
|
||||
blk_execute_rq_nowait
|
||||
blk_get_request
|
||||
blk_mq_debugfs_rq_show
|
||||
blk_mq_rq_cpu
|
||||
blk_mq_run_hw_queue
|
||||
blk_put_request
|
||||
blk_queue_flag_clear
|
||||
blk_queue_flag_set
|
||||
@@ -86,13 +92,14 @@
|
||||
blk_rq_map_user
|
||||
blk_rq_map_user_iov
|
||||
blk_rq_unmap_user
|
||||
blk_stat_enable_accounting
|
||||
blocking_notifier_call_chain
|
||||
blocking_notifier_chain_register
|
||||
blocking_notifier_chain_unregister
|
||||
bpf_trace_run1
|
||||
bpf_trace_run10
|
||||
bpf_trace_run11
|
||||
bpf_trace_run12
|
||||
bpf_trace_run1
|
||||
bpf_trace_run2
|
||||
bpf_trace_run3
|
||||
bpf_trace_run4
|
||||
@@ -107,6 +114,7 @@
|
||||
bus_register
|
||||
bus_set_iommu
|
||||
bus_unregister
|
||||
cache_line_size
|
||||
cancel_delayed_work
|
||||
cancel_delayed_work_sync
|
||||
cancel_work_sync
|
||||
@@ -130,6 +138,7 @@
|
||||
class_for_each_device
|
||||
class_interface_unregister
|
||||
__class_register
|
||||
class_remove_file_ns
|
||||
class_unregister
|
||||
cleanup_srcu_struct
|
||||
clear_page
|
||||
@@ -816,6 +825,9 @@
|
||||
edac_device_free_ctl_info
|
||||
edac_device_handle_ce_count
|
||||
edac_device_handle_ue_count
|
||||
elevator_alloc
|
||||
elv_register
|
||||
elv_unregister
|
||||
enable_irq
|
||||
enable_percpu_irq
|
||||
ether_setup
|
||||
@@ -1264,6 +1276,7 @@
|
||||
kstrtoull
|
||||
kstrtoull_from_user
|
||||
kthread_bind_mask
|
||||
kthread_blkcg
|
||||
kthread_cancel_delayed_work_sync
|
||||
kthread_cancel_work_sync
|
||||
kthread_create_on_node
|
||||
@@ -1343,8 +1356,8 @@
|
||||
mempool_free_slab
|
||||
memremap
|
||||
mem_section
|
||||
memset64
|
||||
memset
|
||||
memset64
|
||||
__memset_io
|
||||
memstart_addr
|
||||
memunmap
|
||||
@@ -1416,8 +1429,8 @@
|
||||
netlink_unicast
|
||||
nla_memcpy
|
||||
__nla_parse
|
||||
nla_put_64bit
|
||||
nla_put
|
||||
nla_put_64bit
|
||||
nla_strscpy
|
||||
__nlmsg_put
|
||||
no_llseek
|
||||
@@ -1448,6 +1461,7 @@
|
||||
of_clk_src_simple_get
|
||||
of_count_phandle_with_args
|
||||
of_cpu_node_to_id
|
||||
of_css
|
||||
of_devfreq_cooling_register
|
||||
of_device_get_match_data
|
||||
of_device_is_available
|
||||
@@ -1702,6 +1716,7 @@
|
||||
print_hex_dump
|
||||
_printk
|
||||
_printk_deferred
|
||||
printk_timed_ratelimit
|
||||
proc_create
|
||||
proc_create_data
|
||||
proc_create_single_data
|
||||
@@ -1835,6 +1850,7 @@
|
||||
regulator_enable
|
||||
regulator_force_disable
|
||||
regulator_get
|
||||
regulator_get_drvdata
|
||||
regulator_get_mode
|
||||
regulator_get_voltage
|
||||
regulator_get_voltage_rdev
|
||||
@@ -1918,6 +1934,16 @@
|
||||
rtnl_unicast
|
||||
rtnl_unlock
|
||||
runqueues
|
||||
sbitmap_add_wait_queue
|
||||
sbitmap_any_bit_set
|
||||
sbitmap_del_wait_queue
|
||||
sbitmap_init_node
|
||||
sbitmap_queue_clear
|
||||
__sbitmap_queue_get
|
||||
sbitmap_queue_init_node
|
||||
sbitmap_queue_min_shallow_depth
|
||||
sbitmap_queue_resize
|
||||
sbitmap_queue_show
|
||||
scatterwalk_ffwd
|
||||
scatterwalk_map_and_copy
|
||||
sched_clock
|
||||
@@ -1973,6 +1999,8 @@
|
||||
send_sig_info
|
||||
seq_buf_printf
|
||||
seq_hex_dump
|
||||
seq_list_next
|
||||
seq_list_start
|
||||
seq_lseek
|
||||
seq_open
|
||||
seq_printf
|
||||
@@ -2259,6 +2287,7 @@
|
||||
thermal_zone_of_sensor_unregister
|
||||
tick_nohz_get_sleep_length
|
||||
time64_to_tm
|
||||
timer_reduce
|
||||
topology_clear_scale_freq_source
|
||||
topology_set_thermal_pressure
|
||||
topology_update_done
|
||||
@@ -2311,12 +2340,19 @@
|
||||
__traceiter_android_vh_logbuf
|
||||
__traceiter_android_vh_logbuf_pr_cont
|
||||
__traceiter_android_vh_mmap_region
|
||||
__traceiter_android_vh_mmc_attach_sd
|
||||
__traceiter_android_vh_mmc_blk_mq_rw_recovery
|
||||
__traceiter_android_vh_mmc_blk_reset
|
||||
__traceiter_android_vh_mmc_gpio_cd_irqt
|
||||
__traceiter_android_vh_scheduler_tick
|
||||
__traceiter_android_vh_sdhci_get_cd
|
||||
__traceiter_android_vh_sd_update_bus_speed_mode
|
||||
__traceiter_android_vh_show_resume_epoch_val
|
||||
__traceiter_android_vh_show_suspend_epoch_val
|
||||
__traceiter_android_vh_shrink_slab_bypass
|
||||
__traceiter_android_vh_try_to_unmap_one
|
||||
__traceiter_android_vh_ufs_check_int_errors
|
||||
__traceiter_android_vh_ufs_clock_scaling
|
||||
__traceiter_android_vh_ufs_compl_command
|
||||
__traceiter_android_vh_ufs_prepare_command
|
||||
__traceiter_android_vh_ufs_send_command
|
||||
@@ -2324,10 +2360,13 @@
|
||||
__traceiter_android_vh_ufs_send_uic_command
|
||||
__traceiter_android_vh_ufs_update_sdev
|
||||
__traceiter_android_vh_update_topology_flags_workfn
|
||||
__traceiter_block_rq_insert
|
||||
__traceiter_cpu_frequency_limits
|
||||
__traceiter_dwc3_complete_trb
|
||||
__traceiter_dwc3_ctrl_req
|
||||
__traceiter_dwc3_event
|
||||
__traceiter_dwc3_readl
|
||||
__traceiter_dwc3_writel
|
||||
__traceiter_gpu_mem_total
|
||||
__traceiter_ipi_entry
|
||||
__traceiter_ipi_raise
|
||||
@@ -2403,15 +2442,22 @@
|
||||
__tracepoint_android_vh_logbuf
|
||||
__tracepoint_android_vh_logbuf_pr_cont
|
||||
__tracepoint_android_vh_mmap_region
|
||||
__tracepoint_android_vh_mmc_attach_sd
|
||||
__tracepoint_android_vh_mmc_blk_mq_rw_recovery
|
||||
__tracepoint_android_vh_mmc_blk_reset
|
||||
__tracepoint_android_vh_mmc_gpio_cd_irqt
|
||||
__tracepoint_android_vh_printk_hotplug
|
||||
__tracepoint_android_vh_rproc_recovery
|
||||
__tracepoint_android_vh_scheduler_tick
|
||||
__tracepoint_android_vh_sdhci_get_cd
|
||||
__tracepoint_android_vh_sd_update_bus_speed_mode
|
||||
__tracepoint_android_vh_show_resume_epoch_val
|
||||
__tracepoint_android_vh_show_suspend_epoch_val
|
||||
__tracepoint_android_vh_shrink_slab_bypass
|
||||
__tracepoint_android_vh_timer_calc_index
|
||||
__tracepoint_android_vh_try_to_unmap_one
|
||||
__tracepoint_android_vh_ufs_check_int_errors
|
||||
__tracepoint_android_vh_ufs_clock_scaling
|
||||
__tracepoint_android_vh_ufs_compl_command
|
||||
__tracepoint_android_vh_ufs_prepare_command
|
||||
__tracepoint_android_vh_ufs_send_command
|
||||
@@ -2420,24 +2466,30 @@
|
||||
__tracepoint_android_vh_ufs_update_sdev
|
||||
__tracepoint_android_vh_update_topology_flags_workfn
|
||||
__tracepoint_binder_transaction_received
|
||||
__tracepoint_block_rq_insert
|
||||
__tracepoint_cpu_frequency_limits
|
||||
__tracepoint_dwc3_complete_trb
|
||||
__tracepoint_dwc3_ctrl_req
|
||||
__tracepoint_dwc3_event
|
||||
__tracepoint_dwc3_readl
|
||||
__tracepoint_dwc3_writel
|
||||
__tracepoint_gpu_mem_total
|
||||
__tracepoint_ipi_entry
|
||||
__tracepoint_ipi_raise
|
||||
__tracepoint_irq_handler_entry
|
||||
__tracepoint_mmap_lock_acquire_returned
|
||||
__tracepoint_mmap_lock_released
|
||||
__tracepoint_mmap_lock_start_locking
|
||||
__tracepoint_usb_gadget_connect
|
||||
__tracepoint_usb_gadget_disconnect
|
||||
tracepoint_probe_register
|
||||
tracepoint_probe_register_prio
|
||||
tracepoint_probe_unregister
|
||||
__tracepoint_rwmmio_read
|
||||
__tracepoint_rwmmio_write
|
||||
__tracepoint_sched_overutilized_tp
|
||||
__tracepoint_sched_switch
|
||||
__tracepoint_suspend_resume
|
||||
__tracepoint_usb_gadget_connect
|
||||
__tracepoint_usb_gadget_disconnect
|
||||
trace_print_array_seq
|
||||
trace_print_flags_seq
|
||||
trace_print_hex_seq
|
||||
@@ -2469,6 +2521,7 @@
|
||||
ucsi_destroy
|
||||
ucsi_get_drvdata
|
||||
ucsi_register
|
||||
ucsi_send_command
|
||||
ucsi_set_drvdata
|
||||
ucsi_unregister
|
||||
__udelay
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# required by touch module
|
||||
proc_mkdir_data
|
||||
proc_create_seq_private
|
||||
power_supply_is_system_supplied
|
||||
|
||||
# required by aw8697-haptic.ko
|
||||
devm_gpio_free
|
||||
@@ -62,6 +63,40 @@
|
||||
mempool_resize
|
||||
mempool_alloc_pages
|
||||
mempool_free_pages
|
||||
blk_pm_runtime_init
|
||||
scsi_remove_device
|
||||
kobject_get
|
||||
__traceiter_android_vh_ufs_update_sdev
|
||||
__tracepoint_android_vh_ufs_mcq_handler
|
||||
__tracepoint_android_vh_ufs_mcq_print_trs
|
||||
__tracepoint_android_vh_ufs_mcq_config
|
||||
__tracepoint_android_vh_ufs_mcq_max_tag
|
||||
__tracepoint_android_vh_ufs_mcq_hba_capabilities
|
||||
__tracepoint_android_vh_ufs_mcq_clear_pending
|
||||
__tracepoint_android_vh_ufs_mcq_abort
|
||||
__tracepoint_android_vh_ufs_mcq_map_tag
|
||||
__tracepoint_android_vh_ufs_mcq_make_hba_operational
|
||||
__tracepoint_android_vh_ufs_use_mcq_hooks
|
||||
__tracepoint_android_vh_ufs_mcq_get_outstanding_reqs
|
||||
__tracepoint_android_vh_ufs_mcq_clear_cmd
|
||||
__tracepoint_android_vh_ufs_mcq_send_command
|
||||
__tracepoint_android_vh_ufs_mcq_set_sqid
|
||||
__tracepoint_android_vh_ufs_mcq_has_oustanding_reqs
|
||||
__traceiter_android_vh_ufs_mcq_handler
|
||||
__traceiter_android_vh_ufs_mcq_print_trs
|
||||
__traceiter_android_vh_ufs_mcq_config
|
||||
__traceiter_android_vh_ufs_mcq_max_tag
|
||||
__traceiter_android_vh_ufs_mcq_hba_capabilities
|
||||
__traceiter_android_vh_ufs_mcq_clear_pending
|
||||
__traceiter_android_vh_ufs_mcq_abort
|
||||
__traceiter_android_vh_ufs_mcq_map_tag
|
||||
__traceiter_android_vh_ufs_mcq_make_hba_operational
|
||||
__traceiter_android_vh_ufs_use_mcq_hooks
|
||||
__traceiter_android_vh_ufs_mcq_get_outstanding_reqs
|
||||
__traceiter_android_vh_ufs_mcq_clear_cmd
|
||||
__traceiter_android_vh_ufs_mcq_send_command
|
||||
__traceiter_android_vh_ufs_mcq_set_sqid
|
||||
__traceiter_android_vh_ufs_mcq_has_oustanding_reqs
|
||||
|
||||
#required by cs35l41 module
|
||||
regmap_raw_write_async
|
||||
@@ -122,14 +157,28 @@
|
||||
simple_strtoul
|
||||
sync_blockdev
|
||||
wait_for_device_probe
|
||||
blk_mq_alloc_sq_tag_set
|
||||
|
||||
#required by millet.ko
|
||||
__traceiter_android_vh_binder_wait_for_work
|
||||
__tracepoint_android_vh_binder_wait_for_work
|
||||
__traceiter_android_vh_do_send_sig_info
|
||||
__traceiter_android_vh_binder_preset
|
||||
__traceiter_android_vh_binder_trans
|
||||
__traceiter_android_vh_binder_reply
|
||||
__traceiter_android_vh_binder_alloc_new_buf_locked
|
||||
__tracepoint_android_vh_do_send_sig_info
|
||||
__tracepoint_android_vh_binder_preset
|
||||
__tracepoint_android_vh_binder_trans
|
||||
__tracepoint_android_vh_binder_reply
|
||||
__tracepoint_android_vh_binder_alloc_new_buf_locked
|
||||
|
||||
|
||||
#required by mi_sched.ko
|
||||
__traceiter_android_vh_free_task
|
||||
__tracepoint_android_vh_free_task
|
||||
__traceiter_android_vh_scheduler_tick
|
||||
__tracepoint_android_vh_scheduler_tick
|
||||
jiffies_64
|
||||
|
||||
#required by migt.ko
|
||||
@@ -139,6 +188,8 @@
|
||||
__tracepoint_android_rvh_after_enqueue_task
|
||||
__tracepoint_android_rvh_after_dequeue_task
|
||||
__tracepoint_android_vh_map_util_freq
|
||||
__traceiter_android_vh_map_util_freq_new
|
||||
__tracepoint_android_vh_map_util_freq_new
|
||||
|
||||
#required by turbo.ko
|
||||
|
||||
@@ -152,10 +203,15 @@
|
||||
|
||||
#required by pm8941-pwrkey.ko module
|
||||
console_printk
|
||||
console_verbose
|
||||
|
||||
#required by binderinfo.ko module
|
||||
__traceiter_android_vh_binder_transaction_init
|
||||
__tracepoint_android_vh_binder_transaction_init
|
||||
__traceiter_android_vh_binder_print_transaction_info
|
||||
__tracepoint_android_vh_binder_print_transaction_info
|
||||
__traceiter_binder_txn_latency_free
|
||||
__tracepoint_binder_txn_latency_free
|
||||
|
||||
#required by reclaim module
|
||||
|
||||
@@ -167,8 +223,41 @@
|
||||
|
||||
#extend_reclaim.ko
|
||||
|
||||
##required by xm_power_debug.ko module
|
||||
#required by xm_power_debug.ko module
|
||||
wakeup_sources_read_lock
|
||||
wakeup_sources_read_unlock
|
||||
wakeup_sources_walk_start
|
||||
wakeup_sources_walk_next
|
||||
|
||||
#required by swinfo.ko module
|
||||
proc_set_size
|
||||
|
||||
#required by msm_rtb.ko module
|
||||
__tracepoint_rwmmio_read
|
||||
__traceiter_rwmmio_read
|
||||
__tracepoint_rwmmio_write
|
||||
__traceiter_rwmmio_write
|
||||
__tracepoint_irq_handler_entry
|
||||
__traceiter_irq_handler_entry
|
||||
|
||||
#required by msm_rtb.ko module
|
||||
phy_resolve_aneg_linkmode
|
||||
|
||||
#required by metis.ko module
|
||||
__traceiter_android_vh_rwsem_read_wait_start
|
||||
__traceiter_android_vh_rwsem_write_wait_start
|
||||
__traceiter_android_vh_mutex_wait_start
|
||||
__traceiter_android_vh_alter_mutex_list_add
|
||||
__traceiter_android_rvh_cpuset_fork
|
||||
__traceiter_android_vh_sched_setaffinity_early
|
||||
__traceiter_android_rvh_set_cpus_allowed_comm
|
||||
__traceiter_android_rvh_dequeue_task
|
||||
__tracepoint_android_vh_rwsem_read_wait_start
|
||||
__tracepoint_android_vh_rwsem_write_wait_start
|
||||
__tracepoint_android_vh_mutex_wait_start
|
||||
__tracepoint_android_vh_alter_mutex_list_add
|
||||
__tracepoint_android_rvh_cpuset_fork
|
||||
__tracepoint_android_vh_sched_setaffinity_early
|
||||
__tracepoint_android_rvh_set_cpus_allowed_comm
|
||||
__tracepoint_android_rvh_dequeue_task
|
||||
cpuset_cpus_allowed
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
include ../arm64/OWNERS
|
||||
@@ -10,6 +10,7 @@ config ARM64
|
||||
select ACPI_SPCR_TABLE if ACPI
|
||||
select ACPI_PPTT if ACPI
|
||||
select ARCH_HAS_DEBUG_WX
|
||||
select ARCH_BINFMT_ELF_EXTRA_PHDRS
|
||||
select ARCH_BINFMT_ELF_STATE
|
||||
select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
|
||||
select ARCH_ENABLE_MEMORY_HOTPLUG
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
per-file crypto/**=file:/crypto/OWNERS
|
||||
per-file {include,kernel,kvm,lib}/**=mzyngier@google.com,willdeacon@google.com
|
||||
per-file mm/**=file:/mm/OWNERS
|
||||
per-file net/**=file:/net/OWNERS
|
||||
@@ -538,6 +538,7 @@ CONFIG_COMMON_CLK_SCPI=y
|
||||
CONFIG_HWSPINLOCK=y
|
||||
# CONFIG_SUN50I_ERRATUM_UNKNOWN1 is not set
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
|
||||
CONFIG_REMOTEPROC=y
|
||||
CONFIG_REMOTEPROC_CDEV=y
|
||||
CONFIG_RPMSG_CHAR=y
|
||||
|
||||
@@ -327,10 +327,27 @@ static inline unsigned long host_s2_pgtable_pages(void)
|
||||
|
||||
#define KVM_FFA_MBOX_NR_PAGES 1
|
||||
|
||||
/*
|
||||
* Maximum number of consitutents allowed in a descriptor. This number is
|
||||
* arbitrary, see comment below on SG_MAX_SEGMENTS in hyp_ffa_proxy_pages().
|
||||
*/
|
||||
#define KVM_FFA_MAX_NR_CONSTITUENTS 4096
|
||||
|
||||
static inline unsigned long hyp_ffa_proxy_pages(void)
|
||||
{
|
||||
size_t desc_max;
|
||||
|
||||
/*
|
||||
* SG_MAX_SEGMENTS is supposed to bound the number of elements in an
|
||||
* sglist, which should match the number of consituents in the
|
||||
* corresponding FFA descriptor. As such, the EL2 buffer needs to be
|
||||
* large enough to hold a descriptor with SG_MAX_SEGMENTS consituents
|
||||
* at least. But the kernel's DMA code doesn't enforce the limit, and
|
||||
* it is sometimes abused, so let's allow larger descriptors and hope
|
||||
* for the best.
|
||||
*/
|
||||
BUILD_BUG_ON(KVM_FFA_MAX_NR_CONSTITUENTS < SG_MAX_SEGMENTS);
|
||||
|
||||
/*
|
||||
* The hypervisor FFA proxy needs enough memory to buffer a fragmented
|
||||
* descriptor returned from EL3 in response to a RETRIEVE_REQ call.
|
||||
@@ -338,7 +355,7 @@ static inline unsigned long hyp_ffa_proxy_pages(void)
|
||||
desc_max = sizeof(struct ffa_mem_region) +
|
||||
sizeof(struct ffa_mem_region_attributes) +
|
||||
sizeof(struct ffa_composite_mem_region) +
|
||||
SG_MAX_SEGMENTS * sizeof(struct ffa_mem_region_addr_range);
|
||||
KVM_FFA_MAX_NR_CONSTITUENTS * sizeof(struct ffa_mem_region_addr_range);
|
||||
|
||||
/* Plus a page each for the hypervisor's RX and TX mailboxes. */
|
||||
return (2 * KVM_FFA_MBOX_NR_PAGES) + DIV_ROUND_UP(desc_max, PAGE_SIZE);
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#define MTE_TAG_SHIFT 56
|
||||
#define MTE_TAG_SIZE 4
|
||||
#define MTE_TAG_MASK GENMASK((MTE_TAG_SHIFT + (MTE_TAG_SIZE - 1)), MTE_TAG_SHIFT)
|
||||
#define MTE_PAGE_TAG_STORAGE (MTE_GRANULES_PER_PAGE * MTE_TAG_SIZE / 8)
|
||||
|
||||
#define __MTE_PREAMBLE ARM64_ASM_PREAMBLE ".arch_extension memtag\n"
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) += acpi_parking_protocol.o
|
||||
obj-$(CONFIG_PARAVIRT) += paravirt.o
|
||||
obj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o
|
||||
obj-$(CONFIG_HIBERNATION) += hibernate.o hibernate-asm.o
|
||||
obj-$(CONFIG_ELF_CORE) += elfcore.o
|
||||
obj-$(CONFIG_KEXEC_CORE) += machine_kexec.o relocate_kernel.o \
|
||||
cpu-reset.o
|
||||
obj-$(CONFIG_KEXEC_FILE) += machine_kexec_file.o kexec_image.o
|
||||
|
||||
@@ -59,6 +59,7 @@ struct insn_emulation {
|
||||
static LIST_HEAD(insn_emulation);
|
||||
static int nr_insn_emulated __initdata;
|
||||
static DEFINE_RAW_SPINLOCK(insn_emulation_lock);
|
||||
static DEFINE_MUTEX(insn_emulation_mutex);
|
||||
|
||||
static void register_emulation_hooks(struct insn_emulation_ops *ops)
|
||||
{
|
||||
@@ -207,10 +208,10 @@ static int emulation_proc_handler(struct ctl_table *table, int write,
|
||||
loff_t *ppos)
|
||||
{
|
||||
int ret = 0;
|
||||
struct insn_emulation *insn = (struct insn_emulation *) table->data;
|
||||
struct insn_emulation *insn = container_of(table->data, struct insn_emulation, current_mode);
|
||||
enum insn_emulation_mode prev_mode = insn->current_mode;
|
||||
|
||||
table->data = &insn->current_mode;
|
||||
mutex_lock(&insn_emulation_mutex);
|
||||
ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
||||
|
||||
if (ret || !write || prev_mode == insn->current_mode)
|
||||
@@ -223,7 +224,7 @@ static int emulation_proc_handler(struct ctl_table *table, int write,
|
||||
update_insn_emulation_mode(insn, INSN_UNDEF);
|
||||
}
|
||||
ret:
|
||||
table->data = insn;
|
||||
mutex_unlock(&insn_emulation_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -247,7 +248,7 @@ static void __init register_insn_emulation_sysctl(void)
|
||||
sysctl->maxlen = sizeof(int);
|
||||
|
||||
sysctl->procname = insn->ops->name;
|
||||
sysctl->data = insn;
|
||||
sysctl->data = &insn->current_mode;
|
||||
sysctl->extra1 = &insn->min;
|
||||
sysctl->extra2 = &insn->max;
|
||||
sysctl->proc_handler = emulation_proc_handler;
|
||||
|
||||
139
arch/arm64/kernel/elfcore.c
Normal file
139
arch/arm64/kernel/elfcore.c
Normal file
@@ -0,0 +1,139 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
#include <linux/coredump.h>
|
||||
#include <linux/elfcore.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/mm.h>
|
||||
|
||||
#include <asm/cpufeature.h>
|
||||
#include <asm/mte.h>
|
||||
|
||||
#define for_each_mte_vma(tsk, vma) \
|
||||
if (system_supports_mte()) \
|
||||
for (vma = tsk->mm->mmap; vma; vma = vma->vm_next) \
|
||||
if (vma->vm_flags & VM_MTE)
|
||||
|
||||
static unsigned long mte_vma_tag_dump_size(struct vm_area_struct *vma)
|
||||
{
|
||||
if (vma->vm_flags & VM_DONTDUMP)
|
||||
return 0;
|
||||
|
||||
return vma_pages(vma) * MTE_PAGE_TAG_STORAGE;
|
||||
}
|
||||
|
||||
/* Derived from dump_user_range(); start/end must be page-aligned */
|
||||
static int mte_dump_tag_range(struct coredump_params *cprm,
|
||||
unsigned long start, unsigned long end)
|
||||
{
|
||||
int ret = 1;
|
||||
unsigned long addr;
|
||||
void *tags = NULL;
|
||||
|
||||
for (addr = start; addr < end; addr += PAGE_SIZE) {
|
||||
struct page *page = get_dump_page(addr);
|
||||
|
||||
/*
|
||||
* get_dump_page() returns NULL when encountering an empty
|
||||
* page table entry that would otherwise have been filled with
|
||||
* the zero page. Skip the equivalent tag dump which would
|
||||
* have been all zeros.
|
||||
*/
|
||||
if (!page) {
|
||||
dump_skip(cprm, MTE_PAGE_TAG_STORAGE);
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Pages mapped in user space as !pte_access_permitted() (e.g.
|
||||
* PROT_EXEC only) may not have the PG_mte_tagged flag set.
|
||||
*/
|
||||
if (!test_bit(PG_mte_tagged, &page->flags)) {
|
||||
put_page(page);
|
||||
dump_skip(cprm, MTE_PAGE_TAG_STORAGE);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!tags) {
|
||||
tags = mte_allocate_tag_storage();
|
||||
if (!tags) {
|
||||
put_page(page);
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mte_save_page_tags(page_address(page), tags);
|
||||
put_page(page);
|
||||
if (!dump_emit(cprm, tags, MTE_PAGE_TAG_STORAGE)) {
|
||||
mte_free_tag_storage(tags);
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (tags)
|
||||
mte_free_tag_storage(tags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Elf_Half elf_core_extra_phdrs(void)
|
||||
{
|
||||
struct vm_area_struct *vma;
|
||||
int vma_count = 0;
|
||||
|
||||
for_each_mte_vma(current, vma)
|
||||
vma_count++;
|
||||
|
||||
return vma_count;
|
||||
}
|
||||
|
||||
int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset)
|
||||
{
|
||||
struct vm_area_struct *vma;
|
||||
|
||||
for_each_mte_vma(current, vma) {
|
||||
struct elf_phdr phdr;
|
||||
|
||||
phdr.p_type = PT_AARCH64_MEMTAG_MTE;
|
||||
phdr.p_offset = offset;
|
||||
phdr.p_vaddr = vma->vm_start;
|
||||
phdr.p_paddr = 0;
|
||||
phdr.p_filesz = mte_vma_tag_dump_size(vma);
|
||||
phdr.p_memsz = vma->vm_end - vma->vm_start;
|
||||
offset += phdr.p_filesz;
|
||||
phdr.p_flags = 0;
|
||||
phdr.p_align = 0;
|
||||
|
||||
if (!dump_emit(cprm, &phdr, sizeof(phdr)))
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
size_t elf_core_extra_data_size(void)
|
||||
{
|
||||
struct vm_area_struct *vma;
|
||||
size_t data_size = 0;
|
||||
|
||||
for_each_mte_vma(current, vma)
|
||||
data_size += mte_vma_tag_dump_size(vma);
|
||||
|
||||
return data_size;
|
||||
}
|
||||
|
||||
int elf_core_write_extra_data(struct coredump_params *cprm)
|
||||
{
|
||||
struct vm_area_struct *vma;
|
||||
|
||||
for_each_mte_vma(current, vma) {
|
||||
if (vma->vm_flags & VM_DONTDUMP)
|
||||
continue;
|
||||
|
||||
if (!mte_dump_tag_range(cprm, vma->vm_start, vma->vm_end))
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -558,6 +558,7 @@ out:
|
||||
put_task_stack(p);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(get_wchan);
|
||||
|
||||
unsigned long arch_align_stack(unsigned long sp)
|
||||
{
|
||||
|
||||
@@ -324,7 +324,7 @@ static int ffa_host_share_ranges(struct ffa_mem_region_addr_range *ranges,
|
||||
int ret = 0;
|
||||
|
||||
if (nshared != nranges) {
|
||||
WARN_ON(__ffa_host_unshare_ranges(ranges, nshared));
|
||||
WARN_ON(__ffa_host_unshare_ranges(ranges, nshared) != nshared);
|
||||
ret = FFA_RET_DENIED;
|
||||
}
|
||||
|
||||
@@ -338,7 +338,7 @@ static int ffa_host_unshare_ranges(struct ffa_mem_region_addr_range *ranges,
|
||||
int ret = 0;
|
||||
|
||||
if (nunshared != nranges) {
|
||||
WARN_ON(__ffa_host_share_ranges(ranges, nunshared));
|
||||
WARN_ON(__ffa_host_share_ranges(ranges, nunshared) != nunshared);
|
||||
ret = FFA_RET_DENIED;
|
||||
}
|
||||
|
||||
|
||||
@@ -600,6 +600,25 @@ static int check_shadow_size(int nr_vcpus, size_t shadow_size)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void drain_shadow_vcpus(struct shadow_vcpu_state *shadow_vcpus,
|
||||
unsigned int nr_vcpus,
|
||||
struct kvm_hyp_memcache *mc)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nr_vcpus; i++) {
|
||||
struct kvm_vcpu *shadow_vcpu = &shadow_vcpus[i].vcpu;
|
||||
struct kvm_hyp_memcache *vcpu_mc = &shadow_vcpu->arch.pkvm_memcache;
|
||||
void *addr;
|
||||
|
||||
while (vcpu_mc->nr_pages) {
|
||||
addr = pop_hyp_memcache(vcpu_mc, hyp_phys_to_virt);
|
||||
push_hyp_memcache(mc, addr, hyp_virt_to_phys);
|
||||
WARN_ON(__pkvm_hyp_donate_host(hyp_virt_to_pfn(addr), 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize the shadow copy of the protected VM state using the memory
|
||||
* donated by the host.
|
||||
@@ -753,6 +772,7 @@ int __pkvm_teardown_shadow(int shadow_handle)
|
||||
/* Reclaim guest pages, and page-table pages */
|
||||
mc = &vm->host_kvm->arch.pkvm.teardown_mc;
|
||||
reclaim_guest_pages(vm, mc);
|
||||
drain_shadow_vcpus(vm->shadow_vcpus, vm->created_vcpus, mc);
|
||||
unpin_host_vcpus(vm->shadow_vcpus, vm->created_vcpus);
|
||||
|
||||
/* Push the metadata pages to the teardown memcache */
|
||||
|
||||
@@ -134,7 +134,7 @@ SYM_FUNC_END(mte_copy_tags_to_user)
|
||||
/*
|
||||
* Save the tags in a page
|
||||
* x0 - page address
|
||||
* x1 - tag storage
|
||||
* x1 - tag storage, MTE_PAGE_TAG_STORAGE bytes
|
||||
*/
|
||||
SYM_FUNC_START(mte_save_page_tags)
|
||||
multitag_transfer_size x7, x5
|
||||
@@ -158,7 +158,7 @@ SYM_FUNC_END(mte_save_page_tags)
|
||||
/*
|
||||
* Restore the tags in a page
|
||||
* x0 - page address
|
||||
* x1 - tag storage
|
||||
* x1 - tag storage, MTE_PAGE_TAG_STORAGE bytes
|
||||
*/
|
||||
SYM_FUNC_START(mte_restore_page_tags)
|
||||
multitag_transfer_size x7, x5
|
||||
|
||||
@@ -12,7 +12,7 @@ static DEFINE_XARRAY(mte_pages);
|
||||
void *mte_allocate_tag_storage(void)
|
||||
{
|
||||
/* tags granule is 16 bytes, 2 tags stored per byte */
|
||||
return kmalloc(PAGE_SIZE / 16 / 2, GFP_KERNEL);
|
||||
return kmalloc(MTE_PAGE_TAG_STORAGE, GFP_KERNEL);
|
||||
}
|
||||
|
||||
void mte_free_tag_storage(char *storage)
|
||||
|
||||
@@ -8,6 +8,7 @@ menu "Processor type and features"
|
||||
|
||||
config IA64
|
||||
bool
|
||||
select ARCH_BINFMT_ELF_EXTRA_PHDRS
|
||||
select ARCH_HAS_DMA_MARK_CLEAN
|
||||
select ARCH_HAS_STRNCPY_FROM_USER
|
||||
select ARCH_HAS_STRNLEN_USER
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
per-file crypto/**=file:/crypto/OWNERS
|
||||
per-file mm/**=file:/mm/OWNERS
|
||||
per-file net/**=file:/net/OWNERS
|
||||
@@ -9,6 +9,7 @@ endmenu
|
||||
config UML_X86
|
||||
def_bool y
|
||||
select GENERIC_FIND_FIRST_BIT
|
||||
select ARCH_BINFMT_ELF_EXTRA_PHDRS if X86_32
|
||||
|
||||
config 64BIT
|
||||
bool "64-bit kernel" if "$(SUBARCH)" = "x86"
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
bvanassche@google.com
|
||||
jaegeuk@google.com
|
||||
@@ -13,10 +13,12 @@ ABI_DEFINITION=android/abi_gki_aarch64.xml
|
||||
KMI_SYMBOL_LIST=android/abi_gki_aarch64
|
||||
ADDITIONAL_KMI_SYMBOL_LISTS="
|
||||
android/abi_gki_aarch64_virtual_device
|
||||
android/abi_gki_aarch64_virtual_device_removed
|
||||
android/abi_gki_aarch64_db845c
|
||||
android/abi_gki_aarch64_exynos
|
||||
android/abi_gki_aarch64_exynosauto
|
||||
android/abi_gki_aarch64_fips140
|
||||
android/abi_gki_aarch64_galaxy
|
||||
android/abi_gki_aarch64_honor
|
||||
android/abi_gki_aarch64_imx
|
||||
android/abi_gki_aarch64_pixel
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
ardb@google.com
|
||||
@@ -1,6 +0,0 @@
|
||||
per-file base/**=gregkh@google.com,saravanak@google.com
|
||||
per-file block/**=akailash@google.com
|
||||
per-file md/**=akailash@google.com,paullawrence@google.com
|
||||
per-file net/**=file:/net/OWNERS
|
||||
per-file scsi/**=bvanassche@google.com,jaegeuk@google.com
|
||||
per-file {tty,usb}/**=gregkh@google.com
|
||||
@@ -491,6 +491,11 @@ static void binder_inc_node_tmpref_ilocked(struct binder_node *node);
|
||||
static bool binder_has_work_ilocked(struct binder_thread *thread,
|
||||
bool do_proc_work)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
trace_android_vh_binder_has_work_ilocked(thread, do_proc_work, &ret);
|
||||
if (ret)
|
||||
return true;
|
||||
return thread->process_todo ||
|
||||
thread->looper_need_return ||
|
||||
(do_proc_work &&
|
||||
@@ -657,8 +662,13 @@ static void binder_do_set_priority(struct binder_thread *thread,
|
||||
bool has_cap_nice;
|
||||
unsigned int policy = desired->sched_policy;
|
||||
|
||||
if (task->policy == policy && task->normal_prio == desired->prio)
|
||||
if (task->policy == policy && task->normal_prio == desired->prio) {
|
||||
spin_lock(&thread->prio_lock);
|
||||
if (thread->prio_state == BINDER_PRIO_PENDING)
|
||||
thread->prio_state = BINDER_PRIO_SET;
|
||||
spin_unlock(&thread->prio_lock);
|
||||
return;
|
||||
}
|
||||
|
||||
has_cap_nice = has_capability_noaudit(task, CAP_SYS_NICE);
|
||||
|
||||
@@ -1241,6 +1251,7 @@ static struct binder_ref *binder_get_ref_for_node_olocked(
|
||||
"%d new ref %d desc %d for node %d\n",
|
||||
proc->pid, new_ref->data.debug_id, new_ref->data.desc,
|
||||
node->debug_id);
|
||||
trace_android_vh_binder_new_ref(proc->tsk, new_ref->data.desc, new_ref->node->debug_id);
|
||||
binder_node_unlock(node);
|
||||
return new_ref;
|
||||
}
|
||||
@@ -1408,6 +1419,7 @@ err_no_ref:
|
||||
*/
|
||||
static void binder_free_ref(struct binder_ref *ref)
|
||||
{
|
||||
trace_android_vh_binder_del_ref(ref->proc ? ref->proc->tsk : 0, ref->data.desc);
|
||||
if (ref->node)
|
||||
binder_free_node(ref->node);
|
||||
kfree(ref->death);
|
||||
@@ -1512,6 +1524,18 @@ static int binder_inc_ref_for_node(struct binder_proc *proc,
|
||||
}
|
||||
ret = binder_inc_ref_olocked(ref, strong, target_list);
|
||||
*rdata = ref->data;
|
||||
if (ret && ref == new_ref) {
|
||||
/*
|
||||
* Cleanup the failed reference here as the target
|
||||
* could now be dead and have already released its
|
||||
* references by now. Calling on the new reference
|
||||
* with strong=0 and a tmp_refs will not decrement
|
||||
* the node. The new_ref gets kfree'd below.
|
||||
*/
|
||||
binder_cleanup_ref_olocked(new_ref);
|
||||
ref = NULL;
|
||||
}
|
||||
|
||||
binder_proc_unlock(proc);
|
||||
if (new_ref && ref != new_ref)
|
||||
/*
|
||||
@@ -2522,6 +2546,56 @@ static int binder_fixup_parent(struct binder_transaction *t,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* binder_can_update_transaction() - Can a txn be superseded by an updated one?
|
||||
* @t1: the pending async txn in the frozen process
|
||||
* @t2: the new async txn to supersede the outdated pending one
|
||||
*
|
||||
* Return: true if t2 can supersede t1
|
||||
* false if t2 can not supersede t1
|
||||
*/
|
||||
static bool binder_can_update_transaction(struct binder_transaction *t1,
|
||||
struct binder_transaction *t2)
|
||||
{
|
||||
if ((t1->flags & t2->flags & (TF_ONE_WAY | TF_UPDATE_TXN)) !=
|
||||
(TF_ONE_WAY | TF_UPDATE_TXN) || !t1->to_proc || !t2->to_proc)
|
||||
return false;
|
||||
if (t1->to_proc->tsk == t2->to_proc->tsk && t1->code == t2->code &&
|
||||
t1->flags == t2->flags && t1->buffer->pid == t2->buffer->pid &&
|
||||
t1->buffer->target_node->ptr == t2->buffer->target_node->ptr &&
|
||||
t1->buffer->target_node->cookie == t2->buffer->target_node->cookie)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* binder_find_outdated_transaction_ilocked() - Find the outdated transaction
|
||||
* @t: new async transaction
|
||||
* @target_list: list to find outdated transaction
|
||||
*
|
||||
* Return: the outdated transaction if found
|
||||
* NULL if no outdated transacton can be found
|
||||
*
|
||||
* Requires the proc->inner_lock to be held.
|
||||
*/
|
||||
static struct binder_transaction *
|
||||
binder_find_outdated_transaction_ilocked(struct binder_transaction *t,
|
||||
struct list_head *target_list)
|
||||
{
|
||||
struct binder_work *w;
|
||||
|
||||
list_for_each_entry(w, target_list, entry) {
|
||||
struct binder_transaction *t_queued;
|
||||
|
||||
if (w->type != BINDER_WORK_TRANSACTION)
|
||||
continue;
|
||||
t_queued = container_of(w, struct binder_transaction, work);
|
||||
if (binder_can_update_transaction(t_queued, t))
|
||||
return t_queued;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* binder_proc_transaction() - sends a transaction to a process and wakes it up
|
||||
* @t: transaction to send
|
||||
@@ -2547,6 +2621,8 @@ static int binder_proc_transaction(struct binder_transaction *t,
|
||||
struct binder_node *node = t->buffer->target_node;
|
||||
bool oneway = !!(t->flags & TF_ONE_WAY);
|
||||
bool pending_async = false;
|
||||
bool skip = false;
|
||||
struct binder_transaction *t_outdated = NULL;
|
||||
|
||||
BUG_ON(!node);
|
||||
binder_node_lock(node);
|
||||
@@ -2572,18 +2648,37 @@ static int binder_proc_transaction(struct binder_transaction *t,
|
||||
return proc->is_frozen ? BR_FROZEN_REPLY : BR_DEAD_REPLY;
|
||||
}
|
||||
|
||||
if (!thread && !pending_async)
|
||||
trace_android_vh_binder_proc_transaction_entry(proc, t,
|
||||
&thread, node->debug_id, pending_async, !oneway, &skip);
|
||||
|
||||
if (!thread && !pending_async && !skip)
|
||||
thread = binder_select_thread_ilocked(proc);
|
||||
|
||||
trace_android_vh_binder_proc_transaction(current, proc->tsk,
|
||||
thread ? thread->task : 0, node->debug_id, t->code, pending_async);
|
||||
|
||||
if (thread) {
|
||||
binder_transaction_priority(thread, t, node);
|
||||
binder_enqueue_thread_work_ilocked(thread, &t->work);
|
||||
} else if (!pending_async) {
|
||||
binder_enqueue_work_ilocked(&t->work, &proc->todo);
|
||||
} else {
|
||||
if ((t->flags & TF_UPDATE_TXN) && proc->is_frozen) {
|
||||
t_outdated = binder_find_outdated_transaction_ilocked(t,
|
||||
&node->async_todo);
|
||||
if (t_outdated) {
|
||||
binder_debug(BINDER_DEBUG_TRANSACTION,
|
||||
"txn %d supersedes %d\n",
|
||||
t->debug_id, t_outdated->debug_id);
|
||||
list_del_init(&t_outdated->work.entry);
|
||||
proc->outstanding_txns--;
|
||||
}
|
||||
}
|
||||
binder_enqueue_work_ilocked(&t->work, &node->async_todo);
|
||||
}
|
||||
|
||||
trace_android_vh_binder_proc_transaction_finish(proc, t,
|
||||
thread ? thread->task : NULL, pending_async, !oneway);
|
||||
if (!pending_async)
|
||||
binder_wakeup_thread_ilocked(proc, thread, !oneway /* sync */);
|
||||
|
||||
@@ -2591,6 +2686,22 @@ static int binder_proc_transaction(struct binder_transaction *t,
|
||||
binder_inner_proc_unlock(proc);
|
||||
binder_node_unlock(node);
|
||||
|
||||
/*
|
||||
* To reduce potential contention, free the outdated transaction and
|
||||
* buffer after releasing the locks.
|
||||
*/
|
||||
if (t_outdated) {
|
||||
struct binder_buffer *buffer = t_outdated->buffer;
|
||||
|
||||
t_outdated->buffer = NULL;
|
||||
buffer->transaction = NULL;
|
||||
trace_binder_transaction_update_buffer_release(buffer);
|
||||
binder_transaction_buffer_release(proc, NULL, buffer, 0, 0);
|
||||
binder_alloc_free_buf(&proc->alloc, buffer);
|
||||
kfree(t_outdated);
|
||||
binder_stats_deleted(BINDER_STAT_TRANSACTION);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2733,6 +2844,7 @@ static void binder_transaction(struct binder_proc *proc,
|
||||
target_proc = target_thread->proc;
|
||||
target_proc->tmp_ref++;
|
||||
binder_inner_proc_unlock(target_thread->proc);
|
||||
trace_android_vh_binder_reply(target_proc, proc, thread, tr);
|
||||
} else {
|
||||
if (tr->target.handle) {
|
||||
struct binder_ref *ref;
|
||||
@@ -2791,6 +2903,7 @@ static void binder_transaction(struct binder_proc *proc,
|
||||
return_error_line = __LINE__;
|
||||
goto err_invalid_target_handle;
|
||||
}
|
||||
trace_android_vh_binder_trans(target_proc, proc, thread, tr);
|
||||
if (security_binder_transaction(proc->cred,
|
||||
target_proc->cred) < 0) {
|
||||
return_error = BR_FAILED_REPLY;
|
||||
@@ -3710,6 +3823,7 @@ static int binder_thread_write(struct binder_proc *proc,
|
||||
}
|
||||
thread->looper |= BINDER_LOOPER_STATE_REGISTERED;
|
||||
binder_inner_proc_unlock(proc);
|
||||
trace_android_vh_binder_looper_state_registered(thread, proc);
|
||||
break;
|
||||
case BC_ENTER_LOOPER:
|
||||
binder_debug(BINDER_DEBUG_THREADS,
|
||||
@@ -4116,6 +4230,10 @@ retry:
|
||||
size_t trsize = sizeof(*trd);
|
||||
|
||||
binder_inner_proc_lock(proc);
|
||||
trace_android_vh_binder_select_worklist_ilocked(&list, thread,
|
||||
proc, wait_for_proc_work);
|
||||
if (list)
|
||||
goto skip;
|
||||
if (!binder_worklist_empty_ilocked(&thread->todo))
|
||||
list = &thread->todo;
|
||||
else if (!binder_worklist_empty_ilocked(&proc->todo) &&
|
||||
@@ -4129,11 +4247,12 @@ retry:
|
||||
goto retry;
|
||||
break;
|
||||
}
|
||||
|
||||
skip:
|
||||
if (end - ptr < sizeof(tr) + 4) {
|
||||
binder_inner_proc_unlock(proc);
|
||||
break;
|
||||
}
|
||||
trace_android_vh_binder_thread_read(&list, proc, thread);
|
||||
w = binder_dequeue_work_head_ilocked(list);
|
||||
if (binder_worklist_empty_ilocked(&thread->todo))
|
||||
thread->process_todo = false;
|
||||
@@ -4596,6 +4715,7 @@ static void binder_free_proc(struct binder_proc *proc)
|
||||
put_task_struct(proc->tsk);
|
||||
put_cred(proc->cred);
|
||||
binder_stats_deleted(BINDER_STAT_PROC);
|
||||
trace_android_vh_binder_free_proc(proc);
|
||||
kfree(proc);
|
||||
}
|
||||
|
||||
@@ -4694,6 +4814,7 @@ static int binder_thread_release(struct binder_proc *proc,
|
||||
if (send_reply)
|
||||
binder_send_failed_reply(send_reply, BR_DEAD_REPLY);
|
||||
binder_release_work(proc, &thread->todo);
|
||||
trace_android_vh_binder_thread_release(proc, thread);
|
||||
binder_thread_dec_tmpref(thread);
|
||||
return active_transactions;
|
||||
}
|
||||
@@ -4770,6 +4891,7 @@ static int binder_ioctl_write_read(struct file *filp,
|
||||
if (!binder_worklist_empty_ilocked(&proc->todo))
|
||||
binder_wakeup_proc_ilocked(proc);
|
||||
binder_inner_proc_unlock(proc);
|
||||
trace_android_vh_binder_read_done(proc, thread);
|
||||
if (ret < 0) {
|
||||
if (copy_to_user(ubuf, &bwr, sizeof(bwr)))
|
||||
ret = -EFAULT;
|
||||
@@ -5334,7 +5456,7 @@ static int binder_open(struct inode *nodp, struct file *filp)
|
||||
}
|
||||
hlist_add_head(&proc->proc_node, &binder_procs);
|
||||
mutex_unlock(&binder_procs_lock);
|
||||
|
||||
trace_android_vh_binder_preset(&binder_procs, &binder_procs_lock);
|
||||
if (binder_debugfs_dir_entry_proc && !existing_pid) {
|
||||
char strbuf[11];
|
||||
|
||||
@@ -6283,5 +6405,6 @@ device_initcall(binder_init);
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include "binder_trace.h"
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(binder_transaction_received);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(binder_txn_latency_free);
|
||||
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <linux/sizes.h>
|
||||
#include "binder_alloc.h"
|
||||
#include "binder_trace.h"
|
||||
#include <trace/hooks/binder.h>
|
||||
|
||||
struct list_lru binder_alloc_lru;
|
||||
|
||||
@@ -421,6 +422,7 @@ static struct binder_buffer *binder_alloc_new_buf_locked(
|
||||
alloc->pid, extra_buffers_size);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
trace_android_vh_binder_alloc_new_buf_locked(size, &alloc->free_async_space, is_async);
|
||||
if (is_async &&
|
||||
alloc->free_async_space < size + sizeof(struct binder_buffer)) {
|
||||
binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC,
|
||||
|
||||
@@ -335,6 +335,10 @@ DEFINE_EVENT(binder_buffer_class, binder_transaction_failed_buffer_release,
|
||||
TP_PROTO(struct binder_buffer *buffer),
|
||||
TP_ARGS(buffer));
|
||||
|
||||
DEFINE_EVENT(binder_buffer_class, binder_transaction_update_buffer_release,
|
||||
TP_PROTO(struct binder_buffer *buffer),
|
||||
TP_ARGS(buffer));
|
||||
|
||||
TRACE_EVENT(binder_update_page_range,
|
||||
TP_PROTO(struct binder_alloc *alloc, bool allocate,
|
||||
void __user *start, void __user *end),
|
||||
|
||||
@@ -100,15 +100,18 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_restore_priority);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wakeup_ilocked);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_send_sig_info);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_futex_plist_add);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_futex_sleep_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_init);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_process_killed);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_pelt_multiplier);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_show_task);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_enter);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_exit);
|
||||
@@ -179,6 +182,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ttwu_cond);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule_bug);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_exec);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq_new);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_cpu_energy);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_oops_enter);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_oops_exit);
|
||||
@@ -229,6 +233,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sched_yield);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wait_for_work);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_binder_transaction);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_proc_transaction_entry);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_select_worklist_ilocked);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_proc_transaction_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sync_txn_recvd);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn);
|
||||
@@ -236,6 +243,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_balance_rt);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pick_next_entity);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpufreq_transition);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_qos_add_request);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_qos_update_request);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_qos_remove_request);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_balance_anon_file_reclaim);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_show_max_freq);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_referenced_check_bypass);
|
||||
@@ -265,12 +275,14 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_nx);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_rw);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_module_permit_before_init);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_module_permit_after_init);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_stat_runtime_rt);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_oom_check_panic);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_selinux_is_initialized);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_mmap_file);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_file_open);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_bpf_syscall);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_ptr_locked);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_by_task);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rto_next_cpu);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_is_cpu_allowed);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_get_nohz_timer_target);
|
||||
@@ -298,6 +310,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_effective_cpu_util);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_report_bug);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_watchdog_timer_softlockup);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_freeze_todo);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_freeze_todo_logging);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_freeze_todo_unfrozen);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_die_kernel_fault);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sea);
|
||||
@@ -307,6 +320,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_undefinstr);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_ptrauth_fault);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_panic_unhandled);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_arm64_serror_panic);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_vmpressure);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sha256);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_expandkey);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_encrypt);
|
||||
@@ -328,6 +342,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kswapd_per_node);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_audio_usb_offload_vendor_set);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_audio_usb_offload_ep_action);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_audio_usb_offload_synctype);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_audio_usb_offload_suspend);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_audio_usb_offload_connect);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_audio_usb_offload_disconnect);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_atomic_remove_fb);
|
||||
@@ -341,6 +356,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_force_compatible_post);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_regmap_update);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_mutex_list_add);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_unlock_slowpath);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_wake_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dma_buf_release);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_pass_input_event);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_check_status);
|
||||
@@ -358,6 +374,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_udp_recvmsg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tcp_recvmsg_stat);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_scan_type);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_swappiness);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_comm);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_setaffinity_early);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_partial_init);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_mmc_cache_card_properties);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_print_transaction_info);
|
||||
@@ -371,6 +389,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sd_update_bus_speed_mode);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_attach_sd);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sdhci_get_cd);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_gpio_cd_irqt);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_update_partition_status);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_sd_update_cmdline_timing);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_sd_update_dataline_timing);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cfg80211_set_context);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cfg80211_get_context);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_id_remove);
|
||||
@@ -378,3 +399,27 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_offline);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_online);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_free);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_alloc);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpuset_fork);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_looper_state_registered);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_thread_read);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_free_proc);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_thread_release);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_has_work_ilocked);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_read_done);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_v2_resume);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_signal);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_attach_entity_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_detach_entity_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_remove_entity_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_blocked_fair);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rt_rq_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_alloc_new_buf_locked);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_reply);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_trans);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_preset);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_memcg_scan_type);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_thermal_stats);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_proc_transaction);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_new_ref);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_del_ref);
|
||||
|
||||
@@ -167,8 +167,11 @@ void topology_set_thermal_pressure(const struct cpumask *cpus,
|
||||
{
|
||||
int cpu;
|
||||
|
||||
for_each_cpu(cpu, cpus)
|
||||
for_each_cpu(cpu, cpus) {
|
||||
WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure);
|
||||
trace_android_rvh_update_thermal_stats(cpu);
|
||||
}
|
||||
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(topology_set_thermal_pressure);
|
||||
|
||||
|
||||
@@ -487,6 +487,16 @@ static void device_link_release_fn(struct work_struct *work)
|
||||
|
||||
pm_runtime_release_supplier(link, true);
|
||||
|
||||
/*
|
||||
* If supplier_preactivated is set, the link has been dropped between
|
||||
* the pm_runtime_get_suppliers() and pm_runtime_put_suppliers() calls
|
||||
* in __driver_probe_device(). In that case, drop the supplier's
|
||||
* PM-runtime usage counter to remove the reference taken by
|
||||
* pm_runtime_get_suppliers().
|
||||
*/
|
||||
if (link->supplier_preactivated)
|
||||
pm_runtime_put_noidle(link->supplier);
|
||||
|
||||
put_device(link->consumer);
|
||||
put_device(link->supplier);
|
||||
kfree(link);
|
||||
|
||||
@@ -490,7 +490,7 @@ static int firmware_param_path_set(const char *val, const struct kernel_param *k
|
||||
int i;
|
||||
char *path, *end;
|
||||
|
||||
strcpy(strpath, val);
|
||||
strscpy(strpath, val, sizeof(strpath));
|
||||
/* Remove leading and trailing spaces from path */
|
||||
path = strim(strpath);
|
||||
for (i = 0; path && i < CUSTOM_FW_PATH_COUNT; i++) {
|
||||
@@ -507,17 +507,30 @@ static int firmware_param_path_set(const char *val, const struct kernel_param *k
|
||||
*end = '\0';
|
||||
else {
|
||||
/* end of the string reached and no other tockens ',' */
|
||||
strncpy(fw_path_para[i], path, PATH_SIZE);
|
||||
strscpy(fw_path_para[i], path, PATH_SIZE);
|
||||
break;
|
||||
}
|
||||
|
||||
strncpy(fw_path_para[i], path, PATH_SIZE);
|
||||
strscpy(fw_path_para[i], path, PATH_SIZE);
|
||||
path = ++end;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int firmware_param_path_get(char *buffer, const struct kernel_param *kp)
|
||||
{
|
||||
int count = 0, i;
|
||||
|
||||
for (i = 0; i < CUSTOM_FW_PATH_COUNT; i++) {
|
||||
if (strlen(fw_path_para[i]) != 0)
|
||||
count += scnprintf(buffer + count, PATH_SIZE, "%s%s", fw_path_para[i], ",");
|
||||
}
|
||||
|
||||
buffer[count - 1] = '\0';
|
||||
|
||||
return count - 1;
|
||||
}
|
||||
/*
|
||||
* Typical usage is that passing 'firmware_class.path=/vendor,/firwmare_mnt'
|
||||
* from kernel command line because firmware_class is generally built in
|
||||
@@ -527,8 +540,9 @@ static int firmware_param_path_set(const char *val, const struct kernel_param *k
|
||||
|
||||
static const struct kernel_param_ops firmware_param_ops = {
|
||||
.set = firmware_param_path_set,
|
||||
.get = firmware_param_path_get,
|
||||
};
|
||||
module_param_cb(path, &firmware_param_ops, NULL, 0200);
|
||||
module_param_cb(path, &firmware_param_ops, NULL, 0644);
|
||||
MODULE_PARM_DESC(path, "customized firmware image search path with a higher priority than default path");
|
||||
|
||||
static int
|
||||
|
||||
@@ -1728,7 +1728,6 @@ void pm_runtime_get_suppliers(struct device *dev)
|
||||
if (link->flags & DL_FLAG_PM_RUNTIME) {
|
||||
link->supplier_preactivated = true;
|
||||
pm_runtime_get_sync(link->supplier);
|
||||
refcount_inc(&link->rpm_active);
|
||||
}
|
||||
|
||||
device_links_read_unlock(idx);
|
||||
@@ -1741,8 +1740,6 @@ void pm_runtime_get_suppliers(struct device *dev)
|
||||
void pm_runtime_put_suppliers(struct device *dev)
|
||||
{
|
||||
struct device_link *link;
|
||||
unsigned long flags;
|
||||
bool put;
|
||||
int idx;
|
||||
|
||||
idx = device_links_read_lock();
|
||||
@@ -1751,12 +1748,7 @@ void pm_runtime_put_suppliers(struct device *dev)
|
||||
device_links_read_lock_held())
|
||||
if (link->supplier_preactivated) {
|
||||
link->supplier_preactivated = false;
|
||||
spin_lock_irqsave(&dev->power.lock, flags);
|
||||
put = pm_runtime_status_suspended(dev) &&
|
||||
refcount_dec_not_one(&link->rpm_active);
|
||||
spin_unlock_irqrestore(&dev->power.lock, flags);
|
||||
if (put)
|
||||
pm_runtime_put(link->supplier);
|
||||
pm_runtime_put(link->supplier);
|
||||
}
|
||||
|
||||
device_links_read_unlock(idx);
|
||||
|
||||
@@ -52,6 +52,11 @@ struct iommu_dma_cookie {
|
||||
struct iommu_domain *fq_domain;
|
||||
};
|
||||
|
||||
struct iommu_dma_cookie_ext {
|
||||
struct iommu_dma_cookie cookie;
|
||||
struct mutex mutex;
|
||||
};
|
||||
|
||||
static DEFINE_STATIC_KEY_FALSE(iommu_deferred_attach_enabled);
|
||||
bool iommu_dma_forcedac __read_mostly;
|
||||
|
||||
@@ -86,14 +91,15 @@ static inline size_t cookie_msi_granule(struct iommu_dma_cookie *cookie)
|
||||
|
||||
static struct iommu_dma_cookie *cookie_alloc(enum iommu_dma_cookie_type type)
|
||||
{
|
||||
struct iommu_dma_cookie *cookie;
|
||||
struct iommu_dma_cookie_ext *cookie;
|
||||
|
||||
cookie = kzalloc(sizeof(*cookie), GFP_KERNEL);
|
||||
if (cookie) {
|
||||
INIT_LIST_HEAD(&cookie->msi_page_list);
|
||||
cookie->type = type;
|
||||
INIT_LIST_HEAD(&cookie->cookie.msi_page_list);
|
||||
cookie->cookie.type = type;
|
||||
mutex_init(&cookie->mutex);
|
||||
}
|
||||
return cookie;
|
||||
return &cookie->cookie;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -363,8 +369,10 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base,
|
||||
dma_addr_t limit, struct device *dev)
|
||||
{
|
||||
struct iommu_dma_cookie *cookie = domain->iova_cookie;
|
||||
struct iommu_dma_cookie_ext *cookie_ext;
|
||||
unsigned long order, base_pfn;
|
||||
struct iova_domain *iovad;
|
||||
int ret;
|
||||
|
||||
if (!cookie || cookie->type != IOMMU_DMA_IOVA_COOKIE)
|
||||
return -EINVAL;
|
||||
@@ -388,14 +396,18 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base,
|
||||
}
|
||||
|
||||
/* start_pfn is always nonzero for an already-initialised domain */
|
||||
cookie_ext = container_of(cookie, struct iommu_dma_cookie_ext, cookie);
|
||||
mutex_lock(&cookie_ext->mutex);
|
||||
if (iovad->start_pfn) {
|
||||
if (1UL << order != iovad->granule ||
|
||||
base_pfn != iovad->start_pfn) {
|
||||
pr_warn("Incompatible range for DMA domain\n");
|
||||
return -EFAULT;
|
||||
ret = -EFAULT;
|
||||
goto done_unlock;
|
||||
}
|
||||
|
||||
return 0;
|
||||
ret = 0;
|
||||
goto done_unlock;
|
||||
}
|
||||
|
||||
init_iova_domain(iovad, 1UL << order, base_pfn);
|
||||
@@ -404,7 +416,11 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base,
|
||||
if (domain->type == IOMMU_DOMAIN_DMA_FQ && iommu_dma_init_fq(domain))
|
||||
domain->type = IOMMU_DOMAIN_DMA;
|
||||
|
||||
return iova_reserve_iommu_regions(dev, domain);
|
||||
ret = iova_reserve_iommu_regions(dev, domain);
|
||||
|
||||
done_unlock:
|
||||
mutex_unlock(&cookie_ext->mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/irqchip/arm-gic.h>
|
||||
@@ -398,6 +399,27 @@ static void gic_handle_cascade_irq(struct irq_desc *desc)
|
||||
chained_irq_exit(chip, desc);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
void gic_v2_resume(void)
|
||||
{
|
||||
trace_android_vh_gic_v2_resume(gic_data_dist_base(&gic_data[0]), &gic_data[0].domain);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(gic_v2_resume);
|
||||
|
||||
static struct syscore_ops gic_v2_syscore_ops = {
|
||||
.resume = gic_v2_resume,
|
||||
};
|
||||
|
||||
static void gic_v2_syscore_init(void)
|
||||
{
|
||||
register_syscore_ops(&gic_v2_syscore_ops);
|
||||
}
|
||||
|
||||
#else
|
||||
static inline void gic_v2_syscore_init(void) { }
|
||||
void gic_v2_resume(void) { }
|
||||
#endif
|
||||
|
||||
static const struct irq_chip gic_chip = {
|
||||
.irq_mask = gic_mask_irq,
|
||||
.irq_unmask = gic_unmask_irq,
|
||||
@@ -1241,6 +1263,8 @@ static int gic_init_bases(struct gic_chip_data *gic,
|
||||
if (ret)
|
||||
goto error;
|
||||
|
||||
gic_v2_syscore_init();
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
|
||||
@@ -1767,6 +1767,8 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
|
||||
goto free_card;
|
||||
}
|
||||
|
||||
trace_android_vh_mmc_update_partition_status(card);
|
||||
|
||||
/*
|
||||
* Enable power_off_notification byte in the ext_csd register
|
||||
*/
|
||||
|
||||
@@ -1519,6 +1519,10 @@ retry:
|
||||
*/
|
||||
mmc_set_clock(host, mmc_sd_get_max_clock(card));
|
||||
|
||||
trace_android_vh_mmc_sd_update_cmdline_timing(card, &err);
|
||||
if (err)
|
||||
goto free_card;
|
||||
|
||||
/*
|
||||
* Switch to wider bus (if supported).
|
||||
*/
|
||||
@@ -1530,6 +1534,10 @@ retry:
|
||||
|
||||
mmc_set_bus_width(host, MMC_BUS_WIDTH_4);
|
||||
}
|
||||
|
||||
trace_android_vh_mmc_sd_update_dataline_timing(card, &err);
|
||||
if (err)
|
||||
goto free_card;
|
||||
}
|
||||
|
||||
if (!oldcard) {
|
||||
|
||||
@@ -271,6 +271,7 @@ static int usb_conn_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, info);
|
||||
device_set_wakeup_capable(&pdev->dev, true);
|
||||
|
||||
/* Perform initial detection */
|
||||
usb_conn_queue_dwork(info, 0);
|
||||
@@ -300,6 +301,14 @@ static int __maybe_unused usb_conn_suspend(struct device *dev)
|
||||
{
|
||||
struct usb_conn_info *info = dev_get_drvdata(dev);
|
||||
|
||||
if (device_may_wakeup(dev)) {
|
||||
if (info->id_gpiod)
|
||||
enable_irq_wake(info->id_irq);
|
||||
if (info->vbus_gpiod)
|
||||
enable_irq_wake(info->vbus_irq);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (info->id_gpiod)
|
||||
disable_irq(info->id_irq);
|
||||
if (info->vbus_gpiod)
|
||||
@@ -314,6 +323,14 @@ static int __maybe_unused usb_conn_resume(struct device *dev)
|
||||
{
|
||||
struct usb_conn_info *info = dev_get_drvdata(dev);
|
||||
|
||||
if (device_may_wakeup(dev)) {
|
||||
if (info->id_gpiod)
|
||||
disable_irq_wake(info->id_irq);
|
||||
if (info->vbus_gpiod)
|
||||
disable_irq_wake(info->vbus_irq);
|
||||
return 0;
|
||||
}
|
||||
|
||||
pinctrl_pm_select_default_state(dev);
|
||||
|
||||
if (info->id_gpiod)
|
||||
|
||||
@@ -156,8 +156,13 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
break;
|
||||
}
|
||||
|
||||
/* For DRD host or device mode only */
|
||||
if (dwc->desired_dr_role != DWC3_GCTL_PRTCAP_OTG) {
|
||||
/*
|
||||
* When current_dr_role is not set, there's no role switching.
|
||||
* Only perform GCTL.CoreSoftReset when there's DRD role switching.
|
||||
*/
|
||||
if (dwc->current_dr_role && ((DWC3_IP_IS(DWC3) ||
|
||||
DWC3_VER_IS_PRIOR(DWC31, 190A)) &&
|
||||
dwc->desired_dr_role != DWC3_GCTL_PRTCAP_OTG)) {
|
||||
reg = dwc3_readl(dwc->regs, DWC3_GCTL);
|
||||
reg |= DWC3_GCTL_CORESOFTRESET;
|
||||
dwc3_writel(dwc->regs, DWC3_GCTL, reg);
|
||||
|
||||
@@ -2464,7 +2464,9 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
|
||||
int ret;
|
||||
|
||||
is_on = !!is_on;
|
||||
|
||||
dwc->softconnect = is_on;
|
||||
|
||||
/*
|
||||
* Per databook, when we want to stop the gadget, if a control transfer
|
||||
* is still in process, complete it and get the core into setup phase.
|
||||
@@ -2500,6 +2502,9 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (dwc->pullups_connected == is_on)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* Synchronize and disable any further event handling while controller
|
||||
* is being enabled/disabled.
|
||||
|
||||
@@ -36,6 +36,9 @@ config COMPAT_BINFMT_ELF
|
||||
config ARCH_BINFMT_ELF_STATE
|
||||
bool
|
||||
|
||||
config ARCH_BINFMT_ELF_EXTRA_PHDRS
|
||||
bool
|
||||
|
||||
config ARCH_HAVE_ELF_PROT
|
||||
bool
|
||||
|
||||
|
||||
@@ -75,6 +75,8 @@
|
||||
|
||||
#include <trace/events/sched.h>
|
||||
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(task_rename);
|
||||
|
||||
static int bprm_creds_from_file(struct linux_binprm *bprm);
|
||||
|
||||
int suid_dumpable = 0;
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <asm/unaligned.h>
|
||||
#include <linux/buffer_head.h>
|
||||
#include <linux/blk_types.h>
|
||||
|
||||
#include "exfat_raw.h"
|
||||
#include "exfat_fs.h"
|
||||
@@ -276,10 +277,10 @@ int exfat_zeroed_cluster(struct inode *dir, unsigned int clu)
|
||||
{
|
||||
struct super_block *sb = dir->i_sb;
|
||||
struct exfat_sb_info *sbi = EXFAT_SB(sb);
|
||||
struct buffer_head *bhs[MAX_BUF_PER_PAGE];
|
||||
int nr_bhs = MAX_BUF_PER_PAGE;
|
||||
struct buffer_head *bh;
|
||||
struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
|
||||
sector_t blknr, last_blknr;
|
||||
int err, i, n;
|
||||
int i;
|
||||
|
||||
blknr = exfat_cluster_to_sector(sbi, clu);
|
||||
last_blknr = blknr + sbi->sect_per_clus;
|
||||
@@ -293,30 +294,22 @@ int exfat_zeroed_cluster(struct inode *dir, unsigned int clu)
|
||||
}
|
||||
|
||||
/* Zeroing the unused blocks on this cluster */
|
||||
while (blknr < last_blknr) {
|
||||
for (n = 0; n < nr_bhs && blknr < last_blknr; n++, blknr++) {
|
||||
bhs[n] = sb_getblk(sb, blknr);
|
||||
if (!bhs[n]) {
|
||||
err = -ENOMEM;
|
||||
goto release_bhs;
|
||||
}
|
||||
memset(bhs[n]->b_data, 0, sb->s_blocksize);
|
||||
}
|
||||
for (i = blknr; i < last_blknr; i++) {
|
||||
bh = sb_getblk(sb, i);
|
||||
if (!bh)
|
||||
return -ENOMEM;
|
||||
|
||||
err = exfat_update_bhs(bhs, n, IS_DIRSYNC(dir));
|
||||
if (err)
|
||||
goto release_bhs;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
brelse(bhs[i]);
|
||||
memset(bh->b_data, 0, sb->s_blocksize);
|
||||
set_buffer_uptodate(bh);
|
||||
mark_buffer_dirty(bh);
|
||||
brelse(bh);
|
||||
}
|
||||
return 0;
|
||||
if (IS_DIRSYNC(dir))
|
||||
return filemap_write_and_wait_range(mapping,
|
||||
EXFAT_BLK_TO_B(blknr, sb),
|
||||
EXFAT_BLK_TO_B(last_blknr, sb) - 1);
|
||||
|
||||
release_bhs:
|
||||
exfat_err(sb, "failed zeroed sect %llu\n", (unsigned long long)blknr);
|
||||
for (i = 0; i < n; i++)
|
||||
bforget(bhs[i]);
|
||||
return err;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int exfat_alloc_cluster(struct inode *inode, unsigned int num_alloc,
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
jaegeuk@google.com
|
||||
@@ -91,8 +91,9 @@ static inline void __record_iostat_latency(struct f2fs_sb_info *sbi)
|
||||
unsigned int cnt;
|
||||
struct f2fs_iostat_latency iostat_lat[MAX_IO_TYPE][NR_PAGE_TYPE];
|
||||
struct iostat_lat_info *io_lat = sbi->iostat_io_lat;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_bh(&sbi->iostat_lat_lock);
|
||||
spin_lock_irqsave(&sbi->iostat_lat_lock, flags);
|
||||
for (idx = 0; idx < MAX_IO_TYPE; idx++) {
|
||||
for (io = 0; io < NR_PAGE_TYPE; io++) {
|
||||
cnt = io_lat->bio_cnt[idx][io];
|
||||
@@ -106,7 +107,7 @@ static inline void __record_iostat_latency(struct f2fs_sb_info *sbi)
|
||||
io_lat->bio_cnt[idx][io] = 0;
|
||||
}
|
||||
}
|
||||
spin_unlock_bh(&sbi->iostat_lat_lock);
|
||||
spin_unlock_irqrestore(&sbi->iostat_lat_lock, flags);
|
||||
|
||||
trace_f2fs_iostat_latency(sbi, iostat_lat);
|
||||
}
|
||||
@@ -115,14 +116,15 @@ static inline void f2fs_record_iostat(struct f2fs_sb_info *sbi)
|
||||
{
|
||||
unsigned long long iostat_diff[NR_IO_TYPE];
|
||||
int i;
|
||||
unsigned long flags;
|
||||
|
||||
if (time_is_after_jiffies(sbi->iostat_next_period))
|
||||
return;
|
||||
|
||||
/* Need double check under the lock */
|
||||
spin_lock_bh(&sbi->iostat_lock);
|
||||
spin_lock_irqsave(&sbi->iostat_lock, flags);
|
||||
if (time_is_after_jiffies(sbi->iostat_next_period)) {
|
||||
spin_unlock_bh(&sbi->iostat_lock);
|
||||
spin_unlock_irqrestore(&sbi->iostat_lock, flags);
|
||||
return;
|
||||
}
|
||||
sbi->iostat_next_period = jiffies +
|
||||
@@ -133,7 +135,7 @@ static inline void f2fs_record_iostat(struct f2fs_sb_info *sbi)
|
||||
sbi->prev_rw_iostat[i];
|
||||
sbi->prev_rw_iostat[i] = sbi->rw_iostat[i];
|
||||
}
|
||||
spin_unlock_bh(&sbi->iostat_lock);
|
||||
spin_unlock_irqrestore(&sbi->iostat_lock, flags);
|
||||
|
||||
trace_f2fs_iostat(sbi, iostat_diff);
|
||||
|
||||
@@ -145,25 +147,27 @@ void f2fs_reset_iostat(struct f2fs_sb_info *sbi)
|
||||
struct iostat_lat_info *io_lat = sbi->iostat_io_lat;
|
||||
int i;
|
||||
|
||||
spin_lock_bh(&sbi->iostat_lock);
|
||||
spin_lock_irq(&sbi->iostat_lock);
|
||||
for (i = 0; i < NR_IO_TYPE; i++) {
|
||||
sbi->rw_iostat[i] = 0;
|
||||
sbi->prev_rw_iostat[i] = 0;
|
||||
}
|
||||
spin_unlock_bh(&sbi->iostat_lock);
|
||||
spin_unlock_irq(&sbi->iostat_lock);
|
||||
|
||||
spin_lock_bh(&sbi->iostat_lat_lock);
|
||||
spin_lock_irq(&sbi->iostat_lat_lock);
|
||||
memset(io_lat, 0, sizeof(struct iostat_lat_info));
|
||||
spin_unlock_bh(&sbi->iostat_lat_lock);
|
||||
spin_unlock_irq(&sbi->iostat_lat_lock);
|
||||
}
|
||||
|
||||
void f2fs_update_iostat(struct f2fs_sb_info *sbi,
|
||||
enum iostat_type type, unsigned long long io_bytes)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
if (!sbi->iostat_enable)
|
||||
return;
|
||||
|
||||
spin_lock_bh(&sbi->iostat_lock);
|
||||
spin_lock_irqsave(&sbi->iostat_lock, flags);
|
||||
sbi->rw_iostat[type] += io_bytes;
|
||||
|
||||
if (type == APP_BUFFERED_IO || type == APP_DIRECT_IO)
|
||||
@@ -172,7 +176,7 @@ void f2fs_update_iostat(struct f2fs_sb_info *sbi,
|
||||
if (type == APP_BUFFERED_READ_IO || type == APP_DIRECT_READ_IO)
|
||||
sbi->rw_iostat[APP_READ_IO] += io_bytes;
|
||||
|
||||
spin_unlock_bh(&sbi->iostat_lock);
|
||||
spin_unlock_irqrestore(&sbi->iostat_lock, flags);
|
||||
|
||||
f2fs_record_iostat(sbi);
|
||||
}
|
||||
@@ -185,6 +189,7 @@ static inline void __update_iostat_latency(struct bio_iostat_ctx *iostat_ctx,
|
||||
struct f2fs_sb_info *sbi = iostat_ctx->sbi;
|
||||
struct iostat_lat_info *io_lat = sbi->iostat_io_lat;
|
||||
int idx;
|
||||
unsigned long flags;
|
||||
|
||||
if (!sbi->iostat_enable)
|
||||
return;
|
||||
@@ -202,12 +207,12 @@ static inline void __update_iostat_latency(struct bio_iostat_ctx *iostat_ctx,
|
||||
idx = WRITE_ASYNC_IO;
|
||||
}
|
||||
|
||||
spin_lock_bh(&sbi->iostat_lat_lock);
|
||||
spin_lock_irqsave(&sbi->iostat_lat_lock, flags);
|
||||
io_lat->sum_lat[idx][iotype] += ts_diff;
|
||||
io_lat->bio_cnt[idx][iotype]++;
|
||||
if (ts_diff > io_lat->peak_lat[idx][iotype])
|
||||
io_lat->peak_lat[idx][iotype] = ts_diff;
|
||||
spin_unlock_bh(&sbi->iostat_lat_lock);
|
||||
spin_unlock_irqrestore(&sbi->iostat_lat_lock, flags);
|
||||
}
|
||||
|
||||
void iostat_update_and_unbind_ctx(struct bio *bio, int rw)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
balsini@google.com
|
||||
@@ -1,2 +0,0 @@
|
||||
akailash@google.com
|
||||
paullawrence@google.com
|
||||
@@ -1 +0,0 @@
|
||||
per-file net/**=file:/net/OWNERS
|
||||
@@ -1,4 +0,0 @@
|
||||
per-file bio.h=file:/block/OWNERS
|
||||
per-file blk*.h=file:/block/OWNERS
|
||||
per-file f2fs**=file:/fs/f2fs/OWNERS
|
||||
per-file net**=file:/net/OWNERS
|
||||
@@ -109,7 +109,7 @@ static inline int elf_core_copy_task_fpregs(struct task_struct *t, struct pt_reg
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (defined(CONFIG_UML) && defined(CONFIG_X86_32)) || defined(CONFIG_IA64)
|
||||
#ifdef CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS
|
||||
/*
|
||||
* These functions parameterize elf_core_dump in fs/binfmt_elf.c to write out
|
||||
* extra segments containing the gate DSO contents. Dumping its
|
||||
@@ -144,6 +144,6 @@ static inline size_t elf_core_extra_data_size(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#endif /* CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS */
|
||||
|
||||
#endif /* _LINUX_ELFCORE_H */
|
||||
|
||||
@@ -599,7 +599,9 @@
|
||||
#define ICC_SGI1R_AFFINITY_3_SHIFT 48
|
||||
#define ICC_SGI1R_AFFINITY_3_MASK (0xffULL << ICC_SGI1R_AFFINITY_3_SHIFT)
|
||||
|
||||
#if defined(CONFIG_ARM64) || defined(CONFIG_ARM)
|
||||
#include <asm/arch_gicv3.h>
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
@@ -651,6 +653,7 @@ struct gic_chip_data {
|
||||
struct partition_desc **ppi_descs;
|
||||
};
|
||||
|
||||
#if defined(CONFIG_ARM64) || defined(CONFIG_ARM)
|
||||
static inline bool gic_enable_sre(void)
|
||||
{
|
||||
u32 val;
|
||||
@@ -665,6 +668,12 @@ static inline bool gic_enable_sre(void)
|
||||
|
||||
return !!(val & ICC_SRE_EL1_SRE);
|
||||
}
|
||||
#else
|
||||
static inline bool gic_enable_sre(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
void gic_resume(void);
|
||||
|
||||
|
||||
@@ -161,6 +161,7 @@ void gic_send_sgi(unsigned int cpu_id, unsigned int irq);
|
||||
int gic_get_cpu_id(unsigned int cpu);
|
||||
void gic_migrate_target(unsigned int new_cpu_id);
|
||||
unsigned long gic_get_sgir_physaddr(void);
|
||||
void gic_v2_resume(void);
|
||||
|
||||
#endif /* __ASSEMBLY */
|
||||
#endif
|
||||
|
||||
@@ -127,4 +127,7 @@ extern struct task_struct *find_lock_task_mm(struct task_struct *p);
|
||||
extern int sysctl_oom_dump_tasks;
|
||||
extern int sysctl_oom_kill_allocating_task;
|
||||
extern int sysctl_panic_on_oom;
|
||||
|
||||
/* call for adding killed process to reaper. */
|
||||
extern void add_to_oom_reaper(struct task_struct *p);
|
||||
#endif /* _INCLUDE_LINUX_OOM_H */
|
||||
|
||||
@@ -375,6 +375,7 @@ struct ieee80211_sta_he_cap {
|
||||
* and NSS Set field"
|
||||
*
|
||||
* @only_20mhz: MCS/NSS support for 20 MHz-only STA.
|
||||
* @bw: MCS/NSS support for 80, 160 and 320 MHz
|
||||
* @bw._80: MCS/NSS support for BW <= 80 MHz
|
||||
* @bw._160: MCS/NSS support for BW = 160 MHz
|
||||
* @bw._320: MCS/NSS support for BW = 320 MHz
|
||||
@@ -421,6 +422,7 @@ struct ieee80211_sta_eht_cap {
|
||||
* @he_cap: holds the HE capabilities
|
||||
* @he_6ghz_capa: HE 6 GHz capabilities, must be filled in for a
|
||||
* 6 GHz band channel (and 0 may be valid value).
|
||||
* @eht_cap: STA's EHT capabilities
|
||||
* @vendor_elems: vendor element(s) to advertise
|
||||
* @vendor_elems.data: vendor element(s) data
|
||||
* @vendor_elems.len: vendor element(s) length
|
||||
@@ -506,7 +508,7 @@ struct ieee80211_edmg {
|
||||
* This structure describes most essential parameters needed
|
||||
* to describe 802.11ah S1G capabilities for a STA.
|
||||
*
|
||||
* @s1g_supported: is STA an S1G STA
|
||||
* @s1g: is STA an S1G STA
|
||||
* @cap: S1G capabilities information
|
||||
* @nss_mcs: Supported NSS MCS set
|
||||
*/
|
||||
@@ -1351,6 +1353,8 @@ struct cfg80211_unsol_bcast_probe_resp {
|
||||
* @ht_cap: HT capabilities (or %NULL if HT isn't enabled)
|
||||
* @vht_cap: VHT capabilities (or %NULL if VHT isn't enabled)
|
||||
* @he_cap: HE capabilities (or %NULL if HE isn't enabled)
|
||||
* @eht_cap: EHT capabilities (or %NULL if EHT isn't enabled)
|
||||
* @eht_oper: EHT operation IE (or %NULL if EHT isn't enabled)
|
||||
* @ht_required: stations must support HT
|
||||
* @vht_required: stations must support VHT
|
||||
* @twt_responder: Enable Target Wait Time
|
||||
@@ -1387,6 +1391,8 @@ struct cfg80211_ap_settings {
|
||||
const struct ieee80211_vht_cap *vht_cap;
|
||||
const struct ieee80211_he_cap_elem *he_cap;
|
||||
const struct ieee80211_he_operation *he_oper;
|
||||
const struct ieee80211_eht_cap_elem *eht_cap;
|
||||
const struct ieee80211_eht_operation *eht_oper;
|
||||
bool ht_required, vht_required, he_required, sae_h2e_required;
|
||||
bool twt_responder;
|
||||
u32 flags;
|
||||
@@ -1453,8 +1459,8 @@ struct cfg80211_csa_settings {
|
||||
* Used for bss color change
|
||||
*
|
||||
* @beacon_color_change: beacon data while performing the color countdown
|
||||
* @counter_offsets_beacon: offsets of the counters within the beacon (tail)
|
||||
* @counter_offsets_presp: offsets of the counters within the probe response
|
||||
* @counter_offset_beacon: offsets of the counters within the beacon (tail)
|
||||
* @counter_offset_presp: offsets of the counters within the probe response
|
||||
* @beacon_next: beacon data to be used after the color change
|
||||
* @count: number of beacons until the color change
|
||||
* @color: the color used after the change
|
||||
@@ -1497,6 +1503,7 @@ struct iface_combination_params {
|
||||
* @STATION_PARAM_APPLY_UAPSD: apply new uAPSD parameters (uapsd_queues, max_sp)
|
||||
* @STATION_PARAM_APPLY_CAPABILITY: apply new capability
|
||||
* @STATION_PARAM_APPLY_PLINK_STATE: apply new plink state
|
||||
* @STATION_PARAM_APPLY_STA_TXPOWER: apply tx power for STA
|
||||
*
|
||||
* Not all station parameters have in-band "no change" signalling,
|
||||
* for those that don't these flags will are used.
|
||||
@@ -2259,6 +2266,9 @@ struct bss_parameters {
|
||||
* @plink_timeout: If no tx activity is seen from a STA we've established
|
||||
* peering with for longer than this time (in seconds), then remove it
|
||||
* from the STA's list of peers. Default is 30 minutes.
|
||||
* @dot11MeshConnectedToAuthServer: if set to true then this mesh STA
|
||||
* will advertise that it is connected to a authentication server
|
||||
* in the mesh formation field.
|
||||
* @dot11MeshConnectedToMeshGate: if set to true, advertise that this STA is
|
||||
* connected to a mesh gate in mesh formation info. If false, the
|
||||
* value in mesh formation is determined by the presence of root paths
|
||||
@@ -2435,12 +2445,12 @@ struct cfg80211_scan_info {
|
||||
/**
|
||||
* struct cfg80211_scan_6ghz_params - relevant for 6 GHz only
|
||||
*
|
||||
* @short_bssid: short ssid to scan for
|
||||
* @short_ssid: short ssid to scan for
|
||||
* @bssid: bssid to scan for
|
||||
* @channel_idx: idx of the channel in the channel array in the scan request
|
||||
* which the above info relvant to
|
||||
* @unsolicited_probe: the AP transmits unsolicited probe response every 20 TU
|
||||
* @short_ssid_valid: short_ssid is valid and can be used
|
||||
* @short_ssid_valid: @short_ssid is valid and can be used
|
||||
* @psc_no_listen: when set, and the channel is a PSC channel, no need to wait
|
||||
* 20 TUs before starting to send probe requests.
|
||||
*/
|
||||
@@ -3499,7 +3509,7 @@ struct cfg80211_wowlan_wakeup {
|
||||
* @kck: key confirmation key (@kck_len bytes)
|
||||
* @replay_ctr: replay counter (NL80211_REPLAY_CTR_LEN bytes)
|
||||
* @kek_len: length of kek
|
||||
* @kck_len length of kck
|
||||
* @kck_len: length of kck
|
||||
* @akm: akm (oui, id)
|
||||
*/
|
||||
struct cfg80211_gtk_rekey_data {
|
||||
@@ -3887,6 +3897,7 @@ struct cfg80211_pmsr_ftm_result {
|
||||
* @type: type of the measurement reported, note that we only support reporting
|
||||
* one type at a time, but you can report multiple results separately and
|
||||
* they're all aggregated for userspace.
|
||||
* @ftm: FTM result
|
||||
*/
|
||||
struct cfg80211_pmsr_result {
|
||||
u64 host_time, ap_tsf;
|
||||
@@ -4033,7 +4044,7 @@ struct cfg80211_update_owe_info {
|
||||
* for the entire device
|
||||
* @interface_stypes: bitmap of management frame subtypes registered
|
||||
* for the given interface
|
||||
* @global_mcast_rx: mcast RX is needed globally for these subtypes
|
||||
* @global_mcast_stypes: mcast RX is needed globally for these subtypes
|
||||
* @interface_mcast_stypes: mcast RX is needed on this interface
|
||||
* for these subtypes
|
||||
*/
|
||||
@@ -5193,6 +5204,7 @@ struct wiphy_iftype_ext_capab {
|
||||
* @max_peers: maximum number of peers in a single measurement
|
||||
* @report_ap_tsf: can report assoc AP's TSF for radio resource measurement
|
||||
* @randomize_mac_addr: can randomize MAC address for measurement
|
||||
* @ftm: FTM measurement data
|
||||
* @ftm.supported: FTM measurement is supported
|
||||
* @ftm.asap: ASAP-mode is supported
|
||||
* @ftm.non_asap: non-ASAP-mode is supported
|
||||
@@ -5849,18 +5861,9 @@ static inline void wiphy_unlock(struct wiphy *wiphy)
|
||||
* @netdev: (private) Used to reference back to the netdev, may be %NULL
|
||||
* @identifier: (private) Identifier used in nl80211 to identify this
|
||||
* wireless device if it has no netdev
|
||||
* @connected_addr: (private) BSSID or AP MLD address if connected
|
||||
* @u: union containing data specific to @iftype
|
||||
* @connected: indicates if connected or not (STA mode)
|
||||
* @current_bss: (private) Used by the internal configuration code
|
||||
* @chandef: (private) Used by the internal configuration code to track
|
||||
* the user-set channel definition.
|
||||
* @preset_chandef: (private) Used by the internal configuration code to
|
||||
* track the channel to be used for AP later
|
||||
* @bssid: (private) Used by the internal configuration code
|
||||
* @ssid: (private) Used by the internal configuration code
|
||||
* @ssid_len: (private) Used by the internal configuration code
|
||||
* @mesh_id_len: (private) Used by the internal configuration code
|
||||
* @mesh_id_up_len: (private) Used by the internal configuration code
|
||||
* @wext: (private) Used by the internal wireless extensions compat code
|
||||
* @wext.ibss: (private) IBSS data part of wext handling
|
||||
* @wext.connect: (private) connection handling data
|
||||
@@ -5910,6 +5913,9 @@ static inline void wiphy_unlock(struct wiphy *wiphy)
|
||||
* @pmsr_free_wk: (private) peer measurements cleanup work
|
||||
* @unprot_beacon_reported: (private) timestamp of last
|
||||
* unprotected beacon report
|
||||
* @links: array of %IEEE80211_MLD_MAX_NUM_LINKS elements containing @addr
|
||||
* @ap and @client for each link
|
||||
* @valid_links: bitmap describing what elements of @links are valid
|
||||
*/
|
||||
struct wireless_dev {
|
||||
struct wiphy *wiphy;
|
||||
@@ -6369,6 +6375,7 @@ unsigned int ieee80211_get_mesh_hdrlen(struct ieee80211s_hdr *meshhdr);
|
||||
* @addr: the device MAC address
|
||||
* @iftype: the virtual interface type
|
||||
* @data_offset: offset of payload after the 802.11 header
|
||||
* @is_amsdu: true if the 802.11 header is A-MSDU
|
||||
* Return: 0 on success. Non-zero on error.
|
||||
*/
|
||||
int ieee80211_data_to_8023_exthdr(struct sk_buff *skb, struct ethhdr *ehdr,
|
||||
@@ -7225,6 +7232,7 @@ void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid,
|
||||
* @macaddr: the MAC address of the new candidate
|
||||
* @ie: information elements advertised by the peer candidate
|
||||
* @ie_len: length of the information elements buffer
|
||||
* @sig_dbm: signal level in dBm
|
||||
* @gfp: allocation flags
|
||||
*
|
||||
* This function notifies cfg80211 that the mesh peer candidate has been
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
per-file f2fs**=file:/fs/f2fs/OWNERS
|
||||
@@ -136,7 +136,7 @@ DECLARE_EVENT_CLASS(net_dev_template,
|
||||
__assign_str(name, skb->dev->name);
|
||||
),
|
||||
|
||||
TP_printk("dev=%s skbaddr=%px len=%u",
|
||||
TP_printk("dev=%s skbaddr=%p len=%u",
|
||||
__get_str(name), __entry->skbaddr, __entry->len)
|
||||
)
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ TRACE_EVENT(qdisc_dequeue,
|
||||
__entry->txq_state = txq->state;
|
||||
),
|
||||
|
||||
TP_printk("dequeue ifindex=%d qdisc handle=0x%X parent=0x%X txq_state=0x%lX packets=%d skbaddr=%px",
|
||||
TP_printk("dequeue ifindex=%d qdisc handle=0x%X parent=0x%X txq_state=0x%lX packets=%d skbaddr=%p",
|
||||
__entry->ifindex, __entry->handle, __entry->parent,
|
||||
__entry->txq_state, __entry->packets, __entry->skbaddr )
|
||||
);
|
||||
@@ -70,7 +70,7 @@ TRACE_EVENT(qdisc_enqueue,
|
||||
__entry->parent = qdisc->parent;
|
||||
),
|
||||
|
||||
TP_printk("enqueue ifindex=%d qdisc handle=0x%X parent=0x%X skbaddr=%px",
|
||||
TP_printk("enqueue ifindex=%d qdisc handle=0x%X parent=0x%X skbaddr=%p",
|
||||
__entry->ifindex, __entry->handle, __entry->parent, __entry->skbaddr)
|
||||
);
|
||||
|
||||
|
||||
@@ -21,15 +21,15 @@ TRACE_EVENT(spmi_write_begin,
|
||||
__field ( u8, sid )
|
||||
__field ( u16, addr )
|
||||
__field ( u8, len )
|
||||
__dynamic_array ( u8, buf, len + 1 )
|
||||
__dynamic_array ( u8, buf, len )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->opcode = opcode;
|
||||
__entry->sid = sid;
|
||||
__entry->addr = addr;
|
||||
__entry->len = len + 1;
|
||||
memcpy(__get_dynamic_array(buf), buf, len + 1);
|
||||
__entry->len = len;
|
||||
memcpy(__get_dynamic_array(buf), buf, len);
|
||||
),
|
||||
|
||||
TP_printk("opc=%d sid=%02d addr=0x%04x len=%d buf=0x[%*phD]",
|
||||
@@ -92,7 +92,7 @@ TRACE_EVENT(spmi_read_end,
|
||||
__field ( u16, addr )
|
||||
__field ( int, ret )
|
||||
__field ( u8, len )
|
||||
__dynamic_array ( u8, buf, len + 1 )
|
||||
__dynamic_array ( u8, buf, len )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
@@ -100,8 +100,8 @@ TRACE_EVENT(spmi_read_end,
|
||||
__entry->sid = sid;
|
||||
__entry->addr = addr;
|
||||
__entry->ret = ret;
|
||||
__entry->len = len + 1;
|
||||
memcpy(__get_dynamic_array(buf), buf, len + 1);
|
||||
__entry->len = len;
|
||||
memcpy(__get_dynamic_array(buf), buf, len);
|
||||
),
|
||||
|
||||
TP_printk("opc=%d sid=%02d addr=0x%04x ret=%d len=%02d buf=0x[%*phD]",
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
#include <../sound/usb/usbaudio.h>
|
||||
/* struct usb_interface */
|
||||
#include <linux/usb.h>
|
||||
/* struct snd_pcm_substream */
|
||||
#include <sound/pcm.h>
|
||||
|
||||
DECLARE_HOOK(android_vh_audio_usb_offload_vendor_set,
|
||||
TP_PROTO(void *arg),
|
||||
@@ -34,6 +36,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_audio_usb_offload_disconnect,
|
||||
TP_PROTO(struct usb_interface *intf),
|
||||
TP_ARGS(intf), 1);
|
||||
|
||||
DECLARE_HOOK(android_vh_audio_usb_offload_suspend,
|
||||
TP_PROTO(struct snd_pcm_substream *substream, int cmd, bool *suspend),
|
||||
TP_ARGS(substream, cmd, suspend));
|
||||
|
||||
#endif /* _TRACE_HOOK_AUDIO_USBOFFLOAD_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -41,10 +41,67 @@ DECLARE_RESTRICTED_HOOK(android_rvh_binder_transaction,
|
||||
TP_PROTO(struct binder_proc *target_proc, struct binder_proc *proc,
|
||||
struct binder_thread *thread, struct binder_transaction_data *tr),
|
||||
TP_ARGS(target_proc, proc, thread, tr), 1);
|
||||
DECLARE_HOOK(android_vh_binder_proc_transaction_entry,
|
||||
TP_PROTO(struct binder_proc *proc, struct binder_transaction *t,
|
||||
struct binder_thread **thread, int node_debug_id, bool pending_async,
|
||||
bool sync, bool *skip),
|
||||
TP_ARGS(proc, t, thread, node_debug_id, pending_async, sync, skip));
|
||||
DECLARE_HOOK(android_vh_binder_select_worklist_ilocked,
|
||||
TP_PROTO(struct list_head **list, struct binder_thread *thread, struct binder_proc *proc,
|
||||
int wait_for_proc_work),
|
||||
TP_ARGS(list, thread, proc, wait_for_proc_work));
|
||||
DECLARE_HOOK(android_vh_binder_proc_transaction_finish,
|
||||
TP_PROTO(struct binder_proc *proc, struct binder_transaction *t,
|
||||
struct task_struct *binder_th_task, bool pending_async, bool sync),
|
||||
TP_ARGS(proc, t, binder_th_task, pending_async, sync));
|
||||
DECLARE_HOOK(android_vh_binder_print_transaction_info,
|
||||
TP_PROTO(struct seq_file *m, struct binder_proc *proc,
|
||||
const char *prefix, struct binder_transaction *t),
|
||||
TP_ARGS(m, proc, prefix, t));
|
||||
DECLARE_HOOK(android_vh_binder_looper_state_registered,
|
||||
TP_PROTO(struct binder_thread *thread, struct binder_proc *proc),
|
||||
TP_ARGS(thread, proc));
|
||||
DECLARE_HOOK(android_vh_binder_thread_read,
|
||||
TP_PROTO(struct list_head **list, struct binder_proc *proc,
|
||||
struct binder_thread *thread),
|
||||
TP_ARGS(list, proc, thread));
|
||||
DECLARE_HOOK(android_vh_binder_free_proc,
|
||||
TP_PROTO(struct binder_proc *proc),
|
||||
TP_ARGS(proc));
|
||||
DECLARE_HOOK(android_vh_binder_thread_release,
|
||||
TP_PROTO(struct binder_proc *proc, struct binder_thread *thread),
|
||||
TP_ARGS(proc, thread));
|
||||
DECLARE_HOOK(android_vh_binder_read_done,
|
||||
TP_PROTO(struct binder_proc *proc, struct binder_thread *thread),
|
||||
TP_ARGS(proc, thread));
|
||||
DECLARE_HOOK(android_vh_binder_has_work_ilocked,
|
||||
TP_PROTO(struct binder_thread *thread, bool do_proc_work, int *ret),
|
||||
TP_ARGS(thread, do_proc_work, ret));
|
||||
DECLARE_HOOK(android_vh_binder_alloc_new_buf_locked,
|
||||
TP_PROTO(size_t size, size_t *free_async_space, int is_async),
|
||||
TP_ARGS(size, free_async_space, is_async));
|
||||
DECLARE_HOOK(android_vh_binder_reply,
|
||||
TP_PROTO(struct binder_proc *target_proc, struct binder_proc *proc,
|
||||
struct binder_thread *thread, struct binder_transaction_data *tr),
|
||||
TP_ARGS(target_proc, proc, thread, tr));
|
||||
DECLARE_HOOK(android_vh_binder_trans,
|
||||
TP_PROTO(struct binder_proc *target_proc, struct binder_proc *proc,
|
||||
struct binder_thread *thread, struct binder_transaction_data *tr),
|
||||
TP_ARGS(target_proc, proc, thread, tr));
|
||||
DECLARE_HOOK(android_vh_binder_preset,
|
||||
TP_PROTO(struct hlist_head *hhead, struct mutex *lock),
|
||||
TP_ARGS(hhead, lock));
|
||||
DECLARE_HOOK(android_vh_binder_proc_transaction,
|
||||
TP_PROTO(struct task_struct *caller_task, struct task_struct *binder_proc_task,
|
||||
struct task_struct *binder_th_task, int node_debug_id,
|
||||
unsigned int code, bool pending_async),
|
||||
TP_ARGS(caller_task, binder_proc_task, binder_th_task, node_debug_id, code, pending_async));
|
||||
DECLARE_HOOK(android_vh_binder_new_ref,
|
||||
TP_PROTO(struct task_struct *proc, uint32_t ref_desc, int node_debug_id),
|
||||
TP_ARGS(proc, ref_desc, node_debug_id));
|
||||
DECLARE_HOOK(android_vh_binder_del_ref,
|
||||
TP_PROTO(struct task_struct *proc, uint32_t ref_desc),
|
||||
TP_ARGS(proc, ref_desc));
|
||||
|
||||
#endif /* _TRACE_HOOK_BINDER_H */
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -7,8 +7,12 @@
|
||||
#define _TRACE_HOOK_CGROUP_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#ifndef __GENKSYMS__
|
||||
struct cgroup_taskset;
|
||||
#else
|
||||
/* struct cgroup_taskset */
|
||||
#include <../kernel/cgroup/cgroup-internal.h>
|
||||
#endif
|
||||
/* struct cgroup_subsys */
|
||||
#include <linux/cgroup-defs.h>
|
||||
/* struct task_struct */
|
||||
@@ -31,6 +35,9 @@ DECLARE_HOOK(android_rvh_memcgv2_init,
|
||||
DECLARE_HOOK(android_rvh_memcgv2_calc_decayed_watermark,
|
||||
TP_PROTO(struct mem_cgroup *memcg),
|
||||
TP_ARGS(memcg));
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_cpuset_fork,
|
||||
TP_PROTO(struct task_struct *p, int *inherit_cpus),
|
||||
TP_ARGS(p, inherit_cpus), 1);
|
||||
|
||||
struct page_counter;
|
||||
DECLARE_HOOK(android_rvh_update_watermark,
|
||||
|
||||
@@ -16,6 +16,11 @@ DECLARE_HOOK(android_vh_alter_futex_plist_add,
|
||||
struct plist_head *head,
|
||||
bool *already_on_hb),
|
||||
TP_ARGS(node, head, already_on_hb));
|
||||
|
||||
DECLARE_HOOK(android_vh_futex_sleep_start,
|
||||
TP_PROTO(struct task_struct *p),
|
||||
TP_ARGS(p));
|
||||
|
||||
#endif /* _TRACE_HOOK_FUTEX_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -8,13 +8,17 @@
|
||||
#define _TRACE_HOOK_GIC_H
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct cpumask */
|
||||
#include <linux/cpumask.h>
|
||||
/* struct irq_data */
|
||||
#include <linux/irq.h>
|
||||
struct gic_chip_data;
|
||||
/* struct irq_domain */
|
||||
#include <linux/irqdomain.h>
|
||||
|
||||
DECLARE_HOOK(android_vh_gic_resume,
|
||||
TP_PROTO(struct gic_chip_data *gd),
|
||||
TP_ARGS(gd));
|
||||
DECLARE_HOOK(android_vh_gic_v2_resume,
|
||||
TP_PROTO(struct irq_domain *domain, void __iomem *dist_base),
|
||||
TP_ARGS(domain, dist_base));
|
||||
|
||||
DECLARE_HOOK(android_vh_gic_set_affinity,
|
||||
TP_PROTO(struct irq_data *d, const struct cpumask *mask_val,
|
||||
|
||||
@@ -13,6 +13,9 @@
|
||||
#include <linux/cpumask.h>
|
||||
/* struct irq_data */
|
||||
#include <linux/irq.h>
|
||||
/* struct gic_chip_data */
|
||||
#include <linux/irqchip/arm-gic-v3.h>
|
||||
|
||||
DECLARE_HOOK(android_vh_gic_v3_affinity_init,
|
||||
TP_PROTO(int irq, u32 offset, u64 *affinity),
|
||||
TP_ARGS(irq, offset, affinity));
|
||||
@@ -22,6 +25,9 @@ DECLARE_RESTRICTED_HOOK(android_rvh_gic_v3_set_affinity,
|
||||
void __iomem *rbase, u64 redist_stride),
|
||||
TP_ARGS(d, mask_val, affinity, force, base, rbase, redist_stride),
|
||||
1);
|
||||
DECLARE_HOOK(android_vh_gic_resume,
|
||||
TP_PROTO(struct gic_chip_data *gd),
|
||||
TP_ARGS(gd));
|
||||
|
||||
#endif /* _TRACE_HOOK_GIC_V3_H */
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -79,6 +79,10 @@ DECLARE_HOOK(android_vh_mem_cgroup_css_online,
|
||||
DECLARE_HOOK(android_vh_mem_cgroup_css_offline,
|
||||
TP_PROTO(struct cgroup_subsys_state *css, struct mem_cgroup *memcg),
|
||||
TP_ARGS(css, memcg));
|
||||
DECLARE_HOOK(android_vh_vmpressure,
|
||||
TP_PROTO(struct mem_cgroup *memcg, bool *bypass),
|
||||
TP_ARGS(memcg, bypass));
|
||||
|
||||
#endif /* _TRACE_HOOK_MM_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -53,6 +53,18 @@ DECLARE_RESTRICTED_HOOK(android_rvh_partial_init,
|
||||
TP_PROTO(struct mmc_host *host, bool *partial_init),
|
||||
TP_ARGS(host, partial_init), 1);
|
||||
|
||||
DECLARE_HOOK(android_vh_mmc_update_partition_status,
|
||||
TP_PROTO(struct mmc_card *card),
|
||||
TP_ARGS(card));
|
||||
|
||||
DECLARE_HOOK(android_vh_mmc_sd_update_cmdline_timing,
|
||||
TP_PROTO(struct mmc_card *card, int *err),
|
||||
TP_ARGS(card, err));
|
||||
|
||||
DECLARE_HOOK(android_vh_mmc_sd_update_dataline_timing,
|
||||
TP_PROTO(struct mmc_card *card, int *err),
|
||||
TP_ARGS(card, err));
|
||||
|
||||
#endif /* _TRACE_HOOK_MMC_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -13,10 +13,31 @@ DECLARE_HOOK(android_vh_try_to_freeze_todo,
|
||||
TP_PROTO(unsigned int todo, unsigned int elapsed_msecs, bool wq_busy),
|
||||
TP_ARGS(todo, elapsed_msecs, wq_busy));
|
||||
|
||||
DECLARE_HOOK(android_vh_try_to_freeze_todo_logging,
|
||||
TP_PROTO(bool *logging_on),
|
||||
TP_ARGS(logging_on));
|
||||
|
||||
DECLARE_HOOK(android_vh_try_to_freeze_todo_unfrozen,
|
||||
TP_PROTO(struct task_struct *p),
|
||||
TP_ARGS(p));
|
||||
|
||||
enum freq_qos_req_type;
|
||||
struct freq_qos_request;
|
||||
struct freq_constraints;
|
||||
|
||||
DECLARE_HOOK(android_vh_freq_qos_add_request,
|
||||
TP_PROTO(struct freq_constraints *qos, struct freq_qos_request *req,
|
||||
enum freq_qos_req_type type, int value, int ret),
|
||||
TP_ARGS(qos, req, type, value, ret));
|
||||
|
||||
DECLARE_HOOK(android_vh_freq_qos_update_request,
|
||||
TP_PROTO(struct freq_qos_request *req, int value),
|
||||
TP_ARGS(req, value));
|
||||
|
||||
DECLARE_HOOK(android_vh_freq_qos_remove_request,
|
||||
TP_PROTO(struct freq_qos_request *req),
|
||||
TP_ARGS(req));
|
||||
|
||||
#endif /* _TRACE_HOOK_POWER_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -26,11 +26,15 @@ DECLARE_HOOK(android_vh_alter_rwsem_list_add,
|
||||
struct rw_semaphore *sem,
|
||||
bool *already_on_list),
|
||||
TP_ARGS(waiter, sem, already_on_list));
|
||||
DECLARE_HOOK(android_vh_rwsem_wake_finish,
|
||||
TP_PROTO(struct rw_semaphore *sem),
|
||||
TP_ARGS(sem));
|
||||
#else
|
||||
#define trace_android_vh_rwsem_init(sem)
|
||||
#define trace_android_vh_rwsem_wake(sem)
|
||||
#define trace_android_vh_rwsem_write_finished(sem)
|
||||
#define trace_android_vh_alter_rwsem_list_add(waiter, sem, already_on_list)
|
||||
#define trace_android_vh_rwsem_wake_finish(sem)
|
||||
#endif
|
||||
#endif /* _TRACE_HOOK_RWSEM_H */
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -9,8 +9,12 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
#ifndef __GENKSYMS__
|
||||
struct cgroup_taskset;
|
||||
#else
|
||||
/* struct cgroup_taskset */
|
||||
#include <../kernel/cgroup/cgroup-internal.h>
|
||||
#endif
|
||||
/* struct cgroup_subsys_state */
|
||||
#include <linux/cgroup-defs.h>
|
||||
/* struct em_perf_domain */
|
||||
@@ -268,6 +272,13 @@ DECLARE_HOOK(android_vh_map_util_freq,
|
||||
unsigned long cap, unsigned long *next_freq),
|
||||
TP_ARGS(util, freq, cap, next_freq));
|
||||
|
||||
struct cpufreq_policy;
|
||||
DECLARE_HOOK(android_vh_map_util_freq_new,
|
||||
TP_PROTO(unsigned long util, unsigned long freq,
|
||||
unsigned long cap, unsigned long *next_freq, struct cpufreq_policy *policy,
|
||||
bool *need_freq_update),
|
||||
TP_ARGS(util, freq, cap, next_freq, policy, need_freq_update));
|
||||
|
||||
DECLARE_HOOK(android_vh_em_cpu_energy,
|
||||
TP_PROTO(struct em_perf_domain *pd,
|
||||
unsigned long max_util, unsigned long sum_util,
|
||||
@@ -315,6 +326,11 @@ DECLARE_RESTRICTED_HOOK(android_rvh_set_cpus_allowed_ptr_locked,
|
||||
unsigned int *dest_cpu),
|
||||
TP_ARGS(cpu_valid_mask, new_mask, dest_cpu), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_set_cpus_allowed_by_task,
|
||||
TP_PROTO(const struct cpumask *cpu_valid_mask, const struct cpumask *new_mask,
|
||||
struct task_struct *p, unsigned int *dest_cpu),
|
||||
TP_ARGS(cpu_valid_mask, new_mask, p, dest_cpu), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_do_sched_yield,
|
||||
TP_PROTO(struct rq *rq),
|
||||
TP_ARGS(rq), 1);
|
||||
@@ -327,6 +343,12 @@ DECLARE_HOOK(android_vh_irqtime_account_process_tick,
|
||||
TP_PROTO(struct task_struct *p, struct rq *rq, int user_tick, int ticks),
|
||||
TP_ARGS(p, rq, user_tick, ticks));
|
||||
|
||||
DECLARE_HOOK(android_vh_sched_pelt_multiplier,
|
||||
TP_PROTO(unsigned int old, unsigned int cur, int *ret),
|
||||
TP_ARGS(old, cur, ret));
|
||||
|
||||
/* Conditionally defined upon CONFIG_UCLAMP_TASK */
|
||||
struct uclamp_se;
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_uclamp_eff_get,
|
||||
TP_PROTO(struct task_struct *p, enum uclamp_id clamp_id,
|
||||
struct uclamp_se *uclamp_max, struct uclamp_se *uclamp_eff, int *ret),
|
||||
@@ -366,6 +388,10 @@ DECLARE_HOOK(android_vh_em_dev_register_pd,
|
||||
TP_PROTO(bool *cond),
|
||||
TP_ARGS(cond));
|
||||
|
||||
DECLARE_HOOK(android_vh_sched_stat_runtime_rt,
|
||||
TP_PROTO(struct task_struct *tsk, u64 delta),
|
||||
TP_ARGS(tsk, delta));
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_post_init_entity_util_avg,
|
||||
TP_PROTO(struct sched_entity *se),
|
||||
TP_ARGS(se), 1);
|
||||
@@ -410,6 +436,39 @@ DECLARE_HOOK(android_vh_dup_task_struct,
|
||||
DECLARE_HOOK(android_vh_account_task_time,
|
||||
TP_PROTO(struct task_struct *p, struct rq *rq, int user_tick),
|
||||
TP_ARGS(p, rq, user_tick));
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_set_cpus_allowed_comm,
|
||||
TP_PROTO(struct task_struct *p, const struct cpumask *new_mask),
|
||||
TP_ARGS(p, new_mask), 1);
|
||||
|
||||
DECLARE_HOOK(android_vh_sched_setaffinity_early,
|
||||
TP_PROTO(struct task_struct *p, const struct cpumask *new_mask, int *retval),
|
||||
TP_ARGS(p, new_mask, retval));
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_attach_entity_load_avg,
|
||||
TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se),
|
||||
TP_ARGS(cfs_rq, se), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_detach_entity_load_avg,
|
||||
TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se),
|
||||
TP_ARGS(cfs_rq, se), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_update_load_avg,
|
||||
TP_PROTO(u64 now, struct cfs_rq *cfs_rq, struct sched_entity *se),
|
||||
TP_ARGS(now, cfs_rq, se), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_remove_entity_load_avg,
|
||||
TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se),
|
||||
TP_ARGS(cfs_rq, se), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_update_blocked_fair,
|
||||
TP_PROTO(struct rq *rq),
|
||||
TP_ARGS(rq), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_update_rt_rq_load_avg,
|
||||
TP_PROTO(u64 now, struct rq *rq, struct task_struct *tsk, int running),
|
||||
TP_ARGS(now, rq, tsk, running), 1);
|
||||
|
||||
/* macro versions of hooks are no longer required */
|
||||
|
||||
#endif /* _TRACE_HOOK_SCHED_H */
|
||||
|
||||
@@ -12,6 +12,12 @@ struct task_struct;
|
||||
DECLARE_HOOK(android_vh_do_send_sig_info,
|
||||
TP_PROTO(int sig, struct task_struct *killer, struct task_struct *dst),
|
||||
TP_ARGS(sig, killer, dst));
|
||||
DECLARE_HOOK(android_vh_process_killed,
|
||||
TP_PROTO(struct task_struct *task, bool *reap),
|
||||
TP_ARGS(task, reap));
|
||||
DECLARE_HOOK(android_vh_exit_signal,
|
||||
TP_PROTO(struct task_struct *task),
|
||||
TP_ARGS(task));
|
||||
#endif /* _TRACE_HOOK_SIGNAL_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -19,6 +19,10 @@ DECLARE_HOOK(android_vh_update_topology_flags_workfn,
|
||||
TP_PROTO(void *unused),
|
||||
TP_ARGS(unused));
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_update_thermal_stats,
|
||||
TP_PROTO(int cpu),
|
||||
TP_ARGS(cpu), 1);
|
||||
|
||||
#endif /* _TRACE_HOOK_TOPOLOGY_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -34,6 +34,9 @@ DECLARE_HOOK(android_vh_shrink_slab_bypass,
|
||||
DECLARE_HOOK(android_vh_do_shrink_slab,
|
||||
TP_PROTO(struct shrinker *shrinker, struct shrink_control *shrinkctl, int priority),
|
||||
TP_ARGS(shrinker, shrinkctl, priority));
|
||||
DECLARE_HOOK(android_vh_tune_memcg_scan_type,
|
||||
TP_PROTO(struct mem_cgroup *memcg, char *scan_type),
|
||||
TP_ARGS(memcg, scan_type));
|
||||
#endif /* _TRACE_HOOK_VMSCAN_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
per-file f2fs**=file:/fs/f2fs/OWNERS
|
||||
per-file fuse**=file:/fs/fuse/OWNERS
|
||||
per-file net**=file:/net/OWNERS
|
||||
@@ -319,6 +319,7 @@ enum transaction_flags {
|
||||
TF_STATUS_CODE = 0x08, /* contents are a 32-bit status code */
|
||||
TF_ACCEPT_FDS = 0x10, /* allow replies with file descriptors */
|
||||
TF_CLEAR_BUF = 0x20, /* clear buffer on txn complete */
|
||||
TF_UPDATE_TXN = 0x40, /* update the outdated pending async txn */
|
||||
};
|
||||
|
||||
struct binder_transaction_data {
|
||||
|
||||
@@ -40,6 +40,9 @@ typedef __s64 Elf64_Sxword;
|
||||
|
||||
#define PT_GNU_STACK (PT_LOOS + 0x474e551)
|
||||
|
||||
/* ARM MTE memory tag segment type */
|
||||
#define PT_AARCH64_MEMTAG_MTE (PT_LOPROC + 0x2)
|
||||
|
||||
/*
|
||||
* Extended Numbering
|
||||
*
|
||||
|
||||
@@ -1518,11 +1518,11 @@ enum nl80211_commands {
|
||||
|
||||
/*
|
||||
* These are temporary definitions that will become permanent when the UAPI
|
||||
* change is accepted upstream. This will not be used in production until the
|
||||
* UAPI change lands upstream
|
||||
* changes lands into linux.git tree. These attributes must not be used in
|
||||
* production until the UAPI change lands into linux.git tree.
|
||||
*/
|
||||
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?h=mld&id=a353a99fb75e5c1c3b15050e9efaab1997350862 */
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?id=7b0a0e3c3a88260b6fcb017e49f198463aa62ed1 */
|
||||
#define NL80211_CMD_ADD_LINK NL80211_CMD_RESERVED_DO_NOT_USE_1
|
||||
#define NL80211_CMD_REMOVE_LINK NL80211_CMD_RESERVED_DO_NOT_USE_2
|
||||
|
||||
@@ -3269,22 +3269,22 @@ enum nl80211_attrs {
|
||||
|
||||
/*
|
||||
* These are temporary definitions that will become permanent when the UAPI
|
||||
* change is accepted upstream. This will not be used in production until the
|
||||
* UAPI change lands upstream
|
||||
* changes lands into linux.git tree. These attributes must not be used in
|
||||
* production until the UAPI change lands into linux.git tree.
|
||||
*/
|
||||
|
||||
/* Link: https://lore.kernel.org/linux-wireless/1653312358-12321-1-git-send-email-quic_vjakkam@quicinc.com/ */
|
||||
#define NL80211_ATTR_MAX_NUM_AKM_SUITES NL80211_ATTR_RESERVED_DO_NOT_USE_1
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?id=7b0a0e3c3a88260b6fcb017e49f198463aa62ed1 */
|
||||
#define NL80211_ATTR_MLO_LINKS NL80211_ATTR_RESERVED_DO_NOT_USE_1
|
||||
#define NL80211_ATTR_MLO_LINK_ID NL80211_ATTR_RESERVED_DO_NOT_USE_2
|
||||
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?h=mld&id=a353a99fb75e5c1c3b15050e9efaab1997350862 */
|
||||
#define NL80211_ATTR_MLO_LINKS NL80211_ATTR_RESERVED_DO_NOT_USE_2
|
||||
#define NL80211_ATTR_MLO_LINK_ID NL80211_ATTR_RESERVED_DO_NOT_USE_3
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?id=d648c23024bd01333acd2fd5e34bcde0ffb66b16 */
|
||||
#define NL80211_ATTR_MLD_ADDR NL80211_ATTR_RESERVED_DO_NOT_USE_3
|
||||
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?h=mld&id=e35626979423cadc21bd4a68d4aa14eaeccbbd59 */
|
||||
#define NL80211_ATTR_MLD_ADDR NL80211_ATTR_RESERVED_DO_NOT_USE_4
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?id=efbabc11650040c64884ff3019b88c7bcc0ceb1d */
|
||||
#define NL80211_ATTR_MLO_SUPPORT NL80211_ATTR_RESERVED_DO_NOT_USE_4
|
||||
|
||||
/* Link: https://lore.kernel.org/linux-wireless/1654679797-7740-1-git-send-email-quic_vjakkam@quicinc.com/ */
|
||||
#define NL80211_ATTR_MLO_SUPPORT NL80211_ATTR_RESERVED_DO_NOT_USE_5
|
||||
/* Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?id=ecad3b0b99bff7247a11f8c7cb19ac9b0cb28b09 */
|
||||
#define NL80211_ATTR_MAX_NUM_AKM_SUITES NL80211_ATTR_RESERVED_DO_NOT_USE_5
|
||||
|
||||
/* source-level API compatibility */
|
||||
#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
|
||||
@@ -4982,6 +4982,7 @@ enum nl80211_bss_scan_width {
|
||||
* Contains a nested array of signal strength attributes (u8, dBm),
|
||||
* using the nesting index as the antenna number.
|
||||
* @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz
|
||||
* @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8).
|
||||
* @__NL80211_BSS_AFTER_LAST: internal
|
||||
* @NL80211_BSS_MAX: highest BSS attribute
|
||||
*/
|
||||
@@ -5018,6 +5019,14 @@ enum nl80211_bss {
|
||||
NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/*
|
||||
* These are temporary definitions that will become permanent when the UAPI
|
||||
* changes lands into linux.git tree. These attributes must not be used in
|
||||
* production until the UAPI change lands into linux.git tree.
|
||||
*/
|
||||
|
||||
#define NL80211_BSS_MLO_LINK_ID NL80211_BSS_RESERVED_DO_NOT_USE_1
|
||||
|
||||
/**
|
||||
* enum nl80211_bss_status - BSS "status"
|
||||
* @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS.
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
#include <linux/wait.h>
|
||||
|
||||
#include <trace/hooks/sched.h>
|
||||
#include <trace/hooks/cgroup.h>
|
||||
|
||||
DEFINE_STATIC_KEY_FALSE(cpusets_pre_enable_key);
|
||||
DEFINE_STATIC_KEY_FALSE(cpusets_enabled_key);
|
||||
@@ -2955,10 +2956,13 @@ static void cpuset_bind(struct cgroup_subsys_state *root_css)
|
||||
*/
|
||||
static void cpuset_fork(struct task_struct *task)
|
||||
{
|
||||
int inherit_cpus = 0;
|
||||
if (task_css_is_root(task, cpuset_cgrp_id))
|
||||
return;
|
||||
|
||||
set_cpus_allowed_ptr(task, current->cpus_ptr);
|
||||
trace_android_rvh_cpuset_fork(task, &inherit_cpus);
|
||||
if (!inherit_cpus)
|
||||
set_cpus_allowed_ptr(task, current->cpus_ptr);
|
||||
task->mems_allowed = current->mems_allowed;
|
||||
}
|
||||
|
||||
@@ -3398,7 +3402,7 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask)
|
||||
guarantee_online_cpus(tsk, pmask);
|
||||
spin_unlock_irqrestore(&callback_lock, flags);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(cpuset_cpus_allowed);
|
||||
/**
|
||||
* cpuset_cpus_allowed_fallback - final fallback before complete catastrophe.
|
||||
* @tsk: pointer to task_struct with which the scheduler is struggling
|
||||
|
||||
@@ -479,3 +479,4 @@ struct cgroup_subsys freezer_cgrp_subsys = {
|
||||
.fork = freezer_fork,
|
||||
.legacy_cftypes = files,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(freezer_cgrp_subsys);
|
||||
|
||||
@@ -1136,10 +1136,11 @@ static void check_sync(struct device *dev,
|
||||
dir2name[entry->direction],
|
||||
dir2name[ref->direction]);
|
||||
|
||||
/* sg list count can be less than map count when partial cache sync */
|
||||
if (ref->sg_call_ents && ref->type == dma_debug_sg &&
|
||||
ref->sg_call_ents != entry->sg_call_ents) {
|
||||
ref->sg_call_ents > entry->sg_call_ents) {
|
||||
err_printk(ref->dev, entry, "device driver syncs "
|
||||
"DMA sg list with different entry count "
|
||||
"DMA sg list count larger than map count "
|
||||
"[map count=%d] [sync count=%d]\n",
|
||||
entry->sg_call_ents, ref->sg_call_ents);
|
||||
}
|
||||
|
||||
@@ -2853,8 +2853,10 @@ static void futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q *q,
|
||||
* flagged for rescheduling. Only call schedule if there
|
||||
* is no timeout, or if it has yet to expire.
|
||||
*/
|
||||
if (!timeout || timeout->task)
|
||||
if (!timeout || timeout->task) {
|
||||
trace_android_vh_futex_sleep_start(current);
|
||||
freezable_schedule();
|
||||
}
|
||||
}
|
||||
__set_current_state(TASK_RUNNING);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ fi
|
||||
# of tree builds having stale headers in srctree. Just silence CPIO for now.
|
||||
for f in $dir_list;
|
||||
do find "$f" -name "*.h";
|
||||
done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1
|
||||
done | cpio --quiet -pdu $cpio_dir >/dev/null 2>&1
|
||||
|
||||
# Remove comments except SDPX lines
|
||||
find $cpio_dir -type f -print0 |
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/task.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/sched/debug.h>
|
||||
#include <linux/errno.h>
|
||||
|
||||
int __percpu_init_rwsem(struct percpu_rw_semaphore *sem,
|
||||
@@ -163,7 +164,7 @@ static void percpu_rwsem_wait(struct percpu_rw_semaphore *sem, bool reader)
|
||||
__set_current_state(TASK_RUNNING);
|
||||
}
|
||||
|
||||
bool __percpu_down_read(struct percpu_rw_semaphore *sem, bool try)
|
||||
bool __sched __percpu_down_read(struct percpu_rw_semaphore *sem, bool try)
|
||||
{
|
||||
if (__percpu_down_read_trylock(sem))
|
||||
return true;
|
||||
@@ -212,7 +213,7 @@ static bool readers_active_check(struct percpu_rw_semaphore *sem)
|
||||
return true;
|
||||
}
|
||||
|
||||
void percpu_down_write(struct percpu_rw_semaphore *sem)
|
||||
void __sched percpu_down_write(struct percpu_rw_semaphore *sem)
|
||||
{
|
||||
might_sleep();
|
||||
rwsem_acquire(&sem->dep_map, 0, 0, _RET_IP_);
|
||||
|
||||
@@ -1053,7 +1053,7 @@ out_nolock:
|
||||
/*
|
||||
* Wait until we successfully acquire the write lock
|
||||
*/
|
||||
static struct rw_semaphore *
|
||||
static struct rw_semaphore __sched *
|
||||
rwsem_down_write_slowpath(struct rw_semaphore *sem, int state)
|
||||
{
|
||||
long count;
|
||||
@@ -1190,6 +1190,7 @@ static struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem)
|
||||
|
||||
if (!list_empty(&sem->wait_list))
|
||||
rwsem_mark_wake(sem, RWSEM_WAKE_ANY, &wake_q);
|
||||
trace_android_vh_rwsem_wake_finish(sem);
|
||||
|
||||
raw_spin_unlock_irqrestore(&sem->wait_lock, flags);
|
||||
wake_up_q(&wake_q);
|
||||
|
||||
@@ -1379,20 +1379,20 @@ static int verify_namespace_is_imported(const struct load_info *info,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool inherit_taint(struct module *mod, struct module *owner)
|
||||
static bool inherit_taint(struct module *mod, struct module *owner, const char *name)
|
||||
{
|
||||
if (!owner || !test_bit(TAINT_PROPRIETARY_MODULE, &owner->taints))
|
||||
return true;
|
||||
|
||||
if (mod->using_gplonly_symbols) {
|
||||
pr_err("%s: module using GPL-only symbols uses symbols from proprietary module %s.\n",
|
||||
mod->name, owner->name);
|
||||
pr_err("%s: module using GPL-only symbols uses symbols %s from proprietary module %s.\n",
|
||||
mod->name, name, owner->name);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!test_bit(TAINT_PROPRIETARY_MODULE, &mod->taints)) {
|
||||
pr_warn("%s: module uses symbols from proprietary module %s, inheriting taint.\n",
|
||||
mod->name, owner->name);
|
||||
pr_warn("%s: module uses symbols %s from proprietary module %s, inheriting taint.\n",
|
||||
mod->name, name, owner->name);
|
||||
set_bit(TAINT_PROPRIETARY_MODULE, &mod->taints);
|
||||
}
|
||||
return true;
|
||||
@@ -1424,7 +1424,7 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,
|
||||
if (fsa.license == GPL_ONLY)
|
||||
mod->using_gplonly_symbols = true;
|
||||
|
||||
if (!inherit_taint(mod, fsa.owner)) {
|
||||
if (!inherit_taint(mod, fsa.owner, name)) {
|
||||
fsa.sym = NULL;
|
||||
goto getname;
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ static int try_to_freeze_tasks(bool user_only)
|
||||
unsigned int elapsed_msecs;
|
||||
bool wakeup = false;
|
||||
int sleep_usecs = USEC_PER_MSEC;
|
||||
bool todo_logging_on = false;
|
||||
|
||||
start = ktime_get_boottime();
|
||||
|
||||
@@ -101,7 +102,8 @@ static int try_to_freeze_tasks(bool user_only)
|
||||
if (wq_busy)
|
||||
show_workqueue_state();
|
||||
|
||||
if (pm_debug_messages_on) {
|
||||
trace_android_vh_try_to_freeze_todo_logging(&todo_logging_on);
|
||||
if (pm_debug_messages_on || todo_logging_on) {
|
||||
read_lock(&tasklist_lock);
|
||||
for_each_process_thread(g, p) {
|
||||
if (p != current && !freezer_should_skip(p)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user