diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 52dc975d19ba..99b5cf9027fa 100755 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -313,6 +313,7 @@ + @@ -5063,6 +5064,7 @@ + @@ -109875,6 +109877,12 @@ + + + + + + @@ -110547,24 +110555,24 @@ - - - - + + + + - - - - - - + + + + + + - - - - + + + + @@ -110575,42 +110583,42 @@ - - - - - - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - @@ -110982,6 +110990,7 @@ + @@ -111097,16 +111106,16 @@ - - - + + + - - - - - - + + + + + + diff --git a/android/abi_gki_aarch64_generic b/android/abi_gki_aarch64_generic index c13cbabe6d35..e7929d5407e9 100644 --- a/android/abi_gki_aarch64_generic +++ b/android/abi_gki_aarch64_generic @@ -1916,6 +1916,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_reprogram_all_keys __traceiter_android_rvh_util_est_update __traceiter_android_vh_arch_set_freq_scale __traceiter_android_vh_cma_alloc_finish @@ -1989,6 +1990,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_reprogram_all_keys __tracepoint_android_rvh_util_est_update __tracepoint_android_vh_arch_set_freq_scale __tracepoint_android_vh_cma_alloc_finish diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip new file mode 100644 index 000000000000..6c4b0be95bf0 --- /dev/null +++ b/android/abi_gki_aarch64_rockchip @@ -0,0 +1,1518 @@ +[abi_symbol_list] + __ClearPageMovable + __SetPageMovable + ___ratelimit + __alloc_disk_node + __alloc_pages_nodemask + __alloc_percpu + __alloc_percpu_gfp + __alloc_skb + __arch_copy_from_user + __arch_copy_to_user + __arm_smccc_hvc + __arm_smccc_smc + __bitmap_and + __bitmap_andnot + __bitmap_clear + __bitmap_set + __bitmap_weight + __blk_rq_map_sg + __cfi_slowpath + __check_object_size + __class_create + __class_register + __clk_get_name + __const_udelay + __cpu_online_mask + __cpu_possible_mask + __cpufreq_driver_target + __cpuhp_remove_state + __cpuhp_setup_state + __cpuhp_state_add_instance + __cpuhp_state_remove_instance + __crypto_memneq + __crypto_xor + __dev_kfree_skb_any + __devm_iio_device_register + __devm_of_phy_provider_register + __devm_regmap_init + __devm_regmap_init_i2c + __devm_regmap_init_mmio_clk + __devm_reset_control_get + __do_once_done + __do_once_start + __drm_err + __fdget + __free_pages + __get_free_pages + __getblk_gfp + __i2c_smbus_xfer + __i2c_transfer + __init_rwsem + __init_swait_queue_head + __init_waitqueue_head + __ioremap + __ipv6_addr_type + __kfifo_alloc + __kfifo_free + __kfifo_in + __kfifo_out + __kfifo_to_user + __kmalloc + __list_add_valid + __list_del_entry_valid + __lock_buffer + __lock_page + __log_post_read_mmio + __log_read_mmio + __log_write_mmio + __mdiobus_register + __memcpy_fromio + __memcpy_toio + __memset_io + __module_get + __msecs_to_jiffies + __mutex_init + __napi_alloc_skb + __napi_schedule + __netdev_alloc_skb + __netif_napi_del + __num_online_cpus + __of_reset_control_get + __page_pinner_migration_failed + __pci_register_driver + __per_cpu_offset + __platform_driver_register + __pm_runtime_disable + __pm_runtime_idle + __pm_runtime_resume + __pm_runtime_set_status + __pm_runtime_suspend + __pm_runtime_use_autosuspend + __printk_ratelimit + __pskb_pull_tail + __put_net + __put_page + __put_task_struct + __rcu_read_lock + __rcu_read_unlock + __refrigerator + __register_chrdev + __rtc_register_device + __scsi_add_device + __scsi_execute + __scsi_print_sense + __sdhci_add_host + __sg_page_iter_next + __sg_page_iter_start + __sock_create + __spi_alloc_controller + __spi_register_driver + __srcu_read_unlock + __stack_chk_fail + __stack_chk_guard + __sw_hweight64 + __sysfs_match_string + __task_pid_nr_ns + __tasklet_hi_schedule + __tasklet_schedule + __traceiter_rwmmio_post_read + __traceiter_rwmmio_read + __traceiter_rwmmio_write + __tracepoint_rwmmio_post_read + __tracepoint_rwmmio_read + __tracepoint_rwmmio_write + __tty_insert_flip_char + __unregister_chrdev + __usecs_to_jiffies + __v4l2_ctrl_modify_range + __v4l2_find_nearest_size + __wait_on_buffer + __wake_up + __warn_printk + _copy_from_iter_full + _copy_to_iter + _ctype + _dev_crit + _dev_err + _dev_info + _dev_warn + _raw_read_lock + _raw_read_lock_bh + _raw_read_lock_irqsave + _raw_read_unlock + _raw_read_unlock_bh + _raw_read_unlock_irqrestore + _raw_spin_lock + _raw_spin_lock_bh + _raw_spin_lock_irq + _raw_spin_lock_irqsave + _raw_spin_trylock + _raw_spin_trylock_bh + _raw_spin_unlock + _raw_spin_unlock_bh + _raw_spin_unlock_irq + _raw_spin_unlock_irqrestore + _raw_write_lock + _raw_write_lock_bh + _raw_write_lock_irq + _raw_write_lock_irqsave + _raw_write_unlock + _raw_write_unlock_bh + _raw_write_unlock_irq + _raw_write_unlock_irqrestore + add_timer + add_uevent_var + add_wait_queue + aes_encrypt + aes_expandkey + alloc_anon_inode + alloc_chrdev_region + alloc_etherdev_mqs + alloc_netdev_mqs + alloc_pages_exact + alloc_workqueue + amba_driver_register + amba_driver_unregister + arc4_crypt + arc4_setkey + arm64_const_caps_ready + arm64_use_ng_mappings + async_schedule_node + atomic_notifier_chain_register + atomic_notifier_chain_unregister + autoremove_wake_function + backlight_device_register + backlight_device_unregister + bcmp + bd_set_nr_sectors + bdget_disk + bdput + bio_endio + bitmap_find_next_zero_area_off + bitmap_free + bitmap_zalloc + blk_alloc_queue + blk_cleanup_queue + blk_execute_rq + blk_execute_rq_nowait + blk_freeze_queue_start + blk_get_queue + blk_get_request + blk_mq_alloc_request + blk_mq_alloc_request_hctx + blk_mq_alloc_tag_set + blk_mq_complete_request + blk_mq_complete_request_remote + blk_mq_delay_kick_requeue_list + blk_mq_end_request + blk_mq_free_request + blk_mq_free_tag_set + blk_mq_freeze_queue + blk_mq_freeze_queue_wait + blk_mq_freeze_queue_wait_timeout + blk_mq_init_queue + blk_mq_map_queues + blk_mq_pci_map_queues + blk_mq_quiesce_queue + blk_mq_requeue_request + blk_mq_start_request + blk_mq_tag_to_rq + blk_mq_tagset_busy_iter + blk_mq_tagset_wait_completed_request + blk_mq_unfreeze_queue + blk_mq_unique_tag + blk_mq_unquiesce_queue + blk_mq_update_nr_hw_queues + blk_poll + blk_put_queue + blk_put_request + blk_queue_chunk_sectors + blk_queue_dma_alignment + blk_queue_flag_clear + blk_queue_flag_set + blk_queue_flag_test_and_set + blk_queue_io_min + blk_queue_io_opt + blk_queue_logical_block_size + blk_queue_max_discard_sectors + blk_queue_max_discard_segments + blk_queue_max_hw_sectors + blk_queue_max_segments + blk_queue_max_write_zeroes_sectors + blk_queue_physical_block_size + blk_queue_virt_boundary + blk_queue_write_cache + blk_rq_map_kern + blk_rq_map_user + blk_rq_map_user_iov + blk_rq_unmap_user + blk_set_queue_dying + blk_status_to_errno + blk_sync_queue + blk_verify_command + bpf_trace_run1 + bpf_trace_run2 + bpf_trace_run3 + bpf_trace_run4 + bpf_trace_run5 + bpf_trace_run6 + bpf_trace_run7 + bt_err + bus_register + bus_register_notifier + bus_unregister + bus_unregister_notifier + call_netdevice_notifiers + call_rcu + cancel_delayed_work + cancel_delayed_work_sync + cancel_work_sync + capable + cdev_add + cdev_alloc + cdev_del + cdev_device_add + cdev_device_del + cdev_init + ce_aes_expandkey + class_destroy + class_find_device + class_interface_unregister + class_unregister + cleanup_srcu_struct + clk_bulk_disable + clk_bulk_enable + clk_bulk_prepare + clk_bulk_unprepare + clk_disable + clk_enable + clk_get + clk_get_rate + clk_hw_get_name + clk_hw_set_rate_range + clk_notifier_register + clk_notifier_unregister + clk_prepare + clk_put + clk_register + clk_round_rate + clk_set_rate + clk_unprepare + clk_unregister + cma_alloc + cma_get_name + cma_release + compat_ptr_ioctl + complete + completion_done + consume_skb + contig_page_data + cpu_have_feature + cpu_hwcap_keys + cpu_hwcaps + cpu_number + cpufreq_cpu_get_raw + cpufreq_enable_boost_support + cpufreq_freq_attr_scaling_available_freqs + cpufreq_freq_attr_scaling_boost_freqs + cpufreq_generic_frequency_table_verify + cpufreq_generic_get + cpufreq_generic_suspend + cpufreq_register_driver + cpufreq_register_governor + cpufreq_table_index_unsorted + cpufreq_unregister_driver + cpufreq_unregister_governor + cpumask_next + cpus_read_lock + cpus_read_unlock + crc32_be + crc32_le + crypto_aead_decrypt + crypto_aead_encrypt + crypto_aead_setauthsize + crypto_aead_setkey + crypto_ahash_digest + crypto_ahash_setkey + crypto_alloc_aead + crypto_alloc_ahash + crypto_alloc_base + crypto_alloc_shash + crypto_comp_compress + crypto_comp_decompress + crypto_dequeue_request + crypto_destroy_tfm + crypto_enqueue_request + crypto_has_alg + crypto_inc + crypto_init_queue + crypto_register_aead + crypto_register_ahash + crypto_register_alg + crypto_register_scomp + crypto_register_shash + crypto_register_skcipher + crypto_req_done + crypto_sha1_finup + crypto_sha1_update + crypto_shash_final + crypto_shash_setkey + crypto_shash_update + crypto_unregister_aead + crypto_unregister_ahash + crypto_unregister_alg + crypto_unregister_scomp + crypto_unregister_shash + crypto_unregister_skcipher + csum_partial + current_time + d_add + d_make_root + datagram_poll + deactivate_locked_super + debugfs_create_dir + debugfs_create_file + debugfs_create_regset32 + debugfs_create_u32 + debugfs_create_x64 + debugfs_remove + debugfs_rename + dec_zone_page_state + default_llseek + default_wake_function + deferred_free + del_gendisk + del_timer + del_timer_sync + delayed_work_timer_fn + desc_to_gpio + destroy_workqueue + dev_close + dev_driver_string + dev_err_probe + dev_fetch_sw_netstats + dev_fwnode + dev_get_by_name + dev_get_by_name_rcu + dev_get_regmap + dev_open + dev_pm_opp_free_cpufreq_table + dev_pm_opp_get_max_transition_latency + dev_pm_opp_get_opp_count + dev_pm_opp_get_opp_table + dev_pm_opp_get_sharing_cpus + dev_pm_opp_get_suspend_opp_freq + dev_pm_opp_init_cpufreq_table + dev_pm_opp_of_cpumask_add_table + dev_pm_opp_of_cpumask_remove_table + dev_pm_opp_of_get_sharing_cpus + dev_pm_opp_of_register_em + dev_pm_opp_put_opp_table + dev_pm_opp_put_regulators + dev_pm_opp_set_rate + dev_pm_opp_set_regulators + dev_pm_opp_set_sharing_cpus + dev_pm_qos_expose_latency_tolerance + dev_pm_qos_hide_latency_tolerance + dev_pm_qos_update_user_latency_tolerance + dev_printk + dev_queue_xmit + dev_set_name + device_add + device_add_disk + device_create + device_del + device_destroy + device_for_each_child + device_get_child_node_count + device_get_next_child_node + device_get_phy_mode + device_init_wakeup + device_initialize + device_property_present + device_property_read_string + device_property_read_string_array + device_property_read_u32_array + device_property_read_u8_array + device_register + device_release_driver + device_remove_file_self + device_set_wakeup_capable + device_set_wakeup_enable + device_wakeup_enable + devm_add_action + devm_blk_ksm_init + devm_clk_bulk_get + devm_clk_get + devm_clk_get_optional + devm_clk_hw_register + devm_clk_register + devm_extcon_dev_allocate + devm_extcon_dev_register + devm_extcon_register_notifier + devm_free_irq + devm_get_clk_from_child + devm_gpio_request_one + devm_gpiochip_add_data_with_key + devm_gpiod_get + devm_gpiod_get_index + devm_gpiod_get_optional + devm_iio_channel_get + devm_iio_device_alloc + devm_input_allocate_device + devm_ioremap + devm_ioremap_resource + devm_kasprintf + devm_kfree + devm_kmalloc + devm_kmemdup + devm_kstrdup + devm_kvasprintf + devm_led_classdev_register_ext + devm_mfd_add_devices + devm_nvmem_register + devm_of_clk_add_hw_provider + devm_phy_create + devm_phy_get + devm_pinctrl_register + devm_platform_get_and_ioremap_resource + devm_platform_ioremap_resource + devm_power_supply_register + devm_pwm_get + devm_regmap_field_alloc + devm_regulator_bulk_get + devm_regulator_get + devm_regulator_get_optional + devm_regulator_register + devm_request_any_context_irq + devm_request_threaded_irq + devm_reset_control_array_get + devm_rtc_allocate_device + devm_snd_dmaengine_pcm_register + devm_snd_soc_register_card + devm_snd_soc_register_component + devm_spi_register_controller + devm_thermal_zone_of_sensor_register + devm_usb_get_phy + devres_add + devres_alloc_node + devres_free + devres_release + disable_irq + disk_end_io_acct + disk_start_io_acct + dma_alloc_attrs + dma_async_device_register + dma_async_device_unregister + dma_async_tx_descriptor_init + dma_buf_export + dma_buf_fd + dma_buf_put + dma_contiguous_default_area + dma_free_attrs + dma_get_required_mask + dma_get_slave_channel + dma_heap_add + dma_heap_get_dev + dma_heap_get_drvdata + dma_heap_get_name + dma_map_page_attrs + dma_map_resource + dma_map_sg_attrs + dma_max_mapping_size + dma_pool_alloc + dma_pool_create + dma_pool_destroy + dma_pool_free + dma_release_channel + dma_request_chan + dma_set_coherent_mask + dma_set_mask + dma_sync_sg_for_cpu + dma_sync_sg_for_device + dma_sync_single_for_cpu + dma_sync_single_for_device + dma_unmap_page_attrs + dma_unmap_resource + dma_unmap_sg_attrs + dmabuf_page_pool_alloc + dmabuf_page_pool_create + dmabuf_page_pool_destroy + dmabuf_page_pool_free + dmaengine_unmap_put + dmam_alloc_attrs + dmam_free_coherent + down + down_read + down_write + dput + dql_completed + dql_reset + driver_register + driver_unregister + drm_add_edid_modes + drm_atomic_helper_connector_destroy_state + drm_atomic_helper_connector_duplicate_state + drm_atomic_helper_connector_reset + drm_bridge_add + drm_bridge_remove + drm_connector_attach_encoder + drm_connector_cleanup + drm_connector_init + drm_connector_update_edid_property + drm_detect_hdmi_monitor + drm_display_mode_from_videomode + drm_get_edid + drm_hdmi_avi_infoframe_from_display_mode + drm_helper_hpd_irq_event + drm_helper_probe_single_connector_modes + drm_mode_create + drm_mode_duplicate + drm_mode_probed_add + drm_mode_set_name + drm_mode_vrefresh + drm_panel_add + drm_panel_disable + drm_panel_init + drm_panel_remove + drm_panel_unprepare + dump_stack + enable_irq + eth_commit_mac_addr_change + eth_mac_addr + eth_platform_get_mac_address + eth_prepare_mac_addr_change + eth_type_trans + eth_validate_addr + ether_setup + ethtool_op_get_ts_info + event_triggers_call + extcon_get_edev_by_phandle + extcon_get_property + extcon_get_state + extcon_set_state_sync + failure_tracking + fasync_helper + find_next_bit + find_next_zero_bit + find_vma + finish_wait + flush_dcache_page + flush_work + flush_workqueue + fpsimd_context_busy + fput + free_irq + free_netdev + free_pages + free_pages_exact + free_percpu + freezing_slow_path + fsync_bdev + full_name_hash + fwnode_device_is_available + fwnode_get_name + fwnode_graph_get_next_endpoint + fwnode_graph_get_port_parent + fwnode_graph_get_remote_endpoint + fwnode_graph_get_remote_port_parent + fwnode_graph_parse_endpoint + fwnode_handle_put + fwnode_property_get_reference_args + fwnode_property_present + fwnode_property_read_string + fwnode_property_read_u32_array + fwnode_property_read_u64_array + gcd + gen_pool_add_owner + gen_pool_alloc_algo_owner + gen_pool_best_fit + gen_pool_create + gen_pool_destroy + gen_pool_dma_alloc_align + gen_pool_dma_zalloc_align + gen_pool_free_owner + gen_pool_set_algo + gen_pool_virt_to_phys + generic_mii_ioctl + genphy_resume + get_cpu_device + get_cpu_idle_time_us + get_device + get_kernel_pages + get_random_bytes + get_random_u32 + get_sg_io_hdr + get_zeroed_page + gf128mul_lle + gic_nonsecure_priorities + glob_match + gpio_to_desc + gpiochip_add_pin_range + gpiochip_generic_free + gpiochip_generic_request + gpiochip_get_data + gpiod_count + gpiod_direction_output + gpiod_get_optional + gpiod_get_value + gpiod_get_value_cansleep + gpiod_set_consumer_name + gpiod_set_value + gpiod_set_value_cansleep + hdmi_audio_infoframe_init + hdmi_audio_infoframe_pack + hdmi_avi_infoframe_pack + hex_asc_upper + hid_add_device + hid_allocate_device + hid_debug + hid_destroy_device + hid_input_report + hid_parse_report + hrtimer_cancel + hrtimer_init + hrtimer_start_range_ns + hwrng_register + hwrng_unregister + i2c_adapter_type + i2c_add_adapter + i2c_add_numbered_adapter + i2c_bus_type + i2c_del_adapter + i2c_del_driver + i2c_for_each_dev + i2c_get_adapter + i2c_parse_fw_timings + i2c_put_adapter + i2c_register_driver + i2c_smbus_read_byte + i2c_smbus_read_byte_data + i2c_smbus_xfer + i2c_transfer + i2c_transfer_buffer_flags + i2c_verify_client + ida_alloc_range + ida_destroy + ida_free + idr_alloc + idr_destroy + idr_find + idr_for_each + idr_get_next + idr_preload + idr_remove + iio_alloc_pollfunc + iio_buffer_init + iio_buffer_put + iio_channel_get_all + iio_dealloc_pollfunc + iio_device_attach_buffer + iio_get_channel_type + iio_get_time_ns + iio_push_to_buffers + iio_read_channel_processed + iio_trigger_notify_done + import_iovec + in4_pton + in6_pton + in_egroup_p + inc_zone_page_state + init_net + init_pseudo + init_srcu_struct + init_timer_key + init_uts_ns + init_wait_entry + input_alloc_absinfo + input_allocate_device + input_event + input_free_device + input_mt_init_slots + input_mt_report_slot_state + input_mt_sync_frame + input_register_device + input_set_abs_params + input_set_capability + input_unregister_device + iounmap + iput + ipv6_stub + irq_get_irq_data + irq_set_irq_wake + irq_stat + is_vmalloc_addr + jiffies + jiffies_to_msecs + kasan_flag_enabled + kasprintf + kern_mount + kern_unmount + kernel_neon_begin + kernel_neon_end + kernel_sendmsg + kernel_sigaction + key_put + keyring_alloc + kfree + kfree_const + kfree_sensitive + kfree_skb + kill_anon_super + kill_fasync + kimage_voffset + kmalloc_caches + kmalloc_order_trace + kmem_cache_alloc + kmem_cache_alloc_trace + kmem_cache_create + kmem_cache_create_usercopy + kmem_cache_destroy + kmem_cache_free + kmemdup + kobject_get + kobject_put + kobject_uevent_env + kstrdup + kstrdup_const + kstrndup + kstrtobool + kstrtobool_from_user + kstrtoint + kstrtoll + kstrtou16 + kstrtou8 + kstrtouint + kstrtoull + kthread_cancel_delayed_work_sync + kthread_create_on_node + kthread_create_worker + kthread_delayed_work_timer_fn + kthread_destroy_worker + kthread_mod_delayed_work + kthread_queue_delayed_work + ktime_get + ktime_get_coarse_real_ts64 + ktime_get_mono_fast_ns + ktime_get_real_ts64 + ktime_get_snapshot + ktime_get_with_offset + kvfree + kvmalloc_node + led_classdev_register_ext + led_classdev_unregister + list_sort + lock_sock_nested + lockref_get + loops_per_jiffy + lzo1x_1_compress + lzo1x_decompress_safe + lzorle1x_1_compress + match_int + match_token + mdiobus_alloc_size + mdiobus_free + mdiobus_get_phy + mdiobus_read + mdiobus_unregister + mdiobus_write + media_entity_pads_init + memchr + memchr_inv + memcpy + memdup_user + memmove + memparse + mempool_alloc + mempool_alloc_slab + mempool_create + mempool_create_node + mempool_destroy + mempool_free + mempool_free_slab + mempool_kfree + mempool_kmalloc + memremap + memset + memset64 + memstart_addr + memunmap + mii_check_media + mii_ethtool_get_link_ksettings + mii_ethtool_gset + mii_ethtool_set_link_ksettings + mii_link_ok + mii_nway_restart + mipi_dsi_attach + mipi_dsi_detach + mipi_dsi_driver_register_full + mipi_dsi_driver_unregister + mktime64 + mmc_add_host + mmc_alloc_host + mmc_can_gpio_cd + mmc_cqe_request_done + mmc_detect_change + mmc_free_host + mmc_gpio_get_cd + mmc_gpio_get_ro + mmc_of_parse + mmc_regulator_get_supply + mmc_regulator_set_ocr + mmc_regulator_set_vqmmc + mmc_remove_host + mmc_request_done + mmc_send_tuning + mod_delayed_work_on + mod_timer + module_layout + module_put + msleep + msleep_interruptible + mutex_is_locked + mutex_lock + mutex_lock_interruptible + mutex_unlock + n_tty_ioctl_helper + napi_complete_done + napi_disable + napi_gro_receive + napi_schedule_prep + net_ratelimit + netdev_alert + netdev_err + netdev_info + netdev_pick_tx + netdev_update_features + netdev_upper_dev_link + netdev_upper_dev_unlink + netdev_warn + netif_carrier_off + netif_carrier_on + netif_device_attach + netif_device_detach + netif_napi_add + netif_rx + netif_rx_ni + netif_schedule_queue + netif_set_real_num_rx_queues + netif_set_real_num_tx_queues + netif_stacked_transfer_operstate + netif_tx_stop_all_queues + netif_tx_wake_queue + new_inode + no_llseek + nonseekable_open + noop_llseek + nr_cpu_ids + ns_to_timespec64 + of_alias_get_id + of_clk_add_hw_provider + of_clk_add_provider + of_clk_del_provider + of_clk_get + of_clk_get_by_name + of_clk_hw_onecell_get + of_clk_hw_simple_get + of_clk_src_simple_get + of_count_phandle_with_args + of_device_get_match_data + of_device_is_available + of_device_is_compatible + of_dma_controller_free + of_dma_controller_register + of_find_device_by_node + of_find_i2c_adapter_by_node + of_find_property + of_get_child_by_name + of_get_compatible_child + of_get_mac_address + of_get_named_gpio_flags + of_get_next_available_child + of_get_next_child + of_get_parent + of_get_property + of_get_regulator_init_data + of_graph_parse_endpoint + of_irq_get_byname + of_machine_is_compatible + of_match_device + of_match_node + of_mdiobus_register + of_node_name_eq + of_parse_phandle + of_parse_phandle_with_args + of_phy_is_fixed_link + of_phy_simple_xlate + of_platform_device_create + of_property_count_elems_of_size + of_property_read_string + of_property_read_string_helper + of_property_read_u32_index + of_property_read_variable_u16_array + of_property_read_variable_u32_array + of_property_read_variable_u8_array + of_pwm_xlate_with_flags + page_endio + page_mapping + panic_notifier_list + param_array_ops + param_get_int + param_get_uint + param_ops_bool + param_ops_byte + param_ops_charp + param_ops_int + param_ops_string + param_ops_uint + param_ops_ulong + param_ops_ushort + param_set_uint + pci_alloc_irq_vectors_affinity + pci_device_is_present + pci_disable_device + pci_disable_pcie_error_reporting + pci_enable_device_mem + pci_enable_pcie_error_reporting + pci_free_irq + pci_free_irq_vectors + pci_intx + pci_irq_vector + pci_load_saved_state + pci_match_id + pci_read_config_byte + pci_read_config_dword + pci_read_config_word + pci_release_selected_regions + pci_request_irq + pci_request_selected_regions + pci_restore_state + pci_save_state + pci_select_bars + pci_set_master + pci_set_power_state + pci_unregister_driver + pci_write_config_dword + pci_write_config_word + pcibios_resource_to_bus + pcie_aspm_enabled + pcim_enable_device + perf_trace_buf_alloc + perf_trace_run_bpf_submit + pfn_valid + phy_attached_info + phy_disconnect + phy_ethtool_get_link_ksettings + phy_ethtool_nway_reset + phy_ethtool_set_link_ksettings + phy_exit + phy_init + phy_init_eee + phy_mii_ioctl + phy_power_off + phy_power_on + phy_print_status + phy_reset + phy_set_mode_ext + phy_start + phy_stop + phylink_connect_phy + phylink_create + phylink_destroy + phylink_of_phy_connect + phylink_set_port_modes + pin_user_pages_fast + pinconf_generic_dt_node_to_map + pinctrl_dev_get_drvdata + pinctrl_gpio_direction_input + pinctrl_gpio_direction_output + pinctrl_pm_select_default_state + pinctrl_pm_select_sleep_state + pinctrl_utils_free_map + platform_device_put + platform_device_register_full + platform_driver_unregister + platform_get_irq + platform_get_irq_byname + platform_get_irq_byname_optional + platform_get_irq_optional + platform_get_resource + platform_get_resource_byname + pm_power_off + pm_runtime_enable + pm_runtime_forbid + pm_runtime_force_resume + pm_runtime_force_suspend + pm_runtime_get_if_active + pm_runtime_irq_safe + pm_runtime_set_autosuspend_delay + pm_suspend_global_flags + pm_wakeup_dev_event + policy_has_boost_freq + posix_clock_register + posix_clock_unregister + power_supply_changed + power_supply_get_drvdata + power_supply_register + power_supply_unregister + preempt_schedule + preempt_schedule_notrace + prepare_to_wait + prepare_to_wait_event + print_hex_dump + printk + proc_create + proc_create_single_data + proc_mkdir + proto_register + proto_unregister + pskb_expand_head + put_device + put_disk + put_sg_io_hdr + pwm_apply_state + pwmchip_add + pwmchip_remove + queue_delayed_work_on + queue_work_on + rational_best_approximation + rb_erase + rb_first + rb_insert_color + rb_next + rcu_barrier + rdev_get_drvdata + rdev_get_id + read_cache_page + refcount_warn_saturate + regcache_cache_only + regcache_mark_dirty + regcache_sync + register_blkdev + register_chrdev_region + register_filesystem + register_netdev + register_netdevice + register_netdevice_notifier + register_pernet_device + register_pernet_subsys + register_reboot_notifier + register_shrinker + regmap_add_irq_chip + regmap_bulk_read + regmap_bulk_write + regmap_del_irq_chip + regmap_field_read + regmap_field_update_bits_base + regmap_irq_get_domain + regmap_multi_reg_write + regmap_raw_read + regmap_raw_write + regmap_read + regmap_update_bits_base + regmap_write + regulator_bulk_disable + regulator_bulk_enable + regulator_disable + regulator_disable_regmap + regulator_enable + regulator_enable_regmap + regulator_get + regulator_get_voltage + regulator_get_voltage_sel_regmap + regulator_is_enabled + regulator_is_enabled_regmap + regulator_list_voltage_linear + regulator_list_voltage_linear_range + regulator_map_voltage_iterate + regulator_map_voltage_linear + regulator_map_voltage_linear_range + regulator_put + regulator_register_notifier + regulator_set_active_discharge_regmap + regulator_set_voltage_sel_regmap + regulator_set_voltage_time_sel + regulator_unregister_notifier + release_firmware + release_sock + remap_pfn_range + remove_proc_entry + remove_wait_queue + request_firmware + request_threaded_irq + reset_control_assert + reset_control_deassert + reset_control_put + reset_control_reset + revalidate_disk_size + rfkill_alloc + rfkill_destroy + rfkill_register + rfkill_unregister + round_jiffies_relative + rt_mutex_lock + rt_mutex_trylock + rt_mutex_unlock + rtc_time64_to_tm + rtc_tm_to_time64 + rtc_update_irq + rtnl_lock + rtnl_trylock + rtnl_unlock + sb800_prefetch + scatterwalk_map_and_copy + schedule + schedule_timeout + schedule_timeout_interruptible + schedule_timeout_uninterruptible + scmi_driver_register + scmi_driver_unregister + scnprintf + scsi_add_host_with_dma + scsi_autopm_get_device + scsi_autopm_put_device + scsi_block_when_processing_errors + scsi_command_size_tbl + scsi_compat_ioctl + scsi_device_get + scsi_device_lookup + scsi_device_put + scsi_host_put + scsi_ioctl + scsi_ioctl_block_when_processing_errors + scsi_normalize_sense + scsi_print_sense_hdr + scsi_remove_device + scsi_remove_host + sdev_prefix_printk + sdhci_add_host + sdhci_cleanup_host + sdhci_cqe_disable + sdhci_cqe_enable + sdhci_cqe_irq + sdhci_enable_clk + sdhci_get_property + sdhci_pltfm_free + sdhci_pltfm_init + sdhci_remove_host + sdhci_reset + sdhci_set_bus_width + sdhci_setup_host + sdio_signal_irq + send_sig + seq_lseek + seq_printf + seq_putc + seq_puts + seq_read + set_capacity_revalidate_and_notify + set_disk_ro + set_freezable + set_page_dirty + set_user_nice + sg_alloc_table + sg_alloc_table_from_pages + sg_copy_from_buffer + sg_copy_to_buffer + sg_free_table + sg_init_one + sg_init_table + sg_miter_next + sg_miter_start + sg_miter_stop + sg_next + sg_pcopy_from_buffer + sg_pcopy_to_buffer + sg_scsi_ioctl + sigprocmask + simple_dir_operations + simple_read_from_buffer + simple_strtoul + single_open + single_release + sk_alloc + sk_free + skb_add_rx_frag + skb_clone + skb_copy_bits + skb_copy_datagram_iter + skb_copy_expand + skb_dequeue + skb_pull + skb_pull_rcsum + skb_push + skb_put + skb_queue_purge + skb_queue_tail + skb_recv_datagram + skb_trim + skb_tstamp_tx + skcipher_walk_aead_decrypt + skcipher_walk_aead_encrypt + skcipher_walk_done + snd_ctl_add + snd_ctl_new1 + snd_pcm_add_chmap_ctls + snd_pcm_create_iec958_consumer_hw_params + snd_pcm_format_width + snd_pcm_hw_constraint_eld + snd_pcm_hw_constraint_list + snd_soc_card_jack_new + snd_soc_component_update_bits + snd_soc_component_write + snd_soc_dai_link_set_capabilities + snd_soc_dai_set_sysclk + snd_soc_dai_set_tdm_slot + snd_soc_dapm_add_routes + snd_soc_dapm_disable_pin_unlocked + snd_soc_dapm_force_enable_pin_unlocked + snd_soc_dapm_get_enum_double + snd_soc_dapm_get_pin_switch + snd_soc_dapm_get_volsw + snd_soc_dapm_info_pin_switch + snd_soc_dapm_put_enum_double + snd_soc_dapm_put_pin_switch + snd_soc_dapm_put_volsw + snd_soc_dapm_sync_unlocked + snd_soc_get_enum_double + snd_soc_get_volsw + snd_soc_info_enum_double + snd_soc_info_volsw + snd_soc_jack_add_gpios + snd_soc_jack_report + snd_soc_of_get_dai_name + snd_soc_of_parse_audio_routing + snd_soc_of_parse_audio_simple_widgets + snd_soc_of_parse_aux_devs + snd_soc_of_parse_card_name + snd_soc_of_parse_daifmt + snd_soc_of_parse_node_prefix + snd_soc_of_parse_tdm_slot + snd_soc_params_to_frame_size + snd_soc_pm_ops + snd_soc_put_enum_double + snd_soc_put_volsw + snd_soc_runtime_calc_hw + snprintf + sock_init_data + sock_no_accept + sock_no_listen + sock_no_mmap + sock_no_shutdown + sock_no_socketpair + sock_queue_rcv_skb + sock_release + sort + spi_controller_resume + spi_controller_suspend + spi_finalize_current_transfer + spi_setup + spi_sync + sprintf + sscanf + stpcpy + strcasecmp + strchr + strcmp + strcpy + strcspn + stream_open + strim + strlcat + strlcpy + strlen + strncasecmp + strnchr + strncmp + strncpy + strnlen + strpbrk + strscpy + strsep + strspn + synchronize_irq + synchronize_net + synchronize_rcu + synchronize_srcu + sys_tz + syscon_node_to_regmap + syscon_regmap_lookup_by_phandle + sysfs_add_file_to_group + sysfs_create_group + sysfs_create_link + sysfs_remove_file_from_group + sysfs_remove_group + sysfs_remove_link + sysfs_streq + system_freezing_cnt + system_long_wq + system_state + system_wq + tasklet_init + tasklet_kill + tasklet_setup + thermal_zone_device_disable + thermal_zone_device_enable + thermal_zone_device_update + time64_to_tm + trace_event_buffer_commit + trace_event_buffer_reserve + trace_event_ignore_this_pid + trace_event_raw_init + trace_event_reg + trace_handle_return + trace_print_symbols_seq + trace_raw_output_prep + trace_seq_printf + trace_seq_putc + try_module_get + try_wait_for_completion + tty_flip_buffer_push + tty_hangup + tty_insert_flip_string_fixed_flag + tty_kref_put + tty_mode_ioctl + tty_port_tty_get + tty_register_ldisc + tty_termios_baud_rate + tty_termios_encode_baud_rate + tty_unregister_ldisc + unlock_page + unpin_user_pages + unregister_blkdev + unregister_chrdev_region + unregister_filesystem + unregister_netdev + unregister_netdevice_many + unregister_netdevice_notifier + unregister_netdevice_queue + unregister_pernet_device + unregister_pernet_subsys + unregister_reboot_notifier + unregister_shrinker + up + up_read + up_write + usb_add_gadget_udc + usb_add_hcd + usb_alloc_coherent + usb_alloc_urb + usb_amd_dev_put + usb_amd_quirk_pll_disable + usb_amd_quirk_pll_enable + usb_anchor_urb + usb_bulk_msg + usb_calc_bus_time + usb_control_msg + usb_create_hcd + usb_debug_root + usb_del_gadget_udc + usb_deregister + usb_disabled + usb_ep_set_maxpacket_limit + usb_find_common_endpoints + usb_free_coherent + usb_free_urb + usb_gadget_giveback_request + usb_gadget_map_request + usb_gadget_set_state + usb_gadget_unmap_request + usb_get_dr_mode + usb_hc_died + usb_hcd_check_unlink_urb + usb_hcd_giveback_urb + usb_hcd_link_urb_to_ep + usb_hcd_map_urb_for_dma + usb_hcd_platform_shutdown + usb_hcd_poll_rh_status + usb_hcd_resume_root_hub + usb_hcd_unlink_urb_from_ep + usb_hcds_loaded + usb_hub_clear_tt_buffer + usb_ifnum_to_if + usb_kill_anchored_urbs + usb_kill_urb + usb_phy_set_charger_current + usb_poison_urb + usb_put_dev + usb_put_hcd + usb_register_driver + usb_remove_hcd + usb_role_switch_get_drvdata + usb_role_switch_register + usb_role_switch_unregister + usb_root_hub_lost_power + usb_speed_string + usb_submit_urb + usb_unanchor_urb + usbnet_change_mtu + usbnet_disconnect + usbnet_get_drvinfo + usbnet_get_endpoints + usbnet_get_link + usbnet_get_link_ksettings + usbnet_get_msglevel + usbnet_get_stats64 + usbnet_link_change + usbnet_nway_reset + usbnet_open + usbnet_probe + usbnet_read_cmd + usbnet_read_cmd_nopm + usbnet_resume + usbnet_set_link_ksettings + usbnet_set_msglevel + usbnet_skb_return + usbnet_start_xmit + usbnet_stop + usbnet_suspend + usbnet_tx_timeout + usbnet_write_cmd + usbnet_write_cmd_async + usbnet_write_cmd_nopm + usleep_range + utf16s_to_utf8s + uuid_null + v4l2_async_notifier_add_fwnode_subdev + v4l2_async_notifier_add_subdev + v4l2_async_notifier_cleanup + v4l2_async_notifier_init + v4l2_async_notifier_unregister + v4l2_async_register_subdev + v4l2_async_subdev_notifier_register + v4l2_async_unregister_subdev + v4l2_ctrl_auto_cluster + v4l2_ctrl_handler_free + v4l2_ctrl_handler_init_class + v4l2_ctrl_handler_setup + v4l2_ctrl_new_std + v4l2_ctrl_new_std_menu + v4l2_ctrl_new_std_menu_items + v4l2_i2c_subdev_init + vabits_actual + vfree + vmalloc + vmalloc_to_page + vmap + vscnprintf + vunmap + vzalloc + wait_for_completion + wait_for_completion_interruptible + wait_for_completion_io_timeout + wait_for_completion_killable + wait_for_completion_timeout + wait_woken + wake_up_process + watchdog_init_timeout + watchdog_register_device + watchdog_set_restart_priority + watchdog_unregister_device + woken_wake_function + xa_destroy + xa_erase + xa_find + xa_find_after + xa_load + xa_store diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64 index 1a6553bcc383..55229d9912a9 100644 --- a/build.config.gki.aarch64 +++ b/build.config.gki.aarch64 @@ -21,6 +21,7 @@ android/abi_gki_aarch64_hikey960 android/abi_gki_aarch64_mtk android/abi_gki_aarch64_oplus android/abi_gki_aarch64_qcom +android/abi_gki_aarch64_rockchip android/abi_gki_aarch64_virtual_device android/abi_gki_aarch64_vivo android/abi_gki_aarch64_xiaomi diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 70dcac4b81ee..0ae5d2f5e055 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -213,6 +213,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_filemap_fault_cache_page); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_enable_thermal_genl_check); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_thermal_pm_notify_suspend); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_fill_prdt); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ufs_reprogram_all_keys); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_prepare_command); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_update_sysfs); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_command); diff --git a/drivers/scsi/ufs/ufshcd-crypto.c b/drivers/scsi/ufs/ufshcd-crypto.c index 734dd09ffb88..7604c0744746 100644 --- a/drivers/scsi/ufs/ufshcd-crypto.c +++ b/drivers/scsi/ufs/ufshcd-crypto.c @@ -6,6 +6,9 @@ #include "ufshcd.h" #include "ufshcd-crypto.h" +#undef CREATE_TRACE_POINTS +#include + /* Blk-crypto modes supported by UFS crypto */ static const struct ufs_crypto_alg_entry { enum ufs_crypto_alg ufs_alg; @@ -120,8 +123,13 @@ bool ufshcd_crypto_enable(struct ufs_hba *hba) return false; /* Reset might clear all keys, so reprogram all the keys. */ - if (hba->ksm.num_slots) - blk_ksm_reprogram_all_keys(&hba->ksm); + if (hba->ksm.num_slots) { + int err = -EOPNOTSUPP; + + trace_android_rvh_ufs_reprogram_all_keys(hba, &err); + if (err == -EOPNOTSUPP) + blk_ksm_reprogram_all_keys(&hba->ksm); + } if (hba->quirks & UFSHCD_QUIRK_BROKEN_CRYPTO_ENABLE) return false; diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index a25cdf46a18a..eb2baf3b69b6 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -9541,6 +9541,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) async_schedule(ufshcd_async_scan, hba); ufs_sysfs_add_nodes(hba); + device_enable_async_suspend(dev); return 0; free_tmf_queue: diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 2fc48321319f..28cfc9a86010 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -552,7 +552,7 @@ int f2fs_get_node_info(struct f2fs_sb_info *sbi, nid_t nid, int i; ni->nid = nid; - +retry: /* Check nat cache */ down_read(&nm_i->nat_tree_lock); e = __lookup_nat_cache(nm_i, nid); @@ -564,10 +564,19 @@ int f2fs_get_node_info(struct f2fs_sb_info *sbi, nid_t nid, return 0; } - memset(&ne, 0, sizeof(struct f2fs_nat_entry)); + /* + * Check current segment summary by trying to grab journal_rwsem first. + * This sem is on the critical path on the checkpoint requiring the above + * nat_tree_lock. Therefore, we should retry, if we failed to grab here + * while not bothering checkpoint. + */ + if (!rwsem_is_locked(&sbi->cp_global_sem)) { + down_read(&curseg->journal_rwsem); + } else if (!down_read_trylock(&curseg->journal_rwsem)) { + up_read(&nm_i->nat_tree_lock); + goto retry; + } - /* Check current segment summary */ - down_read(&curseg->journal_rwsem); i = f2fs_lookup_journal_in_cursum(journal, NAT_JOURNAL, nid, 0); if (i >= 0) { ne = nat_in_journal(journal, i); diff --git a/fs/proc/fd.c b/fs/proc/fd.c index 6157913911f8..6b634c0a9b6e 100644 --- a/fs/proc/fd.c +++ b/fs/proc/fd.c @@ -71,7 +71,7 @@ out: return 0; } -static int seq_fdinfo_open(struct inode *inode, struct file *file) +static int proc_fdinfo_access_allowed(struct inode *inode) { bool allowed = false; struct task_struct *task = get_proc_task(inode); @@ -85,6 +85,16 @@ static int seq_fdinfo_open(struct inode *inode, struct file *file) if (!allowed) return -EACCES; + return 0; +} + +static int seq_fdinfo_open(struct inode *inode, struct file *file) +{ + int ret = proc_fdinfo_access_allowed(inode); + + if (ret) + return ret; + return single_open(file, seq_show, inode); } @@ -365,12 +375,23 @@ static int proc_readfdinfo(struct file *file, struct dir_context *ctx) proc_fdinfo_instantiate); } +static int proc_open_fdinfo(struct inode *inode, struct file *file) +{ + int ret = proc_fdinfo_access_allowed(inode); + + if (ret) + return ret; + + return 0; +} + const struct inode_operations proc_fdinfo_inode_operations = { .lookup = proc_lookupfdinfo, .setattr = proc_setattr, }; const struct file_operations proc_fdinfo_operations = { + .open = proc_open_fdinfo, .read = generic_read_dir, .iterate_shared = proc_readfdinfo, .llseek = generic_file_llseek, diff --git a/include/trace/hooks/ufshcd.h b/include/trace/hooks/ufshcd.h index 362723ff50f2..ec8845a55076 100644 --- a/include/trace/hooks/ufshcd.h +++ b/include/trace/hooks/ufshcd.h @@ -19,6 +19,10 @@ DECLARE_HOOK(android_vh_ufs_fill_prdt, unsigned int segments, int *err), TP_ARGS(hba, lrbp, segments, err)); +DECLARE_RESTRICTED_HOOK(android_rvh_ufs_reprogram_all_keys, + TP_PROTO(struct ufs_hba *hba, int *err), + TP_ARGS(hba, err), 1); + DECLARE_HOOK(android_vh_ufs_prepare_command, TP_PROTO(struct ufs_hba *hba, struct request *rq, struct ufshcd_lrb *lrbp, int *err), diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c index e2999a070a99..79cb6d063b80 100644 --- a/kernel/irq/generic-chip.c +++ b/kernel/irq/generic-chip.c @@ -200,6 +200,7 @@ int irq_gc_set_wake(struct irq_data *d, unsigned int on) irq_gc_unlock(gc); return 0; } +EXPORT_SYMBOL_GPL(irq_gc_set_wake); static u32 irq_readl_be(void __iomem *addr) {