Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9394e522 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'android11-5.4.86_r00' from 'android11-5.4-lts' into 'android11-5.4'



This merges the 5.4.86 upstream LTS release into the android11-5.4
branch so that all devices can get the needed important security and
other bugfixes that are in here.  All devices must upgrade to remain
properly secure from known issues.

Bug: 180469075
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I1041e0d08d55a3eb2e0f49b7d2384960f48d9b11
parents c9251a89 d3c11f4a
Loading
Loading
Loading
Loading
+146487 −93846

File changed.

Preview size limit exceeded, changes collapsed.

+21 −0
Original line number Diff line number Diff line
@@ -210,6 +210,8 @@
  clk_hw_round_rate
  __clk_is_enabled
  __clk_mux_determine_rate_closest
  clk_notifier_register
  clk_notifier_unregister
  clk_prepare
  clk_put
  clk_register
@@ -635,6 +637,8 @@
  drm_atomic_helper_wait_for_vblanks
  drm_atomic_private_obj_init
  drm_atomic_set_crtc_for_connector
  drm_atomic_set_crtc_for_plane
  drm_atomic_set_fb_for_plane
  drm_atomic_set_fence_for_plane
  drm_atomic_set_mode_for_crtc
  drm_atomic_state_alloc
@@ -663,6 +667,7 @@
  drm_connector_list_iter_begin
  drm_connector_list_iter_end
  drm_connector_list_iter_next
  drm_connector_list_update
  drm_connector_register
  drm_connector_set_tile_property
  drm_connector_unregister
@@ -673,9 +678,12 @@
  drm_crtc_init_with_planes
  drm_crtc_send_vblank_event
  drm_crtc_set_max_vblank_count
  drm_crtc_vblank_get
  drm_crtc_vblank_off
  drm_crtc_vblank_on
  drm_crtc_vblank_put
  drm_crtc_vblank_reset
  drm_crtc_vblank_waitqueue
  drm_crtc_wait_one_vblank
  drm_cvt_mode
  drm_dbg
@@ -713,8 +721,10 @@
  drm_dp_link_train_channel_eq_delay
  drm_dp_link_train_clock_recovery_delay
  drm_dp_mst_allocate_vcpi
  drm_dp_mst_atomic_check
  drm_dp_mst_deallocate_vcpi
  drm_dp_mst_detect_port
  drm_dp_mst_dump_topology
  drm_dp_mst_get_edid
  drm_dp_mst_get_port_malloc
  drm_dp_mst_hpd_irq
@@ -733,6 +743,7 @@
  drm_err
  drm_event_reserve_init_locked
  drm_format_info
  drm_framebuffer_cleanup
  drm_framebuffer_init
  drm_framebuffer_lookup
  drm_framebuffer_remove
@@ -768,11 +779,14 @@
  drm_ioctl
  drm_irq_install
  drm_irq_uninstall
  drm_is_current_master
  drm_kms_helper_hotplug_event
  drm_kms_helper_poll_disable
  drm_kms_helper_poll_enable
  drm_kms_helper_poll_fini
  drm_kms_helper_poll_init
  drm_master_get
  drm_master_put
  drm_match_cea_mode
  drm_mm_init
  drm_mm_insert_node_in_range
@@ -788,6 +802,7 @@
  drm_mode_create_dp_colorspace_property
  drm_mode_create_tile_group
  drm_mode_debug_printmodeline
  drm_mode_destroy
  drm_mode_duplicate
  drm_mode_equal
  drm_mode_get_tile_group
@@ -795,6 +810,7 @@
  drm_mode_object_get
  drm_mode_object_put
  drm_mode_probed_add
  drm_mode_prune_invalid
  drm_modeset_acquire_fini
  drm_modeset_acquire_init
  drm_modeset_backoff
@@ -805,6 +821,7 @@
  drm_modeset_lock_all_ctx
  drm_mode_set_name
  drm_modeset_unlock_all
  drm_mode_sort
  drm_mode_vrefresh
  drm_object_attach_property
  drm_object_property_set_value
@@ -833,6 +850,7 @@
  drm_property_lookup_blob
  drm_put_dev
  drm_read
  drm_rect_rotate
  drm_release
  drm_rotation_simplify
  drm_send_event_locked
@@ -1580,6 +1598,7 @@
  of_property_read_u64_index
  of_property_read_variable_u16_array
  of_property_read_variable_u32_array
  of_property_read_variable_u64_array
  of_property_read_variable_u8_array
  of_prop_next_string
  of_prop_next_u32
@@ -2401,6 +2420,7 @@
  trace_event_reg
  trace_handle_return
  __tracepoint_dma_fence_emit
  __tracepoint_gpu_mem_total
  __tracepoint_xdp_exception
  trace_print_array_seq
  trace_print_flags_seq
@@ -2702,6 +2722,7 @@
  vb2_create_bufs
  vb2_create_framevec
  vb2_destroy_framevec
  vb2_dma_contig_memops
  vb2_dqbuf
  vb2_expbuf
  vb2_fop_mmap
+40 −0
Original line number Diff line number Diff line
[abi_symbol_list]
  devm_gpiod_get_from_of_node
  devm_gpiod_unhinge
  devm_kstrdup_const
  devm_mfd_add_devices
  down_timeout
  filp_close
  filp_open
  find_vpid
  input_mt_destroy_slots
  led_trigger_blink_oneshot
  nr_irqs
  pid_task
  rdev_get_id
  regcache_drop_region
  regmap_async_complete
  regmap_multi_reg_write
  regmap_multi_reg_write
  regmap_multi_reg_write_bypassed
  regmap_raw_write
  regmap_raw_write_async
  regulator_bulk_enable
  regulator_disable_regmap
  regulator_enable_regmap
  regulator_get_voltage_sel_regmap
  regulator_is_enabled_regmap
  regulator_map_voltage_linear
  regulator_set_voltage_sel_regmap
  request_any_context_irq
  snd_compr_stop_error
  snd_pcm_format_physical_width
  snd_soc_component_disable_pin
  snd_soc_component_force_enable_pin
  snd_soc_component_set_sysclk
  snd_soc_get_volsw_range
  snd_soc_info_volsw_range
  snd_soc_put_volsw_range
  spi_bus_type
  strncat
  thermal_zone_device_unregister
+21 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
  bpf_trace_run4
  __breadahead
  bus_register
  bus_set_iommu
  bus_unregister
  call_rcu
  cancel_delayed_work
@@ -110,6 +111,7 @@
  device_destroy
  device_initialize
  device_init_wakeup
  device_link_add
  device_match_fwnode
  device_match_name
  device_property_present
@@ -180,6 +182,10 @@
  drm_dev_register
  drm_err
  drm_ioctl
  drm_mm_init
  drm_mm_insert_node_in_range
  drm_mm_remove_node
  drm_mm_takedown
  drm_mode_config_cleanup
  drm_mode_config_init
  drm_open
@@ -281,7 +287,11 @@
  iommu_alloc_resv_region
  iommu_attach_device
  iommu_detach_device
  iommu_device_link
  iommu_device_register
  iommu_device_sysfs_add
  iommu_device_sysfs_remove
  iommu_device_unlink
  iommu_device_unregister
  iommu_dma_get_resv_regions
  iommu_domain_alloc
@@ -292,6 +302,7 @@
  iommu_fwspec_free
  iommu_get_dma_cookie
  iommu_get_domain_for_dev
  iommu_group_alloc
  iommu_group_get
  iommu_group_get_for_dev
  iommu_group_get_iommudata
@@ -995,6 +1006,7 @@
  skb_checksum_help
  strim
  xfrm_lookup
  completion_done

# required by kfifo_buf.ko
  devres_add
@@ -1144,6 +1156,7 @@

# required by pvrsrvkm.ko
  autoremove_wake_function
  bpf_trace_run6
  bpf_trace_run7
  bpf_trace_run8
  cache_line_size
@@ -1196,6 +1209,7 @@
  get_unused_fd_flags
  idr_preload
  idr_replace
  ion_query_heaps_kernel
  kill_pid
  ksize
  kthread_freezable_should_stop
@@ -1207,6 +1221,7 @@
  of_modalias_node
  on_each_cpu
  prepare_to_wait
  proc_remove
  put_unused_fd
  _raw_read_lock_bh
  _raw_read_unlock_bh
@@ -1222,6 +1237,7 @@
  strsep
  sync_file_create
  sync_file_get_fence
  __task_pid_nr_ns
  trace_print_symbols_seq
  trace_set_clr_event
  unmap_mapping_range
@@ -1993,6 +2009,7 @@
# required by usb_f_mtp.ko
  usb_os_desc_prepare_interf_dir
  usb_string_id
  config_group_init_type_name

# required by usbserial.ko
  device_del
@@ -2549,3 +2566,7 @@
  kobject_init_and_add
  sched_setscheduler_nocheck
  strpbrk

# required by sprd_wdf.ko
  kstrtoull_from_user
  smpboot_register_percpu_thread
+77 −91
Original line number Diff line number Diff line
@@ -1015,7 +1015,10 @@ static int armv8pmu_probe_pmu(struct arm_pmu *cpu_pmu)
	return probe.present ? 0 : -ENODEV;
}

static int armv8_pmu_init(struct arm_pmu *cpu_pmu)
static int armv8_pmu_init(struct arm_pmu *cpu_pmu, char *name,
			  int (*map_event)(struct perf_event *event),
			  const struct attribute_group *events,
			  const struct attribute_group *format)
{
	int ret = armv8pmu_probe_pmu(cpu_pmu);
	if (ret)
@@ -1034,144 +1037,127 @@ static int armv8_pmu_init(struct arm_pmu *cpu_pmu)
	cpu_pmu->set_event_filter	= armv8pmu_set_event_filter;
	cpu_pmu->filter_match		= armv8pmu_filter_match;

	cpu_pmu->name			= name;
	cpu_pmu->map_event		= map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] = events ?
			events : &armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] = format ?
			format : &armv8_pmuv3_format_attr_group;

	return 0;
}

static int armv8_pmuv3_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;

	cpu_pmu->name			= "armv8_pmuv3";
	cpu_pmu->map_event		= armv8_pmuv3_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;
	return armv8_pmu_init(cpu_pmu, "armv8_pmuv3",
			      armv8_pmuv3_map_event, NULL, NULL);
}

	return 0;
static int armv8_a34_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a34",
			      armv8_pmuv3_map_event, NULL, NULL);
}

static int armv8_a35_pmu_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;

	cpu_pmu->name			= "armv8_cortex_a35";
	cpu_pmu->map_event		= armv8_a53_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;

	return 0;
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a35",
			      armv8_a53_map_event, NULL, NULL);
}

static int armv8_a53_pmu_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;

	cpu_pmu->name			= "armv8_cortex_a53";
	cpu_pmu->map_event		= armv8_a53_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a53",
			      armv8_a53_map_event, NULL, NULL);
}

	return 0;
static int armv8_a55_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a55",
			      armv8_pmuv3_map_event, NULL, NULL);
}

static int armv8_a57_pmu_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;

	cpu_pmu->name			= "armv8_cortex_a57";
	cpu_pmu->map_event		= armv8_a57_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a57",
			      armv8_a57_map_event, NULL, NULL);
}

	return 0;
static int armv8_a65_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a65",
			      armv8_pmuv3_map_event, NULL, NULL);
}

static int armv8_a72_pmu_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;

	cpu_pmu->name			= "armv8_cortex_a72";
	cpu_pmu->map_event		= armv8_a57_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;

	return 0;
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a72",
			      armv8_a57_map_event, NULL, NULL);
}

static int armv8_a73_pmu_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;

	cpu_pmu->name			= "armv8_cortex_a73";
	cpu_pmu->map_event		= armv8_a73_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a73",
			      armv8_a73_map_event, NULL, NULL);
}

	return 0;
static int armv8_a75_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a75",
			      armv8_pmuv3_map_event, NULL, NULL);
}

static int armv8_thunder_pmu_init(struct arm_pmu *cpu_pmu)
static int armv8_a76_pmu_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a76",
			      armv8_pmuv3_map_event, NULL, NULL);
}

	cpu_pmu->name			= "armv8_cavium_thunder";
	cpu_pmu->map_event		= armv8_thunder_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;
static int armv8_a77_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_cortex_a77",
			      armv8_pmuv3_map_event, NULL, NULL);
}

	return 0;
static int armv8_e1_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_neoverse_e1",
			      armv8_pmuv3_map_event, NULL, NULL);
}

static int armv8_vulcan_pmu_init(struct arm_pmu *cpu_pmu)
static int armv8_n1_pmu_init(struct arm_pmu *cpu_pmu)
{
	int ret = armv8_pmu_init(cpu_pmu);
	if (ret)
		return ret;
	return armv8_pmu_init(cpu_pmu, "armv8_neoverse_n1",
			      armv8_pmuv3_map_event, NULL, NULL);
}

	cpu_pmu->name			= "armv8_brcm_vulcan";
	cpu_pmu->map_event		= armv8_vulcan_map_event;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =
		&armv8_pmuv3_events_attr_group;
	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =
		&armv8_pmuv3_format_attr_group;
static int armv8_thunder_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_cavium_thunder",
			      armv8_thunder_map_event, NULL, NULL);
}

	return 0;
static int armv8_vulcan_pmu_init(struct arm_pmu *cpu_pmu)
{
	return armv8_pmu_init(cpu_pmu, "armv8_brcm_vulcan",
			      armv8_vulcan_map_event, NULL, NULL);
}

static const struct of_device_id armv8_pmu_of_device_ids[] = {
	{.compatible = "arm,armv8-pmuv3",	.data = armv8_pmuv3_init},
	{.compatible = "arm,cortex-a34-pmu",	.data = armv8_a34_pmu_init},
	{.compatible = "arm,cortex-a35-pmu",	.data = armv8_a35_pmu_init},
	{.compatible = "arm,cortex-a53-pmu",	.data = armv8_a53_pmu_init},
	{.compatible = "arm,cortex-a55-pmu",	.data = armv8_a55_pmu_init},
	{.compatible = "arm,cortex-a57-pmu",	.data = armv8_a57_pmu_init},
	{.compatible = "arm,cortex-a65-pmu",	.data = armv8_a65_pmu_init},
	{.compatible = "arm,cortex-a72-pmu",	.data = armv8_a72_pmu_init},
	{.compatible = "arm,cortex-a73-pmu",	.data = armv8_a73_pmu_init},
	{.compatible = "arm,cortex-a75-pmu",	.data = armv8_a75_pmu_init},
	{.compatible = "arm,cortex-a76-pmu",	.data = armv8_a76_pmu_init},
	{.compatible = "arm,cortex-a77-pmu",	.data = armv8_a77_pmu_init},
	{.compatible = "arm,neoverse-e1-pmu",	.data = armv8_e1_pmu_init},
	{.compatible = "arm,neoverse-n1-pmu",	.data = armv8_n1_pmu_init},
	{.compatible = "cavium,thunder-pmu",	.data = armv8_thunder_pmu_init},
	{.compatible = "brcm,vulcan-pmu",	.data = armv8_vulcan_pmu_init},
	{},
Loading