Commit Graph

1053269 Commits

Author SHA1 Message Date
Michel Lespinasse
2c3bf019fb FROMLIST: mmap locking API: mmap_lock_is_contended returns a bool
Change mmap_lock_is_contended to return a bool value, rather than an
int which the callers are then supposed to interpret as a bool. This
is to ensure consistency with other mmap lock API functions (such as
the trylock functions).

Signed-off-by: Michel Lespinasse <michel@lespinasse.org>
Link: https://lore.kernel.org/all/20220128131006.67712-3-michel@lespinasse.org/
Bug: 161210518
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I7a11ff25a493adc58480b1fe8e3f14e44ad46fb3
2022-03-23 11:32:13 -07:00
Michel Lespinasse
80169a2fe4 FROMLIST: mm: export dump_mm
This is necessary in order to allow VM_BUG_ON_MM to be used in modules
(I encountered the issue when adding VM_BUG_ON_MM in mmap locking functions).

Signed-off-by: Michel Lespinasse <michel@lespinasse.org>
Link: https://lore.kernel.org/all/20220128131006.67712-2-michel@lespinasse.org/
Bug: 161210518
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ia373e4adde92ee4aa59ff9a1313d42a3ebccb7e3
2022-03-23 11:32:12 -07:00
Will Deacon
5715f9497b ANDROID: KVM: arm64: Invalidate TLB by VMID when tearing down the shadow VM
When a shadow VM is torn down, its VMID can be reallocated as soon as
the shadow table entry is cleared to NULL. Since tearing down the
stage-2 page-table does not imply TLB invalidation, the TLB could still
contain stale entries from the old VM and the new user of the VMID could
end up seeing erroneous translations.

Invalidate the TLB for the VMID of the VM being torn down prior to
clearing its entry in the shadow table.

Bug: 226312378
Signed-off-by: Will Deacon <willdeacon@google.com>
Change-Id: Ice44d030bf01a1b7612413ee32440f3f38cb3e4e
2022-03-23 10:15:47 +00:00
Daniel Mentz
6efc3b4d0d ANDROID: GKI: update the pixel symbol list
Leaf changes summary: 6 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 5 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

5 Added functions:

  [A] 'function int __bitmap_equal(const unsigned long int*, const unsigned long int*, unsigned int)'
  [A] 'function int down_read_trylock(rw_semaphore*)'
  [A] 'function thermal_cooling_device* of_devfreq_cooling_register_power(device_node*, devfreq*, devfreq_cooling_power*)'
  [A] 'function file* shmem_file_setup(const char*, loff_t, unsigned long int)'
  [A] 'function int thermal_zone_get_temp(thermal_zone_device*, int*)'

1 Added variable:

  [A] 'workqueue_struct* system_long_wq'

Bug: 225041227
Signed-off-by: Daniel Mentz <danielmentz@google.com>
Change-Id: I5b0dcdf3c7067f1caff56f39d2e1d4f4a013fe4a
2022-03-22 18:08:02 +00:00
Gokul krishna Krishnakumar
79f51cc58a ANDROID: Update QCOM symbol list
Update QCOM symbol list in android/abi_gki_aarch64_qcom.

Leaf changes summary: 145 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 77 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 68 Added variables

77 Added functions:

  [A] 'function rq* __migrate_task(rq*, rq_flags*, task_struct*, int)'
  [A] 'function rq* __task_rq_lock(task_struct*, rq_flags*)'
  [A] 'function void activate_task(rq*, task_struct*, int)'
  [A] 'function int add_memory_subsection(int, u64, u64)'
  [A] 'function void android_debug_for_each_module(int (const char*, void*, void*)*, void*)'
  [A] 'function void* android_debug_per_cpu_symbol(android_debug_per_cpu_symbol)'
  [A] 'function void* android_debug_symbol(android_debug_symbol)'
  [A] 'function task_struct* cgroup_taskset_first(cgroup_taskset*, cgroup_subsys_state**)'
  [A] 'function task_struct* cgroup_taskset_next(cgroup_taskset*, cgroup_subsys_state**)'
  [A] 'function void check_preempt_curr(rq*, task_struct*, int)'
  [A] 'function void console_stop(console*)'
  [A] 'function long int copy_from_kernel_nofault(void*, void*, size_t)'
  [A] 'function int cpufreq_get_policy(cpufreq_policy*, unsigned int)'
  [A] 'function int cpumask_any_and_distribute(const cpumask*, const cpumask*)'
  [A] 'function cgroup_subsys_state* css_next_child(cgroup_subsys_state*, cgroup_subsys_state*)'
  [A] 'function char* d_path(const path*, char*, int)'
  [A] 'function void deactivate_task(rq*, task_struct*, int)'
  [A] 'function devfreq* devfreq_get_devfreq_by_node(device_node*)'
  [A] 'function page* dma_alloc_pages(device*, size_t, dma_addr_t*, dma_data_direction, gfp_t)'
  [A] 'function void dma_free_pages(device*, size_t, page*, dma_addr_t, dma_data_direction)'
  [A] 'function void double_rq_lock(rq*, rq*)'
  [A] 'function pid* find_vpid(int)'
  [A] 'function int get_each_dmabuf(int (const dma_buf*, void*)*, void*)'
  [A] 'function unsigned long int get_each_object_track(kmem_cache*, page*, track_item, int (const kmem_cache*, void*, const track*, void*)*, void*)'
  [A] 'function depot_stack_handle_t get_page_owner_handle(page_ext*, unsigned long int)'
  [A] 'function void get_slabinfo(kmem_cache*, slabinfo*)'
  [A] 'function mm_struct* get_task_mm(task_struct*)'
  [A] 'function const cpumask* housekeeping_cpumask(hk_flags)'
  [A] 'function bool housekeeping_test_cpu(int, hk_flags)'
  [A] 'function i3c_generic_ibi_pool* i3c_generic_ibi_alloc_pool(i3c_dev_desc*, const i3c_ibi_setup*)'
  [A] 'function void i3c_generic_ibi_free_pool(i3c_generic_ibi_pool*)'
  [A] 'function i3c_ibi_slot* i3c_generic_ibi_get_free_slot(i3c_generic_ibi_pool*)'
  [A] 'function void i3c_generic_ibi_recycle_slot(i3c_generic_ibi_pool*, i3c_ibi_slot*)'
  [A] 'function int i3c_master_add_i3c_dev_locked(i3c_master_controller*, u8)'
  [A] 'function int i3c_master_disec_locked(i3c_master_controller*, u8, u8)'
  [A] 'function int i3c_master_do_daa(i3c_master_controller*)'
  [A] 'function int i3c_master_enec_locked(i3c_master_controller*, u8, u8)'
  [A] 'function int i3c_master_entdaa_locked(i3c_master_controller*)'
  [A] 'function int i3c_master_get_free_addr(i3c_master_controller*, u8)'
  [A] 'function void i3c_master_queue_ibi(i3c_dev_desc*, i3c_ibi_slot*)'
  [A] 'function int i3c_master_register(i3c_master_controller*, device*, const i3c_master_controller_ops*, bool)'
  [A] 'function int i3c_master_set_info(i3c_master_controller*, const i3c_device_info*)'
  [A] 'function int i3c_master_unregister(i3c_master_controller*)'
  [A] 'function int input_ff_create(input_dev*, unsigned int)'
  [A] 'function void input_ff_destroy(input_dev*)'
  [A] 'function bool irq_work_queue_on(irq_work*, int)'
  [A] 'function int is_dma_buf_file(file*)'
  [A] 'function int iterate_fd(files_struct*, unsigned int, int (void*, file*, unsigned int)*, void*)'
  [A] 'function kset* kset_create_and_add(const char*, const kset_uevent_ops*, kobject*)'
  [A] 'function page_ext* lookup_page_ext(const page*)'
  [A] 'function int migrate_swap(task_struct*, task_struct*, int, int)'
  [A] 'function void mmput(mm_struct*)'
  [A] 'function pci_dev* pci_dev_get(pci_dev*)'
  [A] 'function phys_addr_t per_cpu_ptr_to_phys(void*)'
  [A] 'function void perf_event_disable(perf_event*)'
  [A] 'function task_struct* pick_highest_pushable_task(rq*, int)'
  [A] 'function task_struct* pick_migrate_task(rq*)'
  [A] 'function int proc_dointvec_minmax(ctl_table*, int, void*, size_t*, loff_t*)'
  [A] 'function bool refcount_dec_and_lock(refcount_t*, spinlock_t*)'
  [A] 'function int register_module_notifier(notifier_block*)'
  [A] 'function int remove_memory_subsection(u64, u64)'
  [A] 'function void resched_curr(rq*)'
  [A] 'function void rproc_put(rproc*)'
  [A] 'function int select_fallback_rq(int, task_struct*)'
  [A] 'function int seq_buf_printf(seq_buf*, const char*, ...)'
  [A] 'function void set_next_entity(cfs_rq*, sched_entity*)'
  [A] 'function void set_task_cpu(task_struct*, unsigned int)'
  [A] 'function void si_swapinfo(sysinfo*)'
  [A] 'function char* skip_spaces(const char*)'
  [A] 'function int smp_call_function_single_async(int, __call_single_data*)'
  [A] 'function int stop_one_cpu(unsigned int, cpu_stop_fn_t, void*)'
  [A] 'function bool stop_one_cpu_nowait(unsigned int, cpu_stop_fn_t, void*, cpu_stop_work*)'
  [A] 'function void topology_clear_scale_freq_source(scale_freq_source, const cpumask*)'
  [A] 'function void trace_seq_printf(trace_seq*, const char*, ...)'
  [A] 'function void trace_seq_putc(trace_seq*, unsigned char)'
  [A] 'function void ufshcd_hba_stop(ufs_hba*)'
  [A] 'function int unregister_die_notifier(notifier_block*)'

68 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_account_irq'
  [A] 'tracepoint __tracepoint_android_rvh_after_dequeue_task'
  [A] 'tracepoint __tracepoint_android_rvh_after_enqueue_task'
  [A] 'tracepoint __tracepoint_android_rvh_build_perf_domains'
  [A] 'tracepoint __tracepoint_android_rvh_can_migrate_task'
  [A] 'tracepoint __tracepoint_android_rvh_cpu_cgroup_attach'
  [A] 'tracepoint __tracepoint_android_rvh_do_sched_yield'
  [A] 'tracepoint __tracepoint_android_rvh_find_busiest_queue'
  [A] 'tracepoint __tracepoint_android_rvh_find_lowest_rq'
  [A] 'tracepoint __tracepoint_android_rvh_flush_task'
  [A] 'tracepoint __tracepoint_android_rvh_get_nohz_timer_target'
  [A] 'tracepoint __tracepoint_android_rvh_is_cpu_allowed'
  [A] 'tracepoint __tracepoint_android_rvh_migrate_queued_task'
  [A] 'tracepoint __tracepoint_android_rvh_new_task_stats'
  [A] 'tracepoint __tracepoint_android_rvh_replace_next_task_fair'
  [A] 'tracepoint __tracepoint_android_rvh_rto_next_cpu'
  [A] 'tracepoint __tracepoint_android_rvh_sched_cpu_dying'
  [A] 'tracepoint __tracepoint_android_rvh_sched_cpu_starting'
  [A] 'tracepoint __tracepoint_android_rvh_sched_exec'
  [A] 'tracepoint __tracepoint_android_rvh_sched_fork_init'
  [A] 'tracepoint __tracepoint_android_rvh_sched_newidle_balance'
  [A] 'tracepoint __tracepoint_android_rvh_sched_nohz_balancer_kick'
  [A] 'tracepoint __tracepoint_android_rvh_sched_setaffinity'
  [A] 'tracepoint __tracepoint_android_rvh_schedule'
  [A] 'tracepoint __tracepoint_android_rvh_select_task_rq_fair'
  [A] 'tracepoint __tracepoint_android_rvh_set_balance_anon_file_reclaim'
  [A] 'tracepoint __tracepoint_android_rvh_set_cpus_allowed_ptr_locked'
  [A] 'tracepoint __tracepoint_android_rvh_set_gfp_zone_flags'
  [A] 'tracepoint __tracepoint_android_rvh_set_readahead_gfp_mask'
  [A] 'tracepoint __tracepoint_android_rvh_set_skip_swapcache_flags'
  [A] 'tracepoint __tracepoint_android_rvh_set_task_cpu'
  [A] 'tracepoint __tracepoint_android_rvh_show_max_freq'
  [A] 'tracepoint __tracepoint_android_rvh_tick_entry'
  [A] 'tracepoint __tracepoint_android_rvh_try_to_wake_up'
  [A] 'tracepoint __tracepoint_android_rvh_try_to_wake_up_success'
  [A] 'tracepoint __tracepoint_android_rvh_ttwu_cond'
  [A] 'tracepoint __tracepoint_android_rvh_update_cpu_capacity'
  [A] 'tracepoint __tracepoint_android_rvh_update_cpus_allowed'
  [A] 'tracepoint __tracepoint_android_rvh_update_misfit_status'
  [A] 'tracepoint __tracepoint_android_rvh_wake_up_new_task'
  [A] 'tracepoint __tracepoint_android_vh_binder_restore_priority'
  [A] 'tracepoint __tracepoint_android_vh_binder_set_priority'
  [A] 'tracepoint __tracepoint_android_vh_binder_wakeup_ilocked'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_dump_buffer'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_format_check'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_oops_enter'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_oops_exit'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_size_check'
  [A] 'tracepoint __tracepoint_android_vh_logbuf'
  [A] 'tracepoint __tracepoint_android_vh_logbuf_pr_cont'
  [A] 'tracepoint __tracepoint_android_vh_show_resume_epoch_val'
  [A] 'tracepoint __tracepoint_android_vh_show_suspend_epoch_val'
  [A] 'tracepoint __tracepoint_android_vh_update_topology_flags_workfn'
  [A] 'tracepoint __tracepoint_binder_transaction_received'
  [A] 'tracepoint __tracepoint_cpu_frequency_limits'
  [A] 'tracepoint __tracepoint_cpu_idle'
  [A] 'unsigned long int arch_freq_scale'
  [A] 'irqtime cpu_irqtime'
  [A] 'cpu_topology cpu_topology[32]'
  [A] 'cma* dma_contiguous_default_area'
  [A] 'static_key_false housekeeping_overridden'
  [A] 'task_struct* ksoftirqd'
  [A] 'const char* const sched_feat_names[25]'
  [A] 'const int sysctl_vals[3]'
  [A] 'rwlock_t tasklist_lock'
  [A] 'unsigned long int thermal_pressure'
  [A] 'bool topology_update_done'
  [A] 'atomic_long_t vm_zone_stat[11]'

Bug: 211744078
Change-Id: I78b76d846ee1c66f0e86f485022d5656812c5aa9
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
2022-03-22 15:38:37 +00:00
Tadeusz Struk
fdf79bad05 ANDROID: incremental-fs: populate userns before calling vfs_rename
The old and new mount user name spaces need to be populated
before calling vfs_rename(). Otherwise vfs_rename will try
to dereference a null ptr and segfault.

Bug: 211066171

Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Change-Id: I3656073581218107fc3b1a52ebe7bcfd81a10fc2
2022-03-21 20:23:31 +00:00
Andrey Konovalov
e4967c187b FROMLIST: kasan, scs: support tagged vmalloc mappings
Fix up the custom KASAN instrumentation for Shadow Call Stack to support
vmalloc() mappings and pointers being tagged.

- Use the tagged pointer returned by kasan_unpoison_vmalloc() in
  __scs_alloc() when calling memset() to avoid false-positives.

- Do not return a tagged Shadow Call Stack pointer from __scs_alloc(),
  as this might lead to conflicts with the instrumentation.

Link: https://lkml.kernel.org/r/2f6605e3a358cf64d73a05710cb3da356886ad29.1646233925.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Cc: Marco Elver <elver@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Evgenii Stepanov <eugenis@google.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Collingbourne <pcc@google.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit bd2c296805cff9572080bf56807c16d1dd382260
 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm)
Link: https://lore.kernel.org/all/2f6605e3a358cf64d73a05710cb3da356886ad29.1646233925.git.andreyknvl@google.com/
Bug: 217222520
Bug: 222221793
Change-Id: I9e6e4cd303e0815a5b092ba6ec28638bd1f7bc2c
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
2022-03-21 15:31:19 +00:00
Andrey Konovalov
4b6f018168 ANDROID: kasan: sync vmalloc support with linux-next/akpm
The FROMLIST patches merged in aosp/1974918 that add vmalloc support to
KASAN now have a few fixes staged in linux-next/akpm. Sync the changes.

Bug: 217222520
Bug: 222221793
Change-Id: I33dd30e3834a4d1bb8eac611b350004afdb08a74
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
2022-03-21 15:31:03 +00:00
Jeson Gao
78c7e3132d ANDROID: thermal: Add hook to enable/disable thermal power throttle
By default, thermal power throttle is always enable, but sometimes it
need to be disabled for a period of time, so add it to meet platform
thermal requirement.

Bug: 209386157

Signed-off-by: Jeson Gao <jeson.gao@unisoc.com>
Change-Id: If9c53a9669eec8e2821d837cfa3c660a9cfbf934
(cherry picked from commit 64999249d5)
2022-03-21 14:21:33 +08:00
Greg Kroah-Hartman
167b1e671c Merge 5.15.30 into android13-5.15
Changes in 5.15.30
	Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"
	arm64: dts: rockchip: fix rk3399-puma-haikou USB OTG mode
	xfrm: Check if_id in xfrm_migrate
	xfrm: Fix xfrm migrate issues when address family changes
	arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrity
	arm64: dts: rockchip: align pl330 node name with dtschema
	arm64: dts: rockchip: reorder rk3399 hdmi clocks
	arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"
	ARM: dts: rockchip: reorder rk322x hmdi clocks
	ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
	mac80211: refuse aggregations sessions before authorized
	MIPS: smp: fill in sibling and core maps earlier
	ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE
	Bluetooth: hci_core: Fix leaking sent_cmd skb
	can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when fully ready
	atm: firestream: check the return value of ioremap() in fs_init()
	iwlwifi: don't advertise TWT support
	drm/vrr: Set VRR capable prop only if it is attached to connector
	nl80211: Update bss channel on channel switch for P2P_CLIENT
	tcp: make tcp_read_sock() more robust
	sfc: extend the locking on mcdi->seqno
	bnx2: Fix an error message
	kselftest/vm: fix tests build with old libc
	x86/module: Fix the paravirt vs alternative order
	ice: Fix race condition during interface enslave
	Linux 5.15.30

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Icf3c6ca9fb4bb75435d3964e12c0fcb42397b50b
2022-03-19 14:36:07 +01:00
Greg Kroah-Hartman
0464ab1718 Linux 5.15.30
Link: https://lore.kernel.org/r/20220317124526.308079100@linuxfoundation.org
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Fox Chen <foxhlchen@gmail.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Bagas Sanjaya <bagasdotme@gmail.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-19 13:47:51 +01:00
Ivan Vecera
a9bbacc53d ice: Fix race condition during interface enslave
commit 5cb1ebdbc4 upstream.

Commit 5dbbbd01cb ("ice: Avoid RTNL lock when re-creating
auxiliary device") changes a process of re-creation of aux device
so ice_plug_aux_dev() is called from ice_service_task() context.
This unfortunately opens a race window that can result in dead-lock
when interface has left LAG and immediately enters LAG again.

Reproducer:
```
#!/bin/sh

ip link add lag0 type bond mode 1 miimon 100
ip link set lag0

for n in {1..10}; do
        echo Cycle: $n
        ip link set ens7f0 master lag0
        sleep 1
        ip link set ens7f0 nomaster
done
```

This results in:
[20976.208697] Workqueue: ice ice_service_task [ice]
[20976.213422] Call Trace:
[20976.215871]  __schedule+0x2d1/0x830
[20976.219364]  schedule+0x35/0xa0
[20976.222510]  schedule_preempt_disabled+0xa/0x10
[20976.227043]  __mutex_lock.isra.7+0x310/0x420
[20976.235071]  enum_all_gids_of_dev_cb+0x1c/0x100 [ib_core]
[20976.251215]  ib_enum_roce_netdev+0xa4/0xe0 [ib_core]
[20976.256192]  ib_cache_setup_one+0x33/0xa0 [ib_core]
[20976.261079]  ib_register_device+0x40d/0x580 [ib_core]
[20976.266139]  irdma_ib_register_device+0x129/0x250 [irdma]
[20976.281409]  irdma_probe+0x2c1/0x360 [irdma]
[20976.285691]  auxiliary_bus_probe+0x45/0x70
[20976.289790]  really_probe+0x1f2/0x480
[20976.298509]  driver_probe_device+0x49/0xc0
[20976.302609]  bus_for_each_drv+0x79/0xc0
[20976.306448]  __device_attach+0xdc/0x160
[20976.310286]  bus_probe_device+0x9d/0xb0
[20976.314128]  device_add+0x43c/0x890
[20976.321287]  __auxiliary_device_add+0x43/0x60
[20976.325644]  ice_plug_aux_dev+0xb2/0x100 [ice]
[20976.330109]  ice_service_task+0xd0c/0xed0 [ice]
[20976.342591]  process_one_work+0x1a7/0x360
[20976.350536]  worker_thread+0x30/0x390
[20976.358128]  kthread+0x10a/0x120
[20976.365547]  ret_from_fork+0x1f/0x40
...
[20976.438030] task:ip              state:D stack:    0 pid:213658 ppid:213627 flags:0x00004084
[20976.446469] Call Trace:
[20976.448921]  __schedule+0x2d1/0x830
[20976.452414]  schedule+0x35/0xa0
[20976.455559]  schedule_preempt_disabled+0xa/0x10
[20976.460090]  __mutex_lock.isra.7+0x310/0x420
[20976.464364]  device_del+0x36/0x3c0
[20976.467772]  ice_unplug_aux_dev+0x1a/0x40 [ice]
[20976.472313]  ice_lag_event_handler+0x2a2/0x520 [ice]
[20976.477288]  notifier_call_chain+0x47/0x70
[20976.481386]  __netdev_upper_dev_link+0x18b/0x280
[20976.489845]  bond_enslave+0xe05/0x1790 [bonding]
[20976.494475]  do_setlink+0x336/0xf50
[20976.502517]  __rtnl_newlink+0x529/0x8b0
[20976.543441]  rtnl_newlink+0x43/0x60
[20976.546934]  rtnetlink_rcv_msg+0x2b1/0x360
[20976.559238]  netlink_rcv_skb+0x4c/0x120
[20976.563079]  netlink_unicast+0x196/0x230
[20976.567005]  netlink_sendmsg+0x204/0x3d0
[20976.570930]  sock_sendmsg+0x4c/0x50
[20976.574423]  ____sys_sendmsg+0x1eb/0x250
[20976.586807]  ___sys_sendmsg+0x7c/0xc0
[20976.606353]  __sys_sendmsg+0x57/0xa0
[20976.609930]  do_syscall_64+0x5b/0x1a0
[20976.613598]  entry_SYSCALL_64_after_hwframe+0x65/0xca

1. Command 'ip link ... set nomaster' causes that ice_plug_aux_dev()
   is called from ice_service_task() context, aux device is created
   and associated device->lock is taken.
2. Command 'ip link ... set master...' calls ice's notifier under
   RTNL lock and that notifier calls ice_unplug_aux_dev(). That
   function tries to take aux device->lock but this is already taken
   by ice_plug_aux_dev() in step 1
3. Later ice_plug_aux_dev() tries to take RTNL lock but this is already
   taken in step 2
4. Dead-lock

The patch fixes this issue by following changes:
- Bit ICE_FLAG_PLUG_AUX_DEV is kept to be set during ice_plug_aux_dev()
  call in ice_service_task()
- The bit is checked in ice_clear_rdma_cap() and only if it is not set
  then ice_unplug_aux_dev() is called. If it is set (in other words
  plugging of aux device was requested and ice_plug_aux_dev() is
  potentially running) then the function only clears the bit
- Once ice_plug_aux_dev() call (in ice_service_task) is finished
  the bit ICE_FLAG_PLUG_AUX_DEV is cleared but it is also checked
  whether it was already cleared by ice_clear_rdma_cap(). If so then
  aux device is unplugged.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Co-developed-by: Petr Oros <poros@redhat.com>
Signed-off-by: Petr Oros <poros@redhat.com>
Reviewed-by: Dave Ertman <david.m.ertman@intel.com>
Link: https://lore.kernel.org/r/20220310171641.3863659-1-ivecera@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-19 13:47:51 +01:00
Peter Zijlstra
df3817ab22 x86/module: Fix the paravirt vs alternative order
commit 5adf349439 upstream.

Ever since commit

  4e6292114c ("x86/paravirt: Add new features for paravirt patching")

there is an ordering dependency between patching paravirt ops and
patching alternatives, the module loader still violates this.

Fixes: 4e6292114c ("x86/paravirt: Add new features for paravirt patching")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220303112825.068773913@infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-19 13:47:51 +01:00
Chengming Zhou
ff2e93a03f kselftest/vm: fix tests build with old libc
[ Upstream commit b773827e36 ]

The error message when I build vm tests on debian10 (GLIBC 2.28):

    userfaultfd.c: In function `userfaultfd_pagemap_test':
    userfaultfd.c:1393:37: error: `MADV_PAGEOUT' undeclared (first use
    in this function); did you mean `MADV_RANDOM'?
      if (madvise(area_dst, test_pgsize, MADV_PAGEOUT))
                                         ^~~~~~~~~~~~
                                         MADV_RANDOM

This patch includes these newer definitions from UAPI linux/mman.h, is
useful to fix tests build on systems without these definitions in glibc
sys/mman.h.

Link: https://lkml.kernel.org/r/20220227055330.43087-2-zhouchengming@bytedance.com
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:50 +01:00
Christophe JAILLET
d99db3b935 bnx2: Fix an error message
[ Upstream commit 8ccffe9ac3 ]

Fix an error message and report the correct failing function.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:50 +01:00
Niels Dossche
ff7dfcd47a sfc: extend the locking on mcdi->seqno
[ Upstream commit f1fb205efb ]

seqno could be read as a stale value outside of the lock. The lock is
already acquired to protect the modification of seqno against a possible
race condition. Place the reading of this value also inside this locking
to protect it against a possible race condition.

Signed-off-by: Niels Dossche <dossche.niels@gmail.com>
Acked-by: Martin Habets <habetsm.xilinx@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:50 +01:00
Eric Dumazet
ff17119dce tcp: make tcp_read_sock() more robust
[ Upstream commit e3d5ea2c01 ]

If recv_actor() returns an incorrect value, tcp_read_sock()
might loop forever.

Instead, issue a one time warning and make sure to make progress.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/r/20220302161723.3910001-2-eric.dumazet@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:50 +01:00
Sreeramya Soratkal
f5a425f5d5 nl80211: Update bss channel on channel switch for P2P_CLIENT
[ Upstream commit e50b88c4f0 ]

The wdev channel information is updated post channel switch only for
the station mode and not for the other modes. Due to this, the P2P client
still points to the old value though it moved to the new channel
when the channel change is induced from the P2P GO.

Update the bss channel after CSA channel switch completion for P2P client
interface as well.

Signed-off-by: Sreeramya Soratkal <quic_ssramya@quicinc.com>
Link: https://lore.kernel.org/r/1646114600-31479-1-git-send-email-quic_ssramya@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:49 +01:00
Manasi Navare
3534c5c005 drm/vrr: Set VRR capable prop only if it is attached to connector
[ Upstream commit 62929726ef ]

VRR capable property is not attached by default to the connector
It is attached only if VRR is supported.
So if the driver tries to call drm core set prop function without
it being attached that causes NULL dereference.

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220225013055.9282-1-manasi.d.navare@intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:49 +01:00
Golan Ben Ami
46c02c5051 iwlwifi: don't advertise TWT support
[ Upstream commit 1db5fcbba2 ]

Some APs misbehave when TWT is used and cause our firmware to crash.
We don't know a reasonable way to detect and work around this problem
in the FW yet.  To prevent these crashes, disable TWT in the driver by
stopping to advertise TWT support.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=215523
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
[reworded the commit message]
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/20220301072926.153969-1-luca@coelho.fi
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:49 +01:00
Jia-Ju Bai
4051516d4b atm: firestream: check the return value of ioremap() in fs_init()
[ Upstream commit d4e26aaea7 ]

The function ioremap() in fs_init() can fail, so its return value should
be checked.

Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:49 +01:00
Lad Prabhakar
76e0b8e12c can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when fully ready
[ Upstream commit c5048a7b2c ]

Register the CAN device only when all the necessary initialization is
completed. This patch makes sure all the data structures and locks are
initialized before registering the CAN device.

Link: https://lore.kernel.org/all/20220221225935.12300-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Reported-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Pavel Machek <pavel@denx.de>
Reviewed-by: Ulrich Hecht <uli+renesas@fpond.eu>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:49 +01:00
Luiz Augusto von Dentz
3679ccc09d Bluetooth: hci_core: Fix leaking sent_cmd skb
[ Upstream commit dd3b1dc3dd ]

sent_cmd memory is not freed before freeing hci_dev causing it to leak
it contents.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:48 +01:00
Julian Braha
c2924e9143 ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE
[ Upstream commit 11c57c3ba9 ]

Resending this to properly add it to the patch tracker - thanks for letting
me know, Arnd :)

When ARM is enabled, and BITREVERSE is disabled,
Kbuild gives the following warning:

WARNING: unmet direct dependencies detected for HAVE_ARCH_BITREVERSE
  Depends on [n]: BITREVERSE [=n]
  Selected by [y]:
  - ARM [=y] && (CPU_32v7M [=n] || CPU_32v7 [=y]) && !CPU_32v6 [=n]

This is because ARM selects HAVE_ARCH_BITREVERSE
without selecting BITREVERSE, despite
HAVE_ARCH_BITREVERSE depending on BITREVERSE.

This unmet dependency bug was found by Kismet,
a static analysis tool for Kconfig. Please advise if this
is not the appropriate solution.

Signed-off-by: Julian Braha <julianbraha@gmail.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:48 +01:00
Alexander Lobakin
be538b764a MIPS: smp: fill in sibling and core maps earlier
[ Upstream commit f2703def33 ]

After enabling CONFIG_SCHED_CORE (landed during 5.14 cycle),
2-core 2-thread-per-core interAptiv (CPS-driven) started emitting
the following:

[    0.025698] CPU1 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.048183] ------------[ cut here ]------------
[    0.048187] WARNING: CPU: 1 PID: 0 at kernel/sched/core.c:6025 sched_core_cpu_starting+0x198/0x240
[    0.048220] Modules linked in:
[    0.048233] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.17.0-rc3+ #35 b7b319f24073fd9a3c2aa7ad15fb7993eec0b26f
[    0.048247] Stack : 817f0000 00000004 327804c8 810eb050 00000000 00000004 00000000 c314fdd1
[    0.048278]         830cbd64 819c0000 81800000 817f0000 83070bf4 00000001 830cbd08 00000000
[    0.048307]         00000000 00000000 815fcbc4 00000000 00000000 00000000 00000000 00000000
[    0.048334]         00000000 00000000 00000000 00000000 817f0000 00000000 00000000 817f6f34
[    0.048361]         817f0000 818a3c00 817f0000 00000004 00000000 00000000 4dc33260 0018c933
[    0.048389]         ...
[    0.048396] Call Trace:
[    0.048399] [<8105a7bc>] show_stack+0x3c/0x140
[    0.048424] [<8131c2a0>] dump_stack_lvl+0x60/0x80
[    0.048440] [<8108b5c0>] __warn+0xc0/0xf4
[    0.048454] [<8108b658>] warn_slowpath_fmt+0x64/0x10c
[    0.048467] [<810bd418>] sched_core_cpu_starting+0x198/0x240
[    0.048483] [<810c6514>] sched_cpu_starting+0x14/0x80
[    0.048497] [<8108c0f8>] cpuhp_invoke_callback_range+0x78/0x140
[    0.048510] [<8108d914>] notify_cpu_starting+0x94/0x140
[    0.048523] [<8106593c>] start_secondary+0xbc/0x280
[    0.048539]
[    0.048543] ---[ end trace 0000000000000000 ]---
[    0.048636] Synchronize counters for CPU 1: done.

...for each but CPU 0/boot.
Basic debug printks right before the mentioned line say:

[    0.048170] CPU: 1, smt_mask:

So smt_mask, which is sibling mask obviously, is empty when entering
the function.
This is critical, as sched_core_cpu_starting() calculates
core-scheduling parameters only once per CPU start, and it's crucial
to have all the parameters filled in at that moment (at least it
uses cpu_smt_mask() which in fact is `&cpu_sibling_map[cpu]` on
MIPS).

A bit of debugging led me to that set_cpu_sibling_map() performing
the actual map calculation, was being invocated after
notify_cpu_start(), and exactly the latter function starts CPU HP
callback round (sched_core_cpu_starting() is basically a CPU HP
callback).
While the flow is same on ARM64 (maps after the notifier, although
before calling set_cpu_online()), x86 started calculating sibling
maps earlier than starting the CPU HP callbacks in Linux 4.14 (see
[0] for the reference). Neither me nor my brief tests couldn't find
any potential caveats in calculating the maps right after performing
delay calibration, but the WARN splat is now gone.
The very same debug prints now yield exactly what I expected from
them:

[    0.048433] CPU: 1, smt_mask: 0-1

[0] https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=76ce7cfe35ef

Signed-off-by: Alexander Lobakin <alobakin@pm.me>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:48 +01:00
Johannes Berg
c98afa0db3 mac80211: refuse aggregations sessions before authorized
[ Upstream commit a6bce78262 ]

If an MFP station isn't authorized, the receiver will (or
at least should) drop the action frame since it's a robust
management frame, but if we're not authorized we haven't
installed keys yet. Refuse attempts to start a session as
they'd just time out.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://lore.kernel.org/r/20220203201528.ff4d5679dce9.I34bb1f2bc341e161af2d6faf74f91b332ba11285@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:48 +01:00
Corentin Labbe
84ecddbc98 ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
[ Upstream commit 3916c36195 ]

crypto-controller had a typo, fix it.
In the same time, rename it to just crypto

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20220209120355.1985707-1-clabbe@baylibre.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:48 +01:00
Sascha Hauer
8ad1b44f2d ARM: dts: rockchip: reorder rk322x hmdi clocks
[ Upstream commit be4e65bdff ]

The binding specifies the clock order to "iahb", "isfr", "cec". Reorder
the clocks accordingly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.kernel.org/r/20220210142353.3420859-1-s.hauer@pengutronix.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:47 +01:00
Dinh Nguyen
4744e1df72 arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"
[ Upstream commit 268a491aeb ]

The DWC2 USB controller on the Agilex platform does not support clock
gating, so use the chip specific "intel,socfpga-agilex-hsotg"
compatible.

Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:47 +01:00
Sascha Hauer
f574345336 arm64: dts: rockchip: reorder rk3399 hdmi clocks
[ Upstream commit 2e8a8b5955 ]

The binding specifies the clock order to "cec", "grf", "vpll". Reorder
the clocks accordingly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.kernel.org/r/20220126145549.617165-19-s.hauer@pengutronix.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:47 +01:00
Krzysztof Kozlowski
f9a510bb02 arm64: dts: rockchip: align pl330 node name with dtschema
[ Upstream commit 8fd9415042 ]

Fixes dtbs_check warnings like:

  dmac@ff240000: $nodename:0: 'dmac@ff240000' does not match '^dma-controller(@.*)?$'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20220129175429.298836-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:47 +01:00
Jakob Unterwurzacher
e90da30175 arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrity
[ Upstream commit 62966cbdda ]

There are signal integrity issues running the eMMC at 200MHz on Puma
RK3399-Q7.

Similar to the work-around found for RK3399 Gru boards, lowering the
frequency to 100MHz made the eMMC much more stable, so let's lower the
frequency to 100MHz.

It might be possible to run at 150MHz as on RK3399 Gru boards but only
100MHz was extensively tested.

Cc: Quentin Schulz <foss+kernel@0leil.net>
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Link: https://lore.kernel.org/r/20220119134948.1444965-1-quentin.schulz@theobroma-systems.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:47 +01:00
Yan Yan
0f06f953aa xfrm: Fix xfrm migrate issues when address family changes
[ Upstream commit e03c3bba35 ]

xfrm_migrate cannot handle address family change of an xfrm_state.
The symptons are the xfrm_state will be migrated to a wrong address,
and sending as well as receiving packets wil be broken.

This commit fixes it by breaking the original xfrm_state_clone
method into two steps so as to update the props.family before
running xfrm_init_state. As the result, xfrm_state's inner mode,
outer mode, type and IP header length in xfrm_state_migrate can
be updated with the new address family.

Tested with additions to Android's kernel unit test suite:
https://android-review.googlesource.com/c/kernel/tests/+/1885354

Signed-off-by: Yan Yan <evitayan@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:46 +01:00
Yan Yan
e6d7e51e10 xfrm: Check if_id in xfrm_migrate
[ Upstream commit c1aca3080e ]

This patch enables distinguishing SAs and SPs based on if_id during
the xfrm_migrate flow. This ensures support for xfrm interfaces
throughout the SA/SP lifecycle.

When there are multiple existing SPs with the same direction,
the same xfrm_selector and different endpoint addresses,
xfrm_migrate might fail with ENODATA.

Specifically, the code path for performing xfrm_migrate is:
  Stage 1: find policy to migrate with
    xfrm_migrate_policy_find(sel, dir, type, net)
  Stage 2: find and update state(s) with
    xfrm_migrate_state_find(mp, net)
  Stage 3: update endpoint address(es) of template(s) with
    xfrm_policy_migrate(pol, m, num_migrate)

Currently "Stage 1" always returns the first xfrm_policy that
matches, and "Stage 3" looks for the xfrm_tmpl that matches the
old endpoint address. Thus if there are multiple xfrm_policy
with same selector, direction, type and net, "Stage 1" might
rertun a wrong xfrm_policy and "Stage 3" will fail with ENODATA
because it cannot find a xfrm_tmpl with the matching endpoint
address.

The fix is to allow userspace to pass an if_id and add if_id
to the matching rule in Stage 1 and Stage 2 since if_id is a
unique ID for xfrm_policy and xfrm_state. For compatibility,
if_id will only be checked if the attribute is set.

Tested with additions to Android's kernel unit test suite:
https://android-review.googlesource.com/c/kernel/tests/+/1668886

Signed-off-by: Yan Yan <evitayan@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:46 +01:00
Quentin Schulz
8918ae9741 arm64: dts: rockchip: fix rk3399-puma-haikou USB OTG mode
[ Upstream commit ed2c66a95c ]

The micro USB3.0 port available on the Haikou evaluation kit for Puma
RK3399-Q7 SoM supports dual-role model (aka drd or OTG) but its support
was broken until now because of missing logic around the ID pin.

This adds proper support for USB OTG on Puma Haikou by "connecting" the
GPIO used for USB ID to the USB3 controller device.

Cc: Quentin Schulz <foss+kernel@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Link: https://lore.kernel.org/r/20220120125156.16217-1-quentin.schulz@theobroma-systems.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-19 13:47:46 +01:00
Kai Lueke
e901c92124 Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"
commit a3d9001b4e upstream.

This reverts commit 68ac0f3810 because ID
0 was meant to be used for configuring the policy/state without
matching for a specific interface (e.g., Cilium is affected, see
https://github.com/cilium/cilium/pull/18789 and
https://github.com/cilium/cilium/pull/19019).

Signed-off-by: Kai Lueke <kailueke@linux.microsoft.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-19 13:47:46 +01:00
Carlos Llamas
061e34c52e ANDROID: mm: compaction: fix isolate_and_split_free_page() redefinition
Guard isolate_and_split_free_page() with CONFIG_COMPACTION. This fixes
the follwoing build error as the function collides with its inline stub
from the header file:

mm/compaction.c:766:15: error: redefinition of ‘isolate_and_split_free_page’
  766 | unsigned long isolate_and_split_free_page(struct page *page,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from mm/compaction.c:14:
./include/linux/compaction.h:241:29: note: previous definition of ‘isolate_and_split_free_page’ was here
  241 | static inline unsigned long isolate_and_split_free_page(struct page *page,
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Bug: 201263307
Fixes: 8cd9aa93b7 ("ANDROID: implement wrapper for reverse migration")
Reported-by: kernelci.org bot <bot@kernelci.org>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Change-Id: Ie8f3fedcc9d4af5cfdcfd5829377671745ab77d6
2022-03-19 05:19:23 +00:00
Elliot Berman
93ad5b8123 ANDROID: gki_defconfig: Disable SERIAL_QCOM_GENI_CONSOLE_DEFAULT_ENABLED
Disable GENI console by default on gki_defconfig so it is not available
by default. It can be re-enabled via commandline option
qcom_geni.con_enabled=1.

Bug: 223797063
Change-Id: Icfde67caba6dcbd2143dedaeac7f1234954491e8
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-03-18 21:39:17 +00:00
Visweswara Tanuku
98f1e6b5a0 ANDROID: tty: serial: msm: geni: Add module parameter to enable/disable console
Add module parameter 'con_enabled' to dynamically control console
enablement/disablement from kernel cmdline.

By default console is enabled, add 'qcom_geni_serial.con_enabled=0'
to cmdline to disable it.

Success is returned from probe to ensure sync state correctness.

con_enabled default value is controlled with a Kconfig option,
CONFIG_SERIAL_QCOM_GENI_CONSOLE_DEFAULT_ENABLED.

This change provides flexibility to perf image where console
is disabled by default, and can be enabled via cmdline.

Bug: 223797063
Change-Id: I4d4161f41eed59902a501add2fea2c7ba2063a03
Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
2022-03-18 21:39:06 +00:00
Elliot Berman
a7e175e112 ANDROID: rproc: Add vendor hook when setting recovery mode
Add vendor hook when setting recovery mode to notify coprocessor when
mode is changed.

Bug: 205534894
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
Change-Id: Ie41170deb0426a7bcfeed8a51cc4e8e1a427592a
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
2022-03-18 18:49:01 +00:00
Sai Harshini Nimmala
a018077c4d ANDROID: sched/core: Optimize vendor hook placement
Currently, the tick_entry vendor hook in the scheduler tick path is
called before the rq clock is updated.
Change the vendor hook placement to after the clock update so that an
updated clock value is used.

Fixes: ca60d78542 ("Revert "Revert "ANDROID: Sched: Add restricted
vendor hooks for scheduler""")
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Change-Id: Ieee88da1cf803c68212b96b79e45d216d0696d0d
2022-03-18 17:37:02 +00:00
andrew.yang
0d8a83644b FROMGIT: mm/migrate: fix race between lock page and clear PG_Isolated
When memory is tight, system may start to compact memory for large
continuous memory demands.  If one process tries to lock a memory page
that is being locked and isolated for compaction, it may wait a long time
or even forever.  This is because compaction will perform non-atomic
PG_Isolated clear while holding page lock, this may overwrite PG_waiters
set by the process that can't obtain the page lock and add itself to the
waiting queue to wait for the lock to be unlocked.

CPU1                            CPU2
lock_page(page); (successful)
                                lock_page(); (failed)
__ClearPageIsolated(page);      SetPageWaiters(page) (may be overwritten)
unlock_page(page);

The solution is to not perform non-atomic operation on page flags while
holding page lock.

Link: https://lkml.kernel.org/r/20220315030515.20263-1-andrew.yang@mediatek.com
Signed-off-by: andrew.yang <andrew.yang@mediatek.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: "Vlastimil Babka" <vbabka@suse.cz>
Cc: David Howells <dhowells@redhat.com>
Cc: "William Kucharski" <william.kucharski@oracle.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Yang Shi <shy828301@gmail.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Nicholas Tang <nicholas.tang@mediatek.com>
Cc: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 48911e41ddee4fe113bf1e4303dda1a413b169c9
 https://github.com/hnaz/linux-mm.git)
Bug: 225086204
Change-Id: I3dc59bf75f12d4ee93779bcbe9336c6376d2d6b6
2022-03-18 16:59:51 +00:00
Greg Kroah-Hartman
28b046777f Merge 5.15.29 into android-5.15
Changes in 5.15.29
        arm64: dts: qcom: sm8350: Describe GCC dependency clocks
        arm64: dts: qcom: sm8350: Correct UFS symbol clocks
        HID: elo: Revert USB reference counting
        HID: hid-thrustmaster: fix OOB read in thrustmaster_interrupts
        ARM: boot: dts: bcm2711: Fix HVS register range
        clk: qcom: gdsc: Add support to update GDSC transition delay
        clk: qcom: dispcc: Update the transition delay for MDSS GDSC
        HID: vivaldi: fix sysfs attributes leak
        arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias
        tipc: fix kernel panic when enabling bearer
        vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command
        vduse: Fix returning wrong type in vduse_domain_alloc_iova()
        net: phy: meson-gxl: fix interrupt handling in forced mode
        mISDN: Fix memory leak in dsp_pipeline_build()
        vhost: fix hung thread due to erroneous iotlb entries
        virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zero
        vdpa: fix use-after-free on vp_vdpa_remove
        isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()
        net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare()
        esp: Fix possible buffer overflow in ESP transformation
        esp: Fix BEET mode inter address family tunneling on GSO
        qed: return status of qed_iov_get_link
        smsc95xx: Ignore -ENODEV errors when device is unplugged
        gpiolib: acpi: Convert ACPI value of debounce to microseconds
        drm/sun4i: mixer: Fix P010 and P210 format numbers
        net: dsa: mt7530: fix incorrect test in mt753x_phylink_validate()
        ARM: dts: aspeed: Fix AST2600 quad spi group
        iavf: Fix handling of vlan strip virtual channel messages
        i40e: stop disabling VFs due to PF error responses
        ice: stop disabling VFs due to PF error responses
        ice: Fix error with handling of bonding MTU
        ice: Don't use GFP_KERNEL in atomic context
        ice: Fix curr_link_speed advertised speed
        ethernet: Fix error handling in xemaclite_of_probe
        tipc: fix incorrect order of state message data sanity check
        net: ethernet: ti: cpts: Handle error for clk_enable
        net: ethernet: lpc_eth: Handle error for clk_enable
        net: marvell: prestera: Add missing of_node_put() in prestera_switch_set_base_mac_addr
        ax25: Fix NULL pointer dereference in ax25_kill_by_device
        net/mlx5: Fix size field in bufferx_reg struct
        net/mlx5: Fix a race on command flush flow
        net/mlx5e: Lag, Only handle events from highest priority multipath entry
        NFC: port100: fix use-after-free in port100_send_complete
        selftests: pmtu.sh: Kill tcpdump processes launched by subshell.
        selftests: pmtu.sh: Kill nettest processes launched in subshell.
        gpio: ts4900: Do not set DAT and OE together
        gianfar: ethtool: Fix refcount leak in gfar_get_ts_info
        net: phy: DP83822: clear MISR2 register to disable interrupts
        sctp: fix kernel-infoleak for SCTP sockets
        net: bcmgenet: Don't claim WOL when its not available
        net: phy: meson-gxl: improve link-up behavior
        selftests/bpf: Add test for bpf_timer overwriting crash
        swiotlb: fix info leak with DMA_FROM_DEVICE
        usb: dwc3: pci: add support for the Intel Raptor Lake-S
        pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID"
        KVM: Fix lockdep false negative during host resume
        kvm: x86: Disable KVM_HC_CLOCK_PAIRING if tsc is in always catchup mode
        spi: rockchip: Fix error in getting num-cs property
        spi: rockchip: terminate dma transmission when slave abort
        drm/vc4: hdmi: Unregister codec device on unbind
        x86/kvm: Don't use pv tlb/ipi/sched_yield if on 1 vCPU
        net-sysfs: add check for netdevice being present to speed_show
        hwmon: (pmbus) Clear pmbus fault/warning bits after read
        PCI: Mark all AMD Navi10 and Navi14 GPU ATS as broken
        gpio: Return EPROBE_DEFER if gc->to_irq is NULL
        drm/amdgpu: bypass tiling flag check in virtual display case (v2)
        Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"
        Revert "xen-netback: Check for hotplug-status existence before watching"
        ipv6: prevent a possible race condition with lifetimes
        tracing: Ensure trace buffer is at least 4096 bytes large
        tracing/osnoise: Make osnoise_main to sleep for microseconds
        selftest/vm: fix map_fixed_noreplace test failure
        selftests/memfd: clean up mapping in mfd_fail_write
        ARM: Spectre-BHB: provide empty stub for non-config
        fuse: fix fileattr op failure
        fuse: fix pipe buffer lifetime for direct_io
        staging: rtl8723bs: Fix access-point mode deadlock
        staging: gdm724x: fix use after free in gdm_lte_rx()
        net: macb: Fix lost RX packet wakeup race in NAPI receive
        riscv: alternative only works on !XIP_KERNEL
        mmc: meson: Fix usage of meson_mmc_post_req()
        riscv: Fix auipc+jalr relocation range checks
        tracing/osnoise: Force quiescent states while tracing
        arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
        arm64: Ensure execute-only permissions are not allowed without EPAN
        arm64: kasan: fix include error in MTE functions
        swiotlb: rework "fix info leak with DMA_FROM_DEVICE"
        KVM: x86/mmu: kvm_faultin_pfn has to return false if pfh is returned
        virtio: unexport virtio_finalize_features
        virtio: acknowledge all features before access
        net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE
        ARM: fix Thumb2 regression with Spectre BHB
        watch_queue: Fix filter limit check
        watch_queue, pipe: Free watchqueue state after clearing pipe ring
        watch_queue: Fix to release page in ->release()
        watch_queue: Fix to always request a pow-of-2 pipe ring size
        watch_queue: Fix the alloc bitmap size to reflect notes allocated
        watch_queue: Free the alloc bitmap when the watch_queue is torn down
        watch_queue: Fix lack of barrier/sync/lock between post and read
        watch_queue: Make comment about setting ->defunct more accurate
        x86/boot: Fix memremap of setup_indirect structures
        x86/boot: Add setup_indirect support in early_memremap_is_setup_data()
        x86/sgx: Free backing memory after faulting the enclave page
        x86/traps: Mark do_int3() NOKPROBE_SYMBOL
        drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP
        btrfs: make send work with concurrent block group relocation
        drm/i915: Workaround broken BIOS DBUF configuration on TGL/RKL
        riscv: dts: k210: fix broken IRQs on hart1
        block: drop unused includes in <linux/genhd.h>
        Revert "net: dsa: mv88e6xxx: flush switchdev FDB workqueue before removing VLAN"
        vhost: allow batching hint without size
        Linux 5.15.29

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5c9c6006b90a8283a81fd5f7c79776e1a0cfb6b1
2022-03-18 07:55:37 +01:00
Greg Kroah-Hartman
1e656f861a ANDROID: GKI: Update the .xml file due to 5.15.28 changes
Linux 5.15.28 extended the size of the cpu_hwcaps structure to handle
the spectre-bhb issue.  Because of this, the ABI "changes" to extend the
structures to grow to handle this.  No driver will be affected by this
at all as there is just a new field at the end of these arrays.

Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 2 Changed, 0 Added variable

2 Changed variables:

  [C] 'static_key_false cpu_hwcap_keys[65]' was changed to 'static_key_false cpu_hwcap_keys[66]' at cpufeature.c:158:1:
    size of symbol changed from 1040 to 1056
    CRC (modversions) changed from 0xc3fa40cc to 0xd14fef22
    type of variable changed:
      type name changed from 'static_key_false[65]' to 'static_key_false[66]'
      array type size changed from 8320 to 8448
      array type subrange 1 changed length from 65 to 66

  [C] 'unsigned long int cpu_hwcaps[2]' was changed at cpufeature.c:106:1:
    CRC (modversions) changed from 0x856092f6 to 0x77c1b75a

Fixes: aa79753319 ("Linux 5.15.28")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Idbe93c443c7c4e72ef1ae6bba9e550355e9e32c5
2022-03-18 07:53:55 +01:00
Greg Kroah-Hartman
8f997c3ab5 Merge 5.15.28 into android13-5.15
Changes in 5.15.28
	slip: fix macro redefine warning
	x86,bugs: Unconditionally allow spectre_v2=retpoline,amd
	x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE
	x86/speculation: Add eIBRS + Retpoline options
	Documentation/hw-vuln: Update spectre doc
	x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting
	x86/speculation: Use generic retpoline by default on AMD
	x86/speculation: Update link to AMD speculation whitepaper
	x86/speculation: Warn about Spectre v2 LFENCE mitigation
	x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT
	ARM: report Spectre v2 status through sysfs
	ARM: early traps initialisation
	ARM: use LOADADDR() to get load address of sections
	ARM: Spectre-BHB workaround
	ARM: include unprivileged BPF status in Spectre V2 reporting
	arm64: Add Neoverse-N2, Cortex-A710 CPU part definition
	arm64: Add HWCAP for self-synchronising virtual counter
	arm64: Add Cortex-X2 CPU part definition
	arm64: add ID_AA64ISAR2_EL1 sys register
	arm64: cpufeature: add HWCAP for FEAT_AFP
	arm64: cpufeature: add HWCAP for FEAT_RPRES
	arm64: entry.S: Add ventry overflow sanity checks
	arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit
	KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A
	arm64: entry: Make the trampoline cleanup optional
	arm64: entry: Free up another register on kpti's tramp_exit path
	arm64: entry: Move the trampoline data page before the text page
	arm64: entry: Allow tramp_alias to access symbols after the 4K boundary
	arm64: entry: Don't assume tramp_vectors is the start of the vectors
	arm64: entry: Move trampoline macros out of ifdef'd section
	arm64: entry: Make the kpti trampoline's kpti sequence optional
	arm64: entry: Allow the trampoline text to occupy multiple pages
	arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations
	arm64: entry: Add vectors that have the bhb mitigation sequences
	arm64: entry: Add macro for reading symbol addresses from the trampoline
	arm64: Add percpu vectors for EL1
	arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2
	arm64: Mitigate spectre style branch history side channels
	KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
	arm64: Use the clearbhb instruction in mitigations
	arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting
	ARM: fix build error when BPF_SYSCALL is disabled
	ARM: fix co-processor register typo
	ARM: Do not use NOCROSSREFS directive with ld.lld
	arm64: Do not include __READ_ONCE() block in assembly files
	ARM: fix build warning in proc-v7-bugs.c
	xen/xenbus: don't let xenbus_grant_ring() remove grants in error case
	xen/grant-table: add gnttab_try_end_foreign_access()
	xen/blkfront: don't use gnttab_query_foreign_access() for mapped status
	xen/netfront: don't use gnttab_query_foreign_access() for mapped status
	xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
	xen/gntalloc: don't use gnttab_query_foreign_access()
	xen: remove gnttab_query_foreign_access()
	xen/9p: use alloc/free_pages_exact()
	xen/pvcalls: use alloc/free_pages_exact()
	xen/gnttab: fix gnttab_end_foreign_access() without page specified
	xen/netfront: react properly to failing gnttab_end_foreign_access_ref()
	Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE"
	Linux 5.15.28

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6d6fcf4f171c097168e17ecff30e1c510cf69fe8
2022-03-18 07:53:14 +01:00
Peter Zijlstra
f82f0ceba5 UPSTREAM: sched: Fix yet more sched_fork() races
commit b1e8206582 upstream.

Where commit 4ef0c5c6b5 ("kernel/sched: Fix sched_fork() access an
invalid sched_task_group") fixed a fork race vs cgroup, it opened up a
race vs syscalls by not placing the task on the runqueue before it
gets exposed through the pidhash.

Commit 13765de814 ("sched/fair: Fix fault in reweight_entity") is
trying to fix a single instance of this, instead fix the whole class
of issues, effectively reverting this commit.

Change-Id: I7c84d5e4fa32359c948f08fbf32da8bbd3d7e3ac
Fixes: 4ef0c5c6b5 ("kernel/sched: Fix sched_fork() access an invalid sched_task_group")
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Tested-by: Zhang Qiao <zhangqiao22@huawei.com>
Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Link: https://lkml.kernel.org/r/YgoeCbwj5mbCR0qA@hirez.programming.kicks-ass.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 225145763
2022-03-17 15:16:11 -07:00
Tadeusz Struk
1eea6c0aeb UPSTREAM: sched/fair: Fix fault in reweight_entity
[ Upstream commit 13765de814 ]

Syzbot found a GPF in reweight_entity. This has been bisected to
commit 4ef0c5c6b5 ("kernel/sched: Fix sched_fork() access an invalid
sched_task_group")

There is a race between sched_post_fork() and setpriority(PRIO_PGRP)
within a thread group that causes a null-ptr-deref in
reweight_entity() in CFS. The scenario is that the main process spawns
number of new threads, which then call setpriority(PRIO_PGRP, 0, -20),
wait, and exit.  For each of the new threads the copy_process() gets
invoked, which adds the new task_struct and calls sched_post_fork()
for it.

In the above scenario there is a possibility that
setpriority(PRIO_PGRP) and set_one_prio() will be called for a thread
in the group that is just being created by copy_process(), and for
which the sched_post_fork() has not been executed yet. This will
trigger a null pointer dereference in reweight_entity(), as it will
try to access the run queue pointer, which hasn't been set.

Before the mentioned change the cfs_rq pointer for the task  has been
set in sched_fork(), which is called much earlier in copy_process(),
before the new task is added to the thread_group.  Now it is done in
the sched_post_fork(), which is called after that.  To fix the issue
the remove the update_load param from the update_load param() function
and call reweight_task() only if the task flag doesn't have the
TASK_NEW flag set.

Fixes: 4ef0c5c6b5 ("kernel/sched: Fix sched_fork() access an invalid sched_task_group")
Reported-by: syzbot+af7a719bc92395ee41b3@syzkaller.appspotmail.com
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20220203161846.1160750-1-tadeusz.struk@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
Change-Id: If81be87378ae7948e0278e30ac4a8618a434d070
Bug: 225145763
2022-03-17 15:15:55 -07:00
Charan Teja Reddy
f47b852faa ANDROID: implement wrapper for reverse migration
Reverse migration is used to do the balancing the occupancy of memory
zones in a node in the system whose imabalance may be caused by
migration of pages to other zones by an operation, eg: hotremove and
then hotadding the same memory. In this case there is a lot of free
memory in newly hotadd memory which can be filled up by the previous
migrated pages(as part of offline/hotremove) thus may free up some
pressure in other zones of the node.

Upstream discussion: https://lore.kernel.org/all/ee78c83d-da9b-f6d1-4f66-934b7782acfb@codeaurora.org/

Change-Id: Ib3137dab0db66ecf6858c4077dcadb9dfd0c6b1c
Bug: 201263307
Signed-off-by: Charan Teja Reddy <quic_charante@quicinc.com>
2022-03-17 21:15:46 +00:00
Greg Kroah-Hartman
c34dfc24e0 ANDROID: Add ieee80211_tx_prepare_skb symbol to android/abi_gki_aarch64_virtual_device
The 5.15.27 kernel release added the requirement to use
ieee80211_tx_prepare_skb() so add it to the virtual device symbol list
to keep the build working properly.

Functions changes summary: 0 Removed, 0 Changed (3013 filtered out), 1 Added functions
Variables changes summary: 0 Removed, 0 Changed (129 filtered out), 0 Added variables

1 Added function:

  [A] 'function bool ieee80211_tx_prepare_skb(ieee80211_hw*, ieee80211_vif*, sk_buff*, int, ieee80211_sta**)'

Fixes: efe3167e52 ("Linux 5.15.27")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id895880508e7ccd90e1f29048fc11a4ad9c2b84c
2022-03-17 14:02:27 +01:00
Greg Kroah-Hartman
74d434ad67 Revert "ethtool: Fix link extended state for big endian"
This reverts commit 462c5e6cb2 as it
breaks the KABI.  It will be reverted the next KABI gate in a week.

Fixes: efe3167e52 ("Linux 5.15.27")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I269cd4144a2da69aa43de9055f797d0c0ba19bee
2022-03-17 14:02:18 +01:00