Merge keystone/android13-5.15-keystone-qcom-release.35 (ad92be2) into msm-5.15

* refs/heads/tmp-ad92be2:
  ANDROID: consolidate.fragment: Disable CONFIG_DEBUG_OBJECTS_FREE
  ANDROID: consolidate.fragment: Remove unneeded Kconfig overrides
  ANDROID: ABI: Update pixel symbol list and ABI xml
  ANDROID: abi_gki_aarch64_qcom: Update symbol list
  ANDROID: Make file-backed vma teardown synchronous
  ANDROID: abi_gki_aarch64_qcom: Add icc_sync_state
  ANDROID: ABI: Update symbols to unisoc whitelist for the 6th
  ANDROID: Update symbol list for mtk
  ANDROID: abi_gki_aarch64_qcom: Update symbol list.
  UPSTREAM: printk: ringbuffer: Improve prb_next_seq() performance
  ANDROID: firmware_loader: Add support for customer firmware paths
  FROMLIST: remoteproc: Use unbounded workqueue for recovery work
  ANDROID: kbuild: mod: Move $(obj) prefix inside awk
  FROMGIT: kbuild: read *.mod to get objects passed to $(LD) or $(AR)
  FROMGIT: kbuild: make *.mod not depend on *.o
  FROMGIT: kbuild: get rid of duplication in *.mod files
  FROMGIT: kbuild: split the second line of *.mod into *.usyms
  FROMGIT: kbuild: reuse real-search to simplify cmd_mod
  FROMGIT: kbuild: make multi_depend work with targets in subdirectory
  FROMGIT: kbuild: reuse suffix-search to refactor multi_depend
  ANDROID: abi_gki_aarch64_qcom: Update symbol list
  ANDROID: ABI: Update symbols to unisoc whitelist for the 5th
  ANDROID: ABI: Update symbols to unisoc whitelist for the 1st
  BACKPORT: FROMLIST: cfg80211: parse RNR IE about MLD params for MBSSID feature
  ANDROID: abi_gki_aarch64_qcom: Update qcom abi symbol list
  FROMGIT: net: fix wrong network header length
  ANDROID: Update mtktv symbol list 3rd
  ANDROID: arm: Mark the recheduling IPI as raw interrupt
  ANDROID: arm64: Mark the recheduling IPI as raw interrupt
  ANDROID: genirq: Allow an interrupt to be marked as 'raw'
  ANDROID: vendor_hooks: Add hooks for ufs scheduler
  FROMLIST: soc: qcom: geni: Disable MMIO tracing for GENI SE
  ANDROID: ABI: Update symbols to unisoc whitelist for the 4st
  ANDROID: abi_gki_aarch64_qcom: Update qcom abi symbol list
  ANDROID: abi_gki_aarch64_qcom: Update symbol list
  ANDROID: abi_gki_aarch64_qcom: Sort symbol list

Conflicts:
	android/abi_gki_aarch64.xml
	android/abi_gki_aarch64_qcom

Upstream-Build: ks_qcom-android13-5.15-keystone-qcom-release@8596890 TKQ2.220516.001
Change-Id: I667bef7021050fa5d12f5adddf3eb35d7da0cf38
Signed-off-by: Blagovest Kolenichev <quic_c_bkolen@quicinc.com>
This commit is contained in:
Blagovest Kolenichev
2022-05-16 18:19:54 -07:00
36 changed files with 2200 additions and 1550 deletions

1
.gitignore vendored
View File

@@ -45,6 +45,7 @@
*.symversions
*.tab.[ch]
*.tar
*.usyms
*.xz
*.zst
Module.symvers

View File

@@ -1883,7 +1883,8 @@ ifdef single-build
# .ko is special because modpost is needed
single-ko := $(sort $(filter %.ko, $(MAKECMDGOALS)))
single-no-ko := $(sort $(patsubst %.ko,%.mod, $(MAKECMDGOALS)))
single-no-ko := $(filter-out $(single-ko), $(MAKECMDGOALS)) \
$(foreach x, o mod, $(patsubst %.ko, %.$x, $(single-ko)))
$(single-ko): single_modpost
@:
@@ -1939,7 +1940,7 @@ clean: $(clean-dirs)
-o -name '*.ko.*' \
-o -name '*.dtb' -o -name '*.dtbo' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
-o -name '*.dwo' -o -name '*.lst' \
-o -name '*.su' -o -name '*.mod' \
-o -name '*.su' -o -name '*.mod' -o -name '*.usyms' \
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
-o -name '*.lex.c' -o -name '*.tab.[ch]' \
-o -name '*.asn1.[ch]' \

View File

@@ -1 +1 @@
f37c75cc46aa28035d0c16cf581e004ba91ea814
3eebd9f7e458d65857b98828243733f2c6a49cd0

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,6 @@
alloc_chrdev_region
alloc_etherdev_mqs
alloc_io_pgtable_ops
alloc_netdev_mqs
__alloc_pages
alloc_pages_exact
__alloc_percpu
@@ -77,7 +76,6 @@
bpf_trace_run7
bpf_trace_run8
bpf_trace_run9
build_skb
bus_register
bus_set_iommu
bus_unregister
@@ -90,38 +88,6 @@
cdev_device_add
cdev_device_del
cdev_init
__cfg80211_alloc_event_skb
__cfg80211_alloc_reply_skb
cfg80211_chandef_create
cfg80211_ch_switch_notify
cfg80211_classify8021d
cfg80211_connect_done
cfg80211_del_sta_sinfo
cfg80211_disconnected
cfg80211_external_auth_request
cfg80211_find_elem_match
cfg80211_ft_event
cfg80211_get_bss
cfg80211_inform_bss_data
cfg80211_inform_bss_frame_data
cfg80211_mgmt_tx_status
cfg80211_michael_mic_failure
cfg80211_new_sta
cfg80211_pmksa_candidate_notify
cfg80211_put_bss
cfg80211_ready_on_channel
cfg80211_register_netdevice
cfg80211_remain_on_channel_expired
cfg80211_roamed
cfg80211_rx_mgmt_khz
cfg80211_scan_done
cfg80211_sched_scan_results
cfg80211_sched_scan_stopped
__cfg80211_send_event_skb
cfg80211_tdls_oper_request
cfg80211_unlink_bss
cfg80211_unregister_wdev
cfg80211_vendor_cmd_reply
__cfi_slowpath_diag
cgroup_taskset_first
cgroup_taskset_next
@@ -137,8 +103,11 @@
clk_bulk_disable
clk_bulk_enable
clk_bulk_prepare
clk_bulk_put
clk_bulk_put_all
clk_bulk_unprepare
clkdev_add
clkdev_drop
clk_disable
clk_divider_ops
clk_enable
@@ -165,9 +134,11 @@
clk_register_divider_table
clk_register_fixed_factor
clk_register_fixed_rate
clk_register_gate
clk_set_parent
clk_set_rate
clk_unprepare
clk_unregister_gate
clockevents_config_and_register
clocks_calc_mult_shift
clocksource_mmio_init
@@ -264,6 +235,7 @@
_ctype
dapm_clock_event
dapm_kcontrol_get_value
dapm_regulator_event
deactivate_task
debugfs_attr_read
debugfs_attr_write
@@ -290,7 +262,6 @@
desc_to_gpio
destroy_workqueue
dev_base_lock
dev_change_flags
dev_driver_string
_dev_err
dev_err_probe
@@ -523,11 +494,10 @@
dma_sync_sg_for_cpu
dma_sync_sg_for_device
dma_sync_single_for_cpu
dma_sync_single_for_device
dma_unmap_page_attrs
dma_unmap_resource
dma_unmap_sg_attrs
do_exit
do_trace_netlink_extack
double_rq_lock
do_wait_intr_irq
down
@@ -678,7 +648,6 @@
em_dev_register_perf_domain
enable_irq
enable_percpu_irq
ether_setup
eth_header
eth_header_cache
eth_header_cache_update
@@ -712,6 +681,10 @@
font_vga_8x16
for_each_kernel_tracepoint
fput
frame_vector_create
frame_vector_destroy
frame_vector_to_pages
frame_vector_to_pfns
free_irq
free_netdev
__free_pages
@@ -757,6 +730,8 @@
gen_pool_create
gen_pool_destroy
gen_pool_dma_alloc_align
gen_pool_dma_zalloc
gen_pool_for_each_chunk
gen_pool_free_owner
gen_pool_has_addr
gen_pool_set_algo
@@ -778,6 +753,7 @@
get_task_mm
get_unused_fd_flags
get_user_pages_remote
get_vaddr_frames
get_zeroed_page
gic_nonsecure_priorities
gov_attr_set_get
@@ -803,19 +779,13 @@
gpiod_to_irq
gpio_free
gpio_request
gpio_request_one
gpio_to_desc
handle_level_irq
handle_nested_irq
handle_simple_irq
have_governor_per_policy
hci_alloc_dev_priv
hci_free_dev
hci_recv_frame
hci_register_dev
hci_unregister_dev
hdmi_audio_infoframe_init
hex_asc
hex_dump_to_buffer
hex_to_bin
hrtimer_active
hrtimer_cancel
@@ -858,9 +828,6 @@
idr_for_each
idr_get_next
idr_remove
ieee80211_channel_to_freq_khz
ieee80211_get_channel_khz
ieee80211_operating_class_to_band
iio_alloc_pollfunc
iio_buffer_init
iio_buffer_put
@@ -894,11 +861,11 @@
input_free_device
input_mt_init_slots
input_mt_report_slot_state
input_mt_sync_frame
input_register_device
input_set_abs_params
input_set_capability
input_unregister_device
iomem_resource
iommu_alloc_resv_region
iommu_device_register
iommu_device_sysfs_add
@@ -1011,16 +978,13 @@
ksys_sync_helper
kthread_bind
kthread_bind_mask
kthread_cancel_delayed_work_sync
kthread_cancel_work_sync
kthread_create_on_node
kthread_create_worker
kthread_delayed_work_timer_fn
kthread_destroy_worker
kthread_flush_work
kthread_flush_worker
__kthread_init_worker
kthread_queue_delayed_work
kthread_queue_work
kthread_should_stop
kthread_stop
@@ -1155,6 +1119,7 @@
mod_timer
mod_timer_pending
module_layout
module_put
__msecs_to_jiffies
msleep
msleep_interruptible
@@ -1166,13 +1131,11 @@
mutex_lock_killable
mutex_trylock
mutex_unlock
napi_complete_done
napi_disable
napi_enable
napi_gro_flush
napi_gro_receive
__napi_schedule
__napi_schedule_irqoff
napi_schedule_prep
nd_tbl
neigh_destroy
@@ -1184,18 +1147,13 @@
netdev_warn
netif_carrier_off
netif_carrier_on
netif_device_attach
netif_device_detach
netif_napi_add
netif_receive_skb
netif_receive_skb_list
netif_rx
netif_rx_ni
netif_tx_stop_all_queues
netif_tx_wake_queue
netlink_broadcast
__netlink_kernel_create
netlink_kernel_release
netlink_unicast
net_namespace_list
net_selftest
@@ -1203,10 +1161,6 @@
net_selftest_get_strings
nf_register_net_hooks
nf_unregister_net_hooks
__nla_parse
nla_put
nla_put_nohdr
nla_strscpy
__nlmsg_put
no_llseek
nonseekable_open
@@ -1230,6 +1184,7 @@
of_clk_get
of_clk_get_by_name
of_clk_get_from_provider
of_clk_get_parent_count
of_clk_src_onecell_get
of_clk_src_simple_get
of_count_phandle_with_args
@@ -1309,9 +1264,6 @@
oops_in_progress
page_endio
page_mapping
page_pool_alloc_pages
page_pool_create
page_pool_put_page
panic
panic_notifier_list
param_array_ops
@@ -1328,20 +1280,6 @@
param_set_charp
param_set_uint
param_set_ulong
pci_alloc_irq_vectors_affinity
pci_choose_state
pci_free_irq_vectors
pci_irq_vector
pcim_enable_device
pcim_iomap_regions
pcim_iomap_table
pcim_iounmap_regions
__pci_register_driver
pci_restore_state
pci_save_state
pci_set_master
pci_set_power_state
pci_unregister_driver
PDE_DATA
__per_cpu_offset
perf_event_create_kernel_counter
@@ -1413,6 +1351,7 @@
pm_genpd_add_device
pm_genpd_add_subdomain
pm_genpd_init
pm_genpd_remove
pm_genpd_remove_device
__pm_relax
pm_relax
@@ -1462,6 +1401,7 @@
put_pid
__put_task_struct
put_unused_fd
put_vaddr_frames
pwm_apply_state
pwmchip_add
pwmchip_remove
@@ -1516,7 +1456,6 @@
__register_chrdev
register_chrdev_region
register_die_notifier
register_inetaddr_notifier
register_kprobe
register_module_notifier
register_netdev
@@ -1537,9 +1476,11 @@
regmap_field_update_bits_base
__regmap_init
regmap_irq_get_domain
regmap_multi_reg_write
regmap_raw_read
regmap_raw_write
regmap_read
regmap_register_patch
regmap_update_bits_base
regmap_write
regulator_count_voltages
@@ -1575,15 +1516,13 @@
regulator_sync_voltage
release_firmware
release_pages
__release_region
remap_pfn_range
remap_vmalloc_range
remove_proc_entry
remove_proc_subtree
remove_wait_queue
request_firmware
request_firmware_nowait
__request_percpu_irq
__request_region
request_threaded_irq
reset_control_assert
reset_control_deassert
@@ -1614,17 +1553,14 @@
rtc_tm_to_time64
rtc_update_irq
rtc_valid_tm
rtnl_is_locked
rtnl_lock
rtnl_unlock
runqueues
sched_clock
sched_clock_register
sched_feat_keys
sched_setattr
sched_setattr_nocheck
sched_set_fifo
sched_set_fifo_low
sched_set_normal
sched_setscheduler
sched_setscheduler_nocheck
@@ -1671,6 +1607,7 @@
set_capacity_and_notify
set_cpus_allowed_ptr
set_normalized_timespec64
set_page_dirty_lock
__SetPageMovable
set_task_cpu
set_user_nice
@@ -1696,28 +1633,32 @@
simple_read_from_buffer
simple_write_to_buffer
single_open
single_open_size
single_release
skb_add_rx_frag
skb_clone
skb_copy
skb_copy_expand
skb_dequeue
skb_pull
skb_pull_rcsum
skb_push
skb_put
skb_queue_head
skb_queue_purge
skb_queue_tail
skb_realloc_headroom
skb_trim
smp_call_function
smp_call_function_single
snd_card_add_dev_attr
snd_ctl_add
snd_ctl_boolean_mono_info
snd_ctl_new1
snd_jack_set_key
snd_pcm_add_chmap_ctls
snd_pcm_create_iec958_consumer_default
snd_pcm_fill_iec958_consumer
snd_pcm_fill_iec958_consumer_hw_params
snd_pcm_format_physical_width
snd_pcm_format_width
snd_pcm_hw_constraint_eld
snd_pcm_hw_constraint_integer
snd_pcm_hw_constraint_minmax
snd_pcm_hw_constraint_step
@@ -1727,11 +1668,13 @@
snd_pcm_lib_preallocate_pages_for_all
snd_pcm_period_elapsed
snd_pcm_set_ops
snd_soc_add_component
snd_soc_add_component_controls
snd_soc_bytes_info_ext
snd_soc_bytes_tlv_callback
snd_soc_card_jack_new
snd_soc_component_exit_regmap
snd_soc_component_initialize
snd_soc_component_init_regmap
snd_soc_component_read
snd_soc_component_set_jack
@@ -1745,19 +1688,24 @@
snd_soc_dapm_get_pin_switch
snd_soc_dapm_get_volsw
snd_soc_dapm_info_pin_switch
snd_soc_dapm_kcontrol_widget
snd_soc_dapm_new_controls
snd_soc_dapm_new_widgets
snd_soc_dapm_put_enum_double
snd_soc_dapm_put_pin_switch
snd_soc_dapm_put_volsw
snd_soc_dapm_sync
snd_soc_dpcm_get_substream
snd_soc_get_enum_double
snd_soc_get_volsw
snd_soc_info_enum_double
snd_soc_info_volsw
snd_soc_jack_report
snd_soc_new_compress
snd_soc_of_get_dai_link_codecs
snd_soc_of_parse_audio_routing
snd_soc_poweroff
snd_soc_put_enum_double
snd_soc_put_volsw
snd_soc_register_component
snd_soc_resume
@@ -1815,12 +1763,10 @@
strncpy_from_user
strnlen
strnstr
strpbrk
strrchr
strreplace
strscpy
strsep
strspn
strstr
suspend_set_ops
__sw_hweight32
@@ -1833,6 +1779,7 @@
syscon_node_to_regmap
syscon_regmap_lookup_by_compatible
syscon_regmap_lookup_by_phandle
syscon_regmap_lookup_by_phandle_optional
sysfs_create_bin_file
sysfs_create_file_ns
sysfs_create_group
@@ -1940,6 +1887,7 @@
__traceiter_mmap_lock_start_locking
__traceiter_pelt_se_tp
__traceiter_task_newtask
__traceiter_xhci_urb_giveback
__tracepoint_android_rvh_after_enqueue_task
__tracepoint_android_rvh_commit_creds
__tracepoint_android_rvh_cpu_overutilized
@@ -1998,6 +1946,7 @@
tracepoint_probe_register
tracepoint_probe_unregister
__tracepoint_task_newtask
__tracepoint_xhci_urb_giveback
trace_print_array_seq
trace_print_symbols_seq
__trace_puts
@@ -2005,6 +1954,7 @@
trace_seq_printf
trace_seq_putc
tracing_off
try_module_get
try_wait_for_completion
tty_flip_buffer_push
tty_insert_flip_string_fixed_flag
@@ -2067,7 +2017,6 @@
__unregister_chrdev
unregister_chrdev_region
unregister_die_notifier
unregister_inetaddr_notifier
unregister_module_notifier
unregister_netdev
unregister_netdevice_notifier
@@ -2251,6 +2200,9 @@
v4l_bound_align_image
vabits_actual
vb2_buffer_done
vb2_common_vm_ops
vb2_create_framevec
vb2_destroy_framevec
vb2_dma_contig_memops
vb2_fop_mmap
vb2_fop_poll
@@ -2298,7 +2250,9 @@
vmalloc_user
vmap
vm_event_states
vm_map_ram
vm_node_stat
vm_unmap_ram
vm_zone_stat
vring_del_virtqueue
vring_interrupt
@@ -2326,12 +2280,6 @@
__warn_printk
watchdog_init_timeout
watchdog_set_restart_priority
wiphy_apply_custom_regulatory
wiphy_free
wiphy_new_nm
wiphy_register
wiphy_unregister
wireless_send_event
woken_wake_function
work_busy
work_on_cpu
@@ -2346,14 +2294,49 @@
xhci_reset_bandwidth
# preserved by --additions-only
alloc_netdev_mqs
all_vm_events
__arch_clear_user
__bitmap_equal
__bitmap_or
build_skb
cache_line_size
__cfg80211_alloc_event_skb
__cfg80211_alloc_reply_skb
cfg80211_chandef_create
cfg80211_ch_switch_notify
cfg80211_classify8021d
cfg80211_connect_done
cfg80211_del_sta_sinfo
cfg80211_disconnected
cfg80211_external_auth_request
cfg80211_find_elem_match
cfg80211_ft_event
cfg80211_get_bss
cfg80211_inform_bss_data
cfg80211_inform_bss_frame_data
cfg80211_mgmt_tx_status
cfg80211_michael_mic_failure
cfg80211_new_sta
cfg80211_pmksa_candidate_notify
cfg80211_put_bss
cfg80211_ready_on_channel
cfg80211_register_netdevice
cfg80211_remain_on_channel_expired
cfg80211_roamed
cfg80211_rx_mgmt_khz
cfg80211_scan_done
cfg80211_sched_scan_results
cfg80211_sched_scan_stopped
__cfg80211_send_event_skb
cfg80211_tdls_oper_request
cfg80211_unlink_bss
cfg80211_unregister_wdev
cfg80211_vendor_cmd_reply
clear_page
cpu_pm_register_notifier
cpu_pm_unregister_notifier
dev_change_flags
devfreq_add_device
devfreq_cooling_unregister
devfreq_register_opp_notifier
@@ -2365,27 +2348,79 @@
dma_buf_mmap
dma_fence_get_status
dma_fence_remove_callback
dma_sync_single_for_device
do_trace_netlink_extack
downgrade_write
ether_setup
gcd
genlmsg_put
genl_register_family
genl_unregister_family
get_user_pages
get_user_pages_fast
gpio_request_one
hci_alloc_dev_priv
hci_free_dev
hci_recv_frame
hci_register_dev
hci_unregister_dev
hex_dump_to_buffer
ieee80211_channel_to_freq_khz
ieee80211_get_channel_khz
ieee80211_operating_class_to_band
iomem_resource
irq_work_run
jiffies_64_to_clock_t
kstrtobool_from_user
kthread_cancel_delayed_work_sync
kthread_delayed_work_timer_fn
kthread_queue_delayed_work
__mmdrop
module_put
napi_complete_done
__napi_schedule_irqoff
netif_device_attach
netif_device_detach
netif_tx_stop_all_queues
netlink_broadcast
netlink_kernel_release
__nla_parse
nla_put
nla_put_nohdr
nla_strscpy
n_tty_ioctl_helper
of_devfreq_cooling_register_power
of_dma_is_coherent
of_root
page_pool_alloc_pages
page_pool_create
page_pool_put_page
param_ops_byte
param_ops_string
pci_alloc_irq_vectors_affinity
pci_choose_state
pci_free_irq_vectors
pci_irq_vector
pcim_enable_device
pcim_iomap_regions
pcim_iomap_table
pcim_iounmap_regions
__pci_register_driver
pci_restore_state
pci_save_state
pci_set_master
pci_set_power_state
pci_unregister_driver
pin_user_pages_remote
_raw_spin_trylock_bh
rb_prev
rb_replace_node
remap_vmalloc_range
register_inetaddr_notifier
__release_region
request_firmware_nowait
__request_region
rtnl_is_locked
sched_setattr
sched_set_fifo_low
sdio_claim_host
sdio_claim_irq
sdio_disable_func
@@ -2405,10 +2440,15 @@
sdio_writeb
sdio_writel
sdio_writesb
set_page_dirty_lock
shmem_file_setup
si_meminfo
skb_copy
skb_pull_rcsum
skb_queue_head
skb_queue_purge
sprint_symbol_no_offset
strpbrk
strspn
system_long_wq
thermal_zone_device_update
__traceiter_android_vh_show_resume_epoch_val
@@ -2421,13 +2461,19 @@
__tracepoint_cpu_frequency
__tracepoint_gpu_mem_total
trace_print_flags_seq
try_module_get
tty_driver_flush_buffer
tty_register_ldisc
tty_unregister_ldisc
unmap_mapping_range
unregister_inetaddr_notifier
vmf_insert_pfn_prot
wait_for_completion_killable_timeout
wiphy_apply_custom_regulatory
wiphy_free
wiphy_new_nm
wiphy_register
wiphy_unregister
wireless_send_event
zlib_deflate
zlib_deflateEnd
zlib_deflateInit2

View File

@@ -330,6 +330,7 @@
devm_kstrdup
devm_led_classdev_register_ext
devm_mbox_controller_register
devm_nvmem_device_get
devm_of_phy_get_by_index
__devm_of_phy_provider_register
devm_pci_alloc_host_bridge
@@ -377,6 +378,7 @@
dev_valid_name
_dev_warn
disable_irq
disable_irq_nosync
disk_end_io_acct
disk_start_io_acct
dma_alloc_attrs
@@ -537,6 +539,7 @@
drm_plane_create_zpos_property
drm_poll
drm_prime_gem_destroy
drm_property_blob_put
drm_property_create
drm_property_create_blob
drm_property_create_enum
@@ -646,6 +649,7 @@
gpiod_get_value_cansleep
gpiod_is_active_low
gpiod_set_consumer_name
gpiod_set_debounce
gpiod_set_value
gpiod_set_value_cansleep
gpiod_to_irq
@@ -655,6 +659,11 @@
handle_edge_irq
handle_simple_irq
handle_sysrq
hci_alloc_dev_priv
hci_free_dev
hci_recv_frame
hci_register_dev
hci_unregister_dev
hex_dump_to_buffer
hrtimer_active
hrtimer_cancel
@@ -769,12 +778,14 @@
irq_set_chained_handler_and_data
irq_set_chip_and_handler_name
irq_set_chip_data
irq_set_irq_type
irq_to_desc
is_bad_inode
is_vmalloc_addr
jiffies64_to_nsecs
jiffies
jiffies_to_msecs
jiffies_to_usecs
kasan_flag_enabled
kasprintf
kernel_kobj
@@ -870,6 +881,7 @@
media_devnode_remove
media_entity_find_link
media_entity_pads_init
media_entity_remote_pad
media_get_pad_index
memchr
memcmp
@@ -901,6 +913,7 @@
mmc_request_done
mmc_wait_for_req
__mmdrop
mod_delayed_work_on
mod_node_page_state
mod_timer
__module_get
@@ -949,6 +962,7 @@
nr_cpu_ids
ns_to_timespec64
__num_online_cpus
nvmem_device_read
of_address_to_resource
of_clk_add_provider
of_clk_get
@@ -1062,6 +1076,7 @@
phy_power_on
phy_set_mode_ext
pid_task
pid_vnr
pinconf_generic_dump_config
pinctrl_count_index_with_args
pinctrl_dev_get_drvdata
@@ -1088,6 +1103,7 @@
platform_bus_type
platform_device_add
platform_device_alloc
platform_device_del
platform_device_put
platform_device_register
platform_device_register_full
@@ -1110,6 +1126,7 @@
__pm_runtime_set_status
__pm_runtime_suspend
__pm_stay_awake
pm_wakeup_ws_event
pm_wq
power_supply_changed
power_supply_register
@@ -1231,11 +1248,13 @@
rpmsg_release_channel
rpmsg_send
rpmsg_sendto
rpmsg_trysend
rpmsg_unregister_device
rproc_add
rproc_add_carveout
rproc_alloc
rproc_boot
rproc_da_to_va
rproc_del
rproc_free
rproc_get_by_child
@@ -1276,6 +1295,7 @@
seq_write
serial8250_do_pm
serial8250_do_set_termios
serial8250_get_port
serial8250_modem_status
serial8250_register_8250_port
serial8250_resume_port
@@ -1311,6 +1331,8 @@
single_open
single_release
sk_alloc
skb_copy
skb_copy_bits
skb_dequeue
skb_dequeue_tail
skb_pull
@@ -1323,6 +1345,7 @@
skb_realloc_headroom
skb_trim
sk_free
skip_spaces
smp_call_function
snd_card_free
snd_card_new
@@ -1338,6 +1361,7 @@
snd_ecards_limit
snd_info_get_line
snd_interval_refine
snd_jack_set_key
snd_pcm_format_physical_width
snd_pcm_format_set_silence
snd_pcm_hw_constraint_integer
@@ -1354,8 +1378,10 @@
snd_pcm_stream_unlock_irqrestore
snd_soc_bytes_info_ext
snd_soc_bytes_tlv_callback
snd_soc_card_jack_new
snd_soc_info_enum_double
snd_soc_info_volsw
snd_soc_jack_report
snd_soc_of_parse_audio_routing
snd_soc_pm_ops
snd_soc_set_runtime_hwparams
@@ -1412,6 +1438,7 @@
strnlen
strnstr
strpbrk
strrchr
strscpy
strsep
strspn
@@ -1488,8 +1515,24 @@
trace_raw_output_prep
truncate_inode_pages_final
try_module_get
__tty_alloc_driver
tty_driver_kref_put
tty_flip_buffer_push
tty_insert_flip_string_fixed_flag
tty_port_close
tty_port_hangup
tty_port_init
tty_port_install
tty_port_open
tty_port_put
tty_port_register_device
tty_port_tty_hangup
tty_register_driver
tty_std_termios
tty_termios_baud_rate
tty_termios_encode_baud_rate
tty_unregister_device
tty_unregister_driver
uart_get_baud_rate
uart_get_divisor
__ubsan_handle_cfi_check_fail_abort
@@ -1521,9 +1564,12 @@
up_write
usb_add_gadget_udc
usb_add_hcd
usb_alloc_coherent
usb_alloc_urb
usb_anchor_empty
usb_anchor_urb
usb_autopm_get_interface
usb_autopm_put_interface
usb_bulk_msg
usb_control_msg
usb_create_hcd
@@ -1532,8 +1578,11 @@
usb_del_gadget_udc
usb_deregister
usb_disabled
usb_driver_claim_interface
usb_driver_release_interface
usb_ep_set_halt
usb_ep_set_maxpacket_limit
usb_free_coherent
usb_free_urb
usb_gadget_giveback_request
usb_gadget_map_request
@@ -1543,6 +1592,7 @@
usb_get_dr_mode
usb_hcd_is_primary_hcd
usb_hcd_poll_rh_status
usb_ifnum_to_if
usb_interrupt_msg
usb_kill_anchored_urbs
usb_kill_urb
@@ -1554,6 +1604,7 @@
usb_role_switch_get_drvdata
usb_role_switch_register
usb_role_switch_unregister
usb_set_interface
usb_speed_string
usb_string
usb_submit_urb
@@ -1638,6 +1689,7 @@
vb2_create_framevec
vb2_destroy_framevec
vb2_dma_contig_memops
vb2_dma_sg_memops
vb2_mmap
vb2_ops_wait_finish
vb2_ops_wait_prepare

View File

@@ -26,6 +26,8 @@
__arch_copy_from_user
__arch_copy_to_user
arch_timer_read_counter
argv_free
argv_split
arm64_const_caps_ready
arm64_use_ng_mappings
__arm_smccc_smc
@@ -36,10 +38,12 @@
atomic_notifier_chain_unregister
autoremove_wake_function
available_idle_cpu
backlight_device_set_brightness
balance_push_callback
bcmp
bin2hex
__bitmap_clear
__bitmap_equal
bitmap_from_arr32
bitmap_parse
bitmap_parselist
@@ -66,6 +70,7 @@
bpf_trace_run6
bpf_trace_run7
bpf_trace_run8
bpf_trace_run9
build_skb
bus_find_device
bus_for_each_dev
@@ -162,6 +167,7 @@
component_unbind_all
config_ep_by_speed
config_group_init_type_name
console_set_on_cmdline
console_suspend_enabled
console_trylock
console_unlock
@@ -264,6 +270,7 @@
dev_driver_string
_dev_emerg
_dev_err
dev_err_probe
devfreq_add_device
devfreq_add_governor
devfreq_monitor_resume
@@ -387,6 +394,7 @@
dev_pm_opp_set_regulators
dev_pm_qos_read_value
dev_pm_qos_update_request
_dev_printk
dev_printk_emit
dev_queue_xmit
devres_add
@@ -430,6 +438,7 @@
dma_fence_remove_callback
dma_fence_signal
dma_fence_signal_locked
dma_fence_wait_timeout
dma_free_attrs
dma_get_slave_caps
dma_get_slave_channel
@@ -464,6 +473,7 @@
downgrade_write
down_interruptible
down_read
down_read_trylock
down_trylock
down_write
drain_workqueue
@@ -619,10 +629,12 @@
drm_plane_create_alpha_property
drm_plane_create_blend_mode_property
drm_plane_create_rotation_property
drm_plane_create_zpos_immutable_property
drm_plane_create_zpos_property
drm_poll
drm_prime_gem_destroy
drm_printf
__drm_printfn_debug
__drm_printfn_info
__drm_printfn_seq_file
drm_property_blob_get
@@ -633,6 +645,7 @@
drm_property_create_bool
drm_property_create_enum
drm_property_create_range
drm_property_create_signed_range
drm_property_lookup_blob
drm_property_replace_blob
__drm_puts_seq_file
@@ -658,6 +671,7 @@
dw_pcie_write
__dynamic_dev_dbg
__dynamic_pr_debug
em_cpu_get
emergency_restart
enable_irq
enable_percpu_irq
@@ -683,6 +697,7 @@
_find_first_zero_bit
find_get_pid
_find_next_bit
find_pid_ns
find_task_by_vpid
__find_vma
finish_wait
@@ -832,6 +847,7 @@
inc_zone_page_state
init_dummy_netdev
init_net
init_pid_ns
init_pseudo
__init_rwsem
__init_swait_queue_head
@@ -934,6 +950,7 @@
__kfifo_in
__kfifo_init
__kfifo_out
__kfifo_out_peek
kfree
kfree_sensitive
kfree_skb
@@ -972,6 +989,7 @@
kstrtos8
kstrtou16
kstrtou8
kstrtou8_from_user
kstrtouint
kstrtouint_from_user
kstrtoull
@@ -998,6 +1016,7 @@
ktime_get_raw_ts64
ktime_get_real_seconds
ktime_get_real_ts64
ktime_get_snapshot
ktime_get_ts64
ktime_get_with_offset
kvfree
@@ -1027,6 +1046,7 @@
memdup_user
memdup_user_nul
memmove
memparse
memremap
mem_section
memset
@@ -1113,13 +1133,16 @@
of_clk_src_onecell_get
of_count_phandle_with_args
of_cpu_node_to_id
of_devfreq_cooling_register_power
of_device_get_match_data
of_device_is_available
of_device_is_compatible
of_dma_controller_free
of_dma_controller_register
of_dma_is_coherent
of_drm_find_bridge
of_drm_find_panel
of_find_backlight_by_node
of_find_compatible_node
of_find_device_by_node
of_find_i2c_adapter_by_node
@@ -1222,6 +1245,7 @@
PDE_DATA
__per_cpu_offset
perf_event_create_kernel_counter
perf_event_disable
perf_event_enable
perf_event_pause
perf_event_read_local
@@ -1252,6 +1276,11 @@
pin_user_pages_fast
pin_user_pages_remote
pktgen_xfrm_outer_mode_output
pkvm_iommu_finalize
pkvm_iommu_resume
pkvm_iommu_s2mpu_register
pkvm_iommu_suspend
pkvm_iommu_sysmmu_sync_register
platform_bus_type
platform_device_add
platform_device_add_data
@@ -1304,6 +1333,9 @@
power_supply_set_property
power_supply_unregister
power_supply_unreg_notifier
pps_event
pps_register_source
pps_unregister_source
prandom_u32
preempt_schedule
preempt_schedule_notrace
@@ -1428,6 +1460,8 @@
regulator_set_voltage_sel_regmap
regulator_unregister
regulatory_hint
regulatory_set_wiphy_regd
regulatory_set_wiphy_regd_sync
release_firmware
__release_region
remap_pfn_range
@@ -1521,6 +1555,7 @@
sg_next
__sg_page_iter_next
__sg_page_iter_start
shmem_file_setup
simple_attr_open
simple_attr_read
simple_attr_release
@@ -1548,6 +1583,7 @@
skb_queue_tail
skb_realloc_headroom
skb_trim
skip_spaces
smp_call_function
smp_call_function_single
smp_call_on_cpu
@@ -1630,6 +1666,7 @@
spi_sync
spi_sync_locked
spi_unregister_controller
split_page
sprintf
sprint_symbol
srcu_init_notifier_head
@@ -1696,13 +1733,16 @@
sysrq_mask
system_freezing_cnt
system_highpri_wq
system_long_wq
system_state
system_unbound_wq
system_wq
sys_tz
task_active_pid_ns
tasklet_init
tasklet_kill
__tasklet_schedule
tasklet_unlock_wait
task_may_not_preempt
__task_pid_nr_ns
task_rq_lock
@@ -1727,6 +1767,7 @@
thermal_zone_device_register
thermal_zone_device_unregister
thermal_zone_device_update
thermal_zone_get_temp
thermal_zone_of_sensor_register
thermal_zone_of_sensor_unregister
thread_group_cputime_adjusted
@@ -1761,7 +1802,9 @@
__traceiter_android_vh_cpu_idle_enter
__traceiter_android_vh_cpu_idle_exit
__traceiter_android_vh_ipi_stop
__traceiter_android_vh_scheduler_tick
__traceiter_android_vh_setscheduler_uclamp
__traceiter_android_vh_sysrq_crash
__traceiter_android_vh_ufs_check_int_errors
__traceiter_android_vh_ufs_compl_command
__traceiter_android_vh_ufs_fill_prdt
@@ -1806,7 +1849,9 @@
__tracepoint_android_vh_cpu_idle_enter
__tracepoint_android_vh_cpu_idle_exit
__tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_setscheduler_uclamp
__tracepoint_android_vh_sysrq_crash
__tracepoint_android_vh_ufs_check_int_errors
__tracepoint_android_vh_ufs_compl_command
__tracepoint_android_vh_ufs_fill_prdt
@@ -1962,6 +2007,9 @@
v4l2_m2m_release
vabits_actual
vb2_buffer_done
vb2_common_vm_ops
vb2_create_framevec
vb2_destroy_framevec
vb2_dma_sg_memops
vb2_dqbuf
vb2_fop_mmap
@@ -2008,9 +2056,13 @@
virtqueue_kick_prepare
virtqueue_notify
vmalloc
vmalloc_to_page
vmalloc_user
vmap
vmf_insert_pfn_prot
vm_map_pages
vm_map_ram
vm_unmap_ram
vprintk
vring_del_virtqueue
vring_interrupt
@@ -2020,6 +2072,7 @@
vzalloc
vzalloc_node
wait_for_completion
wait_for_completion_interruptible
wait_for_completion_interruptible_timeout
wait_for_completion_timeout
wait_woken
@@ -2052,23 +2105,3 @@
xhci_resume
xhci_run
xhci_suspend
# preserved by --additions-only
__bitmap_equal
down_read_trylock
of_devfreq_cooling_register_power
pkvm_iommu_finalize
pkvm_iommu_resume
pkvm_iommu_s2mpu_register
pkvm_iommu_suspend
pkvm_iommu_sysmmu_sync_register
shmem_file_setup
split_page
system_long_wq
thermal_zone_get_temp
vb2_common_vm_ops
vb2_create_framevec
vb2_destroy_framevec
vm_map_pages
vm_map_ram
vm_unmap_ram

View File

@@ -804,6 +804,7 @@
icc_put
icc_set_bw
icc_set_tag
icc_sync_state
ida_alloc_range
ida_free
idr_alloc
@@ -1782,6 +1783,7 @@
snd_soc_info_multi_ext
snd_soc_lookup_component
snd_soc_rtdcom_lookup
snd_timer_interrupt
snd_usb_autoresume
snd_usb_autosuspend
snd_usb_endpoint_close
@@ -2119,6 +2121,8 @@
usb_bus_idr
usb_bus_idr_lock
usb_composite_setup_continue
usb_control_msg_recv
usb_control_msg_send
usb_debug_root
usb_decode_ctrl
usb_ep_alloc_request
@@ -2155,10 +2159,14 @@
uuid_parse
v4l2_compat_ioctl32
v4l2_ctrl_find
v4l2_ctrl_get_name
__v4l2_ctrl_modify_range
__v4l2_ctrl_s_ctrl
__v4l2_device_register_subdev_nodes
v4l2_event_dequeue
v4l2_event_pending
v4l2_fh_release
v4l2_s_ctrl
v4l2_subdev_call_wrappers
vabits_actual
vb2_create_bufs

View File

@@ -1,10 +1,12 @@
[abi_symbol_list]
# commonly used symbols
access_process_vm
add_timer
add_uevent_var
add_wait_queue
add_to_page_cache_lru
addrconf_prefix_rcv_add_addr
activate_task
aes_encrypt
aes_expandkey
alloc_anon_inode
@@ -12,6 +14,7 @@
alloc_io_pgtable_ops
alloc_netdev_mqs
alloc_pages_exact
android_debug_symbol
android_rvh_probe_register
__alloc_pages
__alloc_percpu
@@ -19,6 +22,7 @@
alloc_workqueue
__arch_copy_from_user
__arch_copy_to_user
arch_freq_scale
arch_timer_read_counter
arm64_const_caps_ready
arm64_use_ng_mappings
@@ -26,6 +30,8 @@
atomic_notifier_call_chain
atomic_notifier_chain_register
atomic_notifier_chain_unregister
available_idle_cpu
balance_push_callback
bio_add_page
bio_alloc_bioset
bio_associate_blkg
@@ -73,6 +79,7 @@
cdev_init
__cfi_slowpath_diag
__check_object_size
check_preempt_curr
__class_create
class_destroy
class_find_device
@@ -105,6 +112,7 @@
config_group_init_type_name
contig_page_data
console_lock
console_printk
console_unlock
__const_udelay
cpu_have_feature
@@ -113,14 +121,19 @@
cpu_hwcap_keys
cpu_hwcaps
cpumask_next
cpumask_next_and
cpufreq_add_update_util_hook
cpufreq_cpu_get
cpufreq_cpu_put
cpufreq_quick_get_max
cpufreq_remove_update_util_hook
cpupri_find_fitness
cpu_number
cpu_scale
__cpu_active_mask
__cpu_online_mask
__cpu_possible_mask
__cpu_present_mask
crypto_alloc_base
crypto_ahash_digest
crypto_ahash_setkey
@@ -143,6 +156,7 @@
__dynamic_netdev_dbg
d_make_root
d_splice_alias
deactivate_task
debugfs_create_bool
debugfs_create_dir
debugfs_create_file
@@ -251,6 +265,7 @@
dma_sync_single_for_cpu
dma_sync_single_for_device
dma_unmap_sg_attrs
double_rq_lock
down
dput
driver_register
@@ -258,6 +273,8 @@
drmm_mode_config_init
__drm_dbg
__drm_err
__drm_atomic_helper_crtc_destroy_state
__drm_atomic_helper_crtc_duplicate_state
drm_atomic_helper_plane_destroy_state
drm_atomic_helper_plane_duplicate_state
drm_atomic_helper_plane_reset
@@ -311,6 +328,8 @@
extcon_get_edev_by_phandle
extcon_get_state
fb_mode_option
find_get_pid
find_task_by_vpid
_find_first_bit
_find_next_bit
__find_get_block
@@ -332,6 +351,8 @@
fwnode_property_present
fwnode_property_read_string
gen_pool_avail
gen_pool_best_fit
gen_pool_set_algo
gen_pool_fixed_alloc
generic_file_llseek
generic_handle_domain_irq
@@ -349,7 +370,9 @@
get_cpu_device
__get_free_pages
get_governor_parent_kobj
get_pid_task
get_random_bytes
get_zeroed_page
gic_nonsecure_priorities
gov_attr_set_get
gov_attr_set_init
@@ -403,17 +426,25 @@
init_wait_entry
init_pseudo
init_special_inode
init_task
init_uts_ns
__init_waitqueue_head
inc_zone_page_state
inode_init_once
inode_nohighmem
input_alloc_absinfo
input_allocate_device
input_close_device
input_event
input_free_device
input_mt_get_slot_by_key
input_mt_sync_frame
input_open_device
input_register_device
input_register_handle
input_register_handler
input_unregister_handle
input_unregister_handler
iommu_alloc_resv_region
iommu_attach_device
iommu_detach_device
@@ -444,6 +475,7 @@
iommu_set_fault_handler
iommu_unmap
__ioremap
ioremap_cache
iounmap
iput
ip6_find_1stfragopt
@@ -498,6 +530,7 @@
kmemdup
kobject_create_and_add
kobject_uevent_env
ksoftirqd
kstrndup
kstrtou16
kstrtobool
@@ -537,6 +570,7 @@
mii_ethtool_gset
mii_nway_restart
mii_link_ok
migrate_swap
misc_deregister
misc_register
mod_node_page_state
@@ -552,6 +586,7 @@
nd_tbl
neigh_destroy
__netdev_alloc_skb
__netif_napi_del
__num_online_cpus
netif_carrier_off
netif_carrier_on
@@ -564,11 +599,13 @@
nf_ct_l4proto_find
nf_register_net_hooks
nf_unregister_net_hooks
node_states
noop_llseek
nr_cpu_ids
nvmem_cell_get
nvmem_cell_put
nvmem_cell_read
__of_get_address
of_address_to_resource
of_alias_get_id
of_clk_get
@@ -623,6 +660,7 @@
__per_cpu_offset
perf_trace_buf_alloc
perf_trace_run_bpf_submit
pfn_is_map_memory
phy_connect
phy_disconnect
phy_ethtool_get_link_ksettings
@@ -687,14 +725,19 @@
preempt_schedule_notrace
prepare_to_wait_event
_printk
_printk_deferred
proc_create
proc_create_data
proc_create_seq_private
proc_dostring
proc_dointvec_minmax
proc_create_single_data
proc_mkdir
__pskb_copy_fclone
pskb_expand_head
put_device
put_pages_list
put_pid
queue_delayed_work_on
queue_work_on
___ratelimit
@@ -717,6 +760,8 @@
radix_tree_gang_lookup
radix_tree_insert
radix_tree_lookup
raw_spin_rq_lock_nested
raw_spin_rq_unlock
rc_map_unregister
rc_repeat
rc_keydown
@@ -728,9 +773,11 @@
read_cache_page
read_cache_page_gfp
__register_blkdev
register_die_notifier
register_filesystem
register_pernet_subsys
register_pm_notifier
register_sysctl_table
regmap_exit
regmap_read
regmap_update_bits_base
@@ -761,14 +808,18 @@
rfkill_init_sw_state
rfkill_register
rfkill_unregister
runqueues
__SetPageMovable
sched_clock
sched_set_fifo_low
sched_setscheduler
sched_uclamp_used
schedule
schedule_timeout
schedule_timeout_interruptible
scnprintf
seq_buf_printf
send_sig_info
seq_lseek
seq_printf
seq_putc
@@ -815,6 +866,7 @@
skcipher_walk_virt
sk_free
softnet_data
smp_call_function
snd_info_create_card_entry
snd_info_free_entry
snd_info_get_line
@@ -840,7 +892,12 @@
spi_setup
sprintf
sscanf
static_key_disable
__stack_chk_fail
stop_machine
stop_one_cpu
stop_one_cpu_nowait
stack_trace_save_tsk
strcasecmp
strcat
strchr
@@ -860,9 +917,12 @@
__sw_hweight64
submit_bio
sync_filesystem
synchronize_net
synchronize_irq
syscon_regmap_lookup_by_phandle
syscon_regmap_lookup_by_phandle_args
sysctl_sched_features
sysctl_vals
sysfs_create_bin_file
sysfs_create_file_ns
sysfs_create_group
@@ -883,11 +943,17 @@
sys_tz
tasklet_init
tasklet_kill
tasklist_lock
task_may_not_preempt
__tasklet_schedule
thermal_pressure
thermal_zone_device_disable
thermal_zone_device_enable
thermal_zone_get_zone_by_name
timer_of_init
topology_clear_scale_freq_source
topology_set_thermal_pressure
topology_update_done
trace_define_field
trace_event_buffer_commit
trace_event_buffer_reserve
@@ -923,6 +989,7 @@
__ubsan_handle_cfi_check_fail_abort
__udelay
__unregister_chrdev
uclamp_eff_value
unlock_new_inode
unlock_page
unregister_blkdev
@@ -930,6 +997,7 @@
unregister_chrdev_region
unregister_pernet_subsys
up
update_rq_clock
usb_add_gadget_udc
usb_alloc_coherent
usb_alloc_urb
@@ -1003,6 +1071,7 @@
vm_unmap_ram
vm_iomap_memory
vsnprintf
vscnprintf
vunmap
wait_for_completion
wait_for_completion_interruptible
@@ -1042,6 +1111,138 @@
xt_unregister_matches
xt_unregister_target
xt_unregister_targets
__traceiter_android_rvh_account_irq
__traceiter_android_rvh_after_dequeue_task
__traceiter_android_rvh_after_enqueue_task
__traceiter_android_rvh_build_perf_domains
__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_cpu_cgroup_online
__traceiter_android_rvh_cpu_overutilized
__traceiter_android_rvh_dequeue_task
__traceiter_android_rvh_effective_cpu_util
__traceiter_android_rvh_enqueue_task
__traceiter_android_rvh_find_busiest_group
__traceiter_android_rvh_find_busiest_queue
__traceiter_android_rvh_find_energy_efficient_cpu
__traceiter_android_rvh_find_lowest_rq
__traceiter_android_rvh_find_new_ilb
__traceiter_android_rvh_finish_prio_fork
__traceiter_android_rvh_migrate_queued_task
__traceiter_android_rvh_new_task_stats
__traceiter_android_rvh_prepare_prio_fork
__traceiter_android_rvh_rtmutex_prepare_setprio
__traceiter_android_rvh_sched_cpu_dying
__traceiter_android_rvh_sched_cpu_starting
__traceiter_android_rvh_sched_exec
__traceiter_android_rvh_sched_fork_init
__traceiter_android_rvh_sched_newidle_balance
__traceiter_android_rvh_sched_nohz_balancer_kick
__traceiter_android_rvh_schedule
__traceiter_android_rvh_select_fallback_rq
__traceiter_android_rvh_select_task_rq_dl
__traceiter_android_rvh_select_task_rq_fair
__traceiter_android_rvh_select_task_rq_rt
__traceiter_android_rvh_setscheduler
__traceiter_android_rvh_set_task_cpu
__traceiter_android_rvh_set_user_nice
__traceiter_android_rvh_tick_entry
__traceiter_android_rvh_try_to_wake_up
__traceiter_android_rvh_try_to_wake_up_success
__traceiter_android_rvh_update_cpu_capacity
__traceiter_android_rvh_update_misfit_status
__traceiter_android_rvh_wake_up_new_task
__traceiter_android_vh_arch_set_freq_scale
__traceiter_android_vh_binder_restore_priority
__traceiter_android_vh_binder_set_priority
__traceiter_android_vh_binder_transaction_init
__traceiter_android_vh_cpufreq_resolve_freq
__traceiter_android_vh_cpufreq_fast_switch
__traceiter_android_vh_cpufreq_target
__traceiter_android_vh_dump_throttled_rt_tasks
__traceiter_android_vh_enable_thermal_power_throttle
__traceiter_android_vh_get_thermal_zone_device
__traceiter_android_vh_ipi_stop
__traceiter_android_vh_mmc_check_status
__traceiter_android_vh_modify_thermal_request_freq
__traceiter_android_vh_modify_thermal_target_freq
__traceiter_android_vh_psci_cpu_suspend
__traceiter_android_vh_psci_tos_resident_on
__traceiter_android_vh_scheduler_tick
__traceiter_android_vh_set_wake_flags
__traceiter_android_vh_thermal_power_cap
__traceiter_android_vh_thermal_register
__traceiter_android_vh_thermal_unregister
__traceiter_android_vh_update_topology_flags_workfn
__traceiter_pelt_se_tp
__tracepoint_android_rvh_account_irq
__tracepoint_android_rvh_after_dequeue_task
__tracepoint_android_rvh_after_enqueue_task
__tracepoint_android_rvh_build_perf_domains
__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_cpu_cgroup_online
__tracepoint_android_rvh_cpu_overutilized
__tracepoint_android_rvh_dequeue_task
__tracepoint_android_rvh_effective_cpu_util
__tracepoint_android_rvh_enqueue_task
__tracepoint_android_rvh_find_busiest_group
__tracepoint_android_rvh_find_busiest_queue
__tracepoint_android_rvh_find_energy_efficient_cpu
__tracepoint_android_rvh_find_lowest_rq
__tracepoint_android_rvh_find_new_ilb
__tracepoint_android_rvh_finish_prio_fork
__tracepoint_android_rvh_migrate_queued_task
__tracepoint_android_rvh_new_task_stats
__tracepoint_android_rvh_prepare_prio_fork
__tracepoint_android_rvh_rtmutex_prepare_setprio
__tracepoint_android_rvh_sched_cpu_dying
__tracepoint_android_rvh_sched_cpu_starting
__tracepoint_android_rvh_sched_exec
__tracepoint_android_rvh_sched_fork_init
__tracepoint_android_rvh_sched_newidle_balance
__tracepoint_android_rvh_sched_nohz_balancer_kick
__tracepoint_android_rvh_schedule
__tracepoint_android_rvh_select_fallback_rq
__tracepoint_android_rvh_select_task_rq_dl
__tracepoint_android_rvh_select_task_rq_fair
__tracepoint_android_rvh_select_task_rq_rt
__tracepoint_android_rvh_setscheduler
__tracepoint_android_rvh_set_task_cpu
__tracepoint_android_rvh_set_user_nice
__tracepoint_android_rvh_tick_entry
__tracepoint_android_rvh_try_to_wake_up
__tracepoint_android_rvh_try_to_wake_up_success
__tracepoint_android_rvh_update_cpu_capacity
__tracepoint_android_rvh_update_misfit_status
__tracepoint_android_rvh_wake_up_new_task
__tracepoint_android_vh_arch_set_freq_scale
__tracepoint_android_vh_binder_restore_priority
__tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_binder_transaction_init
__tracepoint_android_vh_cpufreq_resolve_freq
__tracepoint_android_vh_cpufreq_fast_switch
__tracepoint_android_vh_cpufreq_target
__tracepoint_android_vh_dump_throttled_rt_tasks
__tracepoint_android_vh_enable_thermal_power_throttle
__tracepoint_android_vh_get_thermal_zone_device
__tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_mmc_check_status
__tracepoint_android_vh_modify_thermal_request_freq
__tracepoint_android_vh_modify_thermal_target_freq
__tracepoint_android_vh_psci_cpu_suspend
__tracepoint_android_vh_psci_tos_resident_on
__tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_set_wake_flags
__tracepoint_android_vh_thermal_power_cap
__tracepoint_android_vh_thermal_register
__tracepoint_android_vh_thermal_unregister
__tracepoint_android_vh_update_topology_flags_workfn
__tracepoint_pelt_se_tp
# required by blk-mq-virtio.ko
blk_mq_map_queues
@@ -1303,20 +1504,29 @@
seq_release_private
seq_write
set_page_dirty_lock
sg_copy_from_buffer
sg_copy_to_buffer
strcspn
system_highpri_wq
tracepoint_probe_register
tracepoint_probe_unregister
__traceiter_android_vh_ipi_stop
__traceiter_android_vh_printk_caller
__traceiter_android_vh_printk_caller_id
__traceiter_android_vh_printk_ext_header
__traceiter_android_rvh_report_bug
__tracepoint_android_vh_dma_buf_release
__tracepoint_android_vh_get_thermal_zone_device
__tracepoint_android_vh_psci_tos_resident_on
__tracepoint_android_vh_psci_cpu_suspend
__tracepoint_android_vh_regmap_update
__tracepoint_android_vh_thermal_register
__tracepoint_android_vh_thermal_unregister
__tracepoint_android_vh_usb_new_device_added
__traceiter_android_rvh_tk_based_time_sync
__traceiter_android_rvh_report_bug
__tracepoint_android_rvh_effective_cpu_util
__tracepoint_android_vh_printk_ext_header
__tracepoint_android_vh_printk_caller
__tracepoint_android_vh_printk_caller_id
__tracepoint_android_vh_ipi_stop
__tracepoint_android_rvh_report_bug
__tracepoint_clock_set_rate
__tracepoint_android_rvh_tk_based_time_sync
@@ -1518,6 +1728,7 @@
trace_set_clr_event
unmap_mapping_range
unregister_shrinker
unregister_sysctl_table
up_read
up_write
__usecs_to_jiffies
@@ -1651,6 +1862,7 @@
# required by seth.ko
napi_complete_done
napi_disable
napi_enable
__napi_schedule
napi_schedule_prep
netif_napi_add
@@ -2751,4 +2963,3 @@
usb_role_switch_get
usb_role_switch_put
usb_role_switch_set_role

View File

@@ -54,6 +54,7 @@ config ARM
select GENERIC_ATOMIC64 if CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
select GENERIC_IRQ_IPI if SMP
select ARCH_WANTS_IRQ_RAW if GENERIC_IRQ_IPI
select GENERIC_CPU_AUTOPROBE
select GENERIC_EARLY_IOREMAP
select GENERIC_IDLE_POLL_SETUP

View File

@@ -736,7 +736,12 @@ void __init set_smp_ipi_range(int ipi_base, int n)
WARN_ON(err);
ipi_desc[i] = irq_to_desc(ipi_base + i);
irq_set_status_flags(ipi_base + i, IRQ_HIDDEN);
if (i != IPI_RESCHEDULE)
irq_set_status_flags(ipi_base + i, IRQ_HIDDEN);
else
/* The recheduling IPI is special... */
irq_set_status_flags(ipi_base + i, IRQ_HIDDEN|IRQ_RAW);
}
ipi_irq_base = ipi_base;

View File

@@ -125,6 +125,7 @@ config ARM64
select GENERIC_FIND_FIRST_BIT
select GENERIC_IDLE_POLL_SETUP
select GENERIC_IRQ_IPI
select ARCH_WANTS_IRQ_RAW
select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW
select GENERIC_IRQ_SHOW_LEVEL

View File

@@ -1,7 +1,5 @@
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_BITFIELD_KUNIT is not set
# CONFIG_BITS_TEST is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
# CONFIG_CMA_DEBUG is not set
@@ -15,7 +13,7 @@ CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
CONFIG_DEBUG_OBJECTS_FREE=y
# CONFIG_DEBUG_OBJECTS_FREE is not set
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
@@ -32,8 +30,6 @@ CONFIG_GKI_HIDDEN_RCUTORTURE=y
CONFIG_I2C_CHARDEV=y
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_LINEAR_RANGES_TEST is not set
# CONFIG_LIST_KUNIT_TEST is not set
# CONFIG_LKDTM is not set
CONFIG_LOCALVERSION="-qki-consolidate"
CONFIG_LOCKUP_DETECTOR=y
@@ -50,7 +46,6 @@ CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_SERIAL_QCOM_GENI_CONSOLE_DEFAULT_ENABLED=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_SPI_SPIDEV=y
# CONFIG_SYSCTL_KUNIT_TEST is not set
CONFIG_TASKS_RUDE_RCU=y
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_BITOPS is not set
@@ -62,14 +57,12 @@ CONFIG_TASKS_RUDE_RCU=y
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_STRSCPY is not set

View File

@@ -1000,7 +1000,12 @@ void __init set_smp_ipi_range(int ipi_base, int n)
WARN_ON(err);
ipi_desc[i] = irq_to_desc(ipi_base + i);
irq_set_status_flags(ipi_base + i, IRQ_HIDDEN);
if (i != IPI_RESCHEDULE)
irq_set_status_flags(ipi_base + i, IRQ_HIDDEN);
else
/* The recheduling IPI is special... */
irq_set_status_flags(ipi_base + i, IRQ_HIDDEN|IRQ_RAW);
}
ipi_irq_base = ipi_base;

View File

@@ -181,6 +181,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_syscall_prctl_finished);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_uic_command);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_tm_command);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_check_int_errors);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_update_sdev);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cgroup_attach);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_iommu_setup_dma_ops);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_iovad_alloc_iova);

View File

@@ -464,22 +464,67 @@ static int fw_decompress_xz(struct device *dev, struct fw_priv *fw_priv,
#endif /* CONFIG_FW_LOADER_COMPRESS */
/* direct firmware loading support */
static char fw_path_para[256];
#define CUSTOM_FW_PATH_COUNT 10
#define PATH_SIZE 255
static char fw_path_para[CUSTOM_FW_PATH_COUNT][PATH_SIZE];
static const char * const fw_path[] = {
fw_path_para,
fw_path_para[0],
fw_path_para[1],
fw_path_para[2],
fw_path_para[3],
fw_path_para[4],
fw_path_para[5],
fw_path_para[6],
fw_path_para[7],
fw_path_para[8],
fw_path_para[9],
"/lib/firmware/updates/" UTS_RELEASE,
"/lib/firmware/updates",
"/lib/firmware/" UTS_RELEASE,
"/lib/firmware"
};
static char strpath[PATH_SIZE * CUSTOM_FW_PATH_COUNT];
static int __init firmware_param_path_set(char *val)
{
int i;
char *path, *end;
strcpy(strpath, val);
/* Remove leading and trailing spaces from path */
path = strim(strpath);
for (i = 0; path && i < CUSTOM_FW_PATH_COUNT; i++) {
end = strchr(path, ',');
/* Skip continuous token case, for example ',,,' */
if (end == path) {
i--;
path = ++end;
continue;
}
if (end != NULL)
*end = '\0';
else {
/* end of the string reached and no other tockens ',' */
strncpy(fw_path_para[i], path, PATH_SIZE);
break;
}
strncpy(fw_path_para[i], path, PATH_SIZE);
path = ++end;
}
return 1;
}
/*
* Typical usage is that passing 'firmware_class.path=$CUSTOMIZED_PATH'
* Typical usage is that passing 'firmware_class.path=/vendor,/firwmare_mnt'
* from kernel command line because firmware_class is generally built in
* kernel instead of module.
* kernel instead of module. ',' is used as delimiter for setting 10
* custom paths for firmware loader.
*/
module_param_string(path, fw_path_para, sizeof(fw_path_para), 0644);
MODULE_PARM_DESC(path, "customized firmware image search path with a higher priority than default path");
__setup("firmware_class.path=", firmware_param_path_set);
static int
fw_get_filesystem_firmware(struct device *device, struct fw_priv *fw_priv,

View File

@@ -60,6 +60,7 @@ static int rproc_release_carveout(struct rproc *rproc,
/* Unique indices for remoteproc devices */
static DEFINE_IDA(rproc_dev_index);
static struct workqueue_struct *rproc_recovery_wq;
static const char * const rproc_crash_names[] = {
[RPROC_MMUFAULT] = "mmufault",
@@ -2755,8 +2756,11 @@ void rproc_report_crash(struct rproc *rproc, enum rproc_crash_type type)
dev_err(&rproc->dev, "crash detected in %s: type %s\n",
rproc->name, rproc_crash_to_string(type));
if (rproc_recovery_wq)
queue_work(rproc_recovery_wq, &rproc->crash_handler);
else
/* Have a worker handle the error; ensure system is not suspended */
queue_work(system_freezable_wq, &rproc->crash_handler);
queue_work(system_freezable_wq, &rproc->crash_handler);
}
EXPORT_SYMBOL(rproc_report_crash);
@@ -2805,6 +2809,11 @@ static void __exit rproc_exit_panic(void)
static int __init remoteproc_init(void)
{
rproc_recovery_wq = alloc_workqueue("rproc_recovery_wq",
WQ_UNBOUND | WQ_FREEZABLE, 0);
if (!rproc_recovery_wq)
pr_err("remoteproc: creation of rproc_recovery_wq failed\n");
rproc_init_sysfs();
rproc_init_debugfs();
rproc_init_cdev();
@@ -2821,6 +2830,8 @@ static void __exit remoteproc_exit(void)
rproc_exit_panic();
rproc_exit_debugfs();
rproc_exit_sysfs();
if (rproc_recovery_wq)
destroy_workqueue(rproc_recovery_wq);
}
module_exit(remoteproc_exit);

View File

@@ -5016,6 +5016,8 @@ static int ufshcd_slave_configure(struct scsi_device *sdev)
ufshcd_crypto_setup_rq_keyslot_manager(hba, q);
trace_android_vh_ufs_update_sdev(sdev);
return 0;
}

View File

@@ -1,6 +1,9 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
/* Disable MMIO tracing to prevent excessive logging of unwanted MMIO traces */
#define __DISABLE_TRACE_MMIO__
#include <linux/acpi.h>
#include <linux/clk.h>
#include <linux/slab.h>

View File

@@ -4282,6 +4282,17 @@ static inline bool for_each_element_completed(const struct element *element,
#define IEEE80211_TBTT_INFO_OFFSET_BSSID_BSS_PARAM 9
#define IEEE80211_TBTT_INFO_OFFSET_BSSID_SSSID_BSS_PARAM 13
/*
* TBTT Information field, based on Draft P802.11be_D1.4
* section 9.4.2.170.2
*/
#define IEEE80211_TBTT_INFO_BSSID_SSID_BSS_PARAM_PSD 13
#define IEEE80211_TBTT_INFO_BSSID_SSID_BSS_PARAM_PSD_MLD_PARAM 16
#define IEEE80211_TBTT_TYPE_MASK 0xC0
#define IEEE80211_TBTT_COUNT_MASK 0x0F
/* TBTT infomation header(2) + Operating class(1) + Channel number(1) */
#define IEEE80211_NBR_AP_INFO_LEN 4
#define IEEE80211_RNR_TBTT_PARAMS_OCT_RECOMMENDED 0x01
#define IEEE80211_RNR_TBTT_PARAMS_SAME_SSID 0x02
#define IEEE80211_RNR_TBTT_PARAMS_MULTI_BSSID 0x04

View File

@@ -73,6 +73,7 @@ enum irqchip_irq_state;
* IRQ_DISABLE_UNLAZY - Disable lazy irq disable
* IRQ_HIDDEN - Don't show up in /proc/interrupts
* IRQ_NO_DEBUG - Exclude from note_interrupt() debugging
* IRQ_RAW - Skip tick management and irqtime accounting
*/
enum {
IRQ_TYPE_NONE = 0x00000000,
@@ -101,6 +102,7 @@ enum {
IRQ_DISABLE_UNLAZY = (1 << 19),
IRQ_HIDDEN = (1 << 20),
IRQ_NO_DEBUG = (1 << 21),
IRQ_RAW = (1 << 22),
};
#define IRQF_MODIFY_MASK \

View File

@@ -48,6 +48,11 @@ DECLARE_HOOK(android_vh_ufs_check_int_errors,
TP_PROTO(struct ufs_hba *hba, bool queue_eh_work),
TP_ARGS(hba, queue_eh_work));
struct scsi_device;
DECLARE_HOOK(android_vh_ufs_update_sdev,
TP_PROTO(struct scsi_device *sdev),
TP_ARGS(sdev));
#endif /* _TRACE_HOOK_UFSHCD_H */
/* This part must be outside protection */
#include <trace/define_trace.h>

View File

@@ -402,8 +402,12 @@ void vm_area_free(struct vm_area_struct *vma)
free_anon_vma_name(vma);
#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
if (atomic_read(&vma->vm_mm->mm_users) > 1) {
call_rcu(&vma->vm_rcu, __vm_area_free);
return;
/* Only anonymous vmas can be torn down asynchronously */
if (!vma->vm_file) {
call_rcu(&vma->vm_rcu, __vm_area_free);
return;
}
synchronize_rcu();
}
#endif
____vm_area_free(vma);

View File

@@ -109,6 +109,9 @@ config GENERIC_IRQ_MATRIX_ALLOCATOR
config GENERIC_IRQ_RESERVATION_MODE
bool
config ARCH_WANTS_IRQ_RAW
bool
# Support forced irq threading
config IRQ_FORCED_THREADING
bool

View File

@@ -140,6 +140,7 @@ static const struct irq_bit_descr irqdesc_states[] = {
BIT_MASK_DESCR(_IRQ_IS_POLLED),
BIT_MASK_DESCR(_IRQ_DISABLE_UNLAZY),
BIT_MASK_DESCR(_IRQ_HIDDEN),
BIT_MASK_DESCR(_IRQ_RAW),
};
static const struct irq_bit_descr irqdesc_istates[] = {

View File

@@ -691,16 +691,22 @@ int handle_domain_irq(struct irq_domain *domain,
struct irq_desc *desc;
int ret = 0;
irq_enter();
/* The irqdomain code provides boundary checks */
desc = irq_resolve_mapping(domain, hwirq);
if (likely(desc))
handle_irq_desc(desc);
if (likely(desc)) {
if (IS_ENABLED(CONFIG_ARCH_WANTS_IRQ_RAW) &&
unlikely(irq_settings_is_raw(desc))) {
handle_irq_desc(desc);
} else {
irq_enter();
handle_irq_desc(desc);
irq_exit();
}
}
else
ret = -EINVAL;
irq_exit();
set_irq_regs(old_regs);
return ret;
}

View File

@@ -19,6 +19,7 @@ enum {
_IRQ_DISABLE_UNLAZY = IRQ_DISABLE_UNLAZY,
_IRQ_HIDDEN = IRQ_HIDDEN,
_IRQ_NO_DEBUG = IRQ_NO_DEBUG,
_IRQ_RAW = IRQ_RAW,
_IRQF_MODIFY_MASK = IRQF_MODIFY_MASK,
};
@@ -35,6 +36,7 @@ enum {
#define IRQ_DISABLE_UNLAZY GOT_YOU_MORON
#define IRQ_HIDDEN GOT_YOU_MORON
#define IRQ_NO_DEBUG GOT_YOU_MORON
#define IRQ_RAW GOT_YOU_MORON
#undef IRQF_MODIFY_MASK
#define IRQF_MODIFY_MASK GOT_YOU_MORON
@@ -186,3 +188,16 @@ static inline bool irq_settings_no_debug(struct irq_desc *desc)
{
return desc->status_use_accessors & _IRQ_NO_DEBUG;
}
static inline bool irq_settings_is_raw(struct irq_desc *desc)
{
if (IS_ENABLED(CONFIG_ARCH_WANTS_IRQ_RAW))
return desc->status_use_accessors & _IRQ_RAW;
/*
* Using IRQ_RAW on architectures that don't expect it is
* likely to be wrong.
*/
WARN_ON_ONCE(1);
return false;
}

View File

@@ -474,8 +474,10 @@ static enum desc_state desc_read(struct prb_desc_ring *desc_ring,
* state has been re-checked. A memcpy() for all of @desc
* cannot be used because of the atomic_t @state_var field.
*/
memcpy(&desc_out->text_blk_lpos, &desc->text_blk_lpos,
sizeof(desc_out->text_blk_lpos)); /* LMM(desc_read:C) */
if (desc_out) {
memcpy(&desc_out->text_blk_lpos, &desc->text_blk_lpos,
sizeof(desc_out->text_blk_lpos)); /* LMM(desc_read:C) */
}
if (seq_out)
*seq_out = info->seq; /* also part of desc_read:C */
if (caller_id_out)
@@ -528,7 +530,8 @@ static enum desc_state desc_read(struct prb_desc_ring *desc_ring,
state_val = atomic_long_read(state_var); /* LMM(desc_read:E) */
d_state = get_desc_state(id, state_val);
out:
atomic_long_set(&desc_out->state_var, state_val);
if (desc_out)
atomic_long_set(&desc_out->state_var, state_val);
return d_state;
}
@@ -1449,6 +1452,9 @@ static void desc_make_final(struct prb_desc_ring *desc_ring, unsigned long id)
atomic_long_cmpxchg_relaxed(&d->state_var, prev_state_val,
DESC_SV(id, desc_finalized)); /* LMM(desc_make_final:A) */
/* Best effort to remember the last finalized @id. */
atomic_long_set(&desc_ring->last_finalized_id, id);
}
/**
@@ -1657,7 +1663,12 @@ void prb_commit(struct prb_reserved_entry *e)
*/
void prb_final_commit(struct prb_reserved_entry *e)
{
struct prb_desc_ring *desc_ring = &e->rb->desc_ring;
_prb_commit(e, desc_finalized);
/* Best effort to remember the last finalized @id. */
atomic_long_set(&desc_ring->last_finalized_id, e->id);
}
/*
@@ -2005,9 +2016,39 @@ u64 prb_first_valid_seq(struct printk_ringbuffer *rb)
*/
u64 prb_next_seq(struct printk_ringbuffer *rb)
{
u64 seq = 0;
struct prb_desc_ring *desc_ring = &rb->desc_ring;
enum desc_state d_state;
unsigned long id;
u64 seq;
/* Search forward from the oldest descriptor. */
/* Check if the cached @id still points to a valid @seq. */
id = atomic_long_read(&desc_ring->last_finalized_id);
d_state = desc_read(desc_ring, id, NULL, &seq, NULL);
if (d_state == desc_finalized || d_state == desc_reusable) {
/*
* Begin searching after the last finalized record.
*
* On 0, the search must begin at 0 because of hack#2
* of the bootstrapping phase it is not known if a
* record at index 0 exists.
*/
if (seq != 0)
seq++;
} else {
/*
* The information about the last finalized sequence number
* has gone. It should happen only when there is a flood of
* new messages and the ringbuffer is rapidly recycled.
* Give up and start from the beginning.
*/
seq = 0;
}
/*
* The information about the last finalized @seq might be inaccurate.
* Search forward to find the current one.
*/
while (_prb_read_valid(rb, &seq, NULL, NULL))
seq++;
@@ -2044,6 +2085,7 @@ void prb_init(struct printk_ringbuffer *rb,
rb->desc_ring.infos = infos;
atomic_long_set(&rb->desc_ring.head_id, DESC0_ID(descbits));
atomic_long_set(&rb->desc_ring.tail_id, DESC0_ID(descbits));
atomic_long_set(&rb->desc_ring.last_finalized_id, DESC0_ID(descbits));
rb->text_data_ring.size_bits = textbits;
rb->text_data_ring.data = text_buf;

View File

@@ -75,6 +75,7 @@ struct prb_desc_ring {
struct printk_info *infos;
atomic_long_t head_id;
atomic_long_t tail_id;
atomic_long_t last_finalized_id;
};
/*
@@ -258,6 +259,7 @@ static struct printk_ringbuffer name = { \
.infos = &_##name##_infos[0], \
.head_id = ATOMIC_INIT(DESC0_ID(descbits)), \
.tail_id = ATOMIC_INIT(DESC0_ID(descbits)), \
.last_finalized_id = ATOMIC_INIT(DESC0_ID(descbits)), \
}, \
.text_data_ring = { \
.size_bits = (avgtextbits) + (descbits), \

View File

@@ -3875,7 +3875,7 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb,
unsigned int delta_len = 0;
struct sk_buff *tail = NULL;
struct sk_buff *nskb, *tmp;
int err;
int len_diff, err;
skb_push(skb, -skb_network_offset(skb) + offset);
@@ -3915,9 +3915,11 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb,
skb_push(nskb, -skb_network_offset(nskb) + offset);
skb_release_head_state(nskb);
len_diff = skb_network_header_len(nskb) - skb_network_header_len(skb);
__copy_skb_header(nskb, skb);
skb_headers_offset_update(nskb, skb_headroom(nskb) - skb_headroom(skb));
nskb->transport_header += len_diff;
skb_copy_from_linear_data_offset(skb, -tnl_hlen,
nskb->data - tnl_hlen,
offset + tnl_hlen);

View File

@@ -268,9 +268,136 @@ bool cfg80211_is_element_inherited(const struct element *elem,
}
EXPORT_SYMBOL(cfg80211_is_element_inherited);
/**
* cfg80211_handle_rnr_ie_for_mbssid() - parse and modify RNR IE for MBSSID
* feature
* @elem: The pointer to RNR IE
* @bssid_index: BSSID index from MBSSID index IE
* @pos: The buffer pointer to save the transformed RNR IE, caller is expected
* to supply a buffer that is at least as big as @elem
*
* Per the description about Neighbor AP Information field about MLD
* parameters subfield in section 9.4.2.170.2 of Draft P802.11be_D1.4.
* If the reported AP is affiliated with the same MLD of the reporting AP,
* the TBTT information is skipped; If the reported AP is affiliated with
* the same MLD of the nontransmitted BSSID, the TBTT information is copied
* and the MLD ID is changed to 0.
*
* Return: Length of the element written to @pos
*/
static size_t cfg80211_handle_rnr_ie_for_mbssid(const struct element *elem,
u8 bssid_index, u8 *pos)
{
size_t rnr_len;
const u8 *rnr, *data, *rnr_end;
u8 *rnr_new, *tbtt_info_field;
u8 tbtt_type, tbtt_len, tbtt_count;
u8 mld_pos, mld_id;
u32 i, copy_len;
/* The count of TBTT info field whose MLD ID equals to 0 in a neighbor
* AP information field.
*/
u32 tbtt_info_field_count;
/* The total bytes of TBTT info fields whose MLD ID equals to 0 in
* current RNR IE.
*/
u32 tbtt_info_field_len = 0;
rnr_new = pos;
rnr = (u8 *)elem;
rnr_len = elem->datalen;
rnr_end = rnr + rnr_len + 2;
memcpy(pos, rnr, 2);
pos += 2;
data = elem->data;
while (data < rnr_end) {
tbtt_type = u8_get_bits(data[0], IEEE80211_TBTT_TYPE_MASK);
tbtt_count = u8_get_bits(data[0], IEEE80211_TBTT_COUNT_MASK);
tbtt_len = data[1];
copy_len = tbtt_len * (tbtt_count + 1) +
IEEE80211_NBR_AP_INFO_LEN;
if (data + copy_len > rnr_end)
return 0;
if (tbtt_len >=
IEEE80211_TBTT_INFO_BSSID_SSID_BSS_PARAM_PSD_MLD_PARAM)
mld_pos =
IEEE80211_TBTT_INFO_BSSID_SSID_BSS_PARAM_PSD;
else
mld_pos = 0;
/* If MLD params do not exist, copy this neighbor AP
* information field.
* Draft P802.11be_D1.4, tbtt_type value 1, 2 and 3
* are reserved.
*/
if (mld_pos == 0 || tbtt_type != 0) {
memcpy(pos, data, copy_len);
pos += copy_len;
data += copy_len;
continue;
}
memcpy(pos, data, IEEE80211_NBR_AP_INFO_LEN);
tbtt_info_field = pos;
pos += IEEE80211_NBR_AP_INFO_LEN;
data += IEEE80211_NBR_AP_INFO_LEN;
tbtt_info_field_count = 0;
for (i = 0; i < tbtt_count + 1; i++) {
mld_id = data[mld_pos];
/* Refer to Draft P802.11be_D1.4
* 9.4.2.170.2 Neighbor AP Information field about
* MLD parameters subfield
*/
if (mld_id == 0) {
/* Skip this TBTT information since this
* reported AP is affiliated with the same MLD
* of the reporting AP who sending the frame
* carrying this element.
*/
tbtt_info_field_len += tbtt_len;
data += tbtt_len;
tbtt_info_field_count++;
} else if (mld_id == bssid_index) {
/* Copy this TBTT information and change MLD
* to 0 as this reported AP is affiliated with
* the same MLD of the nontransmitted BSSID.
*/
memcpy(pos, data, tbtt_len);
pos[mld_pos] = 0;
data += tbtt_len;
pos += tbtt_len;
} else {
memcpy(pos, data, tbtt_len);
data += tbtt_len;
pos += tbtt_len;
}
}
if (tbtt_info_field_count == (tbtt_count + 1)) {
/* If all the TBTT informations are skipped, then also
* revert the neighbor AP info which has been copied.
*/
pos -= IEEE80211_NBR_AP_INFO_LEN;
tbtt_info_field_len += IEEE80211_NBR_AP_INFO_LEN;
} else {
u8p_replace_bits(&tbtt_info_field[0],
tbtt_count - tbtt_info_field_count,
IEEE80211_TBTT_COUNT_MASK);
}
}
rnr_new[1] = rnr_len - tbtt_info_field_len;
if (rnr_new[1] == 0)
pos = rnr_new;
return pos - rnr_new;
}
static size_t cfg80211_gen_new_ie(const u8 *ie, size_t ielen,
const u8 *subelement, size_t subie_len,
u8 *new_ie, gfp_t gfp)
u8 *new_ie, u8 bssid_index, gfp_t gfp)
{
u8 *pos, *tmp;
const u8 *tmp_old, *tmp_new;
@@ -321,8 +448,13 @@ static size_t cfg80211_gen_new_ie(const u8 *ie, size_t ielen,
const struct element *old_elem = (void *)tmp_old;
/* ie in old ie but not in subelement */
if (cfg80211_is_element_inherited(old_elem,
non_inherit_elem)) {
if (tmp_old[0] == WLAN_EID_REDUCED_NEIGHBOR_REPORT) {
pos +=
cfg80211_handle_rnr_ie_for_mbssid(old_elem,
bssid_index,
pos);
} else if (cfg80211_is_element_inherited(old_elem,
non_inherit_elem)) {
memcpy(pos, tmp_old, tmp_old[1] + 2);
pos += tmp_old[1] + 2;
}
@@ -2079,6 +2211,7 @@ static void cfg80211_parse_mbssid_data(struct wiphy *wiphy,
u64 seen_indices = 0;
u16 capability;
struct cfg80211_bss *bss;
u8 bssid_index;
if (!non_tx_data)
return;
@@ -2145,6 +2278,7 @@ static void cfg80211_parse_mbssid_data(struct wiphy *wiphy,
non_tx_data->bssid_index = mbssid_index_ie[2];
non_tx_data->max_bssid_indicator = elem->data[0];
bssid_index = non_tx_data->bssid_index;
cfg80211_gen_new_bssid(bssid,
non_tx_data->max_bssid_indicator,
@@ -2154,7 +2288,7 @@ static void cfg80211_parse_mbssid_data(struct wiphy *wiphy,
new_ie_len = cfg80211_gen_new_ie(ie, ielen,
profile,
profile_len, new_ie,
gfp);
bssid_index, gfp);
if (!new_ie_len)
continue;

View File

@@ -86,7 +86,8 @@ ifdef need-builtin
targets-for-builtin += $(obj)/built-in.a
endif
targets-for-modules := $(patsubst %.o, %.mod, $(filter %.o, $(obj-m)))
targets-for-modules := $(foreach x, o mod $(if $(CONFIG_TRIM_UNUSED_KSYMS), usyms), \
$(patsubst %.o, %.$x, $(filter %.o, $(obj-m))))
ifdef CONFIG_LTO_CLANG
targets-for-modules += $(patsubst %.o, %.lto.o, $(filter %.o, $(obj-m)))
@@ -249,9 +250,6 @@ objtool_dep = $(objtool_obj) \
ifdef CONFIG_TRIM_UNUSED_KSYMS
cmd_gen_ksymdeps = \
$(CONFIG_SHELL) $(srctree)/scripts/gen_ksymdeps.sh $@ >> $(dot-target).cmd
# List module undefined symbols
undefined_syms = $(NM) $< | $(AWK) '$$1 == "U" { printf("%s%s", x++ ? " " : "", $$2) }';
endif
define rule_cc_o_c
@@ -298,14 +296,18 @@ $(obj)/%.lto.o: $(obj)/%.o FORCE
$(call if_changed,cc_lto_link_modules)
endif
cmd_mod = { \
echo $(if $($*-objs)$($*-y)$($*-m), $(addprefix $(obj)/, $($*-objs) $($*-y) $($*-m)), $(@:.mod=.o)); \
$(undefined_syms) echo; \
} > $@
cmd_mod = echo $(call real-search, $*.o, .o, -objs -y -m) | \
$(AWK) -v RS='( |\n)' '!x[$$0]++ { print("$(obj)/"$$0) }' > $@
$(obj)/%.mod: $(obj)/%$(mod-prelink-ext).o FORCE
$(obj)/%.mod: FORCE
$(call if_changed,mod)
# List module undefined symbols
cmd_undefined_syms = $(NM) $< | sed -n 's/^ *U //p' > $@
$(obj)/%.usyms: $(obj)/%$(mod-prelink-ext).o FORCE
$(call if_changed,undefined_syms)
quiet_cmd_cc_lst_c = MKLST $@
cmd_cc_lst_c = $(CC) $(c_flags) -g -c -o $*.o $< && \
$(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \
@@ -455,26 +457,21 @@ quiet_cmd_ar_lib = AR $@
$(obj)/lib.a: $(lib-y) FORCE
$(call if_changed,ar_lib)
# NOTE:
# Do not replace $(filter %.o,^) with $(real-prereqs). When a single object
# module is turned into a multi object module, $^ will contain header file
# dependencies recorded in the .*.cmd file.
ifdef CONFIG_LTO_CLANG
quiet_cmd_link_multi-m = AR [M] $@
cmd_link_multi-m = \
$(cmd_update_lto_symversions); \
rm -f $@; \
$(AR) cDPrsT $@ $(filter %.o %.a,$^)
$(AR) cDPrsT $@ @$(patsubst %.o,%.mod,$@)
else
quiet_cmd_link_multi-m = LD [M] $@
cmd_link_multi-m = $(LD) $(ld_flags) -r -o $@ $(filter %.o,$^)
cmd_link_multi-m = $(LD) $(ld_flags) -r -o $@ @$(patsubst %.o,%.mod,$@)
endif
$(multi-obj-m): FORCE
$(multi-obj-m): %.o: %.mod FORCE
$(call if_changed,link_multi-m)
$(call multi_depend, $(multi-obj-m), .o, -objs -y -m)
targets += $(multi-obj-m)
targets := $(filter-out $(PHONY), $(targets))
# Add intermediate targets:

View File

@@ -249,9 +249,9 @@ objtool_args = \
# Usage:
# $(call multi_depend, multi_used_targets, suffix_to_remove, suffix_to_add)
define multi_depend
$(foreach m, $(notdir $1), \
$(eval $(obj)/$m: \
$(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
$(foreach m, $1, \
$(eval $m: \
$(addprefix $(obj)/, $(call suffix-search, $(patsubst $(obj)/%,%,$m), $2, $3))))
endef
quiet_cmd_copy = COPY $@

View File

@@ -35,7 +35,7 @@ case "$KBUILD_VERBOSE" in
esac
# Generate a new symbol list file
$CONFIG_SHELL $srctree/scripts/gen_autoksyms.sh "$new_ksyms_file"
$CONFIG_SHELL $srctree/scripts/gen_autoksyms.sh --modorder "$new_ksyms_file"
# Extract changes between old and new list and touch corresponding
# dependency files.

View File

@@ -2,13 +2,10 @@
# SPDX-License-Identifier: GPL-2.0-only
# Create an autoksyms.h header file from the list of all module's needed symbols
# as recorded on the second line of *.mod files and the user-provided symbol
# whitelist.
# as recorded in *.usyms files and the user-provided symbol whitelist.
set -e
output_file="$1"
# Use "make V=1" to debug this script.
case "$KBUILD_VERBOSE" in
*1*)
@@ -19,6 +16,15 @@ esac
# We need access to CONFIG_ symbols
. include/config/auto.conf
read_modorder=
if [ "$1" = --modorder ]; then
shift
read_modorder=1
fi
output_file="$1"
needed_symbols=
# Special case for modversions (see modpost.c)
@@ -46,10 +52,8 @@ cat > "$output_file" << EOT
EOT
[ -f modules.order ] && modlist=modules.order || modlist=/dev/null
{
sed 's/ko$/mod/' $modlist | xargs -n1 sed -n -e '2p'
[ -n "${read_modorder}" ] && sed 's/ko$/usyms/' modules.order | xargs cat
echo "$needed_symbols"
[ -n "$ksym_wl" ] && cat "$ksym_wl"
} | sed -e 's/ /\n/g' | sed -n -e '/^$/!p' |

View File

@@ -387,7 +387,7 @@ out_file:
/* Calc and record src checksum. */
void get_src_version(const char *modname, char sum[], unsigned sumlen)
{
char *buf, *pos, *firstline;
char *buf;
struct md4_ctx md;
char *fname;
char filelist[PATH_MAX + 1];
@@ -397,15 +397,8 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
buf = read_text_file(filelist);
pos = buf;
firstline = get_line(&pos);
if (!firstline) {
warn("bad ending versions file for %s\n", modname);
goto free;
}
md4_init(&md);
while ((fname = strsep(&firstline, " "))) {
while ((fname = strsep(&buf, "\n"))) {
if (!*fname)
continue;
if (!(is_static_library(fname)) &&