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

Sync up with android12-5.10 for the following commits:

90732d426e UPSTREAM: mm/compaction: correct deferral logic for proactive compaction
d0a88ae479 ANDROID: Enable GKI Dr. No Enforcement
e6a59da61e ANDROID: media: v4l2-core: Fix deadlock in vendor hook
fdb1cfe2d3 FROMGIT: dma_buf: remove dmabuf sysfs teardown before release
1dc0dd2573 ANDROID: update mtk symbol list
a669748346 UPSTREAM: mfd: syscon: Free the allocated name field of struct regmap_config
cffe67a351 ANDROID: Give UIC cmd timeout a larger value
3bca0b5344 ANDROID: binder: retry security_secid_to_secctx()
9fdfeda4c9 ANDROID: update new gki symbol for mtk
1dd167be9f ANDROID: mm, kasan: fix for "integrate page_alloc init with HW_TAGS"
f215850ea0 UPSTREAM: kasan: fix conflict with page poisoning
a3da917661 ANDROID: GKI: Export two more mm symbols for GKI
0497b9601b ANDROID: Update symbol list for mtk
0f27e1d317 FROMLIST: kfence: skip all GFP_ZONEMASK allocations
8478d8dc53 FROMLIST: kfence: move the size check to the beginning of __kfence_alloc()
ddabf14bea ANDROID: ABI: update allowed list for galaxy
11cec52238 FROMGIT: f2fs: add sysfs nodes to get GC info for each GC mode
fdc46110cb ANDROID: abi_gki_aarch64_qcom: Add android_debug_for_each_module
0bb433e014 ANDROID: debug_symbols: Add android_debug_for_each_module
a0429aa1d0 ANDROID: ABI: Update ABI for symbol list updates
c68e5ca9f8 ANDROID: GKI: Update symbols to symbol list
aac5a77959 ANDROID: Update symbol list for mtk
42fc1faf44 UPSTREAM: block, bfq: set next_rq to waker_bfqq->next_rq in waker injection
e37cc8a09f UPSTREAM: mm/mremap: hold the rmap lock in write mode when moving page table entries.
9b136eab76 ANDROID: pstore/ram: Add backward compatibility for ramoops reserved region
df97297651 ANDROID: Update symbol list for mtk
4322bb07e8 ANDROID: vendor_hooks: Modify the function name
007213b1d0 BACKPORT: FROMLIST: kasan: add memzero int for unaligned size at DEBUG
7acbce0bf4 BACKPORT: FROMLIST: mm: move helper to check slub_debug_enabled
d6eeae59b5 ANDROID: ABI: initial update allowed list for galaxy

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6d28f1be3cbd8a1fed86d2d647e6c2bb55221b0a
This commit is contained in:
Greg Kroah-Hartman
2021-07-22 13:31:35 +02:00
54 changed files with 7314 additions and 270 deletions

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/Documentation/ABI/testing/OWNERS

View File

@@ -493,3 +493,17 @@ Contact: "Chao Yu" <yuchao0@huawei.com>
Description: When ATGC is on, it controls age threshold to bypass GCing young Description: When ATGC is on, it controls age threshold to bypass GCing young
candidates whose age is not beyond the threshold, by default it was candidates whose age is not beyond the threshold, by default it was
initialized as 604800 seconds (equals to 7 days). initialized as 604800 seconds (equals to 7 days).
What: /sys/fs/f2fs/<disk>/gc_reclaimed_segments
Date: July 2021
Contact: "Daeho Jeong" <daehojeong@google.com>
Description: Show how many segments have been reclaimed by GC during a specific
GC mode (0: GC normal, 1: GC idle CB, 2: GC idle greedy,
3: GC idle AT, 4: GC urgent high, 5: GC urgent low)
You can re-initialize this value to "0".
What: /sys/fs/f2fs/<disk>/gc_segment_mode
Date: July 2021
Contact: "Daeho Jeong" <daehojeong@google.com>
Description: You can control for which gc mode the "gc_reclaimed_segments" node shows.
Refer to the description of the modes in "gc_reclaimed_segments".

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/Documentation/filesystems/OWNERS

17
OWNERS
View File

@@ -1,2 +1,15 @@
# include OWNERS from the authoritative android-mainline branch set noparent
include kernel/common:android-mainline:/OWNERS
# GKI Dr. No Enforcement is active on this branch. Approval of one of the
# following persons is required following a regular CodeReview+2 vote of a code
# reviewer.
#
# See the GKI release documentation (go/gki-dr-no) for further details.
adelva@google.com
maennich@google.com
malchev@google.com
saravanak@google.com
smuckle@google.com
sspatil@google.com
tkjos@google.com

View File

@@ -1,12 +0,0 @@
# If we ever add another OWNERS above this directory, it's likely to be
# more permissive, so don't inherit from it
set noparent
adelva@google.com
maennich@google.com
saravanak@google.com
sspatil@google.com
tkjos@google.com
willmcvicker@google.com
# Downstream boards maintained directly in this manifest branch
per-file abi_gki_aarch64_cuttlefish = adelva@google.com, rammuthiah@google.com
per-file abi_gki_aarch64_goldfish = rkir@google.com

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -15,15 +15,19 @@
__alloc_disk_node __alloc_disk_node
alloc_etherdev_mqs alloc_etherdev_mqs
alloc_io_pgtable_ops alloc_io_pgtable_ops
alloc_netdev_mqs
alloc_pages_exact alloc_pages_exact
__alloc_pages_nodemask __alloc_pages_nodemask
__alloc_percpu __alloc_percpu
__alloc_percpu_gfp
__alloc_skb __alloc_skb
alloc_workqueue alloc_workqueue
android_debug_symbol android_debug_symbol
android_rvh_probe_register android_rvh_probe_register
anon_inode_getfd anon_inode_getfd
anon_inode_getfile anon_inode_getfile
arc4_crypt
arc4_setkey
__arch_copy_from_user __arch_copy_from_user
__arch_copy_to_user __arch_copy_to_user
arch_timer_read_counter arch_timer_read_counter
@@ -32,6 +36,7 @@
__arm_smccc_hvc __arm_smccc_hvc
__arm_smccc_smc __arm_smccc_smc
arp_tbl arp_tbl
async_schedule_node
atomic_notifier_call_chain atomic_notifier_call_chain
atomic_notifier_chain_register atomic_notifier_chain_register
atomic_notifier_chain_unregister atomic_notifier_chain_unregister
@@ -65,6 +70,7 @@
blocking_notifier_call_chain blocking_notifier_call_chain
blocking_notifier_chain_register blocking_notifier_chain_register
blocking_notifier_chain_unregister blocking_notifier_chain_unregister
bpf_trace_run10
bpf_trace_run12 bpf_trace_run12
bpf_trace_run1 bpf_trace_run1
bpf_trace_run2 bpf_trace_run2
@@ -78,6 +84,7 @@
bus_register bus_register
bus_set_iommu bus_set_iommu
bus_unregister bus_unregister
call_rcu
cancel_delayed_work cancel_delayed_work
cancel_delayed_work_sync cancel_delayed_work_sync
cancel_work_sync cancel_work_sync
@@ -88,8 +95,6 @@
cdev_device_del cdev_device_del
cdev_init cdev_init
__cfi_slowpath __cfi_slowpath
cgroup_taskset_first
cgroup_taskset_next
__check_object_size __check_object_size
check_preempt_curr check_preempt_curr
__class_create __class_create
@@ -212,21 +217,36 @@
cpus_read_unlock cpus_read_unlock
cpu_subsys cpu_subsys
cpu_topology cpu_topology
crc32_be
crc32_le crc32_le
crc8 crc8
crc8_populate_msb crc8_populate_msb
crypto_aead_decrypt
crypto_aead_encrypt
crypto_aead_setauthsize
crypto_aead_setkey
crypto_alloc_aead
crypto_alloc_base crypto_alloc_base
crypto_alloc_shash crypto_alloc_shash
crypto_alloc_skcipher
crypto_comp_compress crypto_comp_compress
crypto_comp_decompress crypto_comp_decompress
crypto_destroy_tfm crypto_destroy_tfm
crypto_has_alg crypto_has_alg
__crypto_memneq
crypto_register_alg crypto_register_alg
crypto_register_scomp crypto_register_scomp
crypto_shash_digest
crypto_shash_final crypto_shash_final
crypto_shash_finup
crypto_shash_setkey
crypto_shash_update crypto_shash_update
crypto_skcipher_decrypt
crypto_skcipher_encrypt
crypto_skcipher_setkey
crypto_unregister_alg crypto_unregister_alg
crypto_unregister_scomp crypto_unregister_scomp
__crypto_xor
_ctype _ctype
dapm_clock_event dapm_clock_event
dapm_kcontrol_get_value dapm_kcontrol_get_value
@@ -244,9 +264,11 @@
debugfs_create_u16 debugfs_create_u16
debugfs_create_u32 debugfs_create_u32
debugfs_create_u64 debugfs_create_u64
debugfs_create_u8
debugfs_create_x32 debugfs_create_x32
debugfs_lookup debugfs_lookup
debugfs_remove debugfs_remove
debugfs_rename
dec_zone_page_state dec_zone_page_state
default_llseek default_llseek
deferred_free deferred_free
@@ -255,11 +277,15 @@
del_timer del_timer
del_timer_sync del_timer_sync
destroy_workqueue destroy_workqueue
dev_alloc_name
dev_base_lock dev_base_lock
dev_change_net_namespace
dev_close
dev_driver_string dev_driver_string
_dev_emerg _dev_emerg
_dev_err _dev_err
dev_err_probe dev_err_probe
dev_fetch_sw_netstats
devfreq_add_governor devfreq_add_governor
devfreq_get_devfreq_by_phandle devfreq_get_devfreq_by_phandle
devfreq_monitor_resume devfreq_monitor_resume
@@ -273,6 +299,8 @@
devfreq_suspend_device devfreq_suspend_device
devfreq_update_interval devfreq_update_interval
dev_fwnode dev_fwnode
__dev_get_by_index
dev_get_by_index
dev_get_regmap dev_get_regmap
dev_get_stats dev_get_stats
device_add device_add
@@ -611,6 +639,7 @@
em_dev_register_perf_domain em_dev_register_perf_domain
enable_irq enable_irq
enable_percpu_irq enable_percpu_irq
ether_setup
eth_header eth_header
eth_header_cache eth_header_cache
eth_header_cache_update eth_header_cache_update
@@ -619,6 +648,7 @@
eth_platform_get_mac_address eth_platform_get_mac_address
ethtool_op_get_link ethtool_op_get_link
ethtool_op_get_ts_info ethtool_op_get_ts_info
eth_type_trans
eth_validate_addr eth_validate_addr
event_triggers_call event_triggers_call
extcon_get_edev_by_phandle extcon_get_edev_by_phandle
@@ -660,16 +690,26 @@
freq_qos_add_request freq_qos_add_request
freq_qos_remove_request freq_qos_remove_request
freq_qos_update_request freq_qos_update_request
fsg_common_create_luns
fsg_common_set_cdev
fsg_common_set_inquiry_string
fsg_common_set_sysfs
fsg_config_from_params
fsync_bdev fsync_bdev
fwnode_handle_get fwnode_handle_get
fwnode_handle_put fwnode_handle_put
fwnode_property_present fwnode_property_present
fwnode_property_read_string fwnode_property_read_string
fwnode_property_read_u32_array fwnode_property_read_u32_array
gcd
generic_file_llseek generic_file_llseek
generic_handle_irq generic_handle_irq
generic_iommu_put_resv_regions generic_iommu_put_resv_regions
generic_mii_ioctl generic_mii_ioctl
genlmsg_multicast_allns
genlmsg_put
genl_register_family
genl_unregister_family
genphy_resume genphy_resume
gen_pool_add_owner gen_pool_add_owner
gen_pool_alloc_algo_owner gen_pool_alloc_algo_owner
@@ -689,9 +729,12 @@
get_cpu_iowait_time_us get_cpu_iowait_time_us
get_device get_device
get_each_dmabuf get_each_dmabuf
get_freelist_nr_pages
__get_free_pages __get_free_pages
get_governor_parent_kobj get_governor_parent_kobj
get_kernel_pages get_kernel_pages
get_net_ns_by_fd
get_net_ns_by_pid
get_pid_task get_pid_task
get_random_bytes get_random_bytes
get_random_u32 get_random_u32
@@ -739,6 +782,9 @@
hrtimer_init hrtimer_init
hrtimer_start_range_ns hrtimer_start_range_ns
hrtimer_try_to_cancel hrtimer_try_to_cancel
__hw_addr_init
__hw_addr_sync
__hw_addr_unsync
i2c_add_adapter i2c_add_adapter
i2c_del_adapter i2c_del_adapter
i2c_del_driver i2c_del_driver
@@ -749,6 +795,7 @@
i2c_smbus_read_i2c_block_data i2c_smbus_read_i2c_block_data
i2c_smbus_write_byte_data i2c_smbus_write_byte_data
i2c_smbus_write_i2c_block_data i2c_smbus_write_i2c_block_data
i2c_smbus_write_word_data
i2c_transfer i2c_transfer
i2c_transfer_buffer_flags i2c_transfer_buffer_flags
i2c_unregister_device i2c_unregister_device
@@ -789,6 +836,7 @@
iio_trigger_notify_done iio_trigger_notify_done
inc_zone_page_state inc_zone_page_state
in_egroup_p in_egroup_p
inet_csk_get_port
init_net init_net
init_pseudo init_pseudo
__init_rwsem __init_rwsem
@@ -862,12 +910,17 @@
kasprintf kasprintf
kernel_cpustat kernel_cpustat
kernel_kobj kernel_kobj
kernel_param_lock
kernel_param_unlock
kernel_power_off kernel_power_off
kernel_restart kernel_restart
kernel_sigaction kernel_sigaction
kernfs_path_from_node kernfs_path_from_node
kern_mount kern_mount
kern_unmount kern_unmount
key_create_or_update
key_put
keyring_alloc
__kfifo_alloc __kfifo_alloc
__kfifo_free __kfifo_free
__kfifo_in __kfifo_in
@@ -877,6 +930,7 @@
kfree_const kfree_const
kfree_sensitive kfree_sensitive
kfree_skb kfree_skb
kfree_skb_list
kill_anon_super kill_anon_super
kimage_vaddr kimage_vaddr
kimage_voffset kimage_voffset
@@ -888,6 +942,7 @@
kmem_cache_create kmem_cache_create
kmem_cache_destroy kmem_cache_destroy
kmem_cache_free kmem_cache_free
kmemdup
kobject_add kobject_add
kobject_create_and_add kobject_create_and_add
kobject_init kobject_init
@@ -896,7 +951,6 @@
kobject_uevent kobject_uevent
kobject_uevent_env kobject_uevent_env
krealloc krealloc
kset_find_obj
kstrdup kstrdup
kstrdup_const kstrdup_const
kstrndup kstrndup
@@ -930,9 +984,11 @@
kthread_stop kthread_stop
kthread_worker_fn kthread_worker_fn
ktime_get ktime_get
ktime_get_coarse_with_offset
ktime_get_mono_fast_ns ktime_get_mono_fast_ns
ktime_get_raw_ts64 ktime_get_raw_ts64
ktime_get_real_ts64 ktime_get_real_ts64
ktime_get_seconds
ktime_get_ts64 ktime_get_ts64
ktime_get_with_offset ktime_get_with_offset
kvfree kvfree
@@ -1066,6 +1122,7 @@
__netdev_alloc_skb __netdev_alloc_skb
netdev_err netdev_err
netdev_info netdev_info
netdev_set_default_ethtool_ops
netdev_warn netdev_warn
netif_carrier_off netif_carrier_off
netif_carrier_on netif_carrier_on
@@ -1074,12 +1131,25 @@
netif_receive_skb_list netif_receive_skb_list
netif_rx netif_rx
netif_rx_ni netif_rx_ni
netif_tx_stop_all_queues
netif_tx_wake_queue netif_tx_wake_queue
netlink_broadcast
__netlink_kernel_create __netlink_kernel_create
netlink_register_notifier
netlink_unicast netlink_unicast
netlink_unregister_notifier
net_namespace_list net_namespace_list
net_ns_type_operations
net_ratelimit
nf_register_net_hooks nf_register_net_hooks
nf_unregister_net_hooks nf_unregister_net_hooks
nla_find
nla_memcpy
__nla_parse
nla_put_64bit
nla_put
nla_reserve
__nla_validate
__nlmsg_put __nlmsg_put
no_llseek no_llseek
nonseekable_open nonseekable_open
@@ -1183,6 +1253,7 @@
__page_pinner_migration_failed __page_pinner_migration_failed
panic panic
panic_notifier_list panic_notifier_list
param_array_ops
param_get_bool param_get_bool
param_get_charp param_get_charp
param_get_int param_get_int
@@ -1292,6 +1363,8 @@
power_supply_register power_supply_register
power_supply_reg_notifier power_supply_reg_notifier
power_supply_set_property power_supply_set_property
prandom_bytes
prandom_u32
preempt_schedule preempt_schedule
preempt_schedule_notrace preempt_schedule_notrace
prepare_to_wait_event prepare_to_wait_event
@@ -1305,8 +1378,11 @@
proc_remove proc_remove
proc_set_user proc_set_user
pskb_expand_head pskb_expand_head
__pskb_pull_tail
___pskb_trim
put_device put_device
put_disk put_disk
__put_net
__put_page __put_page
put_pid put_pid
__put_task_struct __put_task_struct
@@ -1347,6 +1423,7 @@
rb_first rb_first
rb_insert_color rb_insert_color
rb_next rb_next
rcu_barrier
rcu_idle_enter rcu_idle_enter
rcu_idle_exit rcu_idle_exit
__rcu_read_lock __rcu_read_lock
@@ -1364,10 +1441,15 @@
__register_chrdev __register_chrdev
register_chrdev_region register_chrdev_region
register_die_notifier register_die_notifier
register_inet6addr_notifier
register_inetaddr_notifier
register_kprobe register_kprobe
register_module_notifier register_module_notifier
register_netdev register_netdev
register_netdevice
register_netdevice_notifier
register_oom_notifier register_oom_notifier
register_pernet_device
register_pernet_subsys register_pernet_subsys
register_pm_notifier register_pm_notifier
register_reboot_notifier register_reboot_notifier
@@ -1394,6 +1476,7 @@
regulator_enable_regmap regulator_enable_regmap
regulator_get regulator_get
regulator_get_current_limit_regmap regulator_get_current_limit_regmap
regulator_get_mode
regulator_get_optional regulator_get_optional
regulator_get_voltage regulator_get_voltage
regulator_get_voltage_sel_regmap regulator_get_voltage_sel_regmap
@@ -1425,6 +1508,7 @@
remove_proc_subtree remove_proc_subtree
remove_wait_queue remove_wait_queue
request_firmware request_firmware
request_firmware_nowait
__request_percpu_irq __request_percpu_irq
request_threaded_irq request_threaded_irq
reset_control_assert reset_control_assert
@@ -1433,6 +1517,24 @@
reset_control_reset reset_control_reset
resume_cpus resume_cpus
revalidate_disk_size revalidate_disk_size
rfkill_alloc
rfkill_blocked
rfkill_destroy
rfkill_pause_polling
rfkill_register
rfkill_resume_polling
rfkill_set_hw_state
rfkill_unregister
rhashtable_free_and_destroy
rhashtable_insert_slow
rhltable_init
__rht_bucket_nested
rht_bucket_nested
rht_bucket_nested_insert
root_task_group
round_jiffies
round_jiffies_relative
round_jiffies_up
rpmsg_create_ept rpmsg_create_ept
rpmsg_destroy_ept rpmsg_destroy_ept
rpmsg_register_device rpmsg_register_device
@@ -1454,6 +1556,9 @@
rtc_tm_to_time64 rtc_tm_to_time64
rtc_update_irq rtc_update_irq
rtc_valid_tm rtc_valid_tm
rtnl_is_locked
rtnl_lock
rtnl_unlock
runqueues runqueues
sched_clock sched_clock
sched_feat_keys sched_feat_keys
@@ -1464,13 +1569,18 @@
sched_uclamp_used sched_uclamp_used
schedule schedule
schedule_timeout schedule_timeout
schedutil_cpu_util
scmi_driver_register scmi_driver_register
scmi_driver_unregister scmi_driver_unregister
scmi_protocol_register scmi_protocol_register
scnprintf scnprintf
scsi_autopm_get_device
scsi_autopm_put_device
scsi_device_get
scsi_device_put
scsi_device_quiesce scsi_device_quiesce
__scsi_execute
__scsi_iterate_devices __scsi_iterate_devices
scsi_print_sense_hdr
sdio_signal_irq sdio_signal_irq
send_sig send_sig
seq_hex_dump seq_hex_dump
@@ -1522,16 +1632,24 @@
single_open single_open
single_release single_release
skb_add_rx_frag skb_add_rx_frag
skb_checksum_help
skb_clone skb_clone
skb_clone_sk
skb_complete_wifi_ack
skb_copy skb_copy
skb_copy_bits
skb_copy_expand skb_copy_expand
skb_dequeue
skb_ensure_writable
__skb_get_hash
__skb_gso_segment
skb_pull skb_pull
skb_push skb_push
skb_put skb_put
skb_queue_head
skb_queue_purge
skb_queue_tail skb_queue_tail
skb_trim skb_trim
smp_call_function
smp_call_function_single
snd_card_add_dev_attr snd_card_add_dev_attr
snd_ctl_boolean_mono_info snd_ctl_boolean_mono_info
snd_jack_set_key snd_jack_set_key
@@ -1585,6 +1703,8 @@
snprintf snprintf
soc_device_register soc_device_register
soc_device_unregister soc_device_unregister
__sock_create
sock_release
sort sort
__spi_alloc_controller __spi_alloc_controller
spi_bus_type spi_bus_type
@@ -1615,11 +1735,13 @@
static_key_slow_dec static_key_slow_dec
static_key_slow_inc static_key_slow_inc
stop_one_cpu_nowait stop_one_cpu_nowait
stpcpy
strcasecmp strcasecmp
strchr strchr
strcmp strcmp
strcpy strcpy
strcspn strcspn
strim
strlcat strlcat
strlcpy strlcpy
strlen strlen
@@ -1636,8 +1758,10 @@
strsep strsep
strstr strstr
suspend_set_ops suspend_set_ops
__sw_hweight16
__sw_hweight32 __sw_hweight32
__sw_hweight64 __sw_hweight64
__sw_hweight8
sync_file_create sync_file_create
sync_file_get_fence sync_file_get_fence
synchronize_irq synchronize_irq
@@ -1658,6 +1782,7 @@
sysfs_remove_link sysfs_remove_link
sysfs_streq sysfs_streq
system_freezable_power_efficient_wq system_freezable_power_efficient_wq
system_freezable_wq
system_freezing_cnt system_freezing_cnt
system_highpri_wq system_highpri_wq
system_power_efficient_wq system_power_efficient_wq
@@ -1707,13 +1832,13 @@
__traceiter_android_rvh_setscheduler __traceiter_android_rvh_setscheduler
__traceiter_android_rvh_set_user_nice __traceiter_android_rvh_set_user_nice
__traceiter_android_rvh_tick_entry __traceiter_android_rvh_tick_entry
__traceiter_android_rvh_uclamp_eff_get
__traceiter_android_vh_alter_futex_plist_add __traceiter_android_vh_alter_futex_plist_add
__traceiter_android_vh_alter_rwsem_list_add __traceiter_android_vh_alter_rwsem_list_add
__traceiter_android_vh_arch_set_freq_scale __traceiter_android_vh_arch_set_freq_scale
__traceiter_android_vh_binder_restore_priority __traceiter_android_vh_binder_restore_priority
__traceiter_android_vh_binder_set_priority __traceiter_android_vh_binder_set_priority
__traceiter_android_vh_binder_transaction_init __traceiter_android_vh_binder_transaction_init
__traceiter_android_vh_cgroup_attach
__traceiter_android_vh_cgroup_set_task __traceiter_android_vh_cgroup_set_task
__traceiter_android_vh_commit_creds __traceiter_android_vh_commit_creds
__traceiter_android_vh_em_cpu_energy __traceiter_android_vh_em_cpu_energy
@@ -1721,7 +1846,6 @@
__traceiter_android_vh_finish_update_load_avg_se __traceiter_android_vh_finish_update_load_avg_se
__traceiter_android_vh_iommu_alloc_iova __traceiter_android_vh_iommu_alloc_iova
__traceiter_android_vh_iommu_free_iova __traceiter_android_vh_iommu_free_iova
__traceiter_android_vh_is_fpsimd_save
__traceiter_android_vh_logbuf __traceiter_android_vh_logbuf
__traceiter_android_vh_override_creds __traceiter_android_vh_override_creds
__traceiter_android_vh_prepare_update_load_avg_se __traceiter_android_vh_prepare_update_load_avg_se
@@ -1749,7 +1873,7 @@
__traceiter_rwmmio_read __traceiter_rwmmio_read
__traceiter_rwmmio_write __traceiter_rwmmio_write
__traceiter_sched_update_nr_running_tp __traceiter_sched_update_nr_running_tp
__traceiter_task_newtask __traceiter_xhci_urb_giveback
__tracepoint_android_rvh_cpu_overutilized __tracepoint_android_rvh_cpu_overutilized
__tracepoint_android_rvh_dequeue_task __tracepoint_android_rvh_dequeue_task
__tracepoint_android_rvh_dequeue_task_fair __tracepoint_android_rvh_dequeue_task_fair
@@ -1765,13 +1889,13 @@
__tracepoint_android_rvh_setscheduler __tracepoint_android_rvh_setscheduler
__tracepoint_android_rvh_set_user_nice __tracepoint_android_rvh_set_user_nice
__tracepoint_android_rvh_tick_entry __tracepoint_android_rvh_tick_entry
__tracepoint_android_rvh_uclamp_eff_get
__tracepoint_android_vh_alter_futex_plist_add __tracepoint_android_vh_alter_futex_plist_add
__tracepoint_android_vh_alter_rwsem_list_add __tracepoint_android_vh_alter_rwsem_list_add
__tracepoint_android_vh_arch_set_freq_scale __tracepoint_android_vh_arch_set_freq_scale
__tracepoint_android_vh_binder_restore_priority __tracepoint_android_vh_binder_restore_priority
__tracepoint_android_vh_binder_set_priority __tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_binder_transaction_init __tracepoint_android_vh_binder_transaction_init
__tracepoint_android_vh_cgroup_attach
__tracepoint_android_vh_cgroup_set_task __tracepoint_android_vh_cgroup_set_task
__tracepoint_android_vh_commit_creds __tracepoint_android_vh_commit_creds
__tracepoint_android_vh_em_cpu_energy __tracepoint_android_vh_em_cpu_energy
@@ -1779,7 +1903,6 @@
__tracepoint_android_vh_finish_update_load_avg_se __tracepoint_android_vh_finish_update_load_avg_se
__tracepoint_android_vh_iommu_alloc_iova __tracepoint_android_vh_iommu_alloc_iova
__tracepoint_android_vh_iommu_free_iova __tracepoint_android_vh_iommu_free_iova
__tracepoint_android_vh_is_fpsimd_save
__tracepoint_android_vh_logbuf __tracepoint_android_vh_logbuf
__tracepoint_android_vh_override_creds __tracepoint_android_vh_override_creds
__tracepoint_android_vh_prepare_update_load_avg_se __tracepoint_android_vh_prepare_update_load_avg_se
@@ -1810,7 +1933,7 @@
__tracepoint_rwmmio_write __tracepoint_rwmmio_write
__tracepoint_sched_update_nr_running_tp __tracepoint_sched_update_nr_running_tp
tracepoint_srcu tracepoint_srcu
__tracepoint_task_newtask __tracepoint_xhci_urb_giveback
trace_print_array_seq trace_print_array_seq
trace_print_symbols_seq trace_print_symbols_seq
__trace_puts __trace_puts
@@ -1862,6 +1985,7 @@
ufshcd_pltfrm_runtime_resume ufshcd_pltfrm_runtime_resume
ufshcd_pltfrm_runtime_suspend ufshcd_pltfrm_runtime_suspend
ufshcd_pltfrm_suspend ufshcd_pltfrm_suspend
ufshcd_read_desc_param
ufshcd_remove ufshcd_remove
ufshcd_shutdown ufshcd_shutdown
ufshcd_uic_hibern8_exit ufshcd_uic_hibern8_exit
@@ -1871,10 +1995,16 @@
__unregister_chrdev __unregister_chrdev
unregister_chrdev_region unregister_chrdev_region
unregister_die_notifier unregister_die_notifier
unregister_inet6addr_notifier
unregister_inetaddr_notifier
unregister_kprobe unregister_kprobe
unregister_module_notifier unregister_module_notifier
unregister_netdev unregister_netdev
unregister_netdevice_many
unregister_netdevice_notifier
unregister_netdevice_queue
unregister_oom_notifier unregister_oom_notifier
unregister_pernet_device
unregister_pernet_subsys unregister_pernet_subsys
unregister_pm_notifier unregister_pm_notifier
unregister_reboot_notifier unregister_reboot_notifier
@@ -1887,9 +2017,12 @@
update_rq_clock update_rq_clock
up_read up_read
up_write up_write
usb_add_config
usb_add_function usb_add_function
usb_add_gadget_udc usb_add_gadget_udc
usb_add_hcd usb_add_hcd
usb_composite_probe
usb_composite_unregister
usb_copy_descriptors usb_copy_descriptors
usb_create_hcd usb_create_hcd
usb_create_shared_hcd usb_create_shared_hcd
@@ -1908,11 +2041,17 @@
usb_ep_set_maxpacket_limit usb_ep_set_maxpacket_limit
usb_function_register usb_function_register
usb_function_unregister usb_function_unregister
usb_gadget_connect
usb_gadget_disconnect
usb_gadget_giveback_request usb_gadget_giveback_request
usb_gadget_map_request usb_gadget_map_request
usb_gadget_probe_driver
usb_gadget_set_selfpowered
usb_gadget_set_state usb_gadget_set_state
usb_gadget_unmap_request usb_gadget_unmap_request
usb_get_dr_mode usb_get_dr_mode
usb_get_function
usb_get_function_instance
usb_get_maximum_speed usb_get_maximum_speed
usb_hcd_is_primary_hcd usb_hcd_is_primary_hcd
usb_hcd_poll_rh_status usb_hcd_poll_rh_status
@@ -1944,9 +2083,11 @@
usbnet_write_cmd usbnet_write_cmd
usbnet_write_cmd_async usbnet_write_cmd_async
usbnet_write_cmd_nopm usbnet_write_cmd_nopm
usb_put_function
usb_put_function_instance usb_put_function_instance
usb_put_hcd usb_put_hcd
usb_register_driver usb_register_driver
usb_remove_function
usb_remove_hcd usb_remove_hcd
usb_role_switch_get usb_role_switch_get
usb_role_switch_get_drvdata usb_role_switch_get_drvdata
@@ -1990,6 +2131,7 @@
v4l2_fh_init v4l2_fh_init
v4l2_fh_is_singular v4l2_fh_is_singular
v4l2_fh_open v4l2_fh_open
v4l2_i2c_subdev_init
v4l2_m2m_buf_queue v4l2_m2m_buf_queue
v4l2_m2m_buf_remove v4l2_m2m_buf_remove
v4l2_m2m_ctx_init v4l2_m2m_ctx_init
@@ -2054,6 +2196,7 @@
vchan_init vchan_init
vchan_tx_desc_free vchan_tx_desc_free
vchan_tx_submit vchan_tx_submit
verify_pkcs7_signature
vfree vfree
video_devdata video_devdata
video_device_alloc video_device_alloc
@@ -2105,6 +2248,7 @@
__warn_printk __warn_printk
watchdog_init_timeout watchdog_init_timeout
watchdog_set_restart_priority watchdog_set_restart_priority
wireless_nlevent_flush
woken_wake_function woken_wake_function
work_busy work_busy
work_on_cpu work_on_cpu
@@ -2120,7 +2264,6 @@
xhci_reset_bandwidth xhci_reset_bandwidth
# preserved by --additions-only # preserved by --additions-only
alloc_netdev_mqs
all_vm_events all_vm_events
__arch_clear_user __arch_clear_user
bio_add_pc_page bio_add_pc_page
@@ -2131,12 +2274,14 @@
blk_mq_sched_mark_restart_hctx blk_mq_sched_mark_restart_hctx
blk_rq_append_bio blk_rq_append_bio
cache_line_size cache_line_size
cgroup_taskset_first
cgroup_taskset_next
class_create_file_ns class_create_file_ns
class_remove_file_ns class_remove_file_ns
clear_page clear_page
cpufreq_update_util_data
cpu_pm_register_notifier cpu_pm_register_notifier
cpu_pm_unregister_notifier cpu_pm_unregister_notifier
debugfs_create_u8
debug_locks_off debug_locks_off
devfreq_add_device devfreq_add_device
devfreq_cooling_unregister devfreq_cooling_unregister
@@ -2147,6 +2292,7 @@
devm_pinctrl_put devm_pinctrl_put
devm_rc_allocate_device devm_rc_allocate_device
devm_rc_register_device devm_rc_register_device
dev_pm_domain_attach_by_id
dev_pm_opp_find_freq_exact dev_pm_opp_find_freq_exact
dev_pm_opp_put_regulators dev_pm_opp_put_regulators
dev_pm_opp_set_regulators dev_pm_opp_set_regulators
@@ -2156,18 +2302,16 @@
dma_sync_single_for_device dma_sync_single_for_device
downgrade_write downgrade_write
down_read_trylock down_read_trylock
ether_setup drain_workqueue
eth_type_trans fwnode_device_is_available
fsg_common_create_luns fwnode_get_name
fsg_common_set_cdev fwnode_graph_get_next_endpoint
fsg_common_set_inquiry_string fwnode_graph_get_port_parent
fsg_common_set_sysfs fwnode_graph_get_remote_endpoint
fsg_config_from_params fwnode_graph_get_remote_port_parent
gcd fwnode_graph_parse_endpoint
genlmsg_put fwnode_property_get_reference_args
genl_register_family fwnode_property_read_u64_array
genl_unregister_family
get_freelist_nr_pages
get_user_pages_fast get_user_pages_fast
gpiod_set_raw_value gpiod_set_raw_value
hci_alloc_dev hci_alloc_dev
@@ -2181,37 +2325,43 @@
jiffies_64_to_clock_t jiffies_64_to_clock_t
__kfifo_init __kfifo_init
kobject_del kobject_del
kset_find_obj
kstrtobool_from_user kstrtobool_from_user
ktime_get_raw ktime_get_raw
led_classdev_unregister led_classdev_unregister
media_entity_remote_pad
__media_entity_setup_link
media_graph_walk_next
media_graph_walk_start
media_request_get_by_fd
media_request_object_complete
media_request_put
memdup_user memdup_user
__mmdrop __mmdrop
module_put module_put
netif_tx_stop_all_queues
netlink_kernel_release netlink_kernel_release
__nla_parse
nla_put
nla_put_nohdr nla_put_nohdr
n_tty_ioctl_helper n_tty_ioctl_helper
of_devfreq_cooling_register_power of_devfreq_cooling_register_power
of_root of_root
param_array_ops
param_ops_byte param_ops_byte
param_ops_string param_ops_string
perf_num_counters perf_num_counters
pin_user_pages_remote pin_user_pages_remote
platform_find_device_by_driver
put_task_stack
rb_prev rb_prev
rb_replace_node rb_replace_node
register_inetaddr_notifier
register_netdevice
register_netdevice_notifier
__release_region __release_region
request_firmware_nowait
__request_region __request_region
rtnl_is_locked rpmsg_find_device
rtnl_lock rproc_boot
rtnl_unlock rproc_get_by_phandle
rproc_put
rproc_report_crash
rproc_shutdown
__sbitmap_queue_get __sbitmap_queue_get
schedutil_cpu_util
sdio_claim_host sdio_claim_host
sdio_claim_irq sdio_claim_irq
sdio_disable_func sdio_disable_func
@@ -2234,25 +2384,48 @@
send_sig_info send_sig_info
shmem_file_setup shmem_file_setup
si_meminfo si_meminfo
skb_dequeue
skb_pull_rcsum skb_pull_rcsum
skb_queue_head
skb_queue_purge
skb_realloc_headroom skb_realloc_headroom
smp_call_function
smp_call_function_single
snd_soc_component_test_bits snd_soc_component_test_bits
sprint_symbol_no_offset sprint_symbol_no_offset
stpcpy
strim
strpbrk strpbrk
strspn strspn
syscore_resume syscore_resume
syscore_suspend syscore_suspend
system_long_wq system_long_wq
thermal_zone_device_update thermal_zone_device_update
__traceiter_android_rvh_after_enqueue_task
__traceiter_android_rvh_sched_rebalance_domains
__traceiter_android_vh_cgroup_attach
__traceiter_android_vh_clear_mask_adjust
__traceiter_android_vh_clear_reserved_fmt_fields
__traceiter_android_vh_fill_ext_fmtdesc
__traceiter_android_vh_ipv6_gen_linklocal_addr
__traceiter_android_vh_is_fpsimd_save
__traceiter_android_vh_media_device_setup_link
__traceiter_android_vh_v4l2subdev_set_fmt
__traceiter_android_vh_v4l2subdev_set_frame_interval
__traceiter_android_vh_v4l2subdev_set_selection
__traceiter_gpu_mem_total __traceiter_gpu_mem_total
__traceiter_task_newtask
trace_output_call trace_output_call
__tracepoint_android_rvh_after_enqueue_task
__tracepoint_android_rvh_sched_rebalance_domains
__tracepoint_android_vh_cgroup_attach
__tracepoint_android_vh_clear_mask_adjust
__tracepoint_android_vh_clear_reserved_fmt_fields
__tracepoint_android_vh_fill_ext_fmtdesc
__tracepoint_android_vh_ipv6_gen_linklocal_addr
__tracepoint_android_vh_is_fpsimd_save
__tracepoint_android_vh_media_device_setup_link
__tracepoint_android_vh_ufs_update_sdev __tracepoint_android_vh_ufs_update_sdev
__tracepoint_android_vh_v4l2subdev_set_fmt
__tracepoint_android_vh_v4l2subdev_set_frame_interval
__tracepoint_android_vh_v4l2subdev_set_selection
__tracepoint_gpu_mem_total __tracepoint_gpu_mem_total
__tracepoint_task_newtask
trace_print_flags_seq trace_print_flags_seq
try_module_get try_module_get
tty_driver_flush_buffer tty_driver_flush_buffer
@@ -2261,26 +2434,25 @@
ufshcd_pltfrm_shutdown ufshcd_pltfrm_shutdown
unmap_mapping_range unmap_mapping_range
unpin_user_page unpin_user_page
unregister_inetaddr_notifier
unregister_netdevice_notifier
unregister_netdevice_queue
unregister_syscore_ops unregister_syscore_ops
usb_add_config v4l2_async_notifier_add_subdev
usb_composite_probe v4l2_async_notifier_cleanup
usb_composite_unregister v4l2_async_subdev_notifier_register
usb_gadget_connect v4l2_ctrl_find
usb_gadget_disconnect v4l2_ctrl_g_ctrl
usb_gadget_probe_driver v4l2_ctrl_g_ctrl_int64
usb_gadget_set_selfpowered __v4l2_ctrl_modify_range
usb_get_function v4l2_ctrl_new_std_menu_items
usb_get_function_instance v4l2_ctrl_request_setup
usb_put_function v4l2_ctrl_subdev_subscribe_event
usb_remove_function __v4l2_find_nearest_size
v4l2_format_info
v4l2_m2m_buf_copy_metadata v4l2_m2m_buf_copy_metadata
v4l2_m2m_buf_remove_by_buf v4l2_m2m_buf_remove_by_buf
v4l2_m2m_register_media_controller v4l2_m2m_register_media_controller
v4l2_m2m_request_queue v4l2_m2m_request_queue
v4l2_m2m_unregister_media_controller v4l2_m2m_unregister_media_controller
v4l2_pipeline_link_notify
vmf_insert_pfn_prot vmf_insert_pfn_prot
wait_for_completion_killable_timeout wait_for_completion_killable_timeout
wireless_send_event wireless_send_event

File diff suppressed because it is too large Load Diff

View File

@@ -31,6 +31,7 @@
amba_bustype amba_bustype
amba_driver_register amba_driver_register
amba_driver_unregister amba_driver_unregister
android_debug_for_each_module
android_debug_per_cpu_symbol android_debug_per_cpu_symbol
android_debug_symbol android_debug_symbol
android_rvh_probe_register android_rvh_probe_register

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/arch/arm/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/arch/arm64/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/arch/x86/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/block/OWNERS

View File

@@ -4499,7 +4499,7 @@ check_queue:
bfqq = bfqq->bic->bfqq[0]; bfqq = bfqq->bic->bfqq[0];
else if (bfq_bfqq_has_waker(bfqq) && else if (bfq_bfqq_has_waker(bfqq) &&
bfq_bfqq_busy(bfqq->waker_bfqq) && bfq_bfqq_busy(bfqq->waker_bfqq) &&
bfqq->next_rq && bfqq->waker_bfqq->next_rq &&
bfq_serv_to_charge(bfqq->waker_bfqq->next_rq, bfq_serv_to_charge(bfqq->waker_bfqq->next_rq,
bfqq->waker_bfqq) <= bfqq->waker_bfqq) <=
bfq_bfqq_budget_left(bfqq->waker_bfqq) bfq_bfqq_budget_left(bfqq->waker_bfqq)

View File

@@ -15,6 +15,7 @@ android/abi_gki_aarch64_db845c
android/abi_gki_aarch64_qcom android/abi_gki_aarch64_qcom
android/abi_gki_aarch64_virtual_device android/abi_gki_aarch64_virtual_device
android/abi_gki_aarch64_hikey960 android/abi_gki_aarch64_hikey960
android/abi_gki_aarch64_galaxy
android/abi_gki_aarch64_generic android/abi_gki_aarch64_generic
android/abi_gki_aarch64_exynos android/abi_gki_aarch64_exynos
android/abi_gki_aarch64_exynosauto android/abi_gki_aarch64_exynosauto
@@ -22,6 +23,7 @@ android/abi_gki_aarch64_mtk
android/abi_gki_aarch64_xiaomi android/abi_gki_aarch64_xiaomi
android/abi_gki_aarch64_fips140 android/abi_gki_aarch64_fips140
android/abi_gki_aarch64_vivo android/abi_gki_aarch64_vivo
android/abi_gki_aarch64_oplus
" "
FILES="${FILES} FILES="${FILES}

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/crypto/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/drivers/OWNERS

View File

@@ -738,7 +738,7 @@ static void binder_transaction_priority(struct task_struct *task,
t->saved_priority.sched_policy = task->policy; t->saved_priority.sched_policy = task->policy;
t->saved_priority.prio = task->normal_prio; t->saved_priority.prio = task->normal_prio;
trace_android_vh_binder_transaction_priority_skip(task, &skip); trace_android_vh_binder_priority_skip(task, &skip);
if (skip) if (skip)
return; return;
@@ -2851,9 +2851,28 @@ static void binder_transaction(struct binder_proc *proc,
if (target_node && target_node->txn_security_ctx) { if (target_node && target_node->txn_security_ctx) {
u32 secid; u32 secid;
size_t added_size; size_t added_size;
int max_retries = 100;
security_task_getsecid(proc->tsk, &secid); security_task_getsecid(proc->tsk, &secid);
retry_alloc:
ret = security_secid_to_secctx(secid, &secctx, &secctx_sz); ret = security_secid_to_secctx(secid, &secctx, &secctx_sz);
if (ret == -ENOMEM && max_retries-- > 0) {
struct page *dummy_page;
/*
* security_secid_to_secctx() can fail because of a
* GFP_ATOMIC allocation in which case -ENOMEM is
* returned. This needs to be retried, but there is
* currently no way to tell userspace to retry so we
* do it here. We make sure there is still available
* memory first and then retry.
*/
dummy_page = alloc_page(GFP_KERNEL);
if (dummy_page) {
__free_page(dummy_page);
goto retry_alloc;
}
}
if (ret) { if (ret) {
return_error = BR_FAILED_REPLY; return_error = BR_FAILED_REPLY;
return_error_param = ret; return_error_param = ret;

View File

@@ -98,7 +98,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_nf_conn_free);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_arch_set_freq_scale); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_arch_set_freq_scale);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_init); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_init);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_priority_skip); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_priority_skip);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_set_priority); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_set_priority);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_restore_priority); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_restore_priority);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wakeup_ilocked); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wakeup_ilocked);
@@ -331,12 +331,16 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_task_comm);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpufreq_acct_update_power); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpufreq_acct_update_power);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_typec_tcpm_log); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_typec_tcpm_log);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_media_device_setup_link); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_media_device_setup_link);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_media_device_setup_link);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_reserved_fmt_fields); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_reserved_fmt_fields);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_fill_ext_fmtdesc); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_fill_ext_fmtdesc);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_mask_adjust); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_mask_adjust);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_selection); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_selection);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_v4l2subdev_set_selection);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_fmt); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_fmt);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_v4l2subdev_set_fmt);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_frame_interval); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_frame_interval);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_v4l2subdev_set_frame_interval);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scmi_timeout_sync); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scmi_timeout_sync);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_uid); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_uid);

View File

@@ -98,12 +98,12 @@ static void dma_buf_release(struct dentry *dentry)
*/ */
BUG_ON(dmabuf->cb_shared.active || dmabuf->cb_excl.active); BUG_ON(dmabuf->cb_shared.active || dmabuf->cb_excl.active);
dma_buf_stats_teardown(dmabuf);
dmabuf->ops->release(dmabuf); dmabuf->ops->release(dmabuf);
if (dmabuf->resv == (struct dma_resv *)&dmabuf[1]) if (dmabuf->resv == (struct dma_resv *)&dmabuf[1])
dma_resv_fini(dmabuf->resv); dma_resv_fini(dmabuf->resv);
dma_buf_stats_teardown(dmabuf);
module_put(dmabuf->owner); module_put(dmabuf->owner);
kfree(dmabuf->name); kfree(dmabuf->name);
kfree(dmabuf); kfree(dmabuf);

View File

@@ -225,6 +225,7 @@ static long media_device_setup_link(struct media_device *mdev, void *arg)
/* Setup the link on both entities */ /* Setup the link on both entities */
trace_android_vh_media_device_setup_link(link, linkd, &ret); trace_android_vh_media_device_setup_link(link, linkd, &ret);
trace_android_rvh_media_device_setup_link(link, linkd, &ret);
if (ret) if (ret)
return ret; return ret;

View File

@@ -497,6 +497,8 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
trace_android_vh_v4l2subdev_set_fmt(sd, subdev_fh->pad, trace_android_vh_v4l2subdev_set_fmt(sd, subdev_fh->pad,
format, &ret); format, &ret);
trace_android_rvh_v4l2subdev_set_fmt(sd, subdev_fh->pad,
format, &ret);
if (ret) if (ret)
return ret; return ret;
@@ -576,6 +578,7 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
return -EPERM; return -EPERM;
trace_android_vh_v4l2subdev_set_frame_interval(sd, fi, &ret); trace_android_vh_v4l2subdev_set_frame_interval(sd, fi, &ret);
trace_android_rvh_v4l2subdev_set_frame_interval(sd, fi, &ret);
if (ret) if (ret)
return ret; return ret;
@@ -608,6 +611,8 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
trace_android_vh_v4l2subdev_set_selection(sd, subdev_fh->pad, trace_android_vh_v4l2subdev_set_selection(sd, subdev_fh->pad,
sel, &ret); sel, &ret);
trace_android_rvh_v4l2subdev_set_selection(sd, subdev_fh->pad,
sel, &ret);
if (ret) if (ret)
return ret; return ret;

View File

@@ -37,7 +37,7 @@
UTP_TASK_REQ_COMPL |\ UTP_TASK_REQ_COMPL |\
UFSHCD_ERROR_MASK) UFSHCD_ERROR_MASK)
/* UIC command timeout, unit: ms */ /* UIC command timeout, unit: ms */
#define UIC_CMD_TIMEOUT 500 #define UIC_CMD_TIMEOUT 5000
/* NOP OUT retries waiting for NOP IN response */ /* NOP OUT retries waiting for NOP IN response */
#define NOP_OUT_RETRIES 10 #define NOP_OUT_RETRIES 10

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/fs/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/fs/f2fs/OWNERS

View File

@@ -450,6 +450,15 @@ static int stat_show(struct seq_file *s, void *v)
si->data_segs, si->bg_data_segs); si->data_segs, si->bg_data_segs);
seq_printf(s, " - node segments : %d (%d)\n", seq_printf(s, " - node segments : %d (%d)\n",
si->node_segs, si->bg_node_segs); si->node_segs, si->bg_node_segs);
seq_printf(s, " - Reclaimed segs : Normal (%d), Idle CB (%d), "
"Idle Greedy (%d), Idle AT (%d), "
"Urgent High (%d), Urgent Low (%d)\n",
si->sbi->gc_reclaimed_segs[GC_NORMAL],
si->sbi->gc_reclaimed_segs[GC_IDLE_CB],
si->sbi->gc_reclaimed_segs[GC_IDLE_GREEDY],
si->sbi->gc_reclaimed_segs[GC_IDLE_AT],
si->sbi->gc_reclaimed_segs[GC_URGENT_HIGH],
si->sbi->gc_reclaimed_segs[GC_URGENT_LOW]);
seq_printf(s, "Try to move %d blocks (BG: %d)\n", si->tot_blks, seq_printf(s, "Try to move %d blocks (BG: %d)\n", si->tot_blks,
si->bg_data_blks + si->bg_node_blks); si->bg_data_blks + si->bg_node_blks);
seq_printf(s, " - data blocks : %d (%d)\n", si->data_blks, seq_printf(s, " - data blocks : %d (%d)\n", si->data_blks,

View File

@@ -1251,6 +1251,7 @@ enum {
GC_IDLE_AT, GC_IDLE_AT,
GC_URGENT_HIGH, GC_URGENT_HIGH,
GC_URGENT_LOW, GC_URGENT_LOW,
MAX_GC_MODE,
}; };
enum { enum {
@@ -1731,6 +1732,10 @@ struct f2fs_sb_info {
struct kmem_cache *inline_xattr_slab; /* inline xattr entry */ struct kmem_cache *inline_xattr_slab; /* inline xattr entry */
unsigned int inline_xattr_slab_size; /* default inline xattr slab size */ unsigned int inline_xattr_slab_size; /* default inline xattr slab size */
/* For reclaimed segs statistics per each GC mode */
unsigned int gc_segment_mode; /* GC state for reclaimed segments */
unsigned int gc_reclaimed_segs[MAX_GC_MODE]; /* Reclaimed segs for each mode */
#ifdef CONFIG_F2FS_FS_COMPRESSION #ifdef CONFIG_F2FS_FS_COMPRESSION
struct kmem_cache *page_array_slab; /* page array entry */ struct kmem_cache *page_array_slab; /* page array entry */
unsigned int page_array_slab_size; /* default page array slab size */ unsigned int page_array_slab_size; /* default page array slab size */

View File

@@ -1646,6 +1646,7 @@ static int do_garbage_collect(struct f2fs_sb_info *sbi,
force_migrate); force_migrate);
stat_inc_seg_count(sbi, type, gc_type); stat_inc_seg_count(sbi, type, gc_type);
sbi->gc_reclaimed_segs[sbi->gc_mode]++;
migrated++; migrated++;
freed: freed:

View File

@@ -307,6 +307,14 @@ static ssize_t f2fs_sbi_show(struct f2fs_attr *a,
return sysfs_emit(buf, "%u\n", sbi->compr_new_inode); return sysfs_emit(buf, "%u\n", sbi->compr_new_inode);
#endif #endif
if (!strcmp(a->attr.name, "gc_segment_mode"))
return sysfs_emit(buf, "%u\n", sbi->gc_segment_mode);
if (!strcmp(a->attr.name, "gc_reclaimed_segments")) {
return sysfs_emit(buf, "%u\n",
sbi->gc_reclaimed_segs[sbi->gc_segment_mode]);
}
ui = (unsigned int *)(ptr + a->offset); ui = (unsigned int *)(ptr + a->offset);
return sprintf(buf, "%u\n", *ui); return sprintf(buf, "%u\n", *ui);
@@ -515,6 +523,21 @@ out:
return count; return count;
} }
if (!strcmp(a->attr.name, "gc_segment_mode")) {
if (t < MAX_GC_MODE)
sbi->gc_segment_mode = t;
else
return -EINVAL;
return count;
}
if (!strcmp(a->attr.name, "gc_reclaimed_segments")) {
if (t != 0)
return -EINVAL;
sbi->gc_reclaimed_segs[sbi->gc_segment_mode] = 0;
return count;
}
*ui = (unsigned int)t; *ui = (unsigned int)t;
return count; return count;
@@ -740,6 +763,9 @@ F2FS_RW_ATTR(ATGC_INFO, atgc_management, atgc_candidate_count, max_candidate_cou
F2FS_RW_ATTR(ATGC_INFO, atgc_management, atgc_age_weight, age_weight); F2FS_RW_ATTR(ATGC_INFO, atgc_management, atgc_age_weight, age_weight);
F2FS_RW_ATTR(ATGC_INFO, atgc_management, atgc_age_threshold, age_threshold); F2FS_RW_ATTR(ATGC_INFO, atgc_management, atgc_age_threshold, age_threshold);
F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, gc_segment_mode, gc_segment_mode);
F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, gc_reclaimed_segments, gc_reclaimed_segs);
#define ATTR_LIST(name) (&f2fs_attr_##name.attr) #define ATTR_LIST(name) (&f2fs_attr_##name.attr)
static struct attribute *f2fs_attrs[] = { static struct attribute *f2fs_attrs[] = {
ATTR_LIST(gc_urgent_sleep_time), ATTR_LIST(gc_urgent_sleep_time),
@@ -812,6 +838,8 @@ static struct attribute *f2fs_attrs[] = {
ATTR_LIST(atgc_candidate_count), ATTR_LIST(atgc_candidate_count),
ATTR_LIST(atgc_age_weight), ATTR_LIST(atgc_age_weight),
ATTR_LIST(atgc_age_threshold), ATTR_LIST(atgc_age_threshold),
ATTR_LIST(gc_segment_mode),
ATTR_LIST(gc_reclaimed_segments),
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(f2fs); ATTRIBUTE_GROUPS(f2fs);

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/fs/fuse/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/fs/incfs/OWNERS

View File

@@ -635,20 +635,28 @@ static int ramoops_parse_dt(struct platform_device *pdev,
struct device_node *of_node = pdev->dev.of_node; struct device_node *of_node = pdev->dev.of_node;
struct device_node *parent_node; struct device_node *parent_node;
struct reserved_mem *rmem; struct reserved_mem *rmem;
struct resource *res;
u32 value; u32 value;
int ret; int ret;
dev_dbg(&pdev->dev, "using Device Tree\n"); dev_dbg(&pdev->dev, "using Device Tree\n");
rmem = of_reserved_mem_lookup(of_node); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!rmem) { if (!res) {
dev_err(&pdev->dev, rmem = of_reserved_mem_lookup(of_node);
"failed to locate DT /reserved-memory resource\n"); if (rmem) {
return -EINVAL; pdata->mem_size = rmem->size;
pdata->mem_address = rmem->base;
} else {
dev_err(&pdev->dev,
"failed to locate DT /reserved-memory resource\n");
return -EINVAL;
}
} else {
pdata->mem_size = resource_size(res);
pdata->mem_address = res->start;
} }
pdata->mem_size = rmem->size;
pdata->mem_address = rmem->base;
/* /*
* Setting "unbuffered" is deprecated and will be ignored if * Setting "unbuffered" is deprecated and will be ignored if
* "mem_type" is also specified. * "mem_type" is also specified.

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/include/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/include/linux/OWNERS

View File

@@ -50,6 +50,9 @@ enum android_debug_per_cpu_symbol {
void *android_debug_symbol(enum android_debug_symbol symbol); void *android_debug_symbol(enum android_debug_symbol symbol);
void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol); void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol);
void android_debug_for_each_module(int (*fn)(const char *mod_name, void *mod_addr, void *data),
void *data);
#else /* !CONFIG_ANDROID_DEBUG_SYMBOLS */ #else /* !CONFIG_ANDROID_DEBUG_SYMBOLS */
static inline void *android_debug_symbol(enum android_debug_symbol symbol) static inline void *android_debug_symbol(enum android_debug_symbol symbol)
@@ -60,6 +63,9 @@ static inline void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symb
{ {
return NULL; return NULL;
} }
static inline void android_debug_for_each_module(int (*fn)(const char *mod_name, void *mod_addr,
void *data), void *data) {}
#endif /* CONFIG_ANDROID_DEBUG_SYMBOLS */ #endif /* CONFIG_ANDROID_DEBUG_SYMBOLS */
#endif /* _ANDROID_DEBUG_SYMBOLS_H */ #endif /* _ANDROID_DEBUG_SYMBOLS_H */

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/include/trace/events/OWNERS

View File

@@ -21,7 +21,7 @@ struct seq_file;
DECLARE_HOOK(android_vh_binder_transaction_init, DECLARE_HOOK(android_vh_binder_transaction_init,
TP_PROTO(struct binder_transaction *t), TP_PROTO(struct binder_transaction *t),
TP_ARGS(t)); TP_ARGS(t));
DECLARE_HOOK(android_vh_binder_transaction_priority_skip, DECLARE_HOOK(android_vh_binder_priority_skip,
TP_PROTO(struct task_struct *task, bool *skip), TP_PROTO(struct task_struct *task, bool *skip),
TP_ARGS(task, skip)); TP_ARGS(task, skip));
DECLARE_HOOK(android_vh_binder_set_priority, DECLARE_HOOK(android_vh_binder_set_priority,

View File

@@ -5,7 +5,7 @@
#define TRACE_INCLUDE_PATH trace/hooks #define TRACE_INCLUDE_PATH trace/hooks
#if !defined(_TRACE_HOOK_V4L2CORE_H) || defined(TRACE_HEADER_MULTI_READ) #if !defined(_TRACE_HOOK_V4L2CORE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_HOOK_V4L2_CORE_H #define _TRACE_HOOK_V4L2CORE_H
#include <linux/tracepoint.h> #include <linux/tracepoint.h>
#include <trace/hooks/vendor_hooks.h> #include <trace/hooks/vendor_hooks.h>
@@ -44,6 +44,21 @@ DECLARE_HOOK(android_vh_v4l2subdev_set_frame_interval,
int *ret), int *ret),
TP_ARGS(sd, fi, ret)); TP_ARGS(sd, fi, ret));
DECLARE_RESTRICTED_HOOK(android_rvh_v4l2subdev_set_selection,
TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *pad,
struct v4l2_subdev_selection *sel, int *ret),
TP_ARGS(sd, pad, sel, ret), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_v4l2subdev_set_fmt,
TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *pad,
struct v4l2_subdev_format *format, int *ret),
TP_ARGS(sd, pad, format, ret), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_v4l2subdev_set_frame_interval,
TP_PROTO(struct v4l2_subdev *sd, struct v4l2_subdev_frame_interval *fi,
int *ret),
TP_ARGS(sd, fi, ret), 1);
#endif /* _TRACE_HOOK_V4L2CORE_H */ #endif /* _TRACE_HOOK_V4L2CORE_H */
/* This part must be outside protection */ /* This part must be outside protection */
#include <trace/define_trace.h> #include <trace/define_trace.h>

View File

@@ -16,6 +16,11 @@ DECLARE_HOOK(android_vh_media_device_setup_link,
TP_PROTO(struct media_link *link, struct media_link_desc *linkd, int *ret), TP_PROTO(struct media_link *link, struct media_link_desc *linkd, int *ret),
TP_ARGS(link, linkd, ret)); TP_ARGS(link, linkd, ret));
DECLARE_RESTRICTED_HOOK(android_rvh_media_device_setup_link,
TP_PROTO(struct media_link *link,
struct media_link_desc *linkd, int *ret),
TP_ARGS(link, linkd, ret), 1);
#endif /* _TRACE_HOOK_V4L2MC_H */ #endif /* _TRACE_HOOK_V4L2MC_H */
/* This part must be outside protection */ /* This part must be outside protection */
#include <trace/define_trace.h> #include <trace/define_trace.h>

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/include/uapi/linux/OWNERS

View File

@@ -4792,6 +4792,23 @@ void print_modules(void)
pr_cont("\n"); pr_cont("\n");
} }
#ifdef CONFIG_ANDROID_DEBUG_SYMBOLS
void android_debug_for_each_module(int (*fn)(const char *mod_name, void *mod_addr, void *data),
void *data)
{
struct module *module;
preempt_disable();
list_for_each_entry_rcu(module, &modules, list) {
if (fn(module->name, module->core_layout.base, data))
goto out;
}
out:
preempt_enable();
}
EXPORT_SYMBOL_GPL(android_debug_for_each_module);
#endif
#ifdef CONFIG_MODVERSIONS #ifdef CONFIG_MODVERSIONS
/* Generate the signature for all relevant module structures here. /* Generate the signature for all relevant module structures here.
* If these change, we don't want to try to parse the module. */ * If these change, we don't want to try to parse the module. */

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/kernel/sched/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/mm/OWNERS

View File

@@ -1914,20 +1914,28 @@ static bool kswapd_is_running(pg_data_t *pgdat)
/* /*
* A zone's fragmentation score is the external fragmentation wrt to the * A zone's fragmentation score is the external fragmentation wrt to the
* COMPACTION_HPAGE_ORDER scaled by the zone's size. It returns a value * COMPACTION_HPAGE_ORDER. It returns a value in the range [0, 100].
* in the range [0, 100]. */
static unsigned int fragmentation_score_zone(struct zone *zone)
{
return extfrag_for_order(zone, COMPACTION_HPAGE_ORDER);
}
/*
* A weighted zone's fragmentation score is the external fragmentation
* wrt to the COMPACTION_HPAGE_ORDER scaled by the zone's size. It
* returns a value in the range [0, 100].
* *
* The scaling factor ensures that proactive compaction focuses on larger * The scaling factor ensures that proactive compaction focuses on larger
* zones like ZONE_NORMAL, rather than smaller, specialized zones like * zones like ZONE_NORMAL, rather than smaller, specialized zones like
* ZONE_DMA32. For smaller zones, the score value remains close to zero, * ZONE_DMA32. For smaller zones, the score value remains close to zero,
* and thus never exceeds the high threshold for proactive compaction. * and thus never exceeds the high threshold for proactive compaction.
*/ */
static unsigned int fragmentation_score_zone(struct zone *zone) static unsigned int fragmentation_score_zone_weighted(struct zone *zone)
{ {
unsigned long score; unsigned long score;
score = zone->present_pages * score = zone->present_pages * fragmentation_score_zone(zone);
extfrag_for_order(zone, COMPACTION_HPAGE_ORDER);
return div64_ul(score, zone->zone_pgdat->node_present_pages + 1); return div64_ul(score, zone->zone_pgdat->node_present_pages + 1);
} }
@@ -1947,7 +1955,7 @@ static unsigned int fragmentation_score_node(pg_data_t *pgdat)
struct zone *zone; struct zone *zone;
zone = &pgdat->node_zones[zoneid]; zone = &pgdat->node_zones[zoneid];
score += fragmentation_score_zone(zone); score += fragmentation_score_zone_weighted(zone);
} }
return score; return score;

View File

@@ -9,6 +9,7 @@
#ifdef CONFIG_KASAN_HW_TAGS #ifdef CONFIG_KASAN_HW_TAGS
#include <linux/static_key.h> #include <linux/static_key.h>
#include "../slab.h"
DECLARE_STATIC_KEY_FALSE(kasan_flag_stacktrace); DECLARE_STATIC_KEY_FALSE(kasan_flag_stacktrace);
extern bool kasan_flag_async __ro_after_init; extern bool kasan_flag_async __ro_after_init;
@@ -387,6 +388,17 @@ static inline void kasan_unpoison(const void *addr, size_t size, bool init)
if (WARN_ON((unsigned long)addr & KASAN_GRANULE_MASK)) if (WARN_ON((unsigned long)addr & KASAN_GRANULE_MASK))
return; return;
/*
* Explicitly initialize the memory with the precise object size to
* avoid overwriting the SLAB redzone. This disables initialization in
* the arch code and may thus lead to performance penalty. The penalty
* is accepted since SLAB redzones aren't enabled in production builds.
*/
if (__slub_debug_enabled() &&
init && ((unsigned long)size & KASAN_GRANULE_MASK)) {
init = false;
memzero_explicit((void *)addr, size);
}
size = round_up(size, KASAN_GRANULE_SIZE); size = round_up(size, KASAN_GRANULE_SIZE);
hw_set_mem_tag_range((void *)addr, size, tag, init); hw_set_mem_tag_range((void *)addr, size, tag, init);

View File

@@ -733,6 +733,22 @@ void kfence_shutdown_cache(struct kmem_cache *s)
void *__kfence_alloc(struct kmem_cache *s, size_t size, gfp_t flags) void *__kfence_alloc(struct kmem_cache *s, size_t size, gfp_t flags)
{ {
/*
* Perform size check before switching kfence_allocation_gate, so that
* we don't disable KFENCE without making an allocation.
*/
if (size > PAGE_SIZE)
return NULL;
/*
* Skip allocations from non-default zones, including DMA. We cannot
* guarantee that pages in the KFENCE pool will have the requested
* properties (e.g. reside in DMAable memory).
*/
if ((flags & GFP_ZONEMASK) ||
(s->flags & (SLAB_CACHE_DMA | SLAB_CACHE_DMA32)))
return NULL;
/* /*
* allocation_gate only needs to become non-zero, so it doesn't make * allocation_gate only needs to become non-zero, so it doesn't make
* sense to continue writing to it and pay the associated contention * sense to continue writing to it and pay the associated contention
@@ -757,9 +773,6 @@ void *__kfence_alloc(struct kmem_cache *s, size_t size, gfp_t flags)
if (!READ_ONCE(kfence_enabled)) if (!READ_ONCE(kfence_enabled))
return NULL; return NULL;
if (size > PAGE_SIZE)
return NULL;
return kfence_guarded_alloc(s, size, flags); return kfence_guarded_alloc(s, size, flags);
} }

View File

@@ -439,7 +439,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
if (!new_pud) if (!new_pud)
break; break;
if (move_pgt_entry(NORMAL_PUD, vma, old_addr, new_addr, if (move_pgt_entry(NORMAL_PUD, vma, old_addr, new_addr,
old_pud, new_pud, need_rmap_locks)) old_pud, new_pud, true))
continue; continue;
} }
@@ -466,7 +466,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
* moving at the PMD level if possible. * moving at the PMD level if possible.
*/ */
if (move_pgt_entry(NORMAL_PMD, vma, old_addr, new_addr, if (move_pgt_entry(NORMAL_PMD, vma, old_addr, new_addr,
old_pmd, new_pmd, need_rmap_locks)) old_pmd, new_pmd, true))
continue; continue;
} }

View File

@@ -2359,6 +2359,13 @@ inline void post_alloc_hook(struct page *page, unsigned int order,
arch_alloc_page(page, order); arch_alloc_page(page, order);
debug_pagealloc_map_pages(page, 1 << order); debug_pagealloc_map_pages(page, 1 << order);
/*
* Page unpoisoning must happen before memory initialization.
* Otherwise, the poison pattern will be overwritten for __GFP_ZERO
* allocations and the page unpoisoning code will complain.
*/
kernel_unpoison_pages(page, 1 << order);
/* /*
* As memory initialization might be integrated into KASAN, * As memory initialization might be integrated into KASAN,
* kasan_alloc_pages and kernel_init_free_pages must be * kasan_alloc_pages and kernel_init_free_pages must be
@@ -2375,7 +2382,6 @@ inline void post_alloc_hook(struct page *page, unsigned int order,
gfp_flags & __GFP_ZEROTAGS); gfp_flags & __GFP_ZEROTAGS);
} }
kernel_unpoison_pages(page, 1 << order);
set_page_owner(page, order, gfp_flags); set_page_owner(page, order, gfp_flags);
} }

View File

@@ -77,12 +77,14 @@ static void unpoison_page(struct page *page)
void *addr; void *addr;
addr = kmap_atomic(page); addr = kmap_atomic(page);
kasan_disable_current();
/* /*
* Page poisoning when enabled poisons each and every page * Page poisoning when enabled poisons each and every page
* that is freed to buddy. Thus no extra check is done to * that is freed to buddy. Thus no extra check is done to
* see if a page was poisoned. * see if a page was poisoned.
*/ */
check_poison_mem(addr, PAGE_SIZE); check_poison_mem(kasan_reset_tag(addr), PAGE_SIZE);
kasan_enable_current();
kunmap_atomic(addr); kunmap_atomic(addr);
} }

View File

@@ -242,10 +242,18 @@ extern unsigned long get_each_object_track(struct kmem_cache *s,
int (*fn)(const struct kmem_cache *, const void *, int (*fn)(const struct kmem_cache *, const void *,
const struct track *, void *), void *private); const struct track *, void *), void *private);
extern slab_flags_t slub_debug; extern slab_flags_t slub_debug;
static inline bool __slub_debug_enabled(void)
{
return static_branch_unlikely(&slub_debug_enabled);
}
#else #else
static inline void print_tracking(struct kmem_cache *s, void *object) static inline void print_tracking(struct kmem_cache *s, void *object)
{ {
} }
static inline bool __slub_debug_enabled(void)
{
return false;
}
#ifdef CONFIG_SLUB #ifdef CONFIG_SLUB
static inline unsigned long get_each_object_track(struct kmem_cache *s, static inline unsigned long get_each_object_track(struct kmem_cache *s,
struct page *page, enum track_item alloc, struct page *page, enum track_item alloc,
@@ -264,11 +272,10 @@ static inline unsigned long get_each_object_track(struct kmem_cache *s,
*/ */
static inline bool kmem_cache_debug_flags(struct kmem_cache *s, slab_flags_t flags) static inline bool kmem_cache_debug_flags(struct kmem_cache *s, slab_flags_t flags)
{ {
#ifdef CONFIG_SLUB_DEBUG if (IS_ENABLED(CONFIG_SLUB_DEBUG))
VM_WARN_ON_ONCE(!(flags & SLAB_DEBUG_FLAGS)); VM_WARN_ON_ONCE(!(flags & SLAB_DEBUG_FLAGS));
if (static_branch_unlikely(&slub_debug_enabled)) if (__slub_debug_enabled())
return s->flags & flags; return s->flags & flags;
#endif
return false; return false;
} }

View File

@@ -327,6 +327,7 @@ int map_kernel_range(unsigned long start, unsigned long size, pgprot_t prot,
flush_cache_vmap(start, start + size); flush_cache_vmap(start, start + size);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(map_kernel_range);
int is_vmalloc_or_module_addr(const void *x) int is_vmalloc_or_module_addr(const void *x)
{ {
@@ -2100,6 +2101,7 @@ struct vm_struct *__get_vm_area_caller(unsigned long size, unsigned long flags,
return __get_vm_area_node(size, 1, flags, start, end, NUMA_NO_NODE, return __get_vm_area_node(size, 1, flags, start, end, NUMA_NO_NODE,
GFP_KERNEL, caller); GFP_KERNEL, caller);
} }
EXPORT_SYMBOL_GPL(__get_vm_area_caller);
/** /**
* get_vm_area - reserve a contiguous kernel virtual area * get_vm_area - reserve a contiguous kernel virtual area

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/net/OWNERS

View File

@@ -1,2 +0,0 @@
# include OWNERS from the authoritative android-mainline branch
include kernel/common:android-mainline:/tools/testing/selftests/filesystems/incfs/OWNERS