Merge branch 'android12-5.10' into android12-5.10-lts

Sync up with android12-5.10 for the following commits:

c82b315c4b ANDROID: GKI: rockchip: Enable symbols for phy
c10e63b794 ANDROID: GKI: rockchip: Enable symbols for rockchip-opp
54a33334de ANDROID: GKI: rockchip: Enable symbols for sdhci-arasan
6276cc3982 ANDROID: GKI: rockchip: Enable symbols for devfreq
a195017de8 ANDROID: GKI: rockchip: Enable symbols for gpio-rockchip
068f20142a ANDROID: GKI: rockchip: Enable symbol for pm-domain
6cef9b2952 ANDROID: GKI: rockchip: Enable symbols for common clk
fd41ec3b94 ANDROID: GKI: rockchip: Enable symbols for rtc-rk808
7827c05b00 ANDROID: GKI: rockchip: Enable symbol for panel-simple
229f9c2faf ANDROID: GKI: rockchip: Enable symbol for ov5695
94f76a7779 ANDROID: GKI: rockchip: Enable symbol for nvme
4275c37d4e ANDROID: GKI: rockchip: Enable symbols for iio
be153f6250 ANDROID: GKI: rockchip: Enable symbol for cw2015_battery
a90c09dd41 ANDROID: GKI: rockchip: Enable symbols for mmc driver
f1e23eee85 ANDROID: GKI: rockchip: Enable symbols for cpufreq governor
5f020167d0 ANDROID: GKI: rockchip: Enable symbols for scsi ch
64665afcb3 ANDROID: GKI: rockchip: Enable symbols for adc-keys
b37b3c9eaa ANDROID: GKI: rockchip: Enable symbol for act8865
21034d71fc ANDROID: GKI: rockchip: Enable symbols for pwm_bl
576c7a6297 ANDROID: GKI: rockchip: Enable symbols for phy
fc1e452fa3 ANDROID: GKI: rockchip: Enable symbols for LED hardbeat
f4b3d35dfa FROMLIST: scsi: ufs: Fix task management completion
7b6860d2a4 ANDROID: scsi: ufs: Rename struct ufs_hba_with_hpb into ufs_hba_add_info
5adc3c4124 ANDROID: Update the ABI representation
e774e4eca6 ANDROID: scsi: ufs: add complete init vendor hook
7050ead570 ANDROID: qcom: Add qdisc related symbols
d788d16fed FROMGIT: scs: Release kasan vmalloc poison in scs_free process
2659f14d93 UPSTREAM: arm64: Kconfig: select KASAN_VMALLOC if KANSAN_GENERIC is enabled
23232f84c8 UPSTREAM: arm64: kaslr: support randomized module area with KASAN_VMALLOC
ef61240f62 UPSTREAM: arm64: Kconfig: support CONFIG_KASAN_VMALLOC
d0f4b61ae6 UPSTREAM: arm64: kasan: abstract _text and _end to KERNEL_START/END
4d91b1f6ee UPSTREAM: arm64: kasan: don't populate vmalloc area for CONFIG_KASAN_VMALLOC
935b5c3bdd ANDROID: GKI: rockchip: Enable symbols for rk808-regulator
9a8a15b8bd ANDROID: GKI: rockchip: Enable symbols for hid
55b0b34791 FROMGIT: arm64: kasan: mte: move GCR_EL1 switch to task switch when KASAN disabled
6c6d1d7e42 UPSTREAM: arm64: add MTE supported check to thread switching and syscall entry/exit
f746714fe4 UPSTREAM: arm64: kasan: mte: use a constant kernel GCR_EL1 value
eb02ea0e35 ANDROID: GKI: fix mode of android/abi_gki_aarch64.xml file
62ad82b86b ANDROID: ABI: update allowed list for galaxy
f1a5448fa7 ANDROID: GKI: rockchip: Convert symbol to order by module
18d90d0300 ANDROID: GKI: Add a symbol to symbol list
cb7a5d58a9 FROMLIST: arm64: mm: update max_pfn after memory hotplug
477cd8fd78 ANDROID: GKI: Update symbols to symbol list
dcd77f0b74 UPSTREAM: erofs: fix 1 lcluster-sized pcluster for big pcluster
e085d3f0d0 UPSTREAM: erofs: enable big pcluster feature
ed0607cc52 UPSTREAM: erofs: support decompress big pcluster for lz4 backend
d34cb6cdc0 UPSTREAM: erofs: support parsing big pcluster compact indexes
051d76b899 UPSTREAM: erofs: support parsing big pcluster compress indexes
d149931601 UPSTREAM: erofs: adjust per-CPU buffers according to max_pclusterblks
95a1d5df84 UPSTREAM: erofs: add big physical cluster definition
8043aaed1d UPSTREAM: erofs: fix up inplace I/O pointer for big pcluster
6ad2f8f169 UPSTREAM: erofs: introduce physical cluster slab pools
432f58b100 UPSTREAM: erofs: introduce multipage per-CPU buffers
571c9a0bd3 UPSTREAM: erofs: remove a void EROFS_VERSION macro set in Makefile
431d73396d UPSTREAM: erofs: reserve physical_clusterbits[]
89dbc6246a UPSTREAM: erofs: Clean up spelling mistakes found in fs/erofs
ac1f14e9d5 UPSTREAM: erofs: add on-disk compression configurations
cd21e62366 UPSTREAM: erofs: introduce on-disk lz4 fs configurations
e17fd2ac9d UPSTREAM: erofs: introduce erofs_sb_has_xxx() helpers
ba1a3d1fb2 UPSTREAM: erofs: don't use erofs_map_blocks() any more
384b2cdaf8 UPSTREAM: erofs: complete a missing case for inplace I/O
a9ac6ae90e BACKPORT: UPSTREAM: mm: fs: invalidate bh_lrus for only cold path
49af2e35d5 FROMLIST: dma-buf: support users to change dma_buf.name
3b1f439841 ANDROID: GKI: Update symbol list for vivo
c82dbcbec1 BACKPORT: ASoC: soc-pcm: Get all BEs along DAPM path
de7ca5e752 ANDROID: Disable CFI on trace hooks
38532a9f24 ANDROID: GKI: Update symbol list for new modules
099e8c7741 ANDROID: Update symbol list for mtk
cfc0a49c73 ANDROID: fs/fuse: Keep FUSE file times consistent with lower file
cdbeb135e5 ANDROID: GKI: Update symbols to symbol list
66e24eb093 Revert "ANDROID: mm: page_pinner: use EXPORT_SYMBOL_GPL"
5f10883630 Revert "FROMLIST: USB: gadget: f_fs: add SuperSpeed Plus support"
4e6242598d UPSTREAM: drm/dp_mst: Fix return code on sideband message failure
bb13ff0598 BACKPORT: FROMGIT: usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind
0671bafa24 UPSTREAM: tracing: Fix NULL pointer dereference in start_creating
aae44f81e3 ANDROID: enable MTK RNDIS
f278b215d4 ANDROID: abi_gki_aarch64_qcom: Add 2 new symbols for gsi
e21fe3ef80 ANDROID: Update the ABI representation
b74189ec8b ANDROID: GKI: Update abi_gki_aarch64_qcom for rtc_tm_to_ktime and rtc_ktime_to_tm
4652709913 ANDROID: fuse: Allocate zeroed memory for canonical path
96db9b84a6 FROMGIT: f2fs: should use GFP_NOFS for directory inodes
96beb15eb2 UPSTREAM: mm, slub: move slub_debug static key enabling outside slab_mutex
9f821f9789 UPSTREAM: mm, slub: enable slub_debug static key when creating cache with explicit debug flags
bcbaadf442 UPSTREAM: PM: sleep: core: Avoid setting power.must_resume to false
ba98a3a1bb BACKPORT: FROMGIT: usb: gadget: f_uac2: Populate SS descriptors' wBytesPerInterval
d9e738916e BACKPORT: FROMGIT: usb: gadget: f_uac2: Add missing companion descriptor for feedback EP
6773d5cd77 Revert "FROMLIST: usb: gadget: f_uac2: Add missing companion descriptor for feedback EP"
e6e66cb3dd ANDROID: Update the ABI representation
5a4ed990f2 FROMGIT: binder: make sure fd closes complete
b55536ba69 ANDROID: abi_gki_aarch64_qcom: Add vsock functions
4d9d866fe5 ANDROID: mm: unlock the page on speculative fault retry
fd2214199a FROMGIT: binder: fix freeze race
fca745e32d FROMLIST: dm-verity: skip verity_handle_error on I/O errors
640610dbc4 UPSTREAM: thermal: cpufreq_cooling: Update also offline CPUs per-cpu thermal_pressure

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2534965b25926060feaac05e1ae2821e6a12cc45
This commit is contained in:
Greg Kroah-Hartman
2021-10-06 08:09:24 +02:00
68 changed files with 3666 additions and 1635 deletions

View File

@@ -94,8 +94,11 @@ __ethtool_get_link_ksettings
__fdget
__flush_icache_range
__free_pages
__genphy_config_aneg
__get_free_pages
__get_task_comm
__hid_register_driver
__hid_request
__hrtimer_get_remaining
__hvc_resize
__hwspin_lock_timeout
@@ -343,6 +346,8 @@ __traceiter_gpu_mem_total
__traceiter_sched_util_est_se_tp
__traceiter_xdp_exception
__tracepoint_android_rvh_account_irq
__tracepoint_android_rvh_arm64_serror_panic
__tracepoint_android_rvh_bad_mode
__tracepoint_android_rvh_build_perf_domains
__tracepoint_android_rvh_can_migrate_task
__tracepoint_android_rvh_check_preempt_wakeup
@@ -352,9 +357,12 @@ __tracepoint_android_rvh_cpu_cgroup_online
__tracepoint_android_rvh_cpu_overutilized
__tracepoint_android_rvh_cpufreq_transition
__tracepoint_android_rvh_dequeue_task
__tracepoint_android_rvh_dequeue_task_idle
__tracepoint_android_rvh_die_kernel_fault
__tracepoint_android_rvh_do_mem_abort
__tracepoint_android_rvh_do_sea
__tracepoint_android_rvh_do_sp_pc_abort
__tracepoint_android_rvh_do_undefinstr
__tracepoint_android_rvh_enqueue_task
__tracepoint_android_rvh_find_busiest_queue
__tracepoint_android_rvh_find_energy_efficient_cpu
@@ -408,6 +416,7 @@ __tracepoint_android_vh_binder_restore_priority
__tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_binder_transaction_init
__tracepoint_android_vh_binder_wakeup_ilocked
__tracepoint_android_vh_cgroup_attach
__tracepoint_android_vh_cma_alloc_finish
__tracepoint_android_vh_cma_alloc_start
__tracepoint_android_vh_cpu_idle_enter
@@ -429,10 +438,19 @@ __tracepoint_android_vh_kfree_skb
__tracepoint_android_vh_logbuf
__tracepoint_android_vh_logbuf_pr_cont
__tracepoint_android_vh_meminfo_proc_show
__tracepoint_android_vh_mutex_wait_finish
__tracepoint_android_vh_mutex_wait_start
__tracepoint_android_vh_pagecache_get_page
__tracepoint_android_vh_printk_hotplug
__tracepoint_android_vh_ptype_head
__tracepoint_android_vh_rmqueue
__tracepoint_android_vh_rtmutex_wait_finish
__tracepoint_android_vh_rtmutex_wait_start
__tracepoint_android_vh_rwsem_read_wait_finish
__tracepoint_android_vh_rwsem_read_wait_start
__tracepoint_android_vh_rwsem_write_wait_finish
__tracepoint_android_vh_rwsem_write_wait_start
__tracepoint_android_vh_sched_show_task
__tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_show_max_freq
__tracepoint_android_vh_show_mem
@@ -440,6 +458,8 @@ __tracepoint_android_vh_show_resume_epoch_val
__tracepoint_android_vh_show_suspend_epoch_val
__tracepoint_android_vh_timer_calc_index
__tracepoint_android_vh_timerfd_create
__tracepoint_android_vh_try_to_freeze_todo
__tracepoint_android_vh_try_to_freeze_todo_unfrozen
__tracepoint_android_vh_typec_store_partner_src_caps
__tracepoint_android_vh_typec_tcpci_override_toggling
__tracepoint_android_vh_typec_tcpm_adj_current_limit
@@ -453,6 +473,8 @@ __tracepoint_android_vh_ufs_send_tm_command
__tracepoint_android_vh_ufs_send_uic_command
__tracepoint_android_vh_ufs_update_sdev
__tracepoint_android_vh_ufs_update_sysfs
__tracepoint_android_vh_watchdog_timer_softlockup
__tracepoint_android_vh_wq_lockup_pool
__tracepoint_binder_transaction_received
__tracepoint_clock_set_rate
__tracepoint_cpu_frequency
@@ -489,12 +511,14 @@ __tracepoint_suspend_resume
__tracepoint_workqueue_execute_end
__tracepoint_workqueue_execute_start
__tracepoint_xdp_exception
__tty_alloc_driver
__tty_insert_flip_char
__udelay
__uio_register_device
__unregister_chrdev
__update_load_avg_blocked_se
__usb_create_hcd
__usb_get_extra_descriptor
__usecs_to_jiffies
__v4l2_device_register_subdev_nodes
__video_register_device
@@ -774,6 +798,14 @@ cancel_delayed_work
cancel_delayed_work_sync
cancel_work_sync
capable
cdc_ncm_bind_common
cdc_ncm_change_mtu
cdc_ncm_fill_tx_frame
cdc_ncm_rx_verify_ndp16
cdc_ncm_rx_verify_nth16
cdc_ncm_select_altsetting
cdc_ncm_unbind
cdc_parse_cdc_header
cdev_add
cdev_alloc
cdev_del
@@ -946,6 +978,7 @@ cpumask_next_wrap
cpupri_find_fitness
cpus_read_lock
cpus_read_unlock
crc16
crc32_le
crc8
crc8_populate_msb
@@ -1051,6 +1084,7 @@ dev_pm_opp_adjust_voltage
dev_pm_opp_disable
dev_pm_opp_enable
dev_pm_opp_find_freq_ceil
dev_pm_opp_find_freq_ceil_by_volt
dev_pm_opp_find_freq_exact
dev_pm_opp_find_freq_floor
dev_pm_opp_free_cpufreq_table
@@ -1389,6 +1423,7 @@ down_write
downgrade_write
dput
drain_workqueue
driver_attach
driver_create_file
driver_find_device
driver_register
@@ -1691,6 +1726,7 @@ drm_mode_object_put
drm_mode_probed_add
drm_mode_set_crtcinfo
drm_mode_set_name
drm_mode_sort
drm_mode_vrefresh
drm_modeset_acquire_fini
drm_modeset_acquire_init
@@ -1919,7 +1955,10 @@ genl_notify
genl_register_family
genl_unregister_family
genlmsg_put
genphy_read_status
genphy_resume
genphy_soft_reset
genphy_suspend
get_cpu_device
get_cpu_idle_time
get_cpu_idle_time_us
@@ -2028,6 +2067,13 @@ hdmi_infoframe_pack
hex2bin
hex_dump_to_buffer
hex_to_bin
hid_hw_close
hid_hw_open
hid_hw_start
hid_hw_stop
hid_open_report
hid_report_raw_event
hid_unregister_driver
hmm_range_fault
hrtimer_active
hrtimer_cancel
@@ -2135,6 +2181,7 @@ iio_read_channel_processed
iio_read_channel_raw
import_iovec
in4_pton
in6_dev_finish_destroy
in6_pton
in_aton
in_egroup_p
@@ -2156,6 +2203,7 @@ input_allocate_device
input_close_device
input_event
input_ff_create
input_ff_create_memless
input_ff_destroy
input_free_device
input_mt_assign_slots
@@ -2315,6 +2363,7 @@ kernel_sendmsg
kernel_sigaction
kernfs_find_and_get_ns
kernfs_notify
kernfs_path_from_node
kernfs_put
kfree
kfree_const
@@ -2353,6 +2402,7 @@ kobject_uevent
kobject_uevent_env
krealloc
kset_create_and_add
kset_unregister
ksize
ksoftirqd
kstat
@@ -2448,7 +2498,9 @@ mbox_request_channel
mbox_send_message
mdiobus_alloc_size
mdiobus_free
mdiobus_read
mdiobus_unregister
mdiobus_write
media_device_cleanup
media_device_init
media_device_unregister
@@ -2930,16 +2982,24 @@ perf_pmu_unregister
perf_trace_buf_alloc
perf_trace_run_bpf_submit
pfn_valid
phy_attached_info
phy_calibrate
phy_configure
phy_connect
phy_connect_direct
phy_disconnect
phy_do_ioctl_running
phy_drivers_register
phy_drivers_unregister
phy_ethtool_get_link_ksettings
phy_ethtool_nway_reset
phy_ethtool_set_link_ksettings
phy_exit
phy_find_first
phy_get_pause
phy_init
phy_init_hw
phy_mii_ioctl
phy_pm_runtime_get_sync
phy_pm_runtime_put_sync
phy_power_off
@@ -3078,11 +3138,13 @@ ps2_sliced_command
pskb_expand_head
pstore_register
pstore_unregister
public_key_verify_signature
put_device
put_disk
put_iova_domain
put_pid
put_sg_io_hdr
put_tty_driver
put_unused_fd
put_vaddr_frames
pwm_apply_state
@@ -3539,6 +3601,7 @@ smp_call_function
smp_call_function_any
smp_call_function_many
smp_call_function_single
smp_call_function_single_async
smp_call_on_cpu
smpboot_register_percpu_thread
smpboot_unregister_percpu_thread
@@ -3755,6 +3818,7 @@ spmi_register_read
spmi_register_write
spmi_register_zero_write
sprint_symbol
sprint_symbol_no_offset
sprintf
srcu_barrier
srcu_batches_completed
@@ -3767,6 +3831,7 @@ srcutorture_get_gp_data
sscanf
stack_trace_print
stack_trace_save
stack_trace_save_regs
stack_trace_save_tsk
static_key_disable
static_key_disable_cpuslocked
@@ -3864,6 +3929,12 @@ tasklet_init
tasklet_kill
tasklet_setup
tasklist_lock
tcp_register_congestion_control
tcp_reno_cong_avoid
tcp_reno_ssthresh
tcp_reno_undo_cwnd
tcp_slow_start
tcp_unregister_congestion_control
tcpci_get_tcpm_port
tcpci_irq
tcpci_register_port
@@ -3967,9 +4038,26 @@ ttm_unmap_and_unpopulate_pages
tty_flip_buffer_push
tty_insert_flip_string_fixed_flag
tty_kref_put
tty_ldisc_deref
tty_ldisc_ref
tty_port_close
tty_port_destroy
tty_port_hangup
tty_port_init
tty_port_open
tty_port_register_device
tty_port_tty_get
tty_port_tty_wakeup
tty_register_driver
tty_set_operations
tty_standard_install
tty_std_termios
tty_termios_baud_rate
tty_termios_copy_hw
tty_termios_encode_baud_rate
tty_unregister_device
tty_unregister_driver
tty_vhangup
typec_altmode_get_partner
typec_altmode_update_active
typec_get_drvdata
@@ -4095,6 +4183,7 @@ usb_amd_quirk_pll_enable
usb_asmedia_modifyflowcontrol
usb_assign_descriptors
usb_autopm_get_interface
usb_autopm_get_interface_no_resume
usb_autopm_put_interface
usb_bulk_msg
usb_calc_bus_time
@@ -4107,6 +4196,7 @@ usb_debug_root
usb_decode_ctrl
usb_del_gadget_udc
usb_deregister
usb_deregister_dev
usb_disable_xhci_ports
usb_disabled
usb_enable_autosuspend
@@ -4124,6 +4214,7 @@ usb_ep_queue
usb_ep_set_halt
usb_ep_set_maxpacket_limit
usb_find_common_endpoints
usb_find_interface
usb_free_all_descriptors
usb_free_coherent
usb_free_urb
@@ -4140,8 +4231,10 @@ usb_gadget_vbus_connect
usb_gadget_vbus_disconnect
usb_gadget_vbus_draw
usb_gadget_wakeup
usb_get_dev
usb_get_dr_mode
usb_get_gadget_udc_name
usb_get_intf
usb_get_maximum_speed
usb_get_urb
usb_gstrings_attach
@@ -4169,12 +4262,17 @@ usb_ifnum_to_if
usb_initialize_gadget
usb_interface_id
usb_kill_urb
usb_match_id
usb_match_one_id
usb_otg_state_string
usb_phy_set_charger_current
usb_poison_anchored_urbs
usb_poison_urb
usb_put_dev
usb_put_function_instance
usb_put_hcd
usb_put_intf
usb_register_dev
usb_register_driver
usb_register_notify
usb_remove_hcd
@@ -4188,12 +4286,17 @@ usb_role_switch_set_role
usb_role_switch_unregister
usb_root_hub_lost_power
usb_set_device_state
usb_set_interface
usb_show_dynids
usb_speed_string
usb_store_new_id
usb_string_id
usb_submit_urb
usb_unpoison_urb
usb_unregister_notify
usb_wakeup_notification
usbnet_change_mtu
usbnet_defer_kevent
usbnet_disconnect
usbnet_get_drvinfo
usbnet_get_endpoints

View File

@@ -398,6 +398,7 @@
__devm_regmap_init_spi
devm_regulator_bulk_get
devm_regulator_get
devm_regulator_get_exclusive
devm_regulator_get_optional
devm_regulator_put
devm_regulator_register
@@ -967,6 +968,7 @@
__ioremap
io_schedule_timeout
iounmap
iov_iter_bvec
ip_send_check
iput
__irq_alloc_descs
@@ -1052,6 +1054,7 @@
kstrtouint
kstrtouint_from_user
kstrtoull
kstrtoull_from_user
kthread_bind
kthread_bind_mask
kthread_cancel_delayed_work_sync
@@ -1246,6 +1249,7 @@
of_get_regulator_init_data
of_iomap
of_irq_find_parent
of_irq_get
of_irq_get_byname
of_irq_parse_one
of_machine_is_compatible
@@ -1280,6 +1284,7 @@
of_root
of_thermal_get_ntrips
of_thermal_get_trip_points
of_thermal_is_trip_valid
of_translate_address
of_usb_host_tpl_support
page_endio
@@ -1355,6 +1360,7 @@
pinctrl_remove_gpio_range
pinctrl_select_state
pin_get_name
pin_user_pages
pin_user_pages_fast
pin_user_pages_remote
pktgen_xfrm_outer_mode_output
@@ -1582,6 +1588,9 @@
rtc_tm_to_time64
rtc_update_irq
rtc_valid_tm
__rt_mutex_init
rt_mutex_lock
rt_mutex_unlock
rtnl_is_locked
rtnl_lock
rtnl_unlock
@@ -1923,6 +1932,7 @@
__traceiter_android_rvh_typec_tcpci_chk_contaminant
__traceiter_android_rvh_typec_tcpci_get_vbus
__traceiter_android_rvh_uclamp_eff_get
__traceiter_android_rvh_ufs_complete_init
__traceiter_android_rvh_ufs_reprogram_all_keys
__traceiter_android_rvh_util_est_update
__traceiter_android_vh_arch_set_freq_scale
@@ -1956,6 +1966,8 @@
__traceiter_android_vh_ufs_send_tm_command
__traceiter_android_vh_ufs_send_uic_command
__traceiter_android_vh_ufs_update_sysfs
__traceiter_android_vh_usb_dev_resume
__traceiter_android_vh_usb_dev_suspend
__traceiter_clock_set_rate
__traceiter_cpu_frequency
__traceiter_device_pm_callback_end
@@ -1998,6 +2010,7 @@
__tracepoint_android_rvh_typec_tcpci_chk_contaminant
__tracepoint_android_rvh_typec_tcpci_get_vbus
__tracepoint_android_rvh_uclamp_eff_get
__tracepoint_android_rvh_ufs_complete_init
__tracepoint_android_rvh_ufs_reprogram_all_keys
__tracepoint_android_rvh_util_est_update
__tracepoint_android_vh_arch_set_freq_scale
@@ -2031,6 +2044,8 @@
__tracepoint_android_vh_ufs_send_tm_command
__tracepoint_android_vh_ufs_send_uic_command
__tracepoint_android_vh_ufs_update_sysfs
__tracepoint_android_vh_usb_dev_resume
__tracepoint_android_vh_usb_dev_suspend
__tracepoint_clock_set_rate
__tracepoint_cpu_frequency
__tracepoint_device_pm_callback_end

View File

@@ -452,6 +452,7 @@
devres_alloc_node
devres_free
devres_release
dev_set_mac_address
dev_set_name
_dev_warn
disable_irq
@@ -2195,6 +2196,7 @@
usbnet_write_cmd
usbnet_write_cmd_async
usbnet_write_cmd_nopm
usb_os_desc_prepare_interf_dir
usb_put_function
usb_put_function_instance
usb_put_hcd
@@ -2235,6 +2237,7 @@
v4l2_ctrl_request_complete
v4l2_ctrl_request_setup
__v4l2_ctrl_s_ctrl
__v4l2_ctrl_s_ctrl_compound
v4l2_ctrl_subdev_subscribe_event
v4l2_ctrl_subscribe_event
v4l2_device_register

File diff suppressed because it is too large Load Diff

View File

@@ -1784,6 +1784,8 @@
platform_get_resource
platform_get_resource_byname
platform_irq_count
platform_msi_domain_alloc_irqs
platform_msi_domain_free_irqs
pm_clk_add
pm_clk_create
pm_clk_destroy
@@ -1958,6 +1960,7 @@
register_kretprobe
register_memory_notifier
register_module_notifier
register_qdisc
register_netdev
register_netdevice
register_netdevice_notifier
@@ -2086,8 +2089,10 @@
rproc_remove_subdev
rproc_report_crash
rproc_shutdown
rtc_ktime_to_tm
__rtc_register_device
rtc_time64_to_tm
rtc_tm_to_ktime
rtc_tm_to_time64
rtc_update_irq
rt_mutex_lock
@@ -2810,6 +2815,7 @@
unregister_oom_notifier
unregister_pernet_device
unregister_pm_notifier
unregister_qdisc
unregister_reboot_notifier
unregister_restart_handler
unregister_rpmsg_driver
@@ -2983,6 +2989,8 @@
vprintk
vscnprintf
vsnprintf
vsock_addr_init
vsock_remove_sock
vunmap
vzalloc
wait_for_completion

File diff suppressed because it is too large Load Diff

View File

@@ -869,6 +869,7 @@
kstrtou8_from_user
kstrtouint
kstrtouint_from_user
_kstrtoul
kstrtoul_from_user
kstrtoull
kstrtoull_from_user
@@ -1226,6 +1227,8 @@
proc_dointvec_minmax
proc_dostring
proc_douintvec_minmax
profile_event_register
profile_event_unregister
proto_register
proto_unregister
__pskb_pull_tail
@@ -1761,6 +1764,7 @@
__tracepoint_android_rvh_flush_task
__tracepoint_android_rvh_migrate_queued_task
__tracepoint_android_rvh_new_task_stats
__tracepoint_android_rvh_refrigerator
__tracepoint_android_rvh_replace_next_task_fair
__tracepoint_android_rvh_resume_cpus
__tracepoint_android_rvh_sched_cpu_dying
@@ -1786,12 +1790,15 @@
__tracepoint_android_rvh_update_cpus_allowed
__tracepoint_android_rvh_update_misfit_status
__tracepoint_android_rvh_wake_up_new_task
__tracepoint_android_vh_account_task_time
__tracepoint_android_vh_allow_domain_state
__tracepoint_android_vh_binder_restore_priority
__tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_binder_trans
__tracepoint_android_vh_binder_wakeup_ilocked
__tracepoint_android_vh_cpu_idle_enter
__tracepoint_android_vh_cpu_idle_exit
__tracepoint_android_vh_dup_task_struct
__tracepoint_android_vh_ftrace_dump_buffer
__tracepoint_android_vh_ftrace_format_check
__tracepoint_android_vh_ftrace_oops_enter
@@ -1799,6 +1806,7 @@
__tracepoint_android_vh_ftrace_size_check
__tracepoint_android_vh_iommu_setup_dma_ops
__tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_irqtime_account_process_tick
__tracepoint_android_vh_jiffies_update
__tracepoint_android_vh_mmc_attach_sd
__tracepoint_android_vh_mmc_blk_mq_rw_recovery
@@ -1812,10 +1820,13 @@
__tracepoint_android_vh_show_resume_epoch_val
__tracepoint_android_vh_show_suspend_epoch_val
__tracepoint_android_vh_timer_calc_index
__tracepoint_android_vh_tune_scan_type
__tracepoint_android_vh_tune_swappiness
__tracepoint_android_vh_ufs_check_int_errors
__tracepoint_android_vh_ufs_compl_command
__tracepoint_android_vh_ufs_send_command
__tracepoint_android_vh_ufs_update_sdev
__tracepoint_android_vh_vmpressure
__tracepoint_binder_transaction_received
__tracepoint_cpu_frequency_limits
__tracepoint_cpu_idle
@@ -1865,6 +1876,7 @@
ucsi_destroy
ucsi_get_drvdata
ucsi_register
ucsi_send_command
ucsi_set_drvdata
ucsi_unregister
__udelay

View File

@@ -139,6 +139,7 @@ config ARM64
select HAVE_ARCH_JUMP_LABEL
select HAVE_ARCH_JUMP_LABEL_RELATIVE
select HAVE_ARCH_KASAN if !(ARM64_16K_PAGES && ARM64_VA_BITS_48)
select HAVE_ARCH_KASAN_VMALLOC if HAVE_ARCH_KASAN
select HAVE_ARCH_KASAN_SW_TAGS if HAVE_ARCH_KASAN
select HAVE_ARCH_KASAN_HW_TAGS if (HAVE_ARCH_KASAN && ARM64_MTE)
select HAVE_ARCH_KFENCE
@@ -194,6 +195,7 @@ config ARM64
select IOMMU_DMA if IOMMU_SUPPORT
select IRQ_DOMAIN
select IRQ_FORCED_THREADING
select KASAN_VMALLOC if KASAN_GENERIC
select MODULES_USE_ELF_RELA
select NEED_DMA_MAP_STATE
select NEED_SG_DMA_LENGTH

View File

@@ -236,7 +236,6 @@ static inline const void *__tag_set(const void *addr, u8 tag)
#define arch_enable_tagging_async() mte_enable_kernel_async()
#define arch_set_tagging_report_once(state) mte_set_report_once(state)
#define arch_force_async_tag_fault() mte_check_tfsr_exit()
#define arch_init_tags(max_tag) mte_init_tags(max_tag)
#define arch_get_random_tag() mte_get_random_tag()
#define arch_get_mem_tag(addr) mte_get_mem_tag(addr)
#define arch_set_mem_tag_range(addr, size, tag, init) \

View File

@@ -130,7 +130,6 @@ static inline void mte_set_mem_tag_range(void *addr, size_t size, u8 tag,
void mte_enable_kernel_sync(void);
void mte_enable_kernel_async(void);
void mte_init_tags(u64 max_tag);
void mte_set_report_once(bool state);
bool mte_report_once(void);
@@ -165,10 +164,6 @@ static inline void mte_enable_kernel_async(void)
{
}
static inline void mte_init_tags(u64 max_tag)
{
}
static inline void mte_set_report_once(bool state)
{
}

View File

@@ -16,8 +16,6 @@
#include <asm/pgtable-types.h>
extern u64 gcr_kernel_excl;
void mte_clear_page_tags(void *addr);
unsigned long mte_copy_tags_from_user(void *to, const void __user *from,
unsigned long n);
@@ -43,7 +41,6 @@ void mte_copy_page_tags(void *kto, const void *kfrom);
void mte_thread_init_user(void);
void mte_thread_switch(struct task_struct *next);
void mte_suspend_enter(void);
void mte_suspend_exit(void);
long set_mte_ctrl(struct task_struct *task, unsigned long arg);
long get_mte_ctrl(struct task_struct *task);
int mte_ptrace_copy_tags(struct task_struct *child, long request,
@@ -72,9 +69,6 @@ static inline void mte_thread_switch(struct task_struct *next)
static inline void mte_suspend_enter(void)
{
}
static inline void mte_suspend_exit(void)
{
}
static inline long set_mte_ctrl(struct task_struct *task, unsigned long arg)
{
return 0;
@@ -105,11 +99,17 @@ void mte_check_tfsr_el1(void);
static inline void mte_check_tfsr_entry(void)
{
if (!system_supports_mte())
return;
mte_check_tfsr_el1();
}
static inline void mte_check_tfsr_exit(void)
{
if (!system_supports_mte())
return;
/*
* The asynchronous faults are sync'ed automatically with
* TFSR_EL1 on kernel entry but for exit an explicit dsb()

View File

@@ -11,6 +11,7 @@
#include <linux/bits.h>
#include <linux/stringify.h>
#include <linux/kasan-tags.h>
/*
* ARMv8 ARM reserves the following encoding for system registers:
@@ -1044,6 +1045,21 @@
#define SYS_GCR_EL1_RRND (BIT(16))
#define SYS_GCR_EL1_EXCL_MASK 0xffffUL
#ifdef CONFIG_KASAN_HW_TAGS
/*
* KASAN always uses a whole byte for its tags. With CONFIG_KASAN_HW_TAGS it
* only uses tags in the range 0xF0-0xFF, which we map to MTE tags 0x0-0xF.
*/
#define __MTE_TAG_MIN (KASAN_TAG_MIN & 0xf)
#define __MTE_TAG_MAX (KASAN_TAG_MAX & 0xf)
#define __MTE_TAG_INCL GENMASK(__MTE_TAG_MAX, __MTE_TAG_MIN)
#define KERNEL_GCR_EL1_EXCL (SYS_GCR_EL1_EXCL_MASK & ~__MTE_TAG_INCL)
#else
#define KERNEL_GCR_EL1_EXCL SYS_GCR_EL1_EXCL_MASK
#endif
#define KERNEL_GCR_EL1 (SYS_GCR_EL1_RRND | KERNEL_GCR_EL1_EXCL)
/* RGSR_EL1 Definitions */
#define SYS_RGSR_EL1_TAG_MASK 0xfUL
#define SYS_RGSR_EL1_SEED_SHIFT 8

View File

@@ -193,21 +193,20 @@ alternative_else_nop_endif
.macro mte_set_kernel_gcr, tmp, tmp2
#ifdef CONFIG_KASAN_HW_TAGS
alternative_if_not ARM64_MTE
alternative_cb kasan_hw_tags_enable
b 1f
alternative_else_nop_endif
ldr_l \tmp, gcr_kernel_excl
mte_set_gcr \tmp, \tmp2
alternative_cb_end
mov \tmp, KERNEL_GCR_EL1
msr_s SYS_GCR_EL1, \tmp
1:
#endif
.endm
.macro mte_set_user_gcr, tsk, tmp, tmp2
#ifdef CONFIG_ARM64_MTE
alternative_if_not ARM64_MTE
#ifdef CONFIG_KASAN_HW_TAGS
alternative_cb kasan_hw_tags_enable
b 1f
alternative_else_nop_endif
alternative_cb_end
ldr \tmp, [\tsk, #THREAD_MTE_CTRL]
mte_set_gcr \tmp, \tmp2

View File

@@ -128,15 +128,17 @@ u64 __init kaslr_early_init(void)
/* use the top 16 bits to randomize the linear region */
memstart_offset_seed = seed >> 48;
if (IS_ENABLED(CONFIG_KASAN_GENERIC) ||
IS_ENABLED(CONFIG_KASAN_SW_TAGS))
if (!IS_ENABLED(CONFIG_KASAN_VMALLOC) &&
(IS_ENABLED(CONFIG_KASAN_GENERIC) ||
IS_ENABLED(CONFIG_KASAN_SW_TAGS)))
/*
* KASAN does not expect the module region to intersect the
* vmalloc region, since shadow memory is allocated for each
* module at load time, whereas the vmalloc region is shadowed
* by KASAN zero pages. So keep modules out of the vmalloc
* region if KASAN is enabled, and put the kernel well within
* 4 GB of the module region.
* KASAN without KASAN_VMALLOC does not expect the module region
* to intersect the vmalloc region, since shadow memory is
* allocated for each module at load time, whereas the vmalloc
* region is shadowed by KASAN zero pages. So keep modules
* out of the vmalloc region if KASAN is enabled without
* KASAN_VMALLOC, and put the kernel well within 4 GB of the
* module region.
*/
return offset % SZ_2G;

View File

@@ -40,14 +40,16 @@ void *module_alloc(unsigned long size)
NUMA_NO_NODE, __builtin_return_address(0));
if (!p && IS_ENABLED(CONFIG_ARM64_MODULE_PLTS) &&
!IS_ENABLED(CONFIG_KASAN_GENERIC) &&
!IS_ENABLED(CONFIG_KASAN_SW_TAGS))
(IS_ENABLED(CONFIG_KASAN_VMALLOC) ||
(!IS_ENABLED(CONFIG_KASAN_GENERIC) &&
!IS_ENABLED(CONFIG_KASAN_SW_TAGS))))
/*
* KASAN can only deal with module allocations being served
* from the reserved module region, since the remainder of
* the vmalloc region is already backed by zero shadow pages,
* and punching holes into it is non-trivial. Since the module
* region is not randomized when KASAN is enabled, it is even
* KASAN without KASAN_VMALLOC can only deal with module
* allocations being served from the reserved module region,
* since the remainder of the vmalloc region is already
* backed by zero shadow pages, and punching holes into it
* is non-trivial. Since the module region is not randomized
* when KASAN is enabled without KASAN_VMALLOC, it is even
* less likely that the module region gets exhausted, so we
* can simply omit this fallback in that case.
*/

View File

@@ -23,8 +23,6 @@
#include <asm/ptrace.h>
#include <asm/sysreg.h>
u64 gcr_kernel_excl __ro_after_init;
static bool report_fault_once = true;
static DEFINE_PER_CPU_READ_MOSTLY(u64, mte_tcf_preferred);
@@ -96,26 +94,6 @@ int memcmp_pages(struct page *page1, struct page *page2)
return ret;
}
void mte_init_tags(u64 max_tag)
{
static bool gcr_kernel_excl_initialized;
if (!gcr_kernel_excl_initialized) {
/*
* The format of the tags in KASAN is 0xFF and in MTE is 0xF.
* This conversion extracts an MTE tag from a KASAN tag.
*/
u64 incl = GENMASK(FIELD_GET(MTE_TAG_MASK >> MTE_TAG_SHIFT,
max_tag), 0);
gcr_kernel_excl = ~incl & SYS_GCR_EL1_EXCL_MASK;
gcr_kernel_excl_initialized = true;
}
/* Enable the kernel exclude mask for random tags generation. */
write_sysreg_s(SYS_GCR_EL1_RRND | gcr_kernel_excl, SYS_GCR_EL1);
}
static inline void __mte_enable_kernel(const char *mode, unsigned long tcf)
{
/* Enable MTE Sync Mode for EL1. */
@@ -168,12 +146,7 @@ bool mte_report_once(void)
#ifdef CONFIG_KASAN_HW_TAGS
void mte_check_tfsr_el1(void)
{
u64 tfsr_el1;
if (!system_supports_mte())
return;
tfsr_el1 = read_sysreg_s(SYS_TFSR_EL1);
u64 tfsr_el1 = read_sysreg_s(SYS_TFSR_EL1);
if (unlikely(tfsr_el1 & SYS_TFSR_EL1_TF1)) {
/*
@@ -210,6 +183,30 @@ static void mte_update_sctlr_user(struct task_struct *task)
task->thread.sctlr_user = sctlr;
}
static void mte_update_gcr_excl(struct task_struct *task)
{
/*
* SYS_GCR_EL1 will be set to current->thread.mte_ctrl value by
* mte_set_user_gcr() in kernel_exit, but only if KASAN is enabled.
*/
if (kasan_hw_tags_enabled())
return;
write_sysreg_s(
((task->thread.mte_ctrl >> MTE_CTRL_GCR_USER_EXCL_SHIFT) &
SYS_GCR_EL1_EXCL_MASK) | SYS_GCR_EL1_RRND,
SYS_GCR_EL1);
}
void __init kasan_hw_tags_enable(struct alt_instr *alt, __le32 *origptr,
__le32 *updptr, int nr_inst)
{
BUG_ON(nr_inst != 1); /* Branch -> NOP */
if (kasan_hw_tags_enabled())
*updptr = cpu_to_le32(aarch64_insn_gen_nop());
}
void mte_thread_init_user(void)
{
if (!system_supports_mte())
@@ -225,7 +222,11 @@ void mte_thread_init_user(void)
void mte_thread_switch(struct task_struct *next)
{
if (!system_supports_mte())
return;
mte_update_sctlr_user(next);
mte_update_gcr_excl(next);
/*
* Check if an async tag exception occurred at EL1.
@@ -254,15 +255,6 @@ void mte_suspend_enter(void)
mte_check_tfsr_el1();
}
void mte_suspend_exit(void)
{
if (!system_supports_mte())
return;
sysreg_clear_set_s(SYS_GCR_EL1, SYS_GCR_EL1_EXCL_MASK, gcr_kernel_excl);
isb();
}
long set_mte_ctrl(struct task_struct *task, unsigned long arg)
{
u64 mte_ctrl = (~((arg & PR_MTE_TAG_MASK) >> PR_MTE_TAG_SHIFT) &
@@ -280,6 +272,7 @@ long set_mte_ctrl(struct task_struct *task, unsigned long arg)
if (task == current) {
preempt_disable();
mte_update_sctlr_user(task);
mte_update_gcr_excl(task);
update_sctlr_el1(task->thread.sctlr_user);
preempt_enable();
}

View File

@@ -76,7 +76,6 @@ void notrace __cpu_suspend_exit(void)
spectre_v4_enable_mitigation(NULL);
/* Restore additional feature-specific configuration */
mte_suspend_exit();
ptrauth_suspend_exit();
}

View File

@@ -214,15 +214,18 @@ static void __init kasan_init_shadow(void)
{
u64 kimg_shadow_start, kimg_shadow_end;
u64 mod_shadow_start, mod_shadow_end;
u64 vmalloc_shadow_end;
phys_addr_t pa_start, pa_end;
u64 i;
kimg_shadow_start = (u64)kasan_mem_to_shadow(_text) & PAGE_MASK;
kimg_shadow_end = PAGE_ALIGN((u64)kasan_mem_to_shadow(_end));
kimg_shadow_start = (u64)kasan_mem_to_shadow(KERNEL_START) & PAGE_MASK;
kimg_shadow_end = PAGE_ALIGN((u64)kasan_mem_to_shadow(KERNEL_END));
mod_shadow_start = (u64)kasan_mem_to_shadow((void *)MODULES_VADDR);
mod_shadow_end = (u64)kasan_mem_to_shadow((void *)MODULES_END);
vmalloc_shadow_end = (u64)kasan_mem_to_shadow((void *)VMALLOC_END);
/*
* We are going to perform proper setup of shadow memory.
* At first we should unmap early shadow (clear_pgds() call below).
@@ -237,16 +240,22 @@ static void __init kasan_init_shadow(void)
clear_pgds(KASAN_SHADOW_START, KASAN_SHADOW_END);
kasan_map_populate(kimg_shadow_start, kimg_shadow_end,
early_pfn_to_nid(virt_to_pfn(lm_alias(_text))));
early_pfn_to_nid(virt_to_pfn(lm_alias(KERNEL_START))));
kasan_populate_early_shadow(kasan_mem_to_shadow((void *)PAGE_END),
(void *)mod_shadow_start);
kasan_populate_early_shadow((void *)kimg_shadow_end,
(void *)KASAN_SHADOW_END);
if (kimg_shadow_start > mod_shadow_end)
kasan_populate_early_shadow((void *)mod_shadow_end,
(void *)kimg_shadow_start);
if (IS_ENABLED(CONFIG_KASAN_VMALLOC)) {
BUILD_BUG_ON(VMALLOC_START != MODULES_END);
kasan_populate_early_shadow((void *)vmalloc_shadow_end,
(void *)KASAN_SHADOW_END);
} else {
kasan_populate_early_shadow((void *)kimg_shadow_end,
(void *)KASAN_SHADOW_END);
if (kimg_shadow_start > mod_shadow_end)
kasan_populate_early_shadow((void *)mod_shadow_end,
(void *)kimg_shadow_start);
}
for_each_mem_range(i, &pa_start, &pa_end) {
void *start = (void *)__phys_to_virt(pa_start);

View File

@@ -1501,6 +1501,11 @@ int arch_add_memory(int nid, u64 start, u64 size,
if (ret)
__remove_pgd_mapping(swapper_pg_dir,
__phys_to_virt(start), size);
else {
max_pfn = PFN_UP(start + size);
max_low_pfn = max_pfn;
}
return ret;
}

View File

@@ -445,8 +445,7 @@ SYM_FUNC_START(__cpu_setup)
mov x10, #MAIR_ATTR_NORMAL_TAGGED
bfi x5, x10, #(8 * MT_NORMAL_TAGGED), #8
/* initialize GCR_EL1: all non-zero tags excluded by default */
mov x10, #(SYS_GCR_EL1_RRND | SYS_GCR_EL1_EXCL_MASK)
mov x10, #KERNEL_GCR_EL1
msr_s SYS_GCR_EL1, x10
/*

Some files were not shown because too many files have changed in this diff Show More