Commit Graph

36392 Commits

Author SHA1 Message Date
Johannes Weiner
a3835ce695 UPSTREAM: psi: Fix psi state corruption when schedule() races with cgroup move
4117cebf1a9f ("psi: Optimize task switch inside shared cgroups")
introduced a race condition that corrupts internal psi state. This
manifests as kernel warnings, sometimes followed by bogusly high IO
pressure:

  psi: task underflow! cpu=1 t=2 tasks=[0 0 0 0] clear=c set=0
  (schedule() decreasing RUNNING and ONCPU, both of which are 0)

  psi: incosistent task state! task=2412744:systemd cpu=17 psi_flags=e clear=3 set=0
  (cgroup_move_task() clearing MEMSTALL and IOWAIT, but task is MEMSTALL | RUNNING | ONCPU)

What the offending commit does is batch the two psi callbacks in
schedule() to reduce the number of cgroup tree updates. When prev is
deactivated and removed from the runqueue, nothing is done in psi at
first; when the task switch completes, TSK_RUNNING and TSK_IOWAIT are
updated along with TSK_ONCPU.

However, the deactivation and the task switch inside schedule() aren't
atomic: pick_next_task() may drop the rq lock for load balancing. When
this happens, cgroup_move_task() can run after the task has been
physically dequeued, but the psi updates are still pending. Since it
looks at the task's scheduler state, it doesn't move everything to the
new cgroup that the task switch that follows is about to clear from
it. cgroup_move_task() will leak the TSK_RUNNING count in the old
cgroup, and psi_sched_switch() will underflow it in the new cgroup.

A similar thing can happen for iowait. TSK_IOWAIT is usually set when
a p->in_iowait task is dequeued, but again this update is deferred to
the switch. cgroup_move_task() can see an unqueued p->in_iowait task
and move a non-existent TSK_IOWAIT. This results in the inconsistent
task state warning, as well as a counter underflow that will result in
permanent IO ghost pressure being reported.

Fix this bug by making cgroup_move_task() use task->psi_flags instead
of looking at the potentially mismatching scheduler state.

[ We used the scheduler state historically in order to not rely on
  task->psi_flags for anything but debugging. But that ship has sailed
  anyway, and this is simpler and more robust.

  We previously already batched TSK_ONCPU clearing with the
  TSK_RUNNING update inside the deactivation call from schedule(). But
  that ordering was safe and didn't result in TSK_ONCPU corruption:
  unlike most places in the scheduler, cgroup_move_task() only checked
  task_current() and handled TSK_ONCPU if the task was still queued. ]

bug: b/253347377

Fixes: 4117cebf1a9f ("psi: Optimize task switch inside shared cgroups")
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20210503174917.38579-1-hannes@cmpxchg.org
(cherry picked from commit d583d360a620e6229422b3455d0be082b8255f5e)
Change-Id: Id0a292058d4bffb716d8e1496f72139e8d435410
2022-10-13 05:36:38 +00:00
Todd Kjos
b046e2dca5 ANDROID: Fix kenelci build-break for !CONFIG_PERF_EVENTS
Kernelci builds were broken if !CONFIG_PERF_EVENTS since 830f0202d7 ("ANDROID: cpu/hotplug:
avoid breaking Android ABI by fusing cpuhp steps") causes
perf_event_init_cpu(cpu) to be reduced to "NULL(cpu)":

kernel/cpu.c:1868:21: error: called object type 'void *' is not a function or function pointer

Fixes: 830f0202d7 ("ANDROID: cpu/hotplug: avoid breaking Android ABI by fusing cpuhp steps")
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ifc7351f74470c87018770395af4b4f6096f0d73f
2022-10-06 18:00:02 +00:00
Greg Kroah-Hartman
bc7618b493 Merge 5.10.147 into android12-5.10-lts
Changes in 5.10.147
	thunderbolt: Add support for Intel Maple Ridge
	thunderbolt: Add support for Intel Maple Ridge single port controller
	ALSA: hda/tegra: Use clk_bulk helpers
	ALSA: hda/tegra: Reset hardware
	ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically
	ALSA: hda: Fix Nvidia dp infoframe
	btrfs: fix hang during unmount when stopping a space reclaim worker
	uas: add no-uas quirk for Hiksemi usb_disk
	usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS
	uas: ignore UAS for Thinkplus chips
	usb: typec: ucsi: Remove incorrect warning
	thunderbolt: Explicitly reset plug events delay back to USB4 spec value
	net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455
	Input: snvs_pwrkey - fix SNVS_HPVIDR1 register address
	clk: ingenic-tcu: Properly enable registers before accessing timers
	ARM: dts: integrator: Tag PCI host with device_type
	ntfs: fix BUG_ON in ntfs_lookup_inode_by_name()
	net: mt7531: only do PLL once after the reset
	libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205
	mmc: moxart: fix 4-bit bus width and remove 8-bit bus width
	mmc: hsq: Fix data stomping during mmc recovery
	mm/page_alloc: fix race condition between build_all_zonelists and page allocation
	mm: prevent page_frag_alloc() from corrupting the memory
	mm/migrate_device.c: flush TLB while holding PTL
	mm: fix madivse_pageout mishandling on non-LRU page
	media: dvb_vb2: fix possible out of bound access
	media: rkvdec: Disable H.264 error detection
	swiotlb: max mapping size takes min align mask into account
	scsi: hisi_sas: Revert "scsi: hisi_sas: Limit max hw sectors for v3 HW"
	ARM: dts: am33xx: Fix MMCHS0 dma properties
	reset: imx7: Fix the iMX8MP PCIe PHY PERST support
	soc: sunxi: sram: Actually claim SRAM regions
	soc: sunxi: sram: Prevent the driver from being unbound
	soc: sunxi_sram: Make use of the helper function devm_platform_ioremap_resource()
	soc: sunxi: sram: Fix probe function ordering issues
	soc: sunxi: sram: Fix debugfs info for A64 SRAM C
	ASoC: tas2770: Reinit regcache on reset
	Revert "drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume time"
	Input: melfas_mip4 - fix return value check in mip4_probe()
	usbnet: Fix memory leak in usbnet_disconnect()
	net: sched: act_ct: fix possible refcount leak in tcf_ct_init()
	cxgb4: fix missing unlock on ETHOFLD desc collect fail path
	nvme: add new line after variable declatation
	nvme: Fix IOC_PR_CLEAR and IOC_PR_RELEASE ioctls for nvme devices
	net: stmmac: power up/down serdes in stmmac_open/release
	selftests: Fix the if conditions of in test_extra_filter()
	clk: imx: imx6sx: remove the SET_RATE_PARENT flag for QSPI clocks
	clk: iproc: Do not rely on node name for correct PLL setup
	KVM: x86: Hide IA32_PLATFORM_DCA_CAP[31:0] from the guest
	x86/alternative: Fix race in try_get_desc()
	ALSA: hda/hdmi: fix warning about PCM count when used with SOF
	Linux 5.10.147

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie6bbda212478a9c78498458b61e39200e6637f31
2022-10-05 18:33:23 +02:00
Tianyu Lan
625899cd06 swiotlb: max mapping size takes min align mask into account
commit 82806744fd7dde603b64c151eeddaa4ee62193fd upstream.

swiotlb_find_slots() skips slots according to io tlb aligned mask
calculated from min aligned mask and original physical address
offset. This affects max mapping size. The mapping size can't
achieve the IO_TLB_SEGSIZE * IO_TLB_SIZE when original offset is
non-zero. This will cause system boot up failure in Hyper-V
Isolation VM where swiotlb force is enabled. Scsi layer use return
value of dma_max_mapping_size() to set max segment size and it
finally calls swiotlb_max_mapping_size(). Hyper-V storage driver
sets min align mask to 4k - 1. Scsi layer may pass 256k length of
request buffer with 0~4k offset and Hyper-V storage driver can't
get swiotlb bounce buffer via DMA API. Swiotlb_find_slots() can't
find 256k length bounce buffer with offset. Make swiotlb_max_mapping
_size() take min align mask into account.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rishabh Bhatnagar <risbhat@amazon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-10-05 10:38:40 +02:00
Greg Kroah-Hartman
0e8dfc1216 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
Sync up with android12-5.10 for the following commits:

5545801f5c ANDROID: abi_gki_aarch64_qcom: Add android_vh_madvise_cold_or_pageout
d195c9f2bb ANDROID: force struct page_vma_mapped_walk to be defined in KMI
464a3706e6 Merge "Merge tag 'android12-5.10.136_r00' into android12-5.10" into android12-5.10
18cd39b706 Merge tag 'android12-5.10.136_r00' into android12-5.10
6d04d8ce90 ANDROID: vendor_hooks: Allow shared pages reclaim via MADV_PAGEOUT
2d8afda40e UPSTREAM: usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS
4135365b5d ANDROID: GKI: Update symbols to symbol list
c6f7a0ebd8 ANDROID: make sure all types for hooks are defined in KMI
b9ac329a83 ANDROID: force struct selinux_state to be defined in KMI
b71060e6eb BACKPORT: erofs: fix use-after-free of on-stack io[]
ecf5583fc7 ANDROID: GKI: Update symbols to symbol list
5c5b7a4da6 ANDROID: vendor_hook: rename the the name of hooks
2c625a20c0 ANDROID: ABI: Add extcon_get_property_capability symbol
72b1f9fd16 Revert "ANDROID: arm64: debug-monitors: export break hook APIs"
cc51dcbc60 Revert "ANDROID: vendor_hooks:vendor hook for __alloc_pages_slowpath."
9072e986bd Revert "ANDROID: Export functions to be used with dma_map_ops in modules"
2fc96f32ee FROMLIST: f2fs: let FI_OPU_WRITE override FADVISE_COLD_BIT
06b301069f ANDROID: remove unused xhci_get_endpoint_address export
bcf6dddd97 ANDROID: incfs: Add check for ATTR_KILL_SUID and ATTR_MODE in incfs_setattr
d915364e92 ANDROID: GKI: Update symbols to symbol list
db2516ff46 ANDROID: vendor_hooks: Add hooks for lookaround
feedd14d14 Revert "Revert "ANDROID: add for tuning readahead size""
9252f4d58b ANDROID: transsion: Update the ABI xml and symbol list
f50f24e781 ANDROID: vendor_hooks: Add hooks for lookaround
c762f435c0 BACKPORT: dm verity: set DM_TARGET_IMMUTABLE feature flag
2bd9e6cddc BACKPORT: pipe: Fix missing lock in pipe_resize_ring()
d7586fa209 BACKPORT: KVM: x86: avoid calling x86 emulator without a decoded instruction
cee231f83b ANDROID: GKI: add symbols in android/abi_gki_aarch64_oplus
8aaba3c5a1 BACKPORT: watchqueue: make sure to serialize 'wqueue->defunct' properly
7351343bc8 ANDROID: GKI: Update symbol list for Exynos SoC
9527907814 UPSTREAM: usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop
bda2986f13 UPSTREAM: usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
eef3b6ff41 BACKPORT: scsi: ufs: core: Increase fDeviceInit poll frequency
eaa7364bf7 FROMGIT: f2fs: increase the limit for reserve_root
42aa1955c2 FROMGIT: f2fs: complete checkpoints during remount
1c5313a9f7 FROMGIT: f2fs: flush pending checkpoints when freezing super
604f2f5656 BACKPORT: f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs
594835143a BACKPORT: f2fs: introduce F2FS_IPU_HONOR_OPU_WRITE ipu policy
85aff72329 Revert "ANDROID: GKI: signal: Export for __lock_task_sighand"
22b447e9bd BACKPORT: f2fs: invalidate meta pages only for post_read required inode
fa0cdb5b9d BACKPORT: f2fs: fix to invalidate META_MAPPING before DIO write
2301307412 BACKPORT: f2fs: invalidate META_MAPPING before IPU/DIO write
99f0160022 ANDROID: mm: page_pinner: use page_ext_get/put() to work with page_ext
2b3f9b8187 FROMLIST: mm: fix use-after free of page_ext after race with memory-offline
dec2f52d08 ANDROID: vendor_hooks:vendor hook for __alloc_pages_slowpath.
bc08447eb7 ANDROID: GKI: rockchip: add symbol netif_set_xps_queue
3f90d4f1f3 ANDROID: GKI: Update symbol list
7b0822a261 Revert "ANDROID: vendor_hooks: tune reclaim scan type for specified mem_cgroup"
425c0f18ed ANDROID: Fix a build warning inside early_memblock_nomap
84a0d243b6 ANDROID: mm/memory_hotplug: Fix error path handling
98e5fb34d1 Revert "ANDROID: add for tuning readahead size"
486580ffb5 Revert "ANDROID: vendor_hooks: Add hooks for mutex"

Update the .xml file to add the following new symbols that were now
started to be tracked in the android12-5.10 branch:

Leaf changes summary: 40 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 1 Removed, 0 Changed, 18 Added functions
Removed/Changed/Added variables summary: 1 Removed, 0 Changed, 20 Added variables

1 Removed function:

  [D] 'function int __traceiter_android_vh_record_percpu_rwsem_lock_starttime(void*, task_struct*, unsigned long int)'

18 Added functions:

  [A] 'function void __page_frag_cache_drain(page*, unsigned int)'
  [A] 'function int __traceiter_android_vh_check_page_look_around_ref(void*, page*, int*)'
  [A] 'function int __traceiter_android_vh_do_futex(void*, int, unsigned int*, u32*)'
  [A] 'function int __traceiter_android_vh_futex_wait_end(void*, unsigned int, u32)'
  [A] 'function int __traceiter_android_vh_futex_wait_start(void*, unsigned int, u32)'
  [A] 'function int __traceiter_android_vh_futex_wake_this(void*, int, int, int, task_struct*)'
  [A] 'function int __traceiter_android_vh_futex_wake_traverse_plist(void*, plist_head*, int*, futex_key, u32)'
  [A] 'function int __traceiter_android_vh_futex_wake_up_q_finish(void*, int, int)'
  [A] 'function int __traceiter_android_vh_look_around(void*, page_vma_mapped_walk*, page*, vm_area_struct*, int*)'
  [A] 'function int __traceiter_android_vh_look_around_migrate_page(void*, page*, page*)'
  [A] 'function int __traceiter_android_vh_ra_tuning_max_page(void*, readahead_control*, unsigned long int*)'
  [A] 'function int __traceiter_android_vh_record_pcpu_rwsem_starttime(void*, task_struct*, unsigned long int)'
  [A] 'function int __traceiter_android_vh_test_clear_look_around_ref(void*, page*)'
  [A] 'function int extcon_get_property_capability(extcon_dev*, unsigned int, unsigned int)'
  [A] 'function int netif_set_xps_queue(net_device*, const cpumask*, u16)'
  [A] 'function void* page_frag_alloc(page_frag_cache*, unsigned int, gfp_t)'
  [A] 'function void page_frag_free(void*)'
  [A] 'function bool rng_is_initialized()'

1 Removed variable:

  [D] 'tracepoint __tracepoint_android_vh_record_percpu_rwsem_lock_starttime'

20 Added variables:

  [A] 'const gic_chip_data* GKI_struct_gic_chip_data'
  [A] 'selinux_state* GKI_struct_selinux_state'
  [A] 'const swap_slots_cache* GKI_struct_swap_slots_cache'
  [A] 'tracepoint __tracepoint_android_vh_check_page_look_around_ref'
  [A] 'tracepoint __tracepoint_android_vh_do_futex'
  [A] 'tracepoint __tracepoint_android_vh_futex_wait_end'
  [A] 'tracepoint __tracepoint_android_vh_futex_wait_start'
  [A] 'tracepoint __tracepoint_android_vh_futex_wake_this'
  [A] 'tracepoint __tracepoint_android_vh_futex_wake_traverse_plist'
  [A] 'tracepoint __tracepoint_android_vh_futex_wake_up_q_finish'
  [A] 'tracepoint __tracepoint_android_vh_look_around'
  [A] 'tracepoint __tracepoint_android_vh_look_around_migrate_page'
  [A] 'tracepoint __tracepoint_android_vh_madvise_cold_or_pageout'
  [A] 'tracepoint __tracepoint_android_vh_ra_tuning_max_page'
  [A] 'tracepoint __tracepoint_android_vh_record_pcpu_rwsem_starttime'
  [A] 'tracepoint __tracepoint_android_vh_test_clear_look_around_ref'
  [A] 'tracepoint __tracepoint_net_dev_queue'
  [A] 'tracepoint __tracepoint_net_dev_xmit'
  [A] 'tracepoint __tracepoint_netif_receive_skb'
  [A] 'tracepoint __tracepoint_netif_rx'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I300286a8e658793249f37797cd2ede7555dfacc9
2022-10-01 14:58:20 +02:00
Greg Kroah-Hartman
1d17080edb Merge 5.10.146 into android12-5.10-lts
Changes in 5.10.146
	drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega
	drm/amdgpu: indirect register access for nv12 sriov
	drm/amdgpu: Separate vf2pf work item init from virt data exchange
	drm/amdgpu: make sure to init common IP before gmc
	usb: typec: intel_pmc_mux: Update IOM port status offset for AlderLake
	usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device
	usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind
	usb: dwc3: Issue core soft reset before enabling run/stop
	usb: dwc3: gadget: Prevent repeat pullup()
	usb: dwc3: gadget: Refactor pullup()
	usb: dwc3: gadget: Don't modify GEVNTCOUNT in pullup()
	usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop
	usb: xhci-mtk: get the microframe boundary for ESIT
	usb: xhci-mtk: add only one extra CS for FS/LS INTR
	usb: xhci-mtk: use @sch_tt to check whether need do TT schedule
	usb: xhci-mtk: add a function to (un)load bandwidth info
	usb: xhci-mtk: add some schedule error number
	usb: xhci-mtk: allow multiple Start-Split in a microframe
	usb: xhci-mtk: relax TT periodic bandwidth allocation
	mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure
	serial: atmel: remove redundant assignment in rs485_config
	tty: serial: atmel: Preserve previous USART mode if RS485 disabled
	usb: add quirks for Lenovo OneLink+ Dock
	usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
	usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer
	usb: cdns3: fix issue with rearming ISO OUT endpoint
	Revert "usb: add quirks for Lenovo OneLink+ Dock"
	vfio/type1: Change success value of vaddr_get_pfn()
	vfio/type1: Prepare for batched pinning with struct vfio_batch
	vfio/type1: Unpin zero pages
	Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
	arm64: Restrict ARM64_BTI_KERNEL to clang 12.0.0 and newer
	arm64/bti: Disable in kernel BTI when cross section thunks are broken
	USB: core: Fix RST error in hub.c
	USB: serial: option: add Quectel BG95 0x0203 composition
	USB: serial: option: add Quectel RM520N
	ALSA: hda/tegra: set depop delay for tegra
	ALSA: hda: add Intel 5 Series / 3400 PCI DID
	ALSA: hda/realtek: Add quirk for Huawei WRT-WX9
	ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop
	ALSA: hda/realtek: Re-arrange quirk table entries
	ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack
	ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack
	ALSA: hda/realtek: Add quirk for ASUS GA503R laptop
	ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop
	iommu/vt-d: Check correct capability for sagaw determination
	media: flexcop-usb: fix endpoint type check
	efi: x86: Wipe setup_data on pure EFI boot
	efi: libstub: check Shim mode using MokSBStateRT
	wifi: mt76: fix reading current per-tid starting sequence number for aggregation
	gpio: mockup: fix NULL pointer dereference when removing debugfs
	gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
	riscv: fix a nasty sigreturn bug...
	can: flexcan: flexcan_mailbox_read() fix return value for drop = true
	mm/slub: fix to return errno if kmalloc() fails
	KVM: SEV: add cache flush to solve SEV cache incoherency issues
	interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate
	xfs: fix up non-directory creation in SGID directories
	xfs: reorder iunlink remove operation in xfs_ifree
	xfs: validate inode fork size against fork format
	arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob
	drm/mediatek: dsi: Add atomic {destroy,duplicate}_state, reset callbacks
	arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz
	dmaengine: ti: k3-udma-private: Fix refcount leak bug in of_xudma_dev_get()
	arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma
	netfilter: nf_conntrack_sip: fix ct_sip_walk_headers
	netfilter: nf_conntrack_irc: Tighten matching on DCC message
	netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find()
	iavf: Fix cached head and tail value for iavf_get_tx_pending
	ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
	net: let flow have same hash in two directions
	net: core: fix flow symmetric hash
	net: phy: aquantia: wait for the suspend/resume operations to finish
	scsi: mpt3sas: Force PCIe scatterlist allocations to be within same 4 GB region
	scsi: mpt3sas: Fix return value check of dma_get_required_mask()
	net: bonding: Share lacpdu_mcast_addr definition
	net: bonding: Unsync device addresses on ndo_stop
	net: team: Unsync device addresses on ndo_stop
	drm/panel: simple: Fix innolux_g121i1_l01 bus_format
	MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko
	MIPS: Loongson32: Fix PHY-mode being left unspecified
	iavf: Fix bad page state
	iavf: Fix set max MTU size with port VLAN and jumbo frames
	i40e: Fix VF set max MTU size
	i40e: Fix set max_tx_rate when it is lower than 1 Mbps
	sfc: fix TX channel offset when using legacy interrupts
	sfc: fix null pointer dereference in efx_hard_start_xmit
	drm/hisilicon/hibmc: Allow to be built if COMPILE_TEST is enabled
	drm/hisilicon: Add depends on MMU
	of: mdio: Add of_node_put() when breaking out of for_each_xx
	net: ipa: fix assumptions about DMA address size
	net: ipa: fix table alignment requirement
	net: ipa: avoid 64-bit modulus
	net: ipa: DMA addresses are nicely aligned
	net: ipa: kill IPA_TABLE_ENTRY_SIZE
	net: ipa: properly limit modem routing table use
	wireguard: ratelimiter: disable timings test by default
	wireguard: netlink: avoid variable-sized memcpy on sockaddr
	net: enetc: move enetc_set_psfp() out of the common enetc_set_features()
	net: socket: remove register_gifconf
	net/sched: taprio: avoid disabling offload when it was never enabled
	net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs
	netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain()
	netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain()
	netfilter: ebtables: fix memory leak when blob is malformed
	can: gs_usb: gs_can_open(): fix race dev->can.state condition
	perf jit: Include program header in ELF files
	perf kcore_copy: Do not check /proc/modules is unchanged
	drm/mediatek: dsi: Move mtk_dsi_stop() call back to mtk_dsi_poweroff()
	net/smc: Stop the CLC flow if no link to map buffers on
	net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
	net: sched: fix possible refcount leak in tc_new_tfilter()
	selftests: forwarding: add shebang for sch_red.sh
	drm/amd/amdgpu: fixing read wrong pf2vf data in SRIOV
	serial: Create uart_xmit_advance()
	serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
	serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
	s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
	usb: xhci-mtk: fix issue of out-of-bounds array access
	vfio/type1: fix vaddr_get_pfns() return in vfio_pin_page_external()
	drm/amdgpu: Fix check for RAS support
	cifs: use discard iterator to discard unneeded network data more efficiently
	cifs: always initialize struct msghdr smb_msg completely
	Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region
	drm/gma500: Fix BUG: sleeping function called from invalid context errors
	drm/amdgpu: use dirty framebuffer helper
	drm/amd/display: Limit user regamma to a valid value
	drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage
	drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
	workqueue: don't skip lockdep work dependency in cancel_work_sync()
	i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible
	i2c: mlxbf: incorrect base address passed during io write
	i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction()
	i2c: mlxbf: Fix frequency calculation
	devdax: Fix soft-reservation memory description
	ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
	ext4: limit the number of retries after discarding preallocations blocks
	ext4: make directory inode spreading reflect flexbg size
	Linux 5.10.146

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I45edad7e4191aad7a85278b43fa9909a6253643f
2022-09-29 17:06:30 +02:00
Tetsuo Handa
90f1c0025b workqueue: don't skip lockdep work dependency in cancel_work_sync()
[ Upstream commit c0feea594e058223973db94c1c32a830c9807c86 ]

Like Hillf Danton mentioned

  syzbot should have been able to catch cancel_work_sync() in work context
  by checking lockdep_map in __flush_work() for both flush and cancel.

in [1], being unable to report an obvious deadlock scenario shown below is
broken. From locking dependency perspective, sync version of cancel request
should behave as if flush request, for it waits for completion of work if
that work has already started execution.

  ----------
  #include <linux/module.h>
  #include <linux/sched.h>
  static DEFINE_MUTEX(mutex);
  static void work_fn(struct work_struct *work)
  {
    schedule_timeout_uninterruptible(HZ / 5);
    mutex_lock(&mutex);
    mutex_unlock(&mutex);
  }
  static DECLARE_WORK(work, work_fn);
  static int __init test_init(void)
  {
    schedule_work(&work);
    schedule_timeout_uninterruptible(HZ / 10);
    mutex_lock(&mutex);
    cancel_work_sync(&work);
    mutex_unlock(&mutex);
    return -EINVAL;
  }
  module_init(test_init);
  MODULE_LICENSE("GPL");
  ----------

The check this patch restores was added by commit 0976dfc1d0
("workqueue: Catch more locking problems with flush_work()").

Then, lockdep's crossrelease feature was added by commit b09be676e0
("locking/lockdep: Implement the 'crossrelease' feature"). As a result,
this check was once removed by commit fd1a5b04df ("workqueue: Remove
now redundant lock acquisitions wrt. workqueue flushes").

But lockdep's crossrelease feature was removed by commit e966eaeeb6
("locking/lockdep: Remove the cross-release locking checks"). At this
point, this check should have been restored.

Then, commit d6e89786be ("workqueue: skip lockdep wq dependency in
cancel_work_sync()") introduced a boolean flag in order to distinguish
flush_work() and cancel_work_sync(), for checking "struct workqueue_struct"
dependency when called from cancel_work_sync() was causing false positives.

Then, commit 87915adc3f ("workqueue: re-add lockdep dependencies for
flushing") tried to restore "struct work_struct" dependency check, but by
error checked this boolean flag. Like an example shown above indicates,
"struct work_struct" dependency needs to be checked for both flush_work()
and cancel_work_sync().

Link: https://lkml.kernel.org/r/20220504044800.4966-1-hdanton@sina.com [1]
Reported-by: Hillf Danton <hdanton@sina.com>
Suggested-by: Lai Jiangshan <jiangshanlai@gmail.com>
Fixes: 87915adc3f ("workqueue: re-add lockdep dependencies for flushing")
Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-28 11:10:40 +02:00
Greg Kroah-Hartman
18cd39b706 Merge tag 'android12-5.10.136_r00' into android12-5.10
This is the merge of the upstream LTS release of 5.10.136 into the
android12-5.10 branch.

It contains the following commits:

ee965fe12d Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
b7247246f6 Merge 5.10.136 into android12-5.10-lts
6eae1503dd Linux 5.10.136
1bea03b44e x86/speculation: Add LFENCE to RSB fill sequence
509c2c9fe7 x86/speculation: Add RSB VM Exit protections
e5b556a7b2 macintosh/adb: fix oob read in do_adb_query() function
75742ffc36 Bluetooth: btusb: Add Realtek RTL8852C support ID 0x13D3:0x3586
40e2e7f1bf Bluetooth: btusb: Add Realtek RTL8852C support ID 0x13D3:0x3587
9c45bb363e Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0CB8:0xC558
3a292cb181 Bluetooth: btusb: Add Realtek RTL8852C support ID 0x04C5:0x1675
1a2a2e3456 Bluetooth: btusb: Add Realtek RTL8852C support ID 0x04CA:0x4007
e81f95d030 Bluetooth: btusb: Add support of IMC Networks PID 0x3568
918ce738e2 Bluetooth: hci_bcm: Add DT compatible for CYW55572
033a4455d9 Bluetooth: hci_bcm: Add BCM4349B1 variant
50763f0ac0 selftests: KVM: Handle compiler optimizations in ucall
a56e1ccdb7 tools/kvm_stat: fix display of error when multiple processes are found
3c77292d52 crypto: arm64/poly1305 - fix a read out-of-bound
e2c63e1afd ACPI: APEI: Better fix to avoid spamming the console with old error logs
6ccff35588 ACPI: video: Shortening quirk list by identifying Clevo by board_name only
a2b472b152 ACPI: video: Force backlight native for some TongFang devices
a01a4e9f5d tun: avoid double free in tun_free_netdev
1069087e2f selftests/bpf: Check dst_port only on the client socket
042fb1c281 selftests/bpf: Extend verifier and bpf_sock tests for dst_port loads
78c8397132 ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet()
4f3b852336 ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep()
45b69848a2 x86/speculation: Make all RETbleed mitigations 64-bit only
30abcdabf2 Merge 5.10.135 into android12-5.10-lts
f6ce9a9115 Merge 5.10.134 into android12-5.10-lts
4fd9cb57a3 Linux 5.10.135
4bfc9dc608 selftests: bpf: Don't run sk_lookup in verifier tests
6d3fad2b44 bpf: Add PROG_TEST_RUN support for sk_lookup programs
6aad811b37 bpf: Consolidate shared test timing code
545fc3524c x86/bugs: Do not enable IBPB at firmware entry when IBPB is not available
14b494b7aa xfs: Enforce attr3 buffer recovery order
e5f9d4e0f8 xfs: logging the on disk inode LSN can make it go backwards
c1268acaa0 xfs: remove dead stale buf unpin handling code
c85cbb0b21 xfs: hold buffer across unpin and potential shutdown processing
d8f5bb0a09 xfs: force the log offline when log intent item recovery fails
eccacbcbfd xfs: fix log intent recovery ENOSPC shutdowns when inactivating inodes
17c8097fb0 xfs: prevent UAF in xfs_log_item_in_current_chkpt
6d3605f84e xfs: xfs_log_force_lsn isn't passed a LSN
41fbfdaba9 xfs: refactor xfs_file_fsync
aadc39fd5b docs/kernel-parameters: Update descriptions for "mitigations=" param with retbleed
c4cd52ab1e EDAC/ghes: Set the DIMM label unconditionally
c454639172 ARM: 9216/1: Fix MAX_DMA_ADDRESS overflow
e500aa9f2d mt7601u: add USB device ID for some versions of XiaoDu WiFi Dongle.
2670f76a56 page_alloc: fix invalid watermark check on a negative value
8014246694 ARM: crypto: comment out gcc warning that breaks clang builds
6f3505588d sctp: leave the err path free in sctp_stream_init to sctp_stream_free
510e5b3791 sfc: disable softirqs for ptp TX
3ec42508a6 perf symbol: Correct address for bss symbols
6807897695 virtio-net: fix the race between refill work and close
440dccd80f netfilter: nf_queue: do not allow packet truncation below transport header offset
aeb2ff9f9f sctp: fix sleep in atomic context bug in timer handlers
fad6caf9b1 i40e: Fix interface init with MSI interrupts (no MSI-X)
e4a7acd6b4 tcp: Fix data-races around sysctl_tcp_reflect_tos.
f310fb69a0 tcp: Fix a data-race around sysctl_tcp_comp_sack_nr.
d2476f2059 tcp: Fix a data-race around sysctl_tcp_comp_sack_slack_ns.
4832397891 tcp: Fix a data-race around sysctl_tcp_comp_sack_delay_ns.
530a4da37e net: macsec: fix potential resource leak in macsec_add_rxsa() and macsec_add_txsa()
6e0e0464f1 macsec: always read MACSEC_SA_ATTR_PN as a u64
2daf0a1261 macsec: limit replay window size with XPN
0755c9d05a macsec: fix error message in macsec_add_rxsa and _txsa
54c295a30f macsec: fix NULL deref in macsec_add_rxsa
034bfadc8f Documentation: fix sctp_wmem in ip-sysctl.rst
4aea33f404 tcp: Fix a data-race around sysctl_tcp_invalid_ratelimit.
c4e6029a85 tcp: Fix a data-race around sysctl_tcp_autocorking.
83edb788e6 tcp: Fix a data-race around sysctl_tcp_min_rtt_wlen.
f47e7e5b49 tcp: Fix a data-race around sysctl_tcp_min_tso_segs.
5584fe9718 net: sungem_phy: Add of_node_put() for reference returned by of_get_parent()
b399ffafff igmp: Fix data-races around sysctl_igmp_qrv.
4c1318dabe net/tls: Remove the context from the list in tls_device_down
8008e797ec ipv6/addrconf: fix a null-ptr-deref bug for ip6_ptr
a84b8b53a5 net: ping6: Fix memleak in ipv6_renew_options().
c37c7f35d7 tcp: Fix a data-race around sysctl_tcp_challenge_ack_limit.
9ffb4fdfd8 tcp: Fix a data-race around sysctl_tcp_limit_output_bytes.
3e93312583 tcp: Fix data-races around sysctl_tcp_moderate_rcvbuf.
77ac046a9a Revert "tcp: change pingpong threshold to 3"
54a73d6544 scsi: ufs: host: Hold reference returned by of_parse_phandle()
160f79561e ice: do not setup vlan for loopback VSI
9ed6f97c8d ice: check (DD | EOF) bits on Rx descriptor rather than (EOP | RS)
2b4b373271 tcp: Fix data-races around sysctl_tcp_no_ssthresh_metrics_save.
3fb21b67c0 tcp: Fix a data-race around sysctl_tcp_nometrics_save.
81c45f49e6 tcp: Fix a data-race around sysctl_tcp_frto.
312ce3901f tcp: Fix a data-race around sysctl_tcp_adv_win_scale.
3cddb7a7a5 tcp: Fix a data-race around sysctl_tcp_app_win.
f10a5f905a tcp: Fix data-races around sysctl_tcp_dsack.
7fa8999b31 watch_queue: Fix missing locking in add_watch_to_object()
45a84f04a9 watch_queue: Fix missing rcu annotation
b38a8802c5 nouveau/svm: Fix to migrate all requested pages
bd46ca4146 s390/archrandom: prevent CPACF trng invocations in interrupt context
1228934cf2 ntfs: fix use-after-free in ntfs_ucsncmp()
5528990512 Revert "ocfs2: mount shared volume without ha stack"
de5d4654ac Bluetooth: L2CAP: Fix use-after-free caused by l2cap_chan_put
a46cc20143 Merge 5.10.133 into android12-5.10-lts
3f05c6dd13 ANDROID: fix up 5.10.132 merge with the virtio_mmio.c driver
7a62a4b621 Linux 5.10.134
bb1990a300 watch-queue: remove spurious double semicolon
f7c1fc0dec net: usb: ax88179_178a needs FLAG_SEND_ZLP
08afa87f58 tty: use new tty_insert_flip_string_and_push_buffer() in pty_write()
a4bb7ef2d6 tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push()
c84986d097 tty: drop tty_schedule_flip()
4d374625cc tty: the rest, stop using tty_schedule_flip()
6a81848252 tty: drivers/tty/, stop using tty_schedule_flip()
0adf21eec5 watchqueue: make sure to serialize 'wqueue->defunct' properly
c0a3a9eb26 x86/alternative: Report missing return thunk details
b7b9e5cc8b x86/amd: Use IBPB for firmware calls
14fc9233aa Bluetooth: Fix bt_skb_sendmmsg not allocating partial chunks
f44e65e6f0 Bluetooth: SCO: Fix sco_send_frame returning skb->len
a8feae8bd2 Bluetooth: Fix passing NULL to PTR_ERR
5283591c84 Bluetooth: RFCOMM: Replace use of memcpy_from_msg with bt_skb_sendmmsg
341a029cf3 Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg
3cce0e771f Bluetooth: Add bt_skb_sendmmsg helper
c87b2bc9d7 Bluetooth: Add bt_skb_sendmsg helper
4faf4bbc2d ALSA: memalloc: Align buffer allocations in page size
d1dc861cd6 bitfield.h: Fix "type of reg too small for mask" test
f62ffdb5e2 drm/imx/dcss: fix unused but set variable warnings
577b624689 dlm: fix pending remove if msg allocation fails
cdcd20aa2c x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts
26d5eb3c25 sched/deadline: Fix BUG_ON condition for deboosted tasks
0c722a32f2 bpf: Make sure mac_header was set before using it
ddb3f0b688 mm/mempolicy: fix uninit-value in mpol_rebind_policy()
3616776bc5 KVM: Don't null dereference ops->destroy
684896e675 spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers
0648526633 tcp: Fix data-races around sysctl_tcp_max_reordering.
805f1c7ce4 tcp: Fix a data-race around sysctl_tcp_rfc1337.
03bb3892f3 tcp: Fix a data-race around sysctl_tcp_stdurg.
daa8b5b869 tcp: Fix a data-race around sysctl_tcp_retrans_collapse.
0e3f82a03e tcp: Fix data-races around sysctl_tcp_slow_start_after_idle.
cc133e4f4b tcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts.
d8781f7cd0 tcp: Fix data-races around sysctl_tcp_recovery.
11e8b013d1 tcp: Fix a data-race around sysctl_tcp_early_retrans.
ffc388f6f0 tcp: Fix data-races around sysctl knobs related to SYN option.
fcaef69c79 udp: Fix a data-race around sysctl_udp_l3mdev_accept.
9add240f76 ip: Fix data-races around sysctl_ip_prot_sock.
e045d672ba ipv4: Fix a data-race around sysctl_fib_multipath_use_neigh.
36f1d9c607 drm/imx/dcss: Add missing of_node_put() in fail path
665cbe91de be2net: Fix buffer overflow in be_get_module_eeprom
4752392855 gpio: pca953x: use the correct register address when regcache sync during init
a941e6d5ba gpio: pca953x: use the correct range when do regmap sync
928ded3fc1 gpio: pca953x: only use single read/write for No AI mode
b82de63f8f ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero
6f949e5615 i40e: Fix erroneous adapter reinitialization during recovery process
c6af943249 iavf: Fix handling of dummy receive descriptors
0dc2f19d8c tcp: Fix data-races around sysctl_tcp_fastopen_blackhole_timeout.
22938534c6 tcp: Fix data-races around sysctl_tcp_fastopen.
b3ce32e33a tcp: Fix data-races around sysctl_max_syn_backlog.
b6c189aa80 tcp: Fix a data-race around sysctl_tcp_tw_reuse.
fd6f1284e3 tcp: Fix a data-race around sysctl_tcp_notsent_lowat.
768e424607 tcp: Fix data-races around some timeout sysctl knobs.
474510e174 tcp: Fix data-races around sysctl_tcp_reordering.
dc1a78a2b2 tcp: Fix data-races around sysctl_tcp_syncookies.
fc489055e7 tcp: Fix data-races around keepalive sysctl knobs.
f85119fb3f igmp: Fix data-races around sysctl_igmp_max_msf.
7d26db0053 igmp: Fix a data-race around sysctl_igmp_max_memberships.
473aad9ad5 igmp: Fix data-races around sysctl_igmp_llm_reports.
e80ff0b966 net/tls: Fix race in TLS device down flow
a3ac79f38d net: stmmac: fix dma queue left shift overflow issue
f3da643d87 i2c: cadence: Change large transfer count reset logic to be unconditional
dd7b5ba44b net: stmmac: fix unbalanced ptp clock issue in suspend/resume flow
c61aede097 tcp: Fix a data-race around sysctl_tcp_probe_interval.
d452ce36f2 tcp: Fix a data-race around sysctl_tcp_probe_threshold.
d5bece4df6 tcp: Fix a data-race around sysctl_tcp_mtu_probe_floor.
97992e8fef tcp: Fix data-races around sysctl_tcp_min_snd_mss.
514d2254c7 tcp: Fix data-races around sysctl_tcp_base_mss.
77a04845f0 tcp: Fix data-races around sysctl_tcp_mtu_probing.
d4f65615db tcp/dccp: Fix a data-race around sysctl_tcp_fwmark_accept.
0ee76fe01f ip: Fix a data-race around sysctl_fwmark_reflect.
611ba70e5a ip: Fix a data-race around sysctl_ip_autobind_reuse.
94269132d0 ip: Fix data-races around sysctl_ip_nonlocal_bind.
11038fa781 ip: Fix data-races around sysctl_ip_fwd_update_priority.
b96ed5ccb0 ip: Fix data-races around sysctl_ip_fwd_use_pmtu.
5e343e3ef4 ip: Fix data-races around sysctl_ip_no_pmtu_disc.
77836dbe35 igc: Reinstate IGC_REMOVED logic and implement it properly
fb6031203e drm/amdgpu/display: add quirk handling for stutter mode
43128b3eee perf/core: Fix data race between perf_event_set_output() and perf_mmap_close()
5694b162f2 pinctrl: ralink: Check for null return of devm_kcalloc
493ceca327 power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe
47b696dd65 xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup()
3777ea39f0 serial: mvebu-uart: correctly report configured baudrate value
e744aad0c4 PCI: hv: Fix interrupt mapping for multi-MSI
522bd31d6b PCI: hv: Reuse existing IRTE allocation in compose_msi_msg()
73bf070408 PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI
f1d2f1ce05 PCI: hv: Fix multi-MSI to allow more than one MSI vector
b07240ce4a Revert "m68knommu: only set CONFIG_ISA_DMA_API for ColdFire sub-arch"
4f900c37f1 net: inline rollback_registered_many()
bf2f3d1970 net: move rollback_registered_many()
672fac0a43 net: inline rollback_registered()
b1158677d4 net: move net_set_todo inside rollback_registered()
2e11856ec3 net: make sure devices go through netdev_wait_all_refs
ed6964ff47 net: make free_netdev() more lenient with unregistering devices
2686f62fa7 docs: net: explain struct net_device lifetime
7a99c7c32c xen/gntdev: Ignore failure to unmap INVALID_GRANT_HANDLE
2ee0cab11f io_uring: Use original task for req identity in io_identity_cow()
ab5050fd74 lockdown: Fix kexec lockdown bypass with ima policy
426336de35 mlxsw: spectrum_router: Fix IPv4 nexthop gateway indication
15155fa898 riscv: add as-options for modules with assembly compontents
31f3bb363a pinctrl: stm32: fix optional IRQ support to gpios
bbc03f7ab8 Revert "cgroup: Use separate src/dst nodes when preloading css_sets for migration"
0c724b692d Merge 5.10.132 into android12-5.10-lts
ccdb3f9143 Merge 5.10.131 into android12-5.10-lts
50c9c56f73 Merge 5.10.130 into android12-5.10-lts
2be16baf4d Merge 5.10.129 into android12-5.10-lts
96fb478c9d Merge 5.10.128 into android12-5.10-lts
195692d0ab Merge 5.10.127 into android12-5.10-lts
f93a6ac3d6 Merge 5.10.126 into android12-5.10-lts
36c687c707 Merge 5.10.125 into android12-5.10-lts
4e3458d6d3 Merge 5.10.124 into android12-5.10-lts
fa431a5707 Merge 5.10.123 into android12-5.10-lts
8a8eb074ed Merge 5.10.122 into android12-5.10-lts
0ced6946ac Revert "drm: fix EDID struct for old ARM OABI format"
dca272b05d Revert "mailbox: forward the hrtimer if not queued and under a lock"
a73f6da5a3 Revert "Fonts: Make font size unsigned in font_desc"
8324f66c71 Revert "parisc/stifb: Keep track of hardware path of graphics card"
26e506a63e Revert "Bluetooth: Interleave with allowlist scan"
8046f2ad50 Revert "Bluetooth: use inclusive language when filtering devices"
b41a77c33b Revert "Bluetooth: use hdev lock for accept_list and reject_list in conn req"
fe07069084 Revert "thermal/drivers/core: Use a char pointer for the cooling device name"
361d75b4c1 Revert "thermal/core: Fix memory leak in __thermal_cooling_device_register()"
090d920be9 Revert "thermal/core: fix a UAF bug in __thermal_cooling_device_register()"
2dc56158cb Revert "thermal/core: Fix memory leak in the error path"
28fd8700b4 Revert "ALSA: jack: Access input_dev under mutex"
8636671438 Revert "gpiolib: of: Introduce hook for missing gpio-ranges"
0889c70b1f Revert "pinctrl: bcm2835: implement hook for missing gpio-ranges"
eaa4878a26 Revert "ext4: fix use-after-free in ext4_rename_dir_prepare"
f004760d69 Revert "ext4: verify dir block before splitting it"
5034934536 Linux 5.10.133
2fc7f18ba2 tools headers: Remove broken definition of __LITTLE_ENDIAN
060e39b8c2 tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' - again
fbf60f83e2 objtool: Fix elf_create_undef_symbol() endianness
39065d5434 kvm: fix objtool relocation warning
6849ed81a3 x86: Use -mindirect-branch-cs-prefix for RETPOLINE builds
8e2774270a um: Add missing apply_returns()
725da3e67c x86/bugs: Remove apostrophe typo
81604506c2 tools headers cpufeatures: Sync with the kernel sources
3f93b8630a tools arch x86: Sync the msr-index.h copy with the kernel sources
2ef1b06cea KVM: emulate: do not adjust size of fastop and setcc subroutines
8e31dfd630 x86/kvm: fix FASTOP_SIZE when return thunks are enabled
5779e2f0cc efi/x86: use naked RET on mixed mode call wrapper
abf88ff134 x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current
ecc0d92a9f x86/asm/32: Fix ANNOTATE_UNRET_SAFE use on 32-bit
95d89ec7db x86/ftrace: Add UNWIND_HINT_FUNC annotation for ftrace_stub
668cb1ddf0 x86/xen: Fix initialisation in hypercall_page after rethunk
81f20e5000 x86, kvm: use proper ASM macros for kvm_vcpu_is_preempted
844947eee3 tools/insn: Restore the relative include paths for cross building
c035ca88b0 x86/static_call: Serialize __static_call_fixup() properly
eb38964b6f x86/speculation: Disable RRSBA behavior
c2ca992144 x86/kexec: Disable RET on kexec
51552b6b52 x86/bugs: Do not enable IBPB-on-entry when IBPB is not supported
609336351d x86/bugs: Add Cannon lake to RETBleed affected CPU list
b24fdd0f1c x86/retbleed: Add fine grained Kconfig knobs
f7851ed697 x86/cpu/amd: Enumerate BTC_NO
a74f5d23e6 x86/common: Stamp out the stepping madness
4d7f72b6e1 x86/speculation: Fill RSB on vmexit for IBRS
47ae76fb27 KVM: VMX: Fix IBRS handling after vmexit
5269be9111 KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS
84061fff2a KVM: VMX: Convert launched argument to flags
07401c2311 KVM: VMX: Flatten __vmx_vcpu_run()
df93717a32 objtool: Re-add UNWIND_HINT_{SAVE_RESTORE}
1dbefa5772 x86/speculation: Remove x86_spec_ctrl_mask
ce11f91b21 x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit
aad83db22e x86/speculation: Fix SPEC_CTRL write on SMT state change
d29c07912a x86/speculation: Fix firmware entry SPEC_CTRL handling
f1b01ace81 x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n
ea1aa926f4 x86/cpu/amd: Add Spectral Chicken
0d1a8a16e6 objtool: Add entry UNRET validation
fbab1c94eb x86/bugs: Do IBPB fallback check only once
c8845b8754 x86/bugs: Add retbleed=ibpb
f728eff263 x86/xen: Rename SYS* entry points
28aa3fa0b2 objtool: Update Retpoline validation
55bba093fd intel_idle: Disable IBRS during long idle
e8142e2d6c x86/bugs: Report Intel retbleed vulnerability
a0f8ef71d7 x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation()
dabc2a1b40 x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS
6d7e13ccc4 x86/bugs: Optimize SPEC_CTRL MSR writes
3dddacf8c3 x86/entry: Add kernel IBRS implementation
9e727e0d94 x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value
a989e75136 x86/bugs: Enable STIBP for JMP2RET
3f29791d56 x86/bugs: Add AMD retbleed= boot parameter
876750cca4 x86/bugs: Report AMD retbleed vulnerability
df748593c5 x86: Add magic AMD return-thunk
c70d6f8214 objtool: Treat .text.__x86.* as noinstr
c9eb5dcdc8 x86: Use return-thunk in asm code
5b2edaf709 x86/sev: Avoid using __x86_return_thunk
d6eb50e9b7 x86/vsyscall_emu/64: Don't use RET in vsyscall emulation
ee4996f07d x86/kvm: Fix SETcc emulation for return thunks
e0e06a9227 x86/bpf: Use alternative RET encoding
00b136bb62 x86/ftrace: Use alternative RET encoding
7723edf5ed x86,static_call: Use alternative RET encoding
446eb6f089 objtool: skip non-text sections when adding return-thunk sites
8bdb25f7ae x86,objtool: Create .return_sites
716410960b x86: Undo return-thunk damage
270de63cf4 x86/retpoline: Use -mfunction-return
37b9bb0941 Makefile: Set retpoline cflags based on CONFIG_CC_IS_{CLANG,GCC}
3e519ed8d5 x86/retpoline: Swizzle retpoline thunk
6a2b142886 x86/retpoline: Cleanup some #ifdefery
feec5277d5 x86/cpufeatures: Move RETPOLINE flags to word 11
7070bbb66c x86/kvm/vmx: Make noinstr clean
accb8cfd50 x86/realmode: build with -D__DISABLE_EXPORTS
236b959da9 objtool: Fix objtool regression on x32 systems
148811a842 x86/entry: Remove skip_r11rcx
e1db6c8a69 objtool: Fix symbol creation
3e8afd072d objtool: Fix type of reloc::addend
42ec4d7135 objtool: Fix code relocs vs weak symbols
831d5c07b7 objtool: Fix SLS validation for kcov tail-call replacement
9728af8857 crypto: x86/poly1305 - Fixup SLS
03c5c33e04 objtool: Default ignore INT3 for unreachable
bef21f88b4 kvm/emulate: Fix SETcc emulation function offsets with SLS
494ed76c14 tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy'
e9925a4584 x86: Add straight-line-speculation mitigation
0f8532c283 objtool: Add straight-line-speculation validation
1f6e6683c4 x86/alternative: Relax text_poke_bp() constraint
277f4ddc36 x86: Prepare inline-asm for straight-line-speculation
3c91e22576 x86: Prepare asm files for straight-line-speculation
a512fcd881 x86/lib/atomic64_386_32: Rename things
c2746d567d bpf,x86: Respect X86_FEATURE_RETPOLINE*
1713e5c4f8 bpf,x86: Simplify computing label offsets
38a80a3ca2 x86/alternative: Add debug prints to apply_retpolines()
3d13ee0d41 x86/alternative: Try inline spectre_v2=retpoline,amd
b0e2dc9506 x86/alternative: Handle Jcc __x86_indirect_thunk_\reg
381fd04c97 x86/alternative: Implement .retpoline_sites support
6eb95718f3 x86/retpoline: Create a retpoline thunk array
0de47ad5b9 x86/retpoline: Move the retpoline thunk declarations to nospec-branch.h
41ef958070 x86/asm: Fixup odd GEN-for-each-reg.h usage
8ef808b3f4 x86/asm: Fix register order
ccb8fc65a3 x86/retpoline: Remove unused replacement symbols
908bd980a8 objtool,x86: Replace alternatives with .retpoline_sites
023e78bbf1 objtool: Explicitly avoid self modifying code in .altinstr_replacement
6e4676f438 objtool: Classify symbols
acc0be56b4 objtool: Handle __sanitize_cov*() tail calls
9d7ec2418a objtool: Introduce CFI hash
e8b1128fb0 objtool: Make .altinstructions section entry size consistent
1afa44480b objtool: Remove reloc symbol type checks in get_alt_entry()
e7118a25a8 objtool: print out the symbol type when complaining about it
7ea0731957 objtool: Teach get_alt_entry() about more relocation types
364e463097 objtool: Don't make .altinstructions writable
f231b2ee85 objtool/x86: Ignore __x86_indirect_alt_* symbols
e32542e9ed objtool: Only rewrite unconditional retpoline thunk calls
a031925382 objtool: Fix .symtab_shndx handling for elf_create_undef_symbol()
76474a9dd3 x86/alternative: Optimize single-byte NOPs at an arbitrary position
f3fe1b141d objtool: Support asm jump tables
0b2c8bf498 objtool/x86: Rewrite retpoline thunk calls
ed7783dca5 objtool: Skip magical retpoline .altinstr_replacement
e87c18c4a9 objtool: Cache instruction relocs
33092b4866 objtool: Keep track of retpoline call sites
8a6d73f7db objtool: Add elf_create_undef_symbol()
b69e1b4b68 objtool: Extract elf_symbol_add()
da962cd0a2 objtool: Extract elf_strtab_concat()
b37c439250 objtool: Create reloc sections implicitly
fcdb7926d3 objtool: Add elf_create_reloc() helper
c9049cf480 objtool: Rework the elf_rebuild_reloc_section() logic
d42fa5bf19 objtool: Handle per arch retpoline naming
6e95f8caff objtool: Correctly handle retpoline thunk calls
28ca351296 x86/retpoline: Simplify retpolines
e68db6f780 x86/alternatives: Optimize optimize_nops()
9a6471666b x86: Add insn_decode_kernel()
d9cd219114 x86/alternative: Use insn_decode()
e6f8dc86a1 x86/insn-eval: Handle return values from the decoder
6bc6875b82 x86/insn: Add an insn_decode() API
76c513c87f x86/insn: Add a __ignore_sync_check__ marker
a3d96c7439 x86/insn: Rename insn_decode() to insn_decode_from_regs()
fd80da64cf x86/alternative: Use ALTERNATIVE_TERNARY() in _static_cpu_has()
341e6178c1 x86/alternative: Support ALTERNATIVE_TERNARY
0c4c698569 x86/alternative: Support not-feature
c9cf908b89 x86/alternative: Merge include files
5f93d900b9 x86/xen: Support objtool vmlinux.o validation in xen-head.S
b626e17c11 x86/xen: Support objtool validation in xen-asm.S
3116dee270 objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC
53e89bc78e objtool: Assume only ELF functions do sibling calls
3e674f2652 objtool: Support retpoline jump detection for vmlinux.o
917a4f6348 objtool: Support stack layout changes in alternatives
e9197d768f objtool: Add 'alt_group' struct
1d516bd72a objtool: Refactor ORC section generation
dd87aa5f61 KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw
0ca2ba6e4d KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S
0e8e989142 Merge 5.10.121 into android12-5.10-lts
2de0a17df4 Merge 5.10.120 into android12-5.10-lts
7748091a31 Linux 5.10.132
06a5dc3911 x86/pat: Fix x86_has_pat_wp()
d9cb6fabc9 serial: 8250: Fix PM usage_count for console handover
e1bd94dd9e serial: pl011: UPSTAT_AUTORTS requires .throttle/unthrottle
b8c4661126 serial: stm32: Clear prev values before setting RTS delays
039ffe436a serial: 8250: fix return error code in serial8250_request_std_resource()
bfee93c9a6 vt: fix memory overlapping when deleting chars in the buffer
5450430199 tty: serial: samsung_tty: set dma burst_size to 1
0e5668ed7b usb: dwc3: gadget: Fix event pending check
f1e01a42dc usb: typec: add missing uevent when partner support PD
61ab5d644e USB: serial: ftdi_sio: add Belimo device ids
58b94325ee signal handling: don't use BUG_ON() for debugging
e75f692b79 nvme-pci: phison e16 has bogus namespace ids
54bf0b8c75 Revert "can: xilinx_can: Limit CANFD brp to 2"
35ce2c64e5 ARM: dts: stm32: use the correct clock source for CEC on stm32mp151
227ee155ea soc: ixp4xx/npe: Fix unused match warning
136d7987fc x86: Clear .brk area at early boot
fd830d8dd5 irqchip: or1k-pic: Undefine mask_ack for level triggered hardware
dae43b3792 ASoC: madera: Fix event generation for rate controls
cae4b78f3c ASoC: madera: Fix event generation for OUT1 demux
a7634527cb ASoC: cs47l15: Fix event generation for low power mux control
41f97b0ecf ASoC: dapm: Initialise kcontrol data for mux/demux controls
11a14e4f31 ASoC: wm5110: Fix DRE control
6cbbe59fdc ASoC: SOF: Intel: hda-loader: Clarify the cl_dsp_init() flow
ef1e38532f pinctrl: aspeed: Fix potential NULL dereference in aspeed_pinmux_set_mux()
13fb9105cf ASoC: ops: Fix off by one in range control validation
67dc32542a net: sfp: fix memory leak in sfp_probe()
104594de27 nvme: fix regression when disconnect a recovering ctrl
5504e63832 nvme-tcp: always fail a request when sending it failed
de876f36f9 NFC: nxp-nci: don't print header length mismatch on i2c error
efa78f2ae3 net: tipc: fix possible refcount leak in tipc_sk_create()
bacfef0bf2 platform/x86: hp-wmi: Ignore Sanitization Mode event
3ea9dbf7c2 cpufreq: pmac32-cpufreq: Fix refcount leak bug
24cd0b9bfd scsi: hisi_sas: Limit max hw sectors for v3 HW
c458ebd659 netfilter: br_netfilter: do not skip all hooks with 0 priority
93135dca8c virtio_mmio: Restore guest page size on resume
d611580032 virtio_mmio: Add missing PM calls to freeze/restore
31e16a5e11 mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE
c713de1d80 net/tls: Check for errors in tls_device_init
eb58fd350a KVM: x86: Fully initialize 'struct kvm_lapic_irq' in kvm_pv_kick_cpu_op()
c2978d0124 net: atlantic: remove aq_nic_deinit() when resume
38e081ee06 net: atlantic: remove deep parameter on suspend/resume functions
b82e4ad58a sfc: fix kernel panic when creating VF
2d4efc9a0e seg6: bpf: fix skb checksum in bpf_push_seg6_encap()
7b38df59a8 seg6: fix skb checksum in SRv6 End.B6 and End.B6.Encaps behaviors
834fa0a22f seg6: fix skb checksum evaluation in SRH encapsulation/insertion
c224050081 sfc: fix use after free when disabling sriov
c1d9702ceb ima: Fix potential memory leak in ima_init_crypto()
eb360267e1 ima: force signature verification when CONFIG_KEXEC_SIG is configured
29c6a632f8 net: ftgmac100: Hold reference returned by of_get_child_by_name()
a51040d4b1 nexthop: Fix data-races around nexthop_compat_mode.
2c56958de8 ipv4: Fix data-races around sysctl_ip_dynaddr.
038a87b3e4 raw: Fix a data-race around sysctl_raw_l3mdev_accept.
38d78c7b4b icmp: Fix a data-race around sysctl_icmp_ratemask.
4ebf261532 icmp: Fix a data-race around sysctl_icmp_ratelimit.
b8871d9186 sysctl: Fix data-races in proc_dointvec_ms_jiffies().
2744e302e7 drm/i915/gt: Serialize TLB invalidates with GT resets
636e5dbaf0 drm/i915/selftests: fix a couple IS_ERR() vs NULL tests
359f2bca79 ARM: dts: sunxi: Fix SPI NOR campatible on Orange Pi Zero
e1aa73454a ARM: dts: at91: sama5d2: Fix typo in i2s1 node
418b191d5f ipv4: Fix a data-race around sysctl_fib_sync_mem.
e088ceb73c icmp: Fix data-races around sysctl.
fe2a35fa2c cipso: Fix data-races around sysctl.
f5811b8df2 net: Fix data-races around sysctl_mem.
d54b6ef53c inetpeer: Fix data-races around sysctl.
6481a8a72a tcp: Fix a data-race around sysctl_tcp_max_orphans.
609ce7ff75 sysctl: Fix data races in proc_dointvec_jiffies().
a5ee448d38 sysctl: Fix data races in proc_doulongvec_minmax().
e3a2144b3b sysctl: Fix data races in proc_douintvec_minmax().
71ddde27c2 sysctl: Fix data races in proc_dointvec_minmax().
d5d54714e3 sysctl: Fix data races in proc_douintvec().
80cc28a4b4 sysctl: Fix data races in proc_dointvec().
9cc8edc571 net: stmmac: dwc-qos: Disable split header for Tegra194
cd201332cc ASoC: Intel: Skylake: Correct the handling of fmt_config flexible array
fbb87a0ed2 ASoC: Intel: Skylake: Correct the ssp rate discovery in skl_get_ssp_clks()
bb8bf80387 ASoC: tas2764: Fix amp gain register offset & default
f1cd988de4 ASoC: tas2764: Correct playback volume range
52d1b4250c ASoC: tas2764: Fix and extend FSYNC polarity handling
249fe2d20d ASoC: tas2764: Add post reset delays
f160a1f970 ASoC: sgtl5000: Fix noise on shutdown/remove
831e190175 ima: Fix a potential integer overflow in ima_appraise_measurement
592f3bad00 drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector()
4cb5c1950b net/mlx5e: Fix capability check for updating vnic env counters
6eb1d0c370 net/mlx5e: kTLS, Fix build time constant test in RX
c87d5211be net/mlx5e: kTLS, Fix build time constant test in TX
d6cab2e06c ARM: 9210/1: Mark the FDT_FIXED sections as shareable
3d82fba7d3 ARM: 9209/1: Spectre-BHB: avoid pr_info() every time a CPU comes out of idle
0c300e294d spi: amd: Limit max transfer and message size
d8d42c92fe ARM: dts: imx6qdl-ts7970: Fix ngpio typo and count
91f90b571f ext4: fix race condition between ext4_write and ext4_convert_inline_data
9d883b3f00 Revert "evm: Fix memleak in init_desc"
41007669fc sh: convert nommu io{re,un}map() to static inline functions
ea4dbcfb95 nilfs2: fix incorrect masking of permission flags for symlinks
14e63942d6 fs/remap: constrain dedupe of EOF blocks
0581613df7 drm/panfrost: Fix shrinker list corruption by madvise IOCTL
2e760fe05d drm/panfrost: Put mapping instead of shmem obj on panfrost_mmu_map_fault_addr() error
c1ea39a77c btrfs: return -EAGAIN for NOWAIT dio reads/writes on compressed and inline extents
7657e39585 cgroup: Use separate src/dst nodes when preloading css_sets for migration
e013ea2a51 wifi: mac80211: fix queue selection for mesh/OCB interfaces
db6e8c3015 ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction
f851e4f402 ARM: 9213/1: Print message about disabled Spectre workarounds only once
fa40bb3a5f ip: fix dflt addr selection for connected nexthop
4d3e0fb05e net: sock: tracing: Fix sock_exceed_buf_limit not to dereference stale pointer
78a1400c42 tracing/histograms: Fix memory leak problem
931dbcc2e0 mm: split huge PUD on wp_huge_pud fallback
91530f675e fix race between exit_itimers() and /proc/pid/timers
b9c32a6886 xen/netback: avoid entering xenvif_rx_next_skb() with an empty rx queue
782a6b07b1 ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop
cacac3e13a ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc221
08ab39027a ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671
4d0d15d184 ALSA: hda/realtek: Fix headset mic for Acer SF313-51
b642a3476a ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model
4486bbe928 ALSA: hda - Add fixup for Dell Latitidue E5430
8f95261a00 Linux 5.10.131
cc5ee0e0ee Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting"
ebc9fb07d2 ANDROID: random: fix CRC issues with the merge
e61ebc6383 ANDROID: change function signatures for some random functions.
830f0202d7 ANDROID: cpu/hotplug: avoid breaking Android ABI by fusing cpuhp steps
fee299e72e ANDROID: random: add back removed callback functions
6cc2db3cde UPSTREAM: Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
05982f0cbb UPSTREAM: lib/crypto: add prompts back to crypto libraries
f2eb31a498 Merge 5.10.119 into android12-5.10-lts
26ae9c3614 Linux 5.10.130
8365b151fd dmaengine: ti: Add missing put_device in ti_dra7_xbar_route_allocate
37147e22cd dmaengine: ti: Fix refcount leak in ti_dra7_xbar_route_allocate
1be247db20 dmaengine: at_xdma: handle errors of at_xdmac_alloc_desc() correctly
7b721f5aec dmaengine: pl330: Fix lockdep warning about non-static key
e23cfb3fdc ida: don't use BUG_ON() for debugging
37995f034f dt-bindings: dma: allwinner,sun50i-a64-dma: Fix min/max typo
ca4a919584 misc: rtsx_usb: set return value in rsp_buf alloc err path
ff79e0ca2b misc: rtsx_usb: use separate command and response buffers
af7d9d4abe misc: rtsx_usb: fix use of dma mapped buffer for usb bulk transfer
86884017bb dmaengine: imx-sdma: Allow imx8m for imx7 FW revs
9b329edd77 i2c: cadence: Unregister the clk notifier in error path
26938bd28c r8169: fix accessing unset transport header
904f622ec7 selftests: forwarding: fix error message in learning_test
9906c22340 selftests: forwarding: fix learning_test when h1 supports IFF_UNICAST_FLT
859b889029 selftests: forwarding: fix flood_unicast_test when h2 supports IFF_UNICAST_FLT
23cdc57d88 ibmvnic: Properly dispose of all skbs during a failover.
2b4659c145 i40e: Fix dropped jumbo frames statistics
5561bddd05 xsk: Clear page contiguity bit when unmapping pool
87d2bb8882 ARM: dts: at91: sama5d2_icp: fix eeprom compatibles
9b7d8e28b6 ARM: dts: at91: sam9x60ek: fix eeprom compatible and size
ade03e5ea7 ARM: at91: pm: use proper compatibles for sam9x60's rtc and rtt
b40ac801cb ARM: at91: pm: use proper compatible for sama5d2's rtc
4c3e73a66a arm64: dts: qcom: msm8992-*: Fix vdd_lvs1_2-supply typo
1d0c3ced2d pinctrl: sunxi: sunxi_pconf_set: use correct offset
e1cda2a03d arm64: dts: imx8mp-evk: correct I2C3 pad settings
2ade1b1d92 arm64: dts: imx8mp-evk: correct gpio-led pad settings
17b3883ba5 arm64: dts: imx8mp-evk: correct the uart2 pinctl value
43319ee6a0 arm64: dts: imx8mp-evk: correct mmc pad settings
6bf74a1e74 arm64: dts: qcom: msm8994: Fix CPU6/7 reg values
2c0d10ce00 pinctrl: sunxi: a83t: Fix NAND function name for some pins
3d90607e7e ARM: meson: Fix refcount leak in meson_smp_prepare_cpus
e14930e9f9 xfs: remove incorrect ASSERT in xfs_rename
852952ea0e can: kvaser_usb: kvaser_usb_leaf: fix bittiming limits
a741e762e1 can: kvaser_usb: kvaser_usb_leaf: fix CAN clock frequency regression
f439d08ef1 can: kvaser_usb: replace run-time checks with struct kvaser_usb_driver_info
79af7be44c powerpc/powernv: delay rng platform device creation until later in boot
19104425c9 video: of_display_timing.h: include errno.h
96fa24eb1a memregion: Fix memregion_free() fallback definition
d6931bff1c PM: runtime: Redefine pm_runtime_release_supplier()
cecb806c76 fbcon: Prevent that screen size is smaller than font size
b727561ddc fbcon: Disallow setting font bigger than screen size
b81212828a fbmem: Check virtual screen sizes in fb_set_var()
d03e8ed72d fbdev: fbmem: Fix logo center image dx issue
963c80f070 iommu/vt-d: Fix PCI bus rescan device hot add
0a5e36dbcb netfilter: nf_tables: stricter validation of element data
4a6430b99f netfilter: nft_set_pipapo: release elements in clone from abort path
4f59d12efe net: rose: fix UAF bug caused by rose_t0timer_expiry
0085da9df3 usbnet: fix memory leak in error case
e917be1f83 bpf: Fix insufficient bounds propagation from adjust_scalar_min_max_vals
9adec73349 bpf: Fix incorrect verifier simulation around jmp32's jeq/jne
d0b8e22399 can: gs_usb: gs_usb_open/close(): fix memory leak
b6f4b347a1 can: grcan: grcan_probe(): remove extra of_node_get()
85cd41070d can: bcm: use call_rcu() instead of costly synchronize_rcu()
b75d4bec85 ALSA: hda/realtek: Add quirk for Clevo L140PU
6c32496964 mm/slub: add missing TID updates on slab deactivation
7208d1236f Linux 5.10.129
0e21ef1801 clocksource/drivers/ixp4xx: remove EXPORT_SYMBOL_GPL from ixp4xx_timer_setup()
7055e34462 net: usb: qmi_wwan: add Telit 0x1070 composition
f1a53bb27f net: usb: qmi_wwan: add Telit 0x1060 composition
43c8d33ce3 xen/arm: Fix race in RB-tree based P2M accounting
547b7c640d xen-netfront: restore __skb_queue_tail() positioning in xennet_get_responses()
cbbd2d2531 xen/blkfront: force data bouncing when backend is untrusted
4923217af5 xen/netfront: force data bouncing when backend is untrusted
728d68bfe6 xen/netfront: fix leaking data in shared pages
cfea428030 xen/blkfront: fix leaking data in shared pages
d341e5a754 selftests/rseq: Change type of rseq_offset to ptrdiff_t
7e617278bf selftests/rseq: x86-32: use %gs segment selector for accessing rseq thread area
27f6361cb4 selftests/rseq: x86-64: use %fs segment selector for accessing rseq thread area
a4312e2d81 selftests/rseq: Fix: work-around asm goto compiler bugs
7e1a0a9a44 selftests/rseq: Remove arm/mips asm goto compiler work-around
ba4d79af71 selftests/rseq: Fix warnings about #if checks of undefined tokens
35c6f5047f selftests/rseq: Fix ppc32 offsets by using long rather than off_t
dbc1f0ee60 selftests/rseq: Fix ppc32 missing instruction selection "u" and "x" for load/store
d4f631ea2d selftests/rseq: Fix ppc32: wrong rseq_cs 32-bit field pointer on big endian
e85fdae4df selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35
c79e564535 selftests/rseq: Introduce thread pointer getters
4a78bf83e2 selftests/rseq: Introduce rseq_get_abi() helper
3c2a416c80 selftests/rseq: Remove volatile from __rseq_abi
68e1232c6e selftests/rseq: Remove useless assignment to cpu variable
3e77ed4f90 selftests/rseq: introduce own copy of rseq uapi header
54cd556487 selftests/rseq: remove ARRAY_SIZE define from individual tests
14894cf692 hwmon: (ibmaem) don't call platform_device_del() if platform_device_add() fails
f72d410dbf ipv6/sit: fix ipip6_tunnel_get_prl return value
25055da22a sit: use min
652fd40eb0 drivers: cpufreq: Add missing of_node_put() in qoriq-cpufreq.c
79963021fd xen/gntdev: Avoid blocking in unmap_grant_pages()
5f614f5f70 tcp: add a missing nf_reset_ct() in 3WHS handling
9203dfb3ed xfs: fix xfs_reflink_unshare usage of filemap_write_and_wait_range
f874e16870 xfs: update superblock counters correctly for !lazysbcount
7ab7458d7a xfs: fix xfs_trans slab cache name
f12968a5a4 xfs: ensure xfs_errortag_random_default matches XFS_ERRTAG_MAX
da61388f9a xfs: Skip repetitive warnings about mount options
6b7dab812c xfs: rename variable mp to parsing_mp
b261cd005a xfs: use current->journal_info for detecting transaction recursion
c36d41b65e net: tun: avoid disabling NAPI twice
59c51c3b54 tunnels: do not assume mac header is set in skb_tunnel_check_pmtu()
c9fc52c173 io_uring: ensure that send/sendmsg and recv/recvmsg check sqe->ioprio
b8def021ac epic100: fix use after free on rmmod
456bc33887 tipc: move bc link creation back to tipc_node_create
09f9946235 NFC: nxp-nci: Don't issue a zero length i2c_master_read()
7d363362e0 nfc: nfcmrvl: Fix irq_of_parse_and_map() return value
63b2fe509f net: bonding: fix use-after-free after 802.3ad slave unbind
7597ed348e net: bonding: fix possible NULL deref in rlb code
ac12337229 net/sched: act_api: Notify user space if any actions were flushed before error
91d3bb82c4 netfilter: nft_dynset: restore set element counter when failing to update
4b480a7940 s390: remove unneeded 'select BUILD_BIN2C'
e65027fdeb PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events
653bdcd833 caif_virtio: fix race between virtio_device_ready() and ndo_open()
208ff79675 NFSD: restore EINVAL error translation in nfsd_commit()
db82bb6054 net: ipv6: unexport __init-annotated seg6_hmac_net_init()
eb1757ca20 usbnet: fix memory allocation in helpers
fae2a9fb1e linux/dim: Fix divide by 0 in RDMA DIM
b0cab8b517 RDMA/cm: Fix memory leak in ib_cm_insert_listen
9de276dfb2 RDMA/qedr: Fix reporting QP timeout attribute
a42bd00f00 net: dp83822: disable rx error interrupt
9c06d84855 net: dp83822: disable false carrier interrupt
c70ca16f72 net: tun: stop NAPI when detaching queues
bec1be0a74 net: tun: unlink NAPI from device on destruction
0b2499c801 net: dsa: bcm_sf2: force pause link settings
3f55912a1a selftests/net: pass ipv6_args to udpgso_bench's IPv6 TCP test
f7b8fb4584 virtio-net: fix race between ndo_open() and virtio_device_ready()
c0a28f2ddf net: usb: ax88179_178a: Fix packet receiving
8f74cb27c2 net: rose: fix UAF bugs caused by timer handler
6a0b9512a6 SUNRPC: Fix READ_PLUS crasher
ed03a650fb s390/archrandom: simplify back to earlier design and initialize earlier
d8bca518d5 dm raid: fix KASAN warning in raid5_add_disks
9bf2b0757b dm raid: fix accesses beyond end of raid member array
213c550deb powerpc/bpf: Fix use of user_pt_regs in uapi
68a34e478a powerpc/book3e: Fix PUD allocation size in map_kernel_page()
e188bbdb92 powerpc/prom_init: Fix kernel config grep
e6a7d30b65 nvdimm: Fix badblocks clear off-by-one error
0b99c4a189 nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG SX6000LNP (AKA SPECTRIX S40G)
e77804158b ipv6: take care of disable_policy when restoring routes
03b9e01659 drm/amdgpu: To flush tlb for MMHUB of RAVEN series
ea86c1430c Linux 5.10.128
2d10984d99 net: mscc: ocelot: allow unregistered IP multicast flooding
6a656280e7 powerpc/ftrace: Remove ftrace init tramp once kernel init is complete
6b734f7b70 xfs: check sb_meta_uuid for dabuf buffer recovery
071e750ffb xfs: remove all COW fork extents when remounting readonly
1e76bd4c67 xfs: Fix the free logic of state in xfs_attr_node_hasname
0cdccc05da xfs: punch out data fork delalloc blocks on COW writeback failure
db3f8110c3 xfs: use kmem_cache_free() for kmem_cache objects
09c9902cd8 bcache: memset on stack variables in bch_btree_check() and bch_sectors_dirty_init()
c4ff3ffe01 tick/nohz: unexport __init-annotated tick_nohz_full_setup()
069fff50d4 drm: remove drm_fb_helper_modinit
52dc7f3f6f MAINTAINERS: add Amir as xfs maintainer for 5.10.y
fa7f6a5f56 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
deb587b1a4 Linux 5.10.127
1cca46c205 powerpc/pseries: wire up rng during setup_arch()
95d73d510b kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
feb5ab7986 random: update comment from copy_to_user() -> copy_to_iter()
959bbaf5b7 modpost: fix section mismatch check for exported init/exit sections
c980392af1 ARM: cns3xxx: Fix refcount leak in cns3xxx_init
889aad2203 memory: samsung: exynos5422-dmc: Fix refcount leak in of_get_dram_timings
44a5b3a073 ARM: Fix refcount leak in axxia_boot_secondary
30bbfeb480 soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
68f28d52e6 ARM: exynos: Fix refcount leak in exynos_map_pmu
59fdf10814 ARM: dts: imx6qdl: correct PU regulator ramp delay
fb70bd8675 ARM: dts: imx7: Move hsic_phy power domain to HSIC PHY node
f78acc4288 powerpc/powernv: wire up rng during setup_arch
7db1ba660b powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
1f5a9205a3 powerpc: Enable execve syscall exit tracepoint
ca144919af parisc: Enable ARCH_HAS_STRICT_MODULE_RWX
a1c902349a parisc/stifb: Fix fb_is_primary_device() only available with CONFIG_FB_STI
af0ff2da01 xtensa: Fix refcount leak bug in time.c
6c0839cf1b xtensa: xtfpga: Fix refcount leak bug in setup
501652a2ad iio: adc: adi-axi-adc: Fix refcount leak in adi_axi_adc_attach_client
d40514d440 iio: adc: axp288: Override TS pin bias current for some models
d579c893dd iio: adc: stm32: Fix IRQs on STM32F4 by removing custom spurious IRQs message
62284d45e2 iio: adc: stm32: Fix ADCs iteration in irq handler
e3ebb9d16c iio: imu: inv_icm42600: Fix broken icm42600 (chip id 0 value)
3e0af68b99 iio: adc: stm32: fix maximum clock rate for stm32mp15x
b07a30a774 iio: trigger: sysfs: fix use-after-free on remove
399788e819 iio: gyro: mpu3050: Fix the error handling in mpu3050_power_up()
c1ec7d52a2 iio: accel: mma8452: ignore the return value of reset operation
42caf44906 iio:accel:mxc4005: rearrange iio trigger get and register
e26dcf6279 iio:accel:bma180: rearrange iio trigger get and register
f26379e199 iio:chemical:ccs811: rearrange iio trigger get and register
4b6cdcff7c f2fs: attach inline_data after setting compression
2d7bdb6a5a usb: chipidea: udc: check request status before setting device address
656eca37aa USB: gadget: Fix double-free bug in raw_gadget driver
54604108be usb: gadget: Fix non-unique driver names in raw-gadget driver
d87dec22fd xhci-pci: Allow host runtime PM as default for Intel Meteor Lake xHCI
114080d04a xhci-pci: Allow host runtime PM as default for Intel Raptor Lake xHCI
b8142a8465 xhci: turn off port power in shutdown
116c3e81b0 usb: typec: wcove: Drop wrong dependency to INTEL_SOC_PMIC
a547662534 iio: adc: vf610: fix conversion mode sysfs node name
58c3a27e9c iio: mma8452: fix probe fail when device tree compatible is used.
5ee016f612 s390/cpumf: Handle events cycles and instructions identical
abe487a88a gpio: winbond: Fix error code in winbond_gpio_get()
30531e0d7b nvme: move the Samsung X5 quirk entry to the core quirks
169f7d7705 nvme-pci: add NO APST quirk for Kioxia device
938f594266 nvme-pci: allocate nvme_command within driver pdu
ba388d4e9a nvme: don't check nvme_req flags for new req
e7ccaa1aba nvme: mark nvme_setup_passsthru() inline
3ee62a1f07 nvme: split nvme_alloc_request()
fe06c692cd nvme: centralize setting the timeout in nvme_alloc_request
afbc954e78 Revert "net/tls: fix tls_sk_proto_close executed repeatedly"
340fbdc801 virtio_net: fix xdp_rxq_info bug after suspend/resume
3bccf82169 igb: Make DMA faster when CPU is active on the PCIe link
7d7450363f regmap-irq: Fix a bug in regmap_irq_enable() for type_in_mask chips
40b3815b2c ice: ethtool: advertise 1000M speeds properly
7b564e3254 afs: Fix dynamic root getattr
3c22192db0 MIPS: Remove repetitive increase irq_err_count
cc649a7865 x86/xen: Remove undefined behavior in setup_features()
b60c375ad1 selftests: netfilter: correct PKTGEN_SCRIPT_PATHS in nft_concat_range.sh
20119c1e0f udmabuf: add back sanity check
e82376b632 net/tls: fix tls_sk_proto_close executed repeatedly
cec9867ee5 erspan: do not assume transport header is always set
acf76125bb drm/msm/dp: fix connect/disconnect handled at irq_hpd
61f8f4034c drm/msm/dp: promote irq_hpd handle to handle link training correctly
d11cb08215 drm/msm/dp: deinitialize mainlink if link training failed
3d67cb00cb drm/msm/dp: fixes wrong connection state caused by failure of link train
efb2b69160 drm/msm/dp: check core_initialized before disable interrupts at dp_display_unbind()
d16a433982 drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf
363fd6e346 net/sched: sch_netem: Fix arithmetic in netem_dump() for 32-bit platforms
2e3216b929 bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
c12a2c9b1b igb: fix a use-after-free issue in igb_clean_tx_ring
361c5521c1 tipc: fix use-after-free Read in tipc_named_reinit
f299d3fbe4 tipc: simplify the finalize work queue
ab7f565ac7 phy: aquantia: Fix AN when higher speeds than 1G are not advertised
a51c199e4d bpf, x86: Fix tail call count offset calculation on bpf2bpf call
4ae116428e drm/sun4i: Fix crash during suspend after component bind failure
516760f1d2 bpf: Fix request_sock leak in sk lookup helpers
505a375eea drm/msm: use for_each_sgtable_sg to iterate over scatterlist
10eb239e29 scsi: scsi_debug: Fix zone transition to full condition
15cc30ac2a netfilter: use get_random_u32 instead of prandom
95f80c8843 netfilter: nftables: add nft_parse_register_store() and use it
ec9b0a8d30 netfilter: nftables: add nft_parse_register_load() and use it
8adedb4711 drm/msm: Fix double pm_runtime_disable() call
8682335375 USB: serial: option: add Quectel RM500K module support
9e6e063e54 USB: serial: option: add Quectel EM05-G modem
0b3006a862 USB: serial: option: add Telit LE910Cx 0x1250 composition
f6a266e0dc dm mirror log: clear log bits up to BITS_PER_LONG boundary
03d1874b82 dm era: commit metadata in postsuspend after worker stops
273106c2df ata: libata: add qc->flags in ata_qc_complete_template tracepoint
156427b312 mtd: rawnand: gpmi: Fix setting busy timeout setting
07e56884cd mmc: sdhci-pci-o2micro: Fix card detect by dealing with debouncing
0ae82e1ccb btrfs: add error messages to all unrecognized mount options
49e3e449bc net: openvswitch: fix parsing of nw_proto for IPv6 fragments
1508658aec ALSA: hda/realtek: Add quirk for Clevo NS50PU
6e8e503159 ALSA: hda/realtek: Add quirk for Clevo PD70PNT
80307458a1 ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly
7fcbc89d47 ALSA: hda/realtek - ALC897 headset MIC no sound
f5ea433d56 ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop
6437329060 ALSA: hda/conexant: Fix missing beep setup
12a6be5d11 ALSA: hda/via: Fix missing beep setup
5e80f923b8 random: quiet urandom warning ratelimit suppression message
310ebbd9f5 random: schedule mix_interrupt_randomness() less often
3acb7dc242 vt: drop old FONT ioctls
9cae50bdfa Linux 5.10.126
fb2fbb3c10 io_uring: use separate list entry for iopoll requests
6a7c3bcc3c Linux 5.10.125
df3f3bb505 io_uring: add missing item types for various requests
1a264b3a69 arm64: mm: Don't invalidate FROM_DEVICE buffers at start of DMA transfer
a1508d164e serial: core: Initialize rs485 RTS polarity already on probe
7ccb026ecb tcp: drop the hash_32() part from the index calculation
9429b75bc2 tcp: increase source port perturb table to 2^16
24b922a5da tcp: dynamically allocate the perturb table used by source ports
d28e64b1c6 tcp: add small random increments to the source port
dd46a868fc tcp: use different parts of the port_offset for index and offset
743acb5207 tcp: add some entropy in __inet_hash_connect()
16b1994679 usb: gadget: u_ether: fix regression in setting fixed MAC address
355be61311 zonefs: fix zonefs_iomap_begin() for reads
ee4677b78e s390/mm: use non-quiescing sske for KVM switch to keyed guest
73c2a811f6 Revert "xfrm: Add possibility to set the default to block if we have no policy"
e21944a82a Revert "net: xfrm: fix shift-out-of-bounce"
f7160ab103 Revert "xfrm: make user policy API complete"
df0ff8d194 Revert "xfrm: notify default policy on update"
4ead88c0e8 Revert "xfrm: fix dflt policy check when there is no policy configured"
42dadcf0a8 Revert "xfrm: rework default policy structure"
ece9c2a70f Revert "xfrm: fix "disable_policy" flag use when arriving from different devices"
9dcde7a741 Revert "include/uapi/linux/xfrm.h: Fix XFRM_MSG_MAPPING ABI breakage"
4f3fee72a7 Linux 5.10.124
e0b6018894 clk: imx8mp: fix usb_root_clk parent
a3e50506ea powerpc/book3e: get rid of #include <generated/compile.h>
ff4443f3fc igc: Enable PCIe PTM
f0a7adff63 Revert "PCI: Make pci_enable_ptm() private"
e1513a714d net: openvswitch: fix misuse of the cached connection on tuple changes
09b55dc90b net/sched: act_police: more accurate MTU policing
73bc8a5e8e dma-direct: don't over-decrypt memory
aa9a001efa virtio-pci: Remove wrong address verification in vp_del_vqs()
be98641034 ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine
401bef1f95 KVM: SVM: Use kzalloc for sev ioctl interfaces to prevent kernel data leak
d6be031a2f KVM: x86: Account a variety of miscellaneous allocations
d74d7865e2 KVM: arm64: Don't read a HW interrupt pending state in user context
bfd004a1d3 ext4: add reserved GDT blocks check
0ca74dacfd ext4: make variable "count" signed
6fdaf31ad5 ext4: fix bug_on ext4_mb_use_inode_pa
e27430c1f1 drm/amd/display: Cap OLED brightness per max frame-average luminance
ba751f0d25 dm mirror log: round up region bitmap size to BITS_PER_LONG
33ba36351e serial: 8250: Store to lsr_save_flags after lsr read
57901c658f usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
a44a8a762f usb: dwc2: Fix memory leak in dwc2_hcd_init
791da3e6c8 USB: serial: io_ti: add Agilent E5805A support
0e13274bc6 USB: serial: option: add support for Cinterion MV31 with new baseline
d721986e96 crypto: memneq - move into lib/
308b8f31c0 comedi: vmk80xx: fix expression for tx buffer size
9308be3d9a mei: me: add raptor lake point S DID
9ea9c92275 i2c: designware: Use standard optional ref clock implementation
506a88a5bf irqchip/gic-v3: Fix refcount leak in gic_populate_ppi_partitions
7c9dd9d23f irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions
e52a58b79f irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
716587a57a i2c: npcm7xx: Add check for platform_driver_register
b559ef9dfc faddr2line: Fix overlapping text section failures, the sequel
7fa28a7c3d block: Fix handling of offline queues in blk_mq_alloc_request_hctx()
2d825fb53b certs/blacklist_hashes.c: fix const confusion in certs blacklist
bc28fde909 arm64: ftrace: consistently handle PLTs.
e177f17fe4 arm64: ftrace: fix branch range checks
64072389be net: ax25: Fix deadlock caused by skb_recv_datagram in ax25_recvmsg
28069e026e net: bgmac: Fix an erroneous kfree() in bgmac_remove()
984793f255 mlxsw: spectrum_cnt: Reorder counter pools
b90ae84a8a nvme: add device name to warning in uuid_show()
42f7cbe2c2 nvme: use sysfs_emit instead of sprintf
63b26fe025 drm/i915/reset: Fix error_state_read ptr + offset use
2b2180449a misc: atmel-ssc: Fix IRQ check in ssc_probe
65ca4db68b tty: goldfish: Fix free_irq() on remove
5334455067 Drivers: hv: vmbus: Release cpu lock in error case
814092927a i40e: Fix call trace in setup_tx_descriptors
43dfd1169c i40e: Fix calculating the number of queue pairs
ef4d73da0a i40e: Fix adding ADQ filter to TC0
db965e2757 clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
8acc3e228e pNFS: Avoid a live lock condition in pnfs_update_layout()
03ea83324a pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
4603a37f6e random: credit cpu and bootloader seeds by default
9d667348dc gpio: dwapb: Don't print error on -EPROBE_DEFER
f3c8bfd6dc MIPS: Loongson-3: fix compile mips cpu_hwmon as module build error.
85340c0634 mellanox: mlx5: avoid uninitialized variable warning with gcc-12
38c519df8e net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
b8879ca1fd ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
0eeec1a8b0 nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
6c18f47f47 virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
d539feb6df ALSA: hda/realtek - Add HW8326 support
16dd002eb8 scsi: pmcraid: Fix missing resource cleanup in error case
410b692621 scsi: ipr: Fix missing/incorrect resource cleanup in error case
85acc5bf05 scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion
916145bf9d scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
f416fee125 scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
0e9994b865 Input: soc_button_array - also add Lenovo Yoga Tablet2 1051F to dmi_use_low_level_irq
2e640e5e44 ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
a572c74402 ASoC: es8328: Fix event generation for deemphasis control
c7b8c3758f ASoC: wm8962: Fix suspend while playing music
8656623bdc quota: Prevent memory allocation recursion while holding dq_lock
36cd19e7d4 ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
440b2a62da ASoC: cs42l51: Correct minimum value for SX volume control
f93d8fe3dc ASoC: cs42l56: Correct typo in minimum level for SX volume controls
13e5b76d3d ASoC: cs42l52: Correct TLV for Bypass Volume
b8a47bcc4d ASoC: cs53l30: Correct number of volume levels on SX controls
70e355867d ASoC: cs35l36: Update digital volume TLV
cb6a0b83f1 ASoC: cs42l52: Fix TLV scales for mixer controls
d7be05aff2 dma-debug: make things less spammy under memory pressure
1b54c00657 ASoC: nau8822: Add operation for internal PLL off and on
2c9548bc26 powerpc/kasan: Silence KASAN warnings in __get_wchan()
b5699bff1d arm64: dts: imx8mm-beacon: Enable RTS-CTS on UART3
28bbdca6a7 bpf: Fix incorrect memory charge cost calculation in stack_map_alloc()
f14816f2f9 nfsd: Replace use of rwsem with errseq_t
56a7f57da5 9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
2a59239b22 Linux 5.10.123
aa238a92cc x86/speculation/mmio: Print SMT warning
bde15fdcce KVM: x86/speculation: Disable Fill buffer clear within guests
6df693dca3 x86/speculation/mmio: Reuse SRBDS mitigation for SBDS
cf1c01a5e4 x86/speculation/srbds: Update SRBDS mitigation selection
001415e4e6 x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data
3eb1180564 x86/speculation/mmio: Enable CPU Fill buffer clearing on idle
56f0bca5e9 x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations
26f6f231f6 x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data
f83d4e5be4 x86/speculation: Add a common function for MD_CLEAR mitigation update
e66310bc96 x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug
f8a85334a5 Documentation: Add documentation for Processor MMIO Stale Data
5754c570a5 Linux 5.10.122
9ba2b4ac35 tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd
5e34b49756 dmaengine: idxd: add missing callback function to support DMA_INTERRUPT
b8c17121f0 zonefs: fix handling of explicit_open option on mount
ef51997771 PCI: qcom: Fix pipe clock imbalance
63bcb9da91 md/raid0: Ignore RAID0 layout if the second zone has only one device
418db40cc7 interconnect: Restore sync state by ignoring ipa-virt in provider count
bcae8f8338 interconnect: qcom: sc7180: Drop IP0 interconnects
fe6caf5122 powerpc/mm: Switch obsolete dssall to .long
3be74fc0af powerpc/32: Fix overread/overwrite of thread_struct via ptrace
fa0d3d71dc drm/atomic: Force bridge self-refresh-exit on CRTC switch
dbe04e874d drm/bridge: analogix_dp: Support PSR-exit to disable transition
61297ee0c3 Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag
2dba96d19d ixgbe: fix unexpected VLAN Rx in promisc mode on VF
91620cded9 ixgbe: fix bcast packets Rx on VF after promisc removal
cdd9227373 nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION
54423649bc nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
4f0a2c46f5 nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
c4e4c07d86 net: phy: dp83867: retrigger SGMII AN when link change
133c9870cd mmc: block: Fix CQE recovery reset success
0248a8c844 ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files
471a413201 cifs: fix reconnect on smb3 mount types
9023ecfd33 cifs: return errors during session setup during reconnects
b423cd2a81 ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021
94bd216d17 ALSA: hda/conexant - Fix loopback issue with CX20632
13639c970f scripts/gdb: change kernel config dumping method
b6ea26873e vringh: Fix loop descriptors check in the indirect cases
362e3b3a59 nodemask: Fix return values to be unsigned
a262e1255b cifs: version operations for smb20 unneeded when legacy support disabled
01137d8980 s390/gmap: voluntarily schedule during key setting
f72df77600 nbd: fix io hung while disconnecting device
122e4adaff nbd: fix race between nbd_alloc_config() and module removal
c0868f6e72 nbd: call genl_unregister_family() first in nbd_cleanup()
cb8da20d71 jump_label,noinstr: Avoid instrumentation for JUMP_LABEL=n builds
320acaf84a x86/cpu: Elide KCSAN for cpu_has() and friends
8287687821 modpost: fix undefined behavior of is_arm_mapping_symbol()
fee8ae0a0b drm/radeon: fix a possible null pointer dereference
3e57686830 ceph: allow ceph.dir.rctime xattr to be updatable
7fa8312879 Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
ebfe279725 scsi: myrb: Fix up null pointer access on myrb_cleanup()
7eb32f286e md: protect md_unregister_thread from reentrancy
668c3f9fa2 watchdog: wdat_wdt: Stop watchdog when rebooting the system
e20bc8b5a2 kernfs: Separate kernfs_pr_cont_buf and rename_lock.
1e3b3a5762 serial: msm_serial: disable interrupts in __msm_console_write()
ff727ab0b7 staging: rtl8712: fix uninit-value in r871xu_drv_init()
33ef21d554 staging: rtl8712: fix uninit-value in usb_read8() and friends
f3f754d72d clocksource/drivers/sp804: Avoid error on multiple instances
abf3b22261 extcon: Modify extcon device to be created after driver data is set
41ec946694 misc: rtsx: set NULL intfdata when probe fails
5b0c0298f7 usb: dwc2: gadget: don't reset gadget's driver->bus
468fe959ea sysrq: do not omit current cpu when showing backtrace of all active CPUs
f4cb24706c USB: hcd-pci: Fully suspend across freeze/thaw cycle
ffe9440d69 drivers: usb: host: Fix deadlock in oxu_bus_suspend()
6e2273eefa drivers: tty: serial: Fix deadlock in sa1100_set_termios()
ee105039d3 USB: host: isp116x: check return value after calling platform_get_resource()
0f69d7d5e9 drivers: staging: rtl8192e: Fix deadlock in rtllib_beacons_stop()
66f769762f drivers: staging: rtl8192u: Fix deadlock in ieee80211_beacons_stop()
cb7147afd3 tty: Fix a possible resource leak in icom_probe
d68d5e68b7 tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()
61ca1b97ad lkdtm/usercopy: Expand size of "out of frame" object
7821d743ab iio: st_sensors: Add a local lock for protecting odr
5a89a92efc staging: rtl8712: fix a potential memory leak in r871xu_drv_init()
8caa4b7d41 iio: dummy: iio_simple_dummy: check the return value of kstrdup()
f091e29ed8 drm: imx: fix compiler warning with gcc-12
96bf5ed057 net: altera: Fix refcount leak in altera_tse_mdio_create
fbeb8dfa8b ip_gre: test csum_start instead of transport header
1981cd7a77 net/mlx5: fs, fail conflicting actions
652418d82b net/mlx5: Rearm the FW tracer after each tracer event
5d9c1b081a net: ipv6: unexport __init-annotated seg6_hmac_init()
be3884d5cd net: xfrm: unexport __init-annotated xfrm4_protocol_init()
7759c32228 net: mdio: unexport __init-annotated mdio_bus_init()
b585b87fd5 SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()
3d8122e169 net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure
c2ae49a113 net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list
0cf7aaff29 bpf, arm64: Clear prog->jited_len along prog->jited
c61848500a af_unix: Fix a data-race in unix_dgram_peer_wake_me().
be9581f4fd xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
86c87d2c03 netfilter: nf_tables: bail out early if hardware offload is not supported
330c0c6cd2 netfilter: nf_tables: memleak flow rule from commit path
67e2d44873 netfilter: nf_tables: release new hooks on unsupported flowtable flags
19cb3ece14 ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
ec5548066d netfilter: nf_tables: always initialize flowtable hook list in transaction
7fd03e34f0 powerpc/kasan: Force thread size increase with KASAN
7a248f9c74 netfilter: nf_tables: delete flowtable hooks via transaction list
9edafbc7ec netfilter: nat: really support inet nat without l3 address
8dbae5affb xprtrdma: treat all calls not a bcall when bc_serv is NULL
8b3d5bafb1 video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()
c09b873f3f video: fbdev: hyperv_fb: Allow resolutions with size > 64 MB for Gen1
0ee5b9644f NFSv4: Don't hold the layoutget locks across multiple RPC calls
95a0ba85c1 dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type
2c08cae19d m68knommu: fix undefined reference to `_init_sp'
d99f04df32 m68knommu: set ZERO_PAGE() to the allocated zeroed page
344a55ccf5 i2c: cadence: Increase timeout per message if necessary
32bea51fe4 f2fs: remove WARN_ON in f2fs_is_valid_blkaddr
54c1e0e3bb iommu/arm-smmu-v3: check return value after calling platform_get_resource()
3660db29b0 iommu/arm-smmu: fix possible null-ptr-deref in arm_smmu_device_probe()
9e801c891a tracing: Avoid adding tracer option before update_tracer_options
1788e6dbb6 tracing: Fix sleeping function called from invalid context on RT kernel
2f452a3306 bootconfig: Make the bootconfig.o as a normal object file
c667b3872a mips: cpc: Fix refcount leak in mips_cpc_default_phys_base
76b226eaf0 dmaengine: idxd: set DMA_INTERRUPT cap bit
32be2b805a perf c2c: Fix sorting in percent_rmt_hitm_cmp()
71cbce7503 driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction
b8fac8e321 tipc: check attribute length for bearer name
c1f0187025 scsi: sd: Fix potential NULL pointer dereference
d2e297eaf4 afs: Fix infinite loop found by xfstest generic/676
04622d6318 gpio: pca953x: use the correct register address to do regcache sync
0a0f7f8414 tcp: tcp_rtx_synack() can be called from process context
e05dd93826 net: sched: add barrier to fix packet stuck problem for lockless qdisc
e9fe72b95d net/mlx5e: Update netdev features after changing XDP state
b50eef7a38 net/mlx5: correct ECE offset in query qp output
ea5edd015f net/mlx5: Don't use already freed action pointer
bf2af9b243 sfc: fix wrong tx channel offset with efx_separate_tx_channels
8f81a4113e sfc: fix considering that all channels have TX queues
7ac3a034d9 nfp: only report pause frame configuration for physical device
630e0a10c0 net/smc: fixes for converting from "struct smc_cdc_tx_pend **" to "struct smc_wr_tx_pend_priv *"
b97550e380 riscv: read-only pages should not be writable
8f49e1694c bpf: Fix probe read error in ___bpf_prog_run()
6d8d3f68cb ubi: ubi_create_volume: Fix use-after-free when volume creation failed
f413e4d7cd ubi: fastmap: Fix high cpu usage of ubi_bgt by making sure wl_pool not empty
3252d327f9 jffs2: fix memory leak in jffs2_do_fill_super
741e49eacd modpost: fix removing numeric suffixes
42658e47f1 net: dsa: mv88e6xxx: Fix refcount leak in mv88e6xxx_mdios_register
f7ba2cc57f net: ethernet: ti: am65-cpsw-nuss: Fix some refcount leaks
71ae30662e net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()
503a3fd646 net: sched: fixed barrier to prevent skbuff sticking in qdisc backlog
ee89d7fd49 s390/crypto: fix scatterwalk_unmap() callers in AES-GCM
e892a7e60f clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value
1d7361679f ASoC: fsl_sai: Fix FSL_SAI_xDR/xFR definition
910b1cdf6c watchdog: ts4800_wdt: Fix refcount leak in ts4800_wdt_probe
b3354f2046 watchdog: rti-wdt: Fix pm_runtime_get_sync() error checking
36ee9ffca8 driver core: fix deadlock in __device_attach
823f24f2e3 driver: base: fix UAF when driver_attach failed
7a6337bfed bus: ti-sysc: Fix warnings for unbind for serial
985706bd3b firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
94acaaad47 serial: stm32-usart: Correct CSIZE, bits, and parity
b7e560d2ff serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
afcfc3183c serial: sifive: Sanitize CSIZE and c_iflag
a9f6bee486 serial: sh-sci: Don't allow CS5-6
00456b932e serial: txx9: Don't allow CS5-6
22e975796f serial: rda-uart: Don't allow CS5-6
ff4ce2979b serial: digicolor-usart: Don't allow CS5-6
5cd331bcf0 serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
260792d5c9 serial: meson: acquire port->lock in startup()
82bfea344e rtc: mt6397: check return value after calling platform_get_resource()
d54a51b518 clocksource/drivers/riscv: Events are stopped during CPU suspend
5b3e990f85 soc: rockchip: Fix refcount leak in rockchip_grf_init
cfe8a0967d extcon: ptn5150: Add queue work sync before driver release
96414e2cdc coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier
47ebc50dc2 serial: sifive: Report actual baud base rather than fixed 115200
ab35308bbd phy: qcom-qmp: fix pipe-clock imbalance on power-on failure
52f327a45c rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails
c10333c451 iio: adc: sc27xx: Fine tune the scale calibration values
3747429834 iio: adc: sc27xx: fix read big scale voltage not right
b30f2315a3 iio: proximity: vl53l0x: Fix return value check of wait_for_completion_timeout
43823ceb26 iio: adc: stmpe-adc: Fix wait_for_completion_timeout return value check
6f01c0fb8e usb: typec: mux: Check dev_set_name() return value
7027c890ff firmware: stratix10-svc: fix a missing check on list iterator
70ece3c5ec misc: fastrpc: fix an incorrect NULL check on list iterator
2a1bf8e5ad usb: dwc3: pci: Fix pm_runtime_get_sync() error checking
8ae4fed195 rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
572211d631 pwm: lp3943: Fix duty calculation in case period was clamped
f9782b26d6 staging: fieldbus: Fix the error handling path in anybuss_host_common_probe()
b382c0c3b8 usb: musb: Fix missing of_node_put() in omap2430_probe
6b7cf22122 USB: storage: karma: fix rio_karma_init return
e100742823 usb: usbip: add missing device lock on tweak configuration cmd
bcbb795a9e usb: usbip: fix a refcount leak in stub_probe()
4e3a2d77bd tty: serial: fsl_lpuart: fix potential bug when using both of_alias_get_id and ida_simple_get
e27376f5aa tty: n_tty: Restore EOF push handling behavior
11bc6eff3a tty: serial: owl: Fix missing clk_disable_unprepare() in owl_uart_probe
ee6c33b29e tty: goldfish: Use tty_port_destroy() to destroy port
56ac04f35f lkdtm/bugs: Check for the NULL pointer after calling kmalloc
03efa70eb0 iio: adc: ad7124: Remove shift from scan_type
4610b06761 staging: greybus: codecs: fix type confusion of list iterator variable
1509d2335d pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards
e2e52b40ef Linux 5.10.121
47c1680e51 md: bcache: check the return value of kzalloc() in detached_dev_do_request()
a67100f426 ext4: only allow test_dummy_encryption when supported
96662c7746 MIPS: IP30: Remove incorrect `cpu_has_fpu' override
57e561573f MIPS: IP27: Remove incorrect `cpu_has_fpu' override
bb55ca1612 RDMA/rxe: Generate a completion for unsupported/invalid opcode
72268945b1 Revert "random: use static branch for crng_ready()"
6b03dc67dd block: fix bio_clone_blkg_association() to associate with proper blkcg_gq
51f724bffa bfq: Make sure bfqg for which we are queueing requests is online
0285718e28 bfq: Get rid of __bio_blkcg() usage
80b0a2b3df bfq: Remove pointless bfq_init_rq() calls
13599aac1b bfq: Drop pointless unlock-lock pair
7d172b9dc9 bfq: Avoid merging queues with different parents
54cdc10ac7 thermal/core: Fix memory leak in the error path
b132abaa65 thermal/core: fix a UAF bug in __thermal_cooling_device_register()
ec1378f2fa kseltest/cgroup: Make test_stress.sh work if run interactively
82b2b60b67 xfs: assert in xfs_btree_del_cursor should take into account error
f1916a88c8 xfs: consider shutdown in bmapbt cursor delete assert
e3ffe7387c xfs: force log and push AIL to clear pinned inodes when aborting mount
0b229d03d0 xfs: restore shutdown check in mapped write fault path
3d05a855dc xfs: fix incorrect root dquot corruption error when switching group/project quota types
893cf5f68a xfs: fix chown leaking delalloc quota blocks when fssetxattr fails
643ceee253 xfs: sync lazy sb accounting on quiesce of read-only mounts
af26bfb04a xfs: set inode size after creating symlink
d27f0000d7 net: ipa: fix page free in ipa_endpoint_replenish_one()
70124d94f4 net: ipa: fix page free in ipa_endpoint_trans_release()
2156dc3904 phy: qcom-qmp: fix reset-controller leak on probe errors
67e3404889 coresight: core: Fix coresight device probe failure issue
77692c02e1 blk-iolatency: Fix inflight count imbalances and IO hangs on offline
19e5aac38a vdpasim: allow to enable a vq repeatedly
ec029087df dt-bindings: gpio: altera: correct interrupt-cells
0ac587c61f docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
6182c71a0c SMB3: EBADF/EIO errors in rename/open caused by race condition in smb2_compound_op
d6b9b220d1 ARM: pxa: maybe fix gpio lookup tables
39c61f4f7f ARM: dts: s5pv210: Remove spi-cs-high on panel in Aries
6f3673c8d8 phy: qcom-qmp: fix struct clk leak on probe errors
09a84dad95 arm64: dts: qcom: ipq8074: fix the sleep clock frequency
591c3481b1 gma500: fix an incorrect NULL check on list iterator
c521f42dd2 tilcdc: tilcdc_external: fix an incorrect NULL check on list iterator
10c5088a31 serial: pch: don't overwrite xmit->buf[0] by x_char
59afd4f287 bcache: avoid journal no-space deadlock by reserving 1 journal bucket
0cf22f234e bcache: remove incremental dirty sector counting for bch_sectors_dirty_init()
3f686b249b bcache: improve multithreaded bch_sectors_dirty_init()
46c2b5f81c bcache: improve multithreaded bch_btree_check()
4e2fbe8cda stm: ltdc: fix two incorrect NULL checks on list iterator
dc12a64cf8 carl9170: tx: fix an incorrect use of list iterator
8f1bc0edf5 ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control
769ec2a824 rtl818x: Prevent using not initialized queues
d787a57a17 xtensa/simdisk: fix proc_read_simdisk()
63758dd959 hugetlb: fix huge_pmd_unshare address update
90ad54714e nodemask.h: fix compilation error with GCC12
e9514bce2f iommu/msm: Fix an incorrect NULL check on list iterator
82c888e51c ftrace: Clean up hash direct_functions on register failures
c26ccbaeb8 kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add]
cf0dabc374 um: Fix out-of-bounds read in LDT setup
7f8fd5dd43 um: chan_user: Fix winch_tramp() return value
873069e393 mac80211: upgrade passive scan to active scan on DFS channels after beacon rx
22741dd048 cfg80211: declare MODULE_FIRMWARE for regulatory.db
e87fedad4a irqchip: irq-xtensa-mx: fix initial IRQ affinity
be7ae7cd1c irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x
df7f0f8be3 csky: patch_text: Fixup last cpu should be master
31dca00d0c RDMA/hfi1: Fix potential integer multiplication overflow errors
09408080ad Kconfig: Add option for asm goto w/ tied outputs to workaround clang-13 bug
b67adaec34 ima: remove the IMA_TEMPLATE Kconfig option
577a959cb0 media: coda: Add more H264 levels for CODA960
4005f6a25c media: coda: Fix reported H264 profile
d09dad0057 mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N
08788b917b mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
b2b0144422 md: fix an incorrect NULL check in md_reload_sb
2401f1cf3d md: fix an incorrect NULL check in does_sb_need_changing
e28321e013 drm/i915/dsi: fix VBT send packet port selection for ICL+
495ac77576 drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX
addf0ae792 drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator
97a9ec86cc drm/nouveau/clk: Fix an incorrect NULL check on list iterator
436cff507f drm/etnaviv: check for reaped mapping in etnaviv_iommu_unmap_gem
be585921f2 drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.
556e404691 scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled
f297dc2364 scsi: dc395x: Fix a missing check on list iterator
337e365507 ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock
4ca3ac06e7 dlm: fix missing lkb refcount handling
899bc44291 dlm: fix plock invalid read
74114d26e9 s390/perf: obtain sie_block from the right address
7994d89012 mm, compaction: fast_find_migrateblock() should return pfn in the target zone
99fd821f56 PCI: qcom: Fix unbalanced PHY init on probe errors
c0e129dafc PCI: qcom: Fix runtime PM imbalance on probe errors
2b4c6ad382 PCI/PM: Fix bridge_d3_blacklist[] Elo i2 overwrite of Gigabyte X299
058cb6d86b tracing: Fix potential double free in create_var_ref()
a2b9edc3f8 ACPI: property: Release subnode properties with data nodes
ff4cafa517 ext4: avoid cycles in directory h-tree
da2f059192 ext4: verify dir block before splitting it
4fd58b5cf1 ext4: fix bug_on in __es_tree_search
cc5b09cb6d ext4: filter out EXT4_FC_REPLAY from on-disk superblock field s_state
1b061af037 ext4: fix bug_on in ext4_writepages
adf490083c ext4: fix warning in ext4_handle_inode_extension
dd887f83ea ext4: fix use-after-free in ext4_rename_dir_prepare
70a7dea846 bfq: Track whether bfq_group is still online
b06691af08 bfq: Update cgroup information before merging bio
4dfc12f8c9 bfq: Split shared queues on move between cgroups
c072cab98b efi: Do not import certificates from UEFI Secure Boot for T2 Macs
9a9dc60da7 fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
c1ad58de13 iwlwifi: mvm: fix assert 1F04 upon reconfig
6118bbdf69 wifi: mac80211: fix use-after-free in chanctx code
efdefbe8b7 f2fs: fix to do sanity check for inline inode
2221a2d410 f2fs: fix fallocate to use file_modified to update permissions consistently
ef221b738b f2fs: fix to do sanity check on total_data_blocks
196f72e089 f2fs: don't need inode lock for system hidden quota
2e790aa378 f2fs: fix deadloop in foreground GC
ccd58045be f2fs: fix to clear dirty inode in f2fs_evict_inode()
a34d7b4989 f2fs: fix to do sanity check on block address in f2fs_do_zero_range()
2766ddaf45 f2fs: fix to avoid f2fs_bug_on() in dec_valid_node_count()
d8b6aaeb9a perf jevents: Fix event syntax error caused by ExtSel
c8c2802407 perf c2c: Use stdio interface if slang is not supported
c9542f5f90 i2c: rcar: fix PM ref counts in probe error paths
ebd4f37ac1 i2c: npcm: Handle spurious interrupts
5c0dfca6b9 i2c: npcm: Correct register access width
06cb0f056b i2c: npcm: Fix timeout calculation
de6f6b5400 iommu/amd: Increase timeout waiting for GA log enablement
3cfb546439 dmaengine: stm32-mdma: fix chan initialization in stm32_mdma_irq_handler()
13d8d11dfa dmaengine: stm32-mdma: rework interrupt handler
0f87bd8b5f dmaengine: stm32-mdma: remove GISR1 register
c1c4405222 video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
96fdbb1c85 NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
83839a333f NFS: Don't report errors from nfs_pageio_complete() more than once
040242365c NFS: Do not report flush errors in nfs_write_end()
c5a0e59bbe NFS: fsync() should report filesystem errors over EINTR/ERESTARTSYS
418b9fa434 NFS: Do not report EINTR/ERESTARTSYS as mapping errors
6073af7815 dmaengine: idxd: Fix the error handling path in idxd_cdev_register()
f57696bc63 i2c: at91: Initialize dma_buf in at91_twi_xfer()
8e49773a75 MIPS: Loongson: Use hwmon_device_register_with_groups() to register hwmon
ec5ded7acb cpufreq: mediatek: Unregister platform device on exit
9d91400fff cpufreq: mediatek: Use module_init and add module_exit
c7b0ec9744 cpufreq: mediatek: add missing platform_driver_unregister() on error in mtk_cpufreq_driver_init
fb02d6b543 i2c: at91: use dma safe buffers
da748d263a iommu/mediatek: Add list_del in mtk_iommu_remove
51d584704d f2fs: fix dereference of stale list iterator after loop body
0e0faa1431 OPP: call of_node_put() on error path in _bandwidth_supported()
baf86afed7 Input: stmfts - do not leave device disabled in stmfts_input_open
fc0750e659 RDMA/hfi1: Prevent use of lock before it is initialized
bb2220e067 mailbox: forward the hrtimer if not queued and under a lock
a1d4941d9a mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe()
46fd994763 powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
b8ef79697b macintosh: via-pmu and via-cuda need RTC_LIB
cca915d691 powerpc/perf: Fix the threshold compare group constraint for power9
7620a280da powerpc/64: Only WARN if __pa()/__va() called with bad addresses
9b28515641 hwrng: omap3-rom - fix using wrong clk_disable() in omap_rom_rng_runtime_resume()
40d428b528 PCI/AER: Clear MULTI_ERR_COR/UNCOR_RCV bits
6e07ccc7d5 Input: sparcspkr - fix refcount leak in bbc_beep_probe
76badb0a4d crypto: cryptd - Protect per-CPU resource by disabling BH.
40c41a7bfd crypto: sun8i-ss - handle zero sized sg
5bea8f700a crypto: sun8i-ss - rework handling of IV
9834b13e8b tty: fix deadlock caused by calling printk() under tty_port->lock
a21d4dab77 PCI: imx6: Fix PERST# start-up sequence
2a9d3b5118 ipc/mqueue: use get_tree_nodev() in mqueue_get_tree()
f061ddfed9 proc: fix dentry/inode overinstantiating under /proc/${pid}/net
ab0c26e441 ASoC: atmel-classd: Remove endianness flag on class d component
b716e4168d ASoC: atmel-pdmic: Remove endianness flag on pdmic component
456105105e powerpc/4xx/cpm: Fix return value of __setup() handler
de5bc92318 powerpc/idle: Fix return value of __setup() handler
f991879762 pinctrl: renesas: core: Fix possible null-ptr-deref in sh_pfc_map_resources()
f7c290eac8 powerpc/8xx: export 'cpm_setbrg' for modules
49a5b1735c drivers/base/memory: fix an unlikely reference counting issue in __add_memory_block()
c121942917 dax: fix cache flush on PMD-mapped pages
d8a5bdc767 drivers/base/node.c: fix compaction sysfs file leak
84958f066d pinctrl: mvebu: Fix irq_of_parse_and_map() return value
8a8b40d007 nvdimm: Allow overwrite in the presence of disabled dimms
641649f31e nvdimm: Fix firmware activation deadlock scenarios
1052f22e12 firmware: arm_scmi: Fix list protocols enumeration in the base protocol
7a55a5159d scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()
17d9d7d264 mfd: ipaq-micro: Fix error check return value of platform_get_irq()
82c6c8a66c powerpc/fadump: fix PT_LOAD segment for boot memory area
08b053d32b arm: mediatek: select arch timer for mt7629
ceb61ab22d pinctrl: bcm2835: implement hook for missing gpio-ranges
cda45b715d gpiolib: of: Introduce hook for missing gpio-ranges
a26dfdf0a6 crypto: marvell/cesa - ECB does not IV
ee89d8dee5 misc: ocxl: fix possible double free in ocxl_file_register_afu
22c3fea20a ARM: dts: bcm2835-rpi-b: Fix GPIO line names
0a4ee6cdaa ARM: dts: bcm2837-rpi-3-b-plus: Fix GPIO line name of power LED
bd7ffc171c ARM: dts: bcm2837-rpi-cm3-io3: Fix GPIO line names for SMPS I2C
daffdb0830 ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT
95000ae680 ARM: dts: stm32: Fix PHY post-reset delay on Avenger96
b439f7addd can: xilinx_can: mark bit timing constants as const
875a17c3ad platform/chrome: Re-introduce cros_ec_cmd_xfer and use it for ioctls
b0bf87b1b3 ARM: dts: imx6dl-colibri: Fix I2C pinmuxing
acd2313bd9 platform/chrome: cros_ec: fix error handling in cros_ec_register()
e690350d3d KVM: nVMX: Clear IDT vectoring on nested VM-Exit for double/triple fault
fd7dca68a6 KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry
259c1fad9f soc: qcom: llcc: Add MODULE_DEVICE_TABLE()
ca7ce579a7 ARM: dts: ci4x10: Adapt to changes in imx6qdl.dtsi regarding fec clocks
acd99f384c PCI: dwc: Fix setting error return on MSI DMA mapping failure
92b7cab307 PCI: rockchip: Fix find_first_zero_bit() limit
266f5cf692 PCI: cadence: Fix find_first_zero_bit() limit
a409d0b1f9 soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
7cbe94d296 soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
8365341798 ARM: dts: suniv: F1C100: fix watchdog compatible
ea4f1c6bb9 memory: samsung: exynos5422-dmc: Avoid some over memory allocation
3960629bb5 arm64: dts: rockchip: Move drive-impedance-ohm to emmc phy on rk3399
0c5f04da02 net/smc: postpone sk_refcnt increment in connect()
8096e2d7c0 hinic: Avoid some over memory allocation
dc7753d600 net: huawei: hinic: Use devm_kcalloc() instead of devm_kzalloc()
4790963ef4 rxrpc: Fix decision on when to generate an IDLE ACK
3eef677a25 rxrpc: Don't let ack.previousPacket regress
573de88fc1 rxrpc: Fix overlapping ACK accounting
4f1c34ee60 rxrpc: Don't try to resend the request if we're receiving the reply
5b4826657d rxrpc: Fix listen() setting the bar too high for the prealloc rings
541224201e hv_netvsc: Fix potential dereference of NULL pointer
deb16df525 net: stmmac: fix out-of-bounds access in a selftest
5c2b34d072 net: stmmac: selftests: Use kcalloc() instead of kzalloc()
7386f69041 ASoC: max98090: Move check for invalid values before casting in max98090_put_enab_tlv()
d015f6f694 NFC: hci: fix sleep in atomic context bugs in nfc_hci_hcp_message_tx
7a5e6a4898 ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
8bbf522a2c thermal/drivers/imx_sc_thermal: Fix refcount leak in imx_sc_thermal_probe
18530bedd2 thermal/core: Fix memory leak in __thermal_cooling_device_register()
dcf5ffc91c thermal/drivers/core: Use a char pointer for the cooling device name
79098339ac thermal/drivers/broadcom: Fix potential NULL dereference in sr_thermal_probe
8360380295 thermal/drivers/bcm2711: Don't clamp temperature at zero
3161044e75 drm/i915: Fix CFI violation with show_dynamic_id()
ffbcfb1688 drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path
2679de7d04 x86/sev: Annotate stack change in the #VC handler
656aa3c51f drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
48e82ce8cd drm/msm/a6xx: Fix refcount leak in a6xx_gpu_init
d54ac6ca48 ext4: reject the 'commit' option on ext2 filesystems
63b7c08995 media: rkvdec: h264: Fix bit depth wrap in pps packet
b4805a77d5 media: rkvdec: h264: Fix dpb_valid implementation
82239e30ab media: staging: media: rkvdec: Make use of the helper function devm_platform_ioremap_resource()
5c24566294 media: ov7670: remove ov7670_power_off from ov7670_remove
510e879420 ASoC: ti: j721e-evm: Fix refcount leak in j721e_soc_probe_*
33411945c9 net: hinic: add missing destroy_workqueue in hinic_pf_to_mgmt_init
8113eedbab sctp: read sk->sk_bound_dev_if once in sctp_rcv()
6950ee32c1 lsm,selinux: pass flowi_common instead of flowi to the LSM hooks
a67a1661cf m68k: math-emu: Fix dependencies of math emulation support
4dcae15ff8 nvme: set dma alignment to dword
8ace1e6355 Bluetooth: use hdev lock for accept_list and reject_list in conn req
792f8b0e74 Bluetooth: use inclusive language when filtering devices
d763aa352c Bluetooth: use inclusive language in HCI role comments
c024f6f11d Bluetooth: LL privacy allow RPA
394df9f17e Bluetooth: L2CAP: Rudimentary typo fixes
5702c3c657 Bluetooth: Interleave with allowlist scan
36c644c63b Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout
fc68385fcb media: vsp1: Fix offset calculation for plane cropping
a3304766d9 media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init
7d792640d3 media: exynos4-is: Change clk_disable to clk_disable_unprepare
b3e4837358 media: st-delta: Fix PM disable depth imbalance in delta_probe
8e4e0c4ac5 media: exynos4-is: Fix PM disable depth imbalance in fimc_is_probe
0572a5bd38 media: aspeed: Fix an error handling path in aspeed_video_probe()
34feaea3aa scripts/faddr2line: Fix overlapping text section failures
1472fb1c74 kselftest/cgroup: fix test_stress.sh to use OUTPUT dir
cacea459f9 ASoC: samsung: Fix refcount leak in aries_audio_probe
c1b08aa568 ASoC: samsung: Use dev_err_probe() helper
9f564e29a5 regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
2a0da7641e ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
e84aaf23ca ASoC: fsl: Fix refcount leak in imx_sgtl5000_probe
4024affd53 ath11k: Don't check arvif->is_started before sending management frames
779d41c80b perf/amd/ibs: Use interrupt regs ip for stack unwinding
37a9db0ee7 regulator: qcom_smd: Fix up PM8950 regulator configuration
e2786db0a7 Revert "cpufreq: Fix possible race in cpufreq online error path"
560dcbe1c7 spi: spi-fsl-qspi: check return value after calling platform_get_resource_byname()
f40549ce20 iomap: iomap_write_failed fix
7a79ab2596 media: uvcvideo: Fix missing check to determine if element is found in list
d50b26221f drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
883f1d52a5 drm/msm/mdp5: Return error code in mdp5_mixer_release when deadlock is detected
49dc28b4b2 drm/msm/mdp5: Return error code in mdp5_pipe_release when deadlock is detected
a10092daba drm/msm/dp: fix event thread stuck in wait_event after kthread_stop()
369a712442 regulator: core: Fix enable_count imbalance with EXCLUSIVE_GET
018ebe4c18 arm64: fix types in copy_highpage()
49bfbaf6a0 x86/mm: Cleanup the control_va_addr_alignment() __setup handler
0d5c8ac922 irqchip/aspeed-scu-ic: Fix irq_of_parse_and_map() return value
f4b503b4ef irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
5e76e51633 irqchip/exiu: Fix acknowledgment of edge triggered interrupts
35abf2081f x86: Fix return value of __setup handlers
940b12435b virtio_blk: fix the discard_granularity and discard_alignment queue limits
23716d7614 perf tools: Use Python devtools for version autodetection rather than runtime
3451852312 drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
e19ece6f24 drm/panel: panel-simple: Fix proper bpc for AM-1280800N3TZQW-T00H
5a26a49470 drm/msm: add missing include to msm_drv.c
7b815e91ff drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()
d9cb951d11 drm/msm/hdmi: check return value after calling platform_get_resource_byname()
e99755e6a9 drm/msm/dsi: fix error checks and return values for DSI xmit functions
3574e0b290 drm/msm/dp: fix error check return value of irq_of_parse_and_map()
04204612dd drm/msm/dp: stop event kernel thread when DP unbind
134760263f drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume
d5773db56c perf tools: Add missing headers needed by util/data.h
e251a33fe8 ASoC: rk3328: fix disabling mclk on pclk probe failure
e2fef34d78 x86/speculation: Add missing prototype for unpriv_ebpf_notify()
81f1ddffdc mtd: rawnand: cadence: fix possible null-ptr-deref in cadence_nand_dt_probe()
b6ecf2b7e6 x86/pm: Fix false positive kmemleak report in msr_build_context()
0e1cd4edef mtd: spi-nor: core: Check written SR value in spi_nor_write_16bit_sr_and_check()
ab88c8d906 libbpf: Fix logic for finding matching program for CO-RE relocation
97b56f17b3 selftests/resctrl: Fix null pointer dereference on open failed
c54d66c514 scsi: ufs: core: Exclude UECxx from SFR dump list
02192ee936 scsi: ufs: qcom: Fix ufs_qcom_resume()
328cfeac73 drm/msm/dpu: adjust display_v_end for eDP and DP
cc68e53f9a of: overlay: do not break notify on NOTIFY_{OK|STOP}
f929416d5c fsnotify: fix wrong lockdep annotations
94845fc422 inotify: show inotify mask flags in proc fdinfo
f2c68c5289 ALSA: pcm: Check for null pointer of pointer substream before dereferencing it
d764a7d647 drm/panel: simple: Add missing bus flags for Innolux G070Y2-L01
b6b70cd3dd media: hantro: Empty encoder capture buffers by default
461e4c1f19 ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix
96c848afbd cpufreq: Fix possible race in cpufreq online error path
172789fd95 spi: img-spfi: Fix pm_runtime_get_sync() error checking
147a376c1a sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq
f35c3f2374 drm/bridge: Fix error handling in analogix_dp_probe
6d0726725c HID: elan: Fix potential double free in elan_input_configured
39d4bd3f59 HID: hid-led: fix maximum brightness for Dream Cheeky
3c68daf4a3 mtd: rawnand: denali: Use managed device resources
dd2b1d70ef EDAC/dmc520: Don't print an error for each unconfigured interrupt line
bea6985099 drbd: fix duplicate array initializer
3eba802d47 target: remove an incorrect unmap zeroes data deduction
e7681199bb efi: Add missing prototype for efi_capsule_setup_info
2a1b5110c9 NFC: NULL out the dev->rfkill to prevent UAF
8e357f086d net: dsa: mt7530: 1G can also support 1000BASE-X link mode
4565d5be8b scftorture: Fix distribution of short handler delays
58eff5b73f spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
b4c7dd0037 drm: mali-dp: potential dereference of null pointer
78a3e9fcdb drm/komeda: Fix an undefined behavior bug in komeda_plane_add()
3cea0259ed nl80211: show SSID for P2P_GO interfaces
6c0a8c771a bpf: Fix excessive memory allocation in stack_map_alloc()
7ff76dc2d8 libbpf: Don't error out on CO-RE relos for overriden weak subprogs
84b0e23e10 drm/vc4: txp: Force alpha to be 0xff if it's disabled
ac904216b8 drm/vc4: txp: Don't set TXP_VSTART_AT_EOF
15cec7dfd3 drm/vc4: hvs: Reset muxes at probe time
2268f190af drm/mediatek: Fix mtk_cec_mask()
032f8c67fe drm/ingenic: Reset pixclock rate when parent clock rate changes
58c7c01577 x86/delay: Fix the wrong asm constraint in delay_loop()
f279c49f17 ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
fb66e0512e ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
35db6e2e99 spi: qcom-qspi: Add minItems to interconnect-names
187ecfc3b7 drm/bridge: adv7511: clean up CEC adapter when probe fails
9072d62785 drm/edid: fix invalid EDID extension block filtering
0d6dc3efb1 ath9k: fix ar9003_get_eepmisc
822dac24b4 ath11k: acquire ab->base_lock in unassign when finding the peer by addr
3ed327b77d dt-bindings: display: sitronix, st7735r: Fix backlight in example
61bbbde9b6 drm: fix EDID struct for old ARM OABI format
cc80d3c37c RDMA/hfi1: Prevent panic when SDMA is disabled
dfc308d6f2 powerpc/iommu: Add missing of_node_put in iommu_init_early_dart
b4e14e9beb macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled
0230055fa6 powerpc/powernv: fix missing of_node_put in uv_init()
6a61a97106 powerpc/xics: fix refcount leak in icp_opal_init()
8a665c2791 powerpc/powernv/vas: Assign real address to rx_fifo in vas_rx_win_attr
5a3767ac79 tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate
eff3587b9c PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()
21a3effe44 ARM: hisi: Add missing of_node_put after of_find_compatible_node
d2b3b380c1 ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM
d146e2a986 ARM: versatile: Add missing of_node_put in dcscb_init
b646e0cfeb pinctrl: renesas: rzn1: Fix possible null-ptr-deref in sh_pfc_map_resources()
c16f1b3d72 fat: add ratelimit to fat*_ent_bread()
f20c7cd2b2 powerpc/fadump: Fix fadump to work with a different endian capture kernel
039966775c ARM: OMAP1: clock: Fix UART rate reporting algorithm
9dfa8d087b fs: jfs: fix possible NULL pointer dereference in dbFree()
05efc4591f soc: ti: ti_sci_pm_domains: Check for null return of devm_kcalloc
0f9091f202 crypto: ccree - use fine grained DMA mapping dir
86b091b689 PM / devfreq: rk3399_dmc: Disable edev on remove()
7e391ec939 arm64: dts: qcom: msm8994: Fix BLSP[12]_DMA channels count
c400439adc ARM: dts: s5pv210: align DMA channels with dtschema
0521c52978 ARM: dts: ox820: align interrupt controller node name with dtschema
968a668376 IB/rdmavt: add missing locks in rvt_ruc_loopback
6a2e275834 gfs2: use i_lock spin_lock for inode qadata
92ef7a8719 selftests/bpf: fix btf_dump/btf_dump due to recent clang change
340cf91293 eth: tg3: silence the GCC 12 array-bounds warning
cb2ca93f8f rxrpc, afs: Fix selection of abort codes
4a4e2e90ec rxrpc: Return an error to sendmsg if call failed
6c18a0fcd6 m68k: atari: Make Atari ROM port I/O write macros return void
76744a016e x86/microcode: Add explicit CPU vendor dependency
f29fb46232 can: mcp251xfd: silence clang's -Wunaligned-access warning
ff383c1879 ASoC: rt1015p: remove dependency on GPIOLIB
c73aee1946 ASoC: max98357a: remove dependency on GPIOLIB
86c02171bd media: exynos4-is: Fix compile warning
abb5594ae2 net: phy: micrel: Allow probing without .driver_data
8d33585ffa nbd: Fix hung on disconnect request if socket is closed before
1a5a3dfd9f ASoC: rt5645: Fix errorenous cleanup order
af98940dd3 nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags
8671aeeef2 openrisc: start CPU timer early in boot
22cdbb1354 media: cec-adap.c: fix is_configuring state
4cf6ba9367 media: imon: reorganize serialization
f3915b4665 media: coda: limit frame interval enumeration to supported encoder frame sizes
8ddc89437c media: rga: fix possible memory leak in rga_probe
f9413b9023 rtlwifi: Use pr_warn instead of WARN_ONCE
eb7a71b7b2 ipmi: Fix pr_fmt to avoid compilation issues
fa390c8b62 ipmi:ssif: Check for NULL msg when handling events and messages
0b7c1dc7ee ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default
1ecd01d77c dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC
a61583744e spi: stm32-qspi: Fix wait_cmd timeout in APM mode
0c05c03c51 perf/amd/ibs: Cascade pmu init functions' return value
4605458398 s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES
312c43e98e net: remove two BUG() from skb_checksum_help()
4f99bde59e ASoC: tscs454: Add endianness flag in snd_soc_component_driver
296f8ca0f7 HID: bigben: fix slab-out-of-bounds Write in bigben_probe
3ee67465f7 drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo
6f19abe031 mlxsw: Treat LLDP packets as control
b30e727f09 mlxsw: spectrum_dcb: Do not warn about priority changes
d68a5eb7b3 ASoC: dapm: Don't fold register value changes into notifications
9b42659cb3 net/mlx5: fs, delete the FTE when there are no rules attached to it
4d85201adb ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL
0325c08ae2 drm: msm: fix error check return value of irq_of_parse_and_map()
ad97425d23 arm64: compat: Do not treat syscall number as ESR_ELx for a bad syscall
8aa3750986 ath10k: skip ath10k_halt during suspend for driver state RESTARTING
20ad91d08a drm/amd/pm: fix the compile warning
b5cd108143 drm/plane: Move range check for format_count earlier
8c3fe9ff80 ASoC: Intel: bytcr_rt5640: Add quirk for the HP Pro Tablet 408
60afa4f4e1 ath11k: disable spectral scan during spectral deinit
fa1b509d41 scsi: lpfc: Fix resource leak in lpfc_sli4_send_seq_to_ulp()
1869f9bfaf scsi: ufs: Use pm_runtime_resume_and_get() instead of pm_runtime_get_sync()
508add11af scsi: megaraid: Fix error check return value of register_chrdev()
95050b9847 drivers: mmc: sdhci_am654: Add the quirk to set TESTCD bit
90281cadf5 mmc: jz4740: Apply DMA engine limits to maximum segment size
e69e93120f md/bitmap: don't set sb values if can't pass sanity check
3f94169aff media: cx25821: Fix the warning when removing the module
ca17e7a532 media: pci: cx23885: Fix the error handling in cx23885_initdev()
27ad46da44 media: venus: hfi: avoid null dereference in deinit
e68270a786 ath9k: fix QCA9561 PA bias level
ca1ce20689 drm/amd/pm: fix double free in si_parse_power_table()
3102e9d7e5 tools/power turbostat: fix ICX DRAM power numbers
fbfeb9bc94 spi: spi-rspi: Remove setting {src,dst}_{addr,addr_width} based on DMA direction
e2b8681769 ALSA: jack: Access input_dev under mutex
005990e30d sfc: ef10: Fix assigning negative value to unsigned variable
10f30cba8f rcu: Make TASKS_RUDE_RCU select IRQ_WORK
1c6c3f2336 rcu-tasks: Fix race in schedule and flush work
c977d63b8c drm/komeda: return early if drm_universal_plane_init() fails.
cd97a481ea ACPICA: Avoid cache flush inside virtual machines
29cb802966 x86/platform/uv: Update TSC sync state for UV5
59dd1a07ee fbcon: Consistently protect deferred_takeover with console_lock()
5bfb65e92f ipv6: fix locking issues with loops over idev->addr_list
98d1dc32f8 ipw2x00: Fix potential NULL dereference in libipw_xmit()
cc575b8558 b43: Fix assigning negative value to unsigned variable
4ae5a2ccf5 b43legacy: Fix assigning negative value to unsigned variable
74ad0d7450 mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
fadc626cae drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes
c6380d9d2d iommu/vt-d: Add RPLS to quirk list to skip TE disabling
509e9710b8 btrfs: repair super block num_devices automatically
4093eea47d btrfs: add "0x" prefix for unsupported optional features
b49516583f ptrace: Reimplement PTRACE_KILL by always sending SIGKILL
f8ef79687b ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
6580673b17 ptrace/um: Replace PT_DTRACE with TIF_SINGLESTEP
92fb46536a perf/x86/intel: Fix event constraints for ICL
b4acb8e7f1 x86/MCE/AMD: Fix memory leak when threshold_create_bank() fails
860e44f21f parisc/stifb: Keep track of hardware path of graphics card
78e008dca2 Fonts: Make font size unsigned in font_desc
c5b9b7fb12 xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI
c9ac773715 cifs: when extending a file with falloc we should make files not-sparse
ce4627f09e usb: core: hcd: Add support for deferring roothub registration
a2532c4417 usb: dwc3: gadget: Move null pinter check to proper place
0420275d64 USB: new quirk for Dell Gen 2 devices
19b3fe8a7c USB: serial: option: add Quectel BG95 modem
40bdb5ec95 ALSA: usb-audio: Cancel pending work at closing a MIDI substream
1cf70d5c15 ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
223368eaf6 ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop
d2f3acde3d riscv: Fix irq_work when SMP is disabled
4a5c7a61ff riscv: Initialize thread pointer before calling C functions
6b45437959 parisc/stifb: Implement fb_is_primary_device()
9cef71ecea binfmt_flat: do not stop relocating GOT entries prematurely on riscv
43ca8e1dfb Merge 5.10.118 into android12-5.10-lts
70dd2d169d Linux 5.10.120
886eeb0460 bpf: Enlarge offset check value to INT_MAX in bpf_skb_{load,store}_bytes
7f845de286 bpf: Fix potential array overflow in bpf_trampoline_get_progs()
3097f38e91 NFSD: Fix possible sleep during nfsd4_release_lockowner()
78a62e09d8 NFS: Memory allocation failures are not server fatal errors
1d100fcc1d docs: submitting-patches: Fix crossref to 'The canonical patch format'
ebbbffae71 tpm: ibmvtpm: Correct the return value in tpm_ibmvtpm_probe()
5933a191ac tpm: Fix buffer access in tpm2_get_tpm_pt()
0c56e5d0e6 HID: multitouch: add quirks to enable Lenovo X12 trackpoint
d6822d82c0 HID: multitouch: Add support for Google Whiskers Touchpad
0f03885059 raid5: introduce MD_BROKEN
8df42bcd36 dm verity: set DM_TARGET_IMMUTABLE feature flag
e39b536d70 dm stats: add cond_resched when looping over entries
4617778417 dm crypt: make printing of the key constant-time
bb64957c47 dm integrity: fix error code in dm_integrity_ctr()
8845027e55 ARM: dts: s5pv210: Correct interrupt name for bluetooth in Aries
4989bb0334 Bluetooth: hci_qca: Use del_timer_sync() before freeing
fae05b2314 zsmalloc: fix races between asynchronous zspage free and page migration
6a1cc25494 crypto: ecrdsa - Fix incorrect use of vli_cmp
c013f7d1cd crypto: caam - fix i.MX6SX entropy delay value
3d8fc6e28f KVM: x86: avoid calling x86 emulator without a decoded instruction
a2a3fa5b61 x86, kvm: use correct GFP flags for preemption disabled
4a9f3a9c28 x86/kvm: Alloc dummy async #PF token outside of raw spinlock
4c4a11c74a KVM: PPC: Book3S HV: fix incorrect NULL check on list iterator
91a36ec160 netfilter: conntrack: re-fetch conntrack after insertion
c0aff1faf6 netfilter: nf_tables: sanitize nft_set_desc_concat_parse()
44f1ce5530 crypto: drbg - make reseeding from get_random_bytes() synchronous
e744e34a3c crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
54700e82a7 crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
b2bef5500e crypto: drbg - prepare for more fine-grained tracking of seeding state
630192aa45 lib/crypto: add prompts back to crypto libraries
82f723b8a5 exfat: check if cluster num is valid
1f0681f3bd drm/i915: Fix -Wstringop-overflow warning in call to intel_read_wm_latency()
2728d95c6c xfs: Fix CIL throttle hang when CIL space used going backwards
a9e7f19a55 xfs: fix an ABBA deadlock in xfs_rename
72464fd2b4 xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks
45d97f70da xfs: show the proper user quota options
f20e67b455 xfs: detect overflows in bmbt records
ffc8d61387 net: ipa: compute proper aggregation limit
8adb751d29 io_uring: fix using under-expanded iters
57d01bcae7 io_uring: don't re-import iovecs from callbacks
6029f86740 assoc_array: Fix BUG_ON during garbage collect
b96b4aa65b cfg80211: set custom regdomain after wiphy registration
8fbd54ab06 pipe: Fix missing lock in pipe_resize_ring()
cd720fad8b pipe: make poll_usage boolean and annotate its access
ea62d169b6 netfilter: nf_tables: disallow non-stateful expression in sets earlier
5525af175b drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers
f0749aecb2 i2c: ismt: Provide a DMA buffer for Interrupt Cause Logging
828309eee5 net: ftgmac100: Disable hardware checksum on AST2600
640397afdf nfc: pn533: Fix buggy cleanup order
ac8d5eb26c net: af_key: check encryption module availability consistency
d007f49ab7 percpu_ref_init(): clean ->percpu_count_ref on failure
75e35951d6 pinctrl: sunxi: fix f1c100s uart2 function
56c31ac1d8 Linux 5.10.119
7c57f21349 ALSA: ctxfi: Add SB046x PCI ID
514f587340 random: check for signals after page of pool writes
18c261e948 random: wire up fops->splice_{read,write}_iter()
cf8f8d3758 random: convert to using fops->write_iter()
affa1ae522 random: convert to using fops->read_iter()
4bb374a118 random: unify batched entropy implementations
552ae8e484 random: move randomize_page() into mm where it belongs
5f2a040b2f random: move initialization functions out of hot pages
02102b63bd random: make consistent use of buf and len
33783ca355 random: use proper return types on get_random_{int,long}_wait()
1fdd7eef21 random: remove extern from functions in header
811afd06e0 random: use static branch for crng_ready()
04d61b96bd random: credit architectural init the exact amount
5123cc61e2 random: handle latent entropy and command line from random_init()
9320e087f2 random: use proper jiffies comparison macro
31ac294037 random: remove ratelimiting for in-kernel unseeded randomness
b50f2830b3 random: move initialization out of reseeding hot path
4c4110c052 random: avoid initializing twice in credit race
cef9010b78 random: use symbolic constants for crng_init states
30e9f36266 siphash: use one source of truth for siphash permutations
772edeb8c7 random: help compiler out with fast_mix() by using simpler arguments
1841347233 random: do not use input pool from hard IRQs
999b0c9e8a random: order timer entropy functions below interrupt functions
ce3c4ff381 random: do not pretend to handle premature next security model
24d3275685 random: use first 128 bits of input as fast init
273aebb50b random: do not use batches when !crng_ready()
f4c98fe1d1 random: insist on random_get_entropy() existing in order to simplify
ffcfdd5de9 xtensa: use fallback for random_get_entropy() instead of zero
e1ea0e26d3 sparc: use fallback for random_get_entropy() instead of zero
a5092be129 um: use fallback for random_get_entropy() instead of zero
25d4fdf1f0 x86/tsc: Use fallback for random_get_entropy() instead of zero
0b93f40cbe nios2: use fallback for random_get_entropy() instead of zero
fdca775081 arm: use fallback for random_get_entropy() instead of zero
d5531246af mips: use fallback for random_get_entropy() instead of just c0 random
714def4497 riscv: use fallback for random_get_entropy() instead of zero
84397906a6 m68k: use fallback for random_get_entropy() instead of zero
7690be1adf timekeeping: Add raw clock fallback for random_get_entropy()
07b5d0b3e2 powerpc: define get_cycles macro for arch-override
30ee01bcdc alpha: define get_cycles macro for arch-override
c55a863c30 parisc: define get_cycles macro for arch-override
641d1fbd96 s390: define get_cycles macro for arch-override
c895438b17 ia64: define get_cycles macro for arch-override
7d9eab78be init: call time_init() before rand_initialize()
ec25e386d3 random: fix sysctl documentation nits
9dff512945 random: document crng_fast_key_erasure() destination possibility
a1b5c849d8 random: make random_get_entropy() return an unsigned long
72a9ec8d75 random: allow partial reads if later user copies fail
1805d20dfb random: check for signals every PAGE_SIZE chunk of /dev/[u]random
9641d9b430 random: check for signal_pending() outside of need_resched() check
26ee8fa4df random: do not allow user to keep crng key around on stack
bb515a5bef random: do not split fast init input in add_hwgenerator_randomness()
be0d4e3e96 random: mix build-time latent entropy into pool at init
bb563d06c5 random: re-add removed comment about get_random_{u32,u64} reseeding
f3bc5eca83 random: treat bootloader trust toggle the same way as cpu trust toggle
7cb6782146 random: skip fast_init if hwrng provides large chunk of entropy
083ab33951 random: check for signal and try earlier when generating entropy
20da9c6079 random: reseed more often immediately after booting
9891211dfe random: make consistent usage of crng_ready()
95a1c94a1b random: use SipHash as interrupt entropy accumulator
849e7b744c random: replace custom notifier chain with standard one
66307429b5 random: don't let 644 read-only sysctls be written to
4c74ca006a random: give sysctl_random_min_urandom_seed a more sensible value
0964a76fd5 random: do crng pre-init loading in worker rather than irq
192d4c6cb3 random: unify cycles_t and jiffies usage and types
47f0e89b71 random: cleanup UUID handling
9b0e0e2714 random: only wake up writers after zap if threshold was passed
c47f215ab3 random: round-robin registers as ulong, not u32
5064550d42 random: clear fast pool, crng, and batches in cpuhp bring up
6e1cb84cc6 random: pull add_hwgenerator_randomness() declaration into random.h
32252548b5 random: check for crng_init == 0 in add_device_randomness()
684e9fe92d random: unify early init crng load accounting
f656bd0011 random: do not take pool spinlock at boot
5d73e69a5d random: defer fast pool mixing to worker
7873321cd8 random: rewrite header introductory comment
6d1671b6d2 random: group sysctl functions
21ae543e3a random: group userspace read/write functions
f04580811d random: group entropy collection functions
e9ff357860 random: group entropy extraction functions
d7e5b1925a random: group crng functions
6b1ffb3b5a random: group initialization wait functions
6c9cee1555 random: remove whitespace and reorder includes
7b0f36f7c2 random: remove useless header comment
b390181654 random: introduce drain_entropy() helper to declutter crng_reseed()
0971c1c2fd random: deobfuscate irq u32/u64 contributions
ae1b8f1954 random: add proper SPDX header
9342656c01 random: remove unused tracepoints
17ad693cd2 random: remove ifdef'd out interrupt bench
28683a1885 random: tie batched entropy generation to base_crng generation
adc32acf23 random: fix locking for crng_init in crng_reseed()
bb63851c25 random: zero buffer after reading entropy from userspace
63c1aae40a random: remove outdated INT_MAX >> 6 check in urandom_read()
07280d2c3f random: make more consistent use of integer types
655a69cb41 random: use hash function for crng_slow_load()
95026060d8 random: use simpler fast key erasure flow on per-cpu keys
732872aa2c random: absorb fast pool into input pool after fast load
7a5b9ca583 random: do not xor RDRAND when writing into /dev/random
16a6e4ae71 random: ensure early RDSEED goes through mixer on init
c521bf08ee random: inline leaves of rand_initialize()
70377ee074 random: get rid of secondary crngs
c36e71b5a5 random: use RDSEED instead of RDRAND in entropy extraction
1d1582e5fe random: fix locking in crng_fast_load()
0762b7d1f1 random: remove batched entropy locking
8d07e2a226 random: remove use_input_pool parameter from crng_reseed()
b07fcd9e53 random: make credit_entropy_bits() always safe
32d1d7ce3a random: always wake up entropy writers after extraction
9852922061 random: use linear min-entropy accumulation crediting
bb9c45cfb9 random: simplify entropy debiting
de0727c0c4 random: use computational hash for entropy extraction
e0cc561e47 random: only call crng_finalize_init() for primary_crng
480fd91dcd random: access primary_pool directly rather than through pointer
0b9e36e895 random: continually use hwgenerator randomness
6d2d29f051 random: simplify arithmetic function flow in account()
a0653a9ec1 random: selectively clang-format where it makes sense
bccc8d9231 random: access input_pool_data directly rather than through pointer
a9db850c21 random: cleanup fractional entropy shift constants
edd294052e random: prepend remaining pool constants with POOL_
f87f50b843 random: de-duplicate INPUT_POOL constants
09ae6b8519 random: remove unused OUTPUT_POOL constants
8cc5260c19 random: rather than entropy_store abstraction, use global
5897e06ac1 random: remove unused extract_entropy() reserved argument
ae093ca125 random: remove incomplete last_data logic
7abbc9809f random: cleanup integer types
c9e108e36d random: cleanup poolinfo abstraction
8a3b78f917 random: fix typo in comments
0ad5d6384d random: don't reset crng_init_cnt on urandom_read()
17420c77f0 random: avoid superfluous call to RDRAND in CRNG extraction
c245231aec random: early initialization of ChaCha constants
efaddd56bc random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
6443204102 random: harmonize "crng init done" messages
ca57d51126 random: mix bootloader randomness into pool
542d8ebedb random: do not re-init if crng_reseed completes before primary init
2bfdf588a8 random: do not sign extend bytes for rotation when mixing
685200b076 random: use BLAKE2s instead of SHA1 in extraction
33c30bfe4f random: remove unused irq_flags argument from add_interrupt_randomness()
b57a888740 random: document add_hwgenerator_randomness() with other input functions
ae33c501e0 lib/crypto: blake2s: avoid indirect calls to compression function for Clang CFI
07918ddba3 lib/crypto: sha1: re-roll loops to reduce code size
5fb6a3ba3a lib/crypto: blake2s: move hmac construction into wireguard
62531d446a lib/crypto: blake2s: include as built-in
aec0878b1d crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
030d3443aa crypto: blake2s - adjust include guard naming
fea91e9070 crypto: blake2s - add comment for blake2s_state fields
d45ae768b7 crypto: blake2s - optimize blake2s initialization
6c362b7c77 crypto: blake2s - share the "shash" API boilerplate code
72e5b68f33 crypto: blake2s - move update and final logic to internal/blake2s.h
e467a55bd0 crypto: blake2s - remove unneeded includes
198a19d7ee crypto: x86/blake2s - define shash_alg structs using macros
89f9ee998e crypto: blake2s - define shash_alg structs using macros
0f8fcf5b6e crypto: lib/blake2s - Move selftest prototype into header file
c3a4645d80 MAINTAINERS: add git tree for random.c
c4882c6e1e MAINTAINERS: co-maintain random.c
acb198c4d1 random: remove dead code left over from blocking pool
6227458fef random: avoid arch_get_random_seed_long() when collecting IRQ randomness
257fbea15a ACPI: sysfs: Fix BERT error region memory mapping
14fa2769ea ACPI: sysfs: Make sparse happy about address space in use
0debc69f00 media: vim2m: initialize the media device earlier
ed0e71cc3f media: vim2m: Register video device after setting up internals
a5c68f457f secure_seq: use the 64 bits of the siphash for port offset calculation
33f1b4a27a tcp: change source port randomizarion at connect() time
9b4aa0d80b KVM: x86/mmu: fix NULL pointer dereference on guest INVPCID
74c6e5d584 KVM: x86: Properly handle APF vs disabled LAPIC situation
c06e5f751a staging: rtl8723bs: prevent ->Ssid overflow in rtw_wx_set_scan()
a8f4d63142 lockdown: also lock down previous kgdb use
c204ee3350 Linux 5.10.118
56642f6af2 module: check for exit sections in layout_sections() instead of module_init_section()
633be494c3 include/uapi/linux/xfrm.h: Fix XFRM_MSG_MAPPING ABI breakage
61a4cc41e5 afs: Fix afs_getattr() to refetch file status if callback break occurred
606011cb6a i2c: mt7621: fix missing clk_disable_unprepare() on error in mtk_i2c_probe()
030de84d45 module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD
355141fdbf dt-bindings: pinctrl: aspeed-g6: remove FWQSPID group
d30fdf7d13 Input: ili210x - fix reset timing
a698bf1f72 arm64: Enable repeat tlbi workaround on KRYO4XX gold CPUs
696292b9b5 net: atlantic: verify hw_head_ lies within TX buffer ring
cd66ab20a8 net: atlantic: add check for MAX_SKB_FRAGS
9bee8b4275 net: atlantic: reduce scope of is_rsc_complete
9b84e83a92 net: atlantic: fix "frag[0] not initialized"
0ae23a1d47 net: stmmac: fix missing pci_disable_device() on error in stmmac_pci_probe()
d4c6e5cebc ethernet: tulip: fix missing pci_disable_device() on error in tulip_init_one()
3a6dee284f nl80211: fix locking in nl80211_set_tx_bitrate_mask()
efe580c436 selftests: add ping test with ping_group_range tuned
1cfbf6d3a7 nl80211: validate S1G channel width
a0f5ff2049 mac80211: fix rx reordering with non explicit / psmp ack policy
e21d734fd0 scsi: qla2xxx: Fix missed DMA unmap for aborted commands
c5af341747 perf bench numa: Address compiler error on s390
210ea7da5c gpio: mvebu/pwm: Refuse requests with inverted polarity
30d4721fec gpio: gpio-vf610: do not touch other bits when set the target bit
ea8a9cb4a7 riscv: dts: sifive: fu540-c000: align dma node name with dtschema
dfd1f0cb62 net: bridge: Clear offload_fwd_mark when passing frame up bridge interface.
579061f391 igb: skip phy status check where unavailable
a89888648e ARM: 9197/1: spectre-bhb: fix loop8 sequence for Thumb2
1756b45d8d ARM: 9196/1: spectre-bhb: enable for Cortex-A15
7b676abe32 net: af_key: add check for pfkey_broadcast in function pfkey_process
697f3219ee net/mlx5e: Properly block LRO when XDP is enabled
b503d0228c NFC: nci: fix sleep in atomic context bugs caused by nci_skb_alloc
42d4287cc1 net/qla3xxx: Fix a test in ql_reset_work()
d35bf8d766 clk: at91: generated: consider range when calculating best rate
9e0e75a5e7 ice: fix possible under reporting of ethtool Tx and Rx statistics
6e2caee5cd net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup()
a54d86cf41 net: vmxnet3: fix possible use-after-free bugs in vmxnet3_rq_alloc_rx_buf()
201e5b5c27 net: systemport: Fix an error handling path in bcm_sysport_probe()
9bfe898e2b net/sched: act_pedit: sanitize shift argument before usage
47f04f95ed xfrm: fix "disable_policy" flag use when arriving from different devices
0d2e9d8000 xfrm: rework default policy structure
57c1bbe709 xfrm: fix dflt policy check when there is no policy configured
9856c3a129 xfrm: notify default policy on update
20fd28df40 xfrm: make user policy API complete
ab610ee1d1 net: xfrm: fix shift-out-of-bounce
5b7f84b1f9 xfrm: Add possibility to set the default to block if we have no policy
243e72e204 net: evaluate net.ipvX.conf.all.disable_policy and disable_xfrm
1bc27eb71b net: macb: Increment rx bd head after allocating skb and buffer
998e305bd1 net: ipa: record proper RX transaction count
0599d5a8b4 ARM: dts: aspeed-g6: fix SPI1/SPI2 quad pin group
0a2847d448 pinctrl: pinctrl-aspeed-g6: remove FWQSPID group in pinctrl
d8ca684c3d ARM: dts: aspeed-g6: remove FWQSPID group in pinctrl dtsi
3fc2846099 dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace
e5289affba drm/dp/mst: fix a possible memory leak in fetch_monitor_name()
8ceca1a069 libceph: fix potential use-after-free on linger ping and resends
233a3cc60e crypto: qcom-rng - fix infinite loop on requests not multiple of WORD_SZ
6013ef5f51 arm64: mte: Ensure the cleared tags are visible before setting the PTE
a817f78ed6 arm64: paravirt: Use RCU read locks to guard stolen_time
b49bc8d615 KVM: x86/mmu: Update number of zapped pages even if page list is stable
146128ba26 PCI/PM: Avoid putting Elo i2 PCIe Ports in D3cold
ec0d801d1a Fix double fget() in vhost_net_set_backend()
b42e5e3a84 selinux: fix bad cleanup on error in hashtab_duplicate()
3ee8e109c3 perf: Fix sys_perf_event_open() race against self
18fb7d533c ALSA: hda/realtek: Add quirk for TongFang devices with pop noise
3eaf770163 ALSA: wavefront: Proper check of get_user() error
a34d018b6e ALSA: usb-audio: Restore Rane SL-1 quirk
f3f2247ac3 Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""
e2cfa7b093 Revert "swiotlb: fix info leak with DMA_FROM_DEVICE"
fe5ac3da50 nilfs2: fix lockdep warnings during disk space reclamation
d626fcdabe nilfs2: fix lockdep warnings in page operations for btree nodes
aca18bacdb ARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame()
0acaf9cacd platform/chrome: cros_ec_debugfs: detach log reader wq from devm
5a19f3c2d3 drbd: remove usage of list iterator variable after loop
9b7f321106 MIPS: lantiq: check the return value of kzalloc()
05c073b1ad fs: fix an infinite loop in iomap_fiemap
00d8b06a4e rtc: mc146818-lib: Fix the AltCentury for AMD platforms
87fd0dd43e nvme-multipath: fix hang when disk goes live over reconnect
3663d6023a tools/virtio: compile with -pthread
5a4cbcb3df vhost_vdpa: don't setup irq offloading when irq_num < 0
f0931ee125 s390/pci: improve zpci_dev reference counting
7d3f69cbde ALSA: hda/realtek: Enable headset mic on Lenovo P360
a59450656b crypto: x86/chacha20 - Avoid spurious jumps to other functions
39acee8aea crypto: stm32 - fix reference leak in stm32_crc_remove
703c80ff43 rtc: sun6i: Fix time overflow handling
bab037ebbe gfs2: Disable page faults during lockless buffered reads
e803f12ea2 nvme-pci: add quirks for Samsung X5 SSDs
5565fc538d Input: stmfts - fix reference leak in stmfts_input_open
d5e88c2d76 Input: add bounds checking to input_set_capability()
ea6a86886c um: Cleanup syscall_handler_t definition/cast, fix warning
c39b91fcd5 rtc: pcf2127: fix bug when reading alarm registers
2b4e5a2d7d rtc: fix use-after-free on device removal
67136fff5b igc: Update I226_K device ID
d0229838b6 igc: Remove phy->type checking
170110adbe igc: Remove _I_PHY_ID checking
55c820c1b2 Revert "drm/i915/opregion: check port number bounds for SWSCI display power state"
911b362678 floppy: use a statically allocated error counter
3c48558be5 io_uring: always grab file table for deferred statx
a1a2c957da usb: gadget: fix race when gadget driver register via ioctl

ABI updated to add a new symbol that is needed to be tracked:

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

1 Added function:

  [A] 'function bool rng_is_initialized()'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib7f64defc72960f3603eb23b9a401a9fd42ec217
2022-09-28 09:54:28 +02:00
Greg Kroah-Hartman
ef2aee5cec Merge 5.10.145 into android12-5.10-lts
Changes in 5.10.145
	KVM: PPC: Book3S HV: Context tracking exit guest context before enabling irqs
	KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ handling
	serial: 8250: Fix reporting real baudrate value in c_ospeed field
	parisc: Optimize per-pagetable spinlocks
	parisc: Flush kernel data mapping in set_pte_at() when installing pte for user page
	dmaengine: bestcomm: fix system boot lockups
	powerpc/pseries/mobility: refactor node lookup during DT update
	powerpc/pseries/mobility: ignore ibm, platform-facilities updates
	usb: cdns3: gadget: fix new urb never complete if ep cancel previous requests
	platform/x86/intel: hid: add quirk to support Surface Go 3
	net: dsa: mv88e6xxx: allow use of PHYs on CPU and DSA ports
	of: fdt: fix off-by-one error in unflatten_dt_nodes()
	pinctrl: sunxi: Fix name for A100 R_PIO
	NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0
	gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx
	drm/meson: Correct OSD1 global alpha value
	drm/meson: Fix OSD1 RGB to YCbCr coefficient
	parisc: ccio-dma: Add missing iounmap in error path in ccio_probe()
	tracing: hold caller_addr to hardirq_{enable,disable}_ip
	of/device: Fix up of_dma_configure_id() stub
	cifs: revalidate mapping when doing direct writes
	cifs: don't send down the destination address to sendmsg for a SOCK_STREAM
	tools/include/uapi: Fix <asm/errno.h> for parisc and xtensa
	video: fbdev: i740fb: Error out if 'pixclock' equals zero
	Revert "serial: 8250: Fix reporting real baudrate value in c_ospeed field"
	ASoC: nau8824: Fix semaphore unbalance at error paths
	regulator: pfuze100: Fix the global-out-of-bounds access in pfuze100_regulator_probe()
	rxrpc: Fix local destruction being repeated
	rxrpc: Fix calc of resend age
	wifi: mac80211_hwsim: check length for virtio packets
	ALSA: hda/sigmatel: Keep power up while beep is enabled
	ALSA: hda/tegra: Align BDL entry to 4KB boundary
	net: usb: qmi_wwan: add Quectel RM520N
	afs: Return -EAGAIN, not -EREMOTEIO, when a file already locked
	MIPS: OCTEON: irq: Fix octeon_irq_force_ciu_mapping()
	mksysmap: Fix the mismatch of 'L0' symbols in System.map
	video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
	cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
	ALSA: hda/sigmatel: Fix unused variable warning for beep power change
	Linux 5.10.145

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I93aa581c488160ed80c8092688fcae115f960143
2022-09-24 09:54:08 +02:00
Tetsuo Handa
9f267393b0 cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
commit 43626dade36fa74d3329046f4ae2d7fdefe401c6 upstream.

syzbot is hitting percpu_rwsem_assert_held(&cpu_hotplug_lock) warning at
cpuset_attach() [1], for commit 4f7e7236435ca0ab ("cgroup: Fix
threadgroup_rwsem <-> cpus_read_lock() deadlock") missed that
cpuset_attach() is also called from cgroup_attach_task_all().
Add cpus_read_lock() like what cgroup_procs_write_start() does.

Link: https://syzkaller.appspot.com/bug?extid=29d3a3b4d86c8136ad9e [1]
Reported-by: syzbot <syzbot+29d3a3b4d86c8136ad9e@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fixes: 4f7e7236435ca0ab ("cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock")
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-23 14:17:00 +02:00
Yipeng Zou
6a27acda3d tracing: hold caller_addr to hardirq_{enable,disable}_ip
[ Upstream commit 54c3931957f6a6194d5972eccc36d052964b2abe ]

Currently, The arguments passing to lockdep_hardirqs_{on,off} was fixed
in CALLER_ADDR0.
The function trace_hardirqs_on_caller should have been intended to use
caller_addr to represent the address that caller wants to be traced.

For example, lockdep log in riscv showing the last {enabled,disabled} at
__trace_hardirqs_{on,off} all the time(if called by):
[   57.853175] hardirqs last  enabled at (2519): __trace_hardirqs_on+0xc/0x14
[   57.853848] hardirqs last disabled at (2520): __trace_hardirqs_off+0xc/0x14

After use trace_hardirqs_xx_caller, we can get more effective information:
[   53.781428] hardirqs last  enabled at (2595): restore_all+0xe/0x66
[   53.782185] hardirqs last disabled at (2596): ret_from_exception+0xa/0x10

Link: https://lkml.kernel.org/r/20220901104515.135162-2-zouyipeng@huawei.com

Cc: stable@vger.kernel.org
Fixes: c3bc8fd637 ("tracing: Centralize preemptirq tracepoints and unify their usage")
Signed-off-by: Yipeng Zou <zouyipeng@huawei.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-23 14:16:58 +02:00
Greg Kroah-Hartman
3dbfa90b61 Merge 5.10.143 into android12-5.10-lts
Changes in 5.10.143
	NFSD: Fix verifier returned in stable WRITEs
	xen-blkfront: Cache feature_persistent value before advertisement
	tty: n_gsm: initialize more members at gsm_alloc_mux()
	tty: n_gsm: avoid call of sleeping functions from atomic context
	efi: libstub: Disable struct randomization
	efi: capsule-loader: Fix use-after-free in efi_capsule_write
	wifi: iwlegacy: 4965: corrected fix for potential off-by-one overflow in il4965_rs_fill_link_cmd()
	fs: only do a memory barrier for the first set_buffer_uptodate()
	Revert "mm: kmemleak: take a full lowmem check in kmemleak_*_phys()"
	scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX
	scsi: megaraid_sas: Fix double kfree()
	drm/gem: Fix GEM handle release errors
	drm/amdgpu: Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to psp_hw_fini
	drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup.
	drm/radeon: add a force flush to delay work when radeon
	parisc: ccio-dma: Handle kmalloc failure in ccio_init_resources()
	parisc: Add runtime check to prevent PA2.0 kernels on PA1.x machines
	arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level
	net/core/skbuff: Check the return value of skb_copy_bits()
	fbdev: chipsfb: Add missing pci_disable_device() in chipsfb_pci_init()
	drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly
	ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc()
	ALSA: aloop: Fix random zeros in capture data when using jiffies timer
	ALSA: usb-audio: Fix an out-of-bounds bug in __snd_usb_parse_audio_interface()
	kprobes: Prohibit probes in gate area
	debugfs: add debugfs_lookup_and_remove()
	nvmet: fix a use-after-free
	drm/i915: Implement WaEdpLinkRateDataReload
	scsi: mpt3sas: Fix use-after-free warning
	scsi: lpfc: Add missing destroy_workqueue() in error path
	cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree
	cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
	cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl()
	smb3: missing inode locks in punch hole
	ARM: dts: imx6qdl-kontron-samx6i: remove duplicated node
	regulator: core: Clean up on enable failure
	tee: fix compiler warning in tee_shm_register()
	RDMA/cma: Fix arguments order in net device validation
	soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs
	RDMA/hns: Fix supported page size
	RDMA/hns: Fix wrong fixed value of qp->rq.wqe_shift
	ARM: dts: at91: sama5d27_wlsom1: specify proper regulator output ranges
	ARM: dts: at91: sama5d2_icp: specify proper regulator output ranges
	ARM: dts: at91: sama5d27_wlsom1: don't keep ldo2 enabled all the time
	ARM: dts: at91: sama5d2_icp: don't keep vdd_other enabled all the time
	netfilter: br_netfilter: Drop dst references before setting.
	netfilter: nf_tables: clean up hook list when offload flags check fails
	netfilter: nf_conntrack_irc: Fix forged IP logic
	ALSA: usb-audio: Inform the delayed registration more properly
	ALSA: usb-audio: Register card again for iface over delayed_register option
	rxrpc: Fix an insufficiently large sglist in rxkad_verify_packet_2()
	afs: Use the operation issue time instead of the reply time for callbacks
	sch_sfb: Don't assume the skb is still around after enqueueing to child
	tipc: fix shift wrapping bug in map_get()
	ice: use bitmap_free instead of devm_kfree
	i40e: Fix kernel crash during module removal
	xen-netback: only remove 'hotplug-status' when the vif is actually destroyed
	RDMA/siw: Pass a pointer to virt_to_page()
	ipv6: sr: fix out-of-bounds read when setting HMAC data.
	IB/core: Fix a nested dead lock as part of ODP flow
	RDMA/mlx5: Set local port to one when accessing counters
	nvme-tcp: fix UAF when detecting digest errors
	nvme-tcp: fix regression that causes sporadic requests to time out
	tcp: fix early ETIMEDOUT after spurious non-SACK RTO
	sch_sfb: Also store skb len before calling child enqueue
	ASoC: mchp-spdiftx: remove references to mchp_i2s_caps
	ASoC: mchp-spdiftx: Fix clang -Wbitfield-constant-conversion
	MIPS: loongson32: ls1c: Fix hang during startup
	swiotlb: avoid potential left shift overflow
	iommu/amd: use full 64-bit value in build_completion_wait()
	hwmon: (mr75203) fix VM sensor allocation when "intel,vm-map" not defined
	hwmon: (mr75203) update pvt->v_num and vm_num to the actual number of used sensors
	hwmon: (mr75203) fix voltage equation for negative source input
	hwmon: (mr75203) fix multi-channel voltage reading
	hwmon: (mr75203) enable polling for all VM channels
	arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly
	Linux 5.10.143

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia1bc1b76bcad0e2cb3b27d1a37278b1d24c6b90d
2022-09-22 14:38:08 +02:00
Greg Kroah-Hartman
e0f0b200a5 Merge 5.10.142 into android12-5.10-lts
Changes in 5.10.142
	drm/msm/dsi: fix the inconsistent indenting
	drm/msm/dp: delete DP_RECOVERED_CLOCK_OUT_EN to fix tps4
	drm/msm/dsi: Fix number of regulators for msm8996_dsi_cfg
	drm/msm/dsi: Fix number of regulators for SDM660
	platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask
	iio: adc: mcp3911: make use of the sign bit
	bpf, cgroup: Fix kernel BUG in purge_effective_progs
	ieee802154/adf7242: defer destroy_workqueue call
	ALSA: hda: intel-nhlt: remove use of __func__ in dev_dbg
	ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array
	wifi: cfg80211: debugfs: fix return type in ht40allow_map_read()
	Revert "xhci: turn off port power in shutdown"
	net: sched: tbf: don't call qdisc_put() while holding tree lock
	net/sched: fix netdevice reference leaks in attach_default_qdiscs()
	ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler
	kcm: fix strp_init() order and cleanup
	sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb
	tcp: annotate data-race around challenge_timestamp
	Revert "sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb"
	net/smc: Remove redundant refcount increase
	serial: fsl_lpuart: RS485 RTS polariy is inverse
	staging: rtl8712: fix use after free bugs
	powerpc: align syscall table for ppc32
	vt: Clear selection before changing the font
	tty: serial: lpuart: disable flow control while waiting for the transmit engine to complete
	Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag
	iio: ad7292: Prevent regulator double disable
	iio: adc: mcp3911: use correct formula for AD conversion
	misc: fastrpc: fix memory corruption on probe
	misc: fastrpc: fix memory corruption on open
	USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id
	binder: fix UAF of ref->proc caused by race condition
	drm/i915/reg: Fix spelling mistake "Unsupport" -> "Unsupported"
	clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops
	Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops"
	clk: core: Fix runtime PM sequence in clk_core_unprepare()
	Input: rk805-pwrkey - fix module autoloading
	clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate
	clk: bcm: rpi: Use correct order for the parameters of devm_kcalloc()
	clk: bcm: rpi: Prevent out-of-bounds access
	clk: bcm: rpi: Add missing newline
	hwmon: (gpio-fan) Fix array out of bounds access
	gpio: pca953x: Add mutex_lock for regcache sync in PM
	KVM: x86: Mask off unsupported and unknown bits of IA32_ARCH_CAPABILITIES
	xen/grants: prevent integer overflow in gnttab_dma_alloc_pages()
	mm: pagewalk: Fix race between unmap and page walker
	xen-blkback: Advertise feature-persistent as user requested
	xen-blkfront: Advertise feature-persistent as user requested
	thunderbolt: Use the actual buffer in tb_async_error()
	media: mceusb: Use new usb_control_msg_*() routines
	xhci: Add grace period after xHC start to prevent premature runtime suspend.
	USB: serial: cp210x: add Decagon UCA device id
	USB: serial: option: add support for OPPO R11 diag port
	USB: serial: option: add Quectel EM060K modem
	USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode
	usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles
	usb: dwc2: fix wrong order of phy_power_on and phy_init
	USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020)
	usb-storage: Add ignore-residue quirk for NXP PN7462AU
	s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages
	s390: fix nospec table alignments
	USB: core: Prevent nested device-reset calls
	usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS
	driver core: Don't probe devices after bus_type.match() probe deferral
	wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected
	wifi: mac80211: Fix UAF in ieee80211_scan_rx()
	ip: fix triggering of 'icmp redirect'
	net: Use u64_stats_fetch_begin_irq() for stats fetch.
	net: mac802154: Fix a condition in the receive path
	ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298
	ALSA: seq: oss: Fix data-race for max_midi_devs access
	ALSA: seq: Fix data-race at module auto-loading
	drm/i915/glk: ECS Liva Q2 needs GLK HDMI port timing quirk
	btrfs: harden identification of a stale device
	mmc: core: Fix UHS-I SD 1.8V workaround branch
	usb: dwc3: fix PHY disable sequence
	usb: dwc3: qcom: fix use-after-free on runtime-PM wakeup
	usb: dwc3: disable USB core PHY management
	USB: serial: ch341: fix lost character on LCR updates
	USB: serial: ch341: fix disabled rx timer on older devices
	Linux 5.10.142

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I32d9b4c4c0e6c802744abb8b1c87ad794f4de0c8
2022-09-22 13:46:39 +02:00
Peifeng Li
5c5b7a4da6 ANDROID: vendor_hook: rename the the name of hooks
Renamed trace_android_vh_record_percpu_rwsem_lock_starttime to
trace_android_vh_record_pcpu_rwsem_starttime.

Because the orignal name is too long, which results to the
compile-err of .ko that uses the symbol:

ERROR: modpost:
too long symbol "__tracepoint_android_vh_record_percpu_rwsem_lock_starttime"

There is not any users of the the orignal hooks so that it is safe to
rename it.

Bug: 241191475
Signed-off-by: Peifeng Li <lipeifeng@oppo.com>
Change-Id: Ie246a933414db5e9e28a65a4c280fae3a1cbefe3
2022-09-22 10:18:45 +00:00
Greg Kroah-Hartman
9072e986bd Revert "ANDROID: Export functions to be used with dma_map_ops in modules"
The symbols exported by this commit were never used by external modules,
so just remove them as the exports are not needed (and cause merge
problems at times.)

Bug: 151050914
Bug: 203756332
Cc: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I926ad3cc732ec1db97fc4711962bc3902105dd25
2022-09-21 08:24:25 +00:00
deyaoren@google.com
552c6fcd69 Merge remote-tracking branch into HEAD
* keystone/mirror-android12-5.10-2022-09: (52 commits)
  UPSTREAM: usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop
  UPSTREAM: usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
  BACKPORT: scsi: ufs: core: Increase fDeviceInit poll frequency
  FROMGIT: f2fs: increase the limit for reserve_root
  FROMGIT: f2fs: complete checkpoints during remount
  FROMGIT: f2fs: flush pending checkpoints when freezing super
  BACKPORT: f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs
  BACKPORT: f2fs: introduce F2FS_IPU_HONOR_OPU_WRITE ipu policy
  Revert "ANDROID: GKI: signal: Export for __lock_task_sighand"
  BACKPORT: f2fs: invalidate meta pages only for post_read required inode
  BACKPORT: f2fs: fix to invalidate META_MAPPING before DIO write
  BACKPORT: f2fs: invalidate META_MAPPING before IPU/DIO write
  ANDROID: mm: page_pinner: use page_ext_get/put() to work with page_ext
  FROMLIST: mm: fix use-after free of page_ext after race with memory-offline
  ANDROID: vendor_hooks:vendor hook for __alloc_pages_slowpath.
  ANDROID: GKI: rockchip: add symbol netif_set_xps_queue
  ANDROID: GKI: Update symbol list
  Revert "ANDROID: vendor_hooks: tune reclaim scan type for specified mem_cgroup"
  ANDROID: Fix a build warning inside early_memblock_nomap
  ANDROID: mm/memory_hotplug: Fix error path handling
  ...

Change-Id: Ic29e19317a93a2960c7d1632149eded958dcf375
2022-09-17 16:50:03 +00:00
Chao Gao
1a27425523 swiotlb: avoid potential left shift overflow
[ Upstream commit 3f0461613ebcdc8c4073e235053d06d5aa58750f ]

The second operand passed to slot_addr() is declared as int or unsigned int
in all call sites. The left-shift to get the offset of a slot can overflow
if swiotlb size is larger than 4G.

Convert the macro to an inline function and declare the second argument as
phys_addr_t to avoid the potential overflow.

Fixes: 26a7e094783d ("swiotlb: refactor swiotlb_tbl_map_single")
Signed-off-by: Chao Gao <chao.gao@intel.com>
Reviewed-by: Dongli Zhang <dongli.zhang@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-15 11:32:06 +02:00
Yishai Hadas
e8de6cb575 IB/core: Fix a nested dead lock as part of ODP flow
[ Upstream commit 85eaeb5058f0f04dffb124c97c86b4f18db0b833 ]

Fix a nested dead lock as part of ODP flow by using mmput_async().

From the below call trace [1] can see that calling mmput() once we have
the umem_odp->umem_mutex locked as required by
ib_umem_odp_map_dma_and_lock() might trigger in the same task the
exit_mmap()->__mmu_notifier_release()->mlx5_ib_invalidate_range() which
may dead lock when trying to lock the same mutex.

Moving to use mmput_async() will solve the problem as the above
exit_mmap() flow will be called in other task and will be executed once
the lock will be available.

[1]
[64843.077665] task:kworker/u133:2  state:D stack:    0 pid:80906 ppid:
2 flags:0x00004000
[64843.077672] Workqueue: mlx5_ib_page_fault mlx5_ib_eqe_pf_action [mlx5_ib]
[64843.077719] Call Trace:
[64843.077722]  <TASK>
[64843.077724]  __schedule+0x23d/0x590
[64843.077729]  schedule+0x4e/0xb0
[64843.077735]  schedule_preempt_disabled+0xe/0x10
[64843.077740]  __mutex_lock.constprop.0+0x263/0x490
[64843.077747]  __mutex_lock_slowpath+0x13/0x20
[64843.077752]  mutex_lock+0x34/0x40
[64843.077758]  mlx5_ib_invalidate_range+0x48/0x270 [mlx5_ib]
[64843.077808]  __mmu_notifier_release+0x1a4/0x200
[64843.077816]  exit_mmap+0x1bc/0x200
[64843.077822]  ? walk_page_range+0x9c/0x120
[64843.077828]  ? __cond_resched+0x1a/0x50
[64843.077833]  ? mutex_lock+0x13/0x40
[64843.077839]  ? uprobe_clear_state+0xac/0x120
[64843.077860]  mmput+0x5f/0x140
[64843.077867]  ib_umem_odp_map_dma_and_lock+0x21b/0x580 [ib_core]
[64843.077931]  pagefault_real_mr+0x9a/0x140 [mlx5_ib]
[64843.077962]  pagefault_mr+0xb4/0x550 [mlx5_ib]
[64843.077992]  pagefault_single_data_segment.constprop.0+0x2ac/0x560
[mlx5_ib]
[64843.078022]  mlx5_ib_eqe_pf_action+0x528/0x780 [mlx5_ib]
[64843.078051]  process_one_work+0x22b/0x3d0
[64843.078059]  worker_thread+0x53/0x410
[64843.078065]  ? process_one_work+0x3d0/0x3d0
[64843.078073]  kthread+0x12a/0x150
[64843.078079]  ? set_kthread_struct+0x50/0x50
[64843.078085]  ret_from_fork+0x22/0x30
[64843.078093]  </TASK>

Fixes: 36f30e486d ("IB/core: Improve ODP to use hmm_range_fault()")
Reviewed-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Link: https://lore.kernel.org/r/74d93541ea533ef7daec6f126deb1072500aeb16.1661251841.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-15 11:32:05 +02:00
Tejun Heo
dee1e2b18c cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
[ Upstream commit 4f7e7236435ca0abe005c674ebd6892c6e83aeb3 ]

Bringing up a CPU may involve creating and destroying tasks which requires
read-locking threadgroup_rwsem, so threadgroup_rwsem nests inside
cpus_read_lock(). However, cpuset's ->attach(), which may be called with
thredagroup_rwsem write-locked, also wants to disable CPU hotplug and
acquires cpus_read_lock(), leading to a deadlock.

Fix it by guaranteeing that ->attach() is always called with CPU hotplug
disabled and removing cpus_read_lock() call from cpuset_attach().

Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-and-tested-by: Imran Khan <imran.f.khan@oracle.com>
Reported-and-tested-by: Xuewen Yan <xuewen.yan@unisoc.com>
Fixes: 05c7b7a92cc8 ("cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug")
Cc: stable@vger.kernel.org # v5.17+
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-15 11:32:04 +02:00
Tejun Heo
bfbacc2ef7 cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree
[ Upstream commit 671c11f0619e5ccb380bcf0f062f69ba95fc974a ]

cgroup_update_dfl_csses() write-lock the threadgroup_rwsem as updating the
csses can trigger process migrations. However, if the subtree doesn't
contain any tasks, there aren't gonna be any cgroup migrations. This
condition can be trivially detected by testing whether
mgctx.preloaded_src_csets is empty. Elide write-locking threadgroup_rwsem if
the subtree is empty.

After this optimization, the usage pattern of creating a cgroup, enabling
the necessary controllers, and then seeding it with CLONE_INTO_CGROUP and
then removing the cgroup after it becomes empty doesn't need to write-lock
threadgroup_rwsem at all.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Michal Koutný <mkoutny@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-15 11:32:04 +02:00
Christian A. Ehrhardt
ab60010225 kprobes: Prohibit probes in gate area
commit 1efda38d6f9ba26ac88b359c6277f1172db03f1e upstream.

The system call gate area counts as kernel text but trying
to install a kprobe in this area fails with an Oops later on.
To fix this explicitly disallow the gate area for kprobes.

Found by syzkaller with the following reproducer:
perf_event_open$cgroup(&(0x7f00000001c0)={0x6, 0x80, 0x0, 0x0, 0x0, 0x0, 0x80ffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0xffffffffff600000}}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0)

Sample report:
BUG: unable to handle page fault for address: fffffbfff3ac6000
PGD 6dfcb067 P4D 6dfcb067 PUD 6df8f067 PMD 6de4d067 PTE 0
Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 0 PID: 21978 Comm: syz-executor.2 Not tainted 6.0.0-rc3-00363-g7726d4c3e60b-dirty #6
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:__insn_get_emulate_prefix arch/x86/lib/insn.c:91 [inline]
RIP: 0010:insn_get_emulate_prefix arch/x86/lib/insn.c:106 [inline]
RIP: 0010:insn_get_prefixes.part.0+0xa8/0x1110 arch/x86/lib/insn.c:134
Code: 49 be 00 00 00 00 00 fc ff df 48 8b 40 60 48 89 44 24 08 e9 81 00 00 00 e8 e5 4b 39 ff 4c 89 fa 4c 89 f9 48 c1 ea 03 83 e1 07 <42> 0f b6 14 32 38 ca 7f 08 84 d2 0f 85 06 10 00 00 48 89 d8 48 89
RSP: 0018:ffffc900088bf860 EFLAGS: 00010246
RAX: 0000000000040000 RBX: ffffffff9b9bebc0 RCX: 0000000000000000
RDX: 1ffffffff3ac6000 RSI: ffffc90002d82000 RDI: ffffc900088bf9e8
RBP: ffffffff9d630001 R08: 0000000000000000 R09: ffffc900088bf9e8
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000001
R13: ffffffff9d630000 R14: dffffc0000000000 R15: ffffffff9d630000
FS:  00007f63eef63640(0000) GS:ffff88806d000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffbfff3ac6000 CR3: 0000000029d90005 CR4: 0000000000770ef0
PKRU: 55555554
Call Trace:
 <TASK>
 insn_get_prefixes arch/x86/lib/insn.c:131 [inline]
 insn_get_opcode arch/x86/lib/insn.c:272 [inline]
 insn_get_modrm+0x64a/0x7b0 arch/x86/lib/insn.c:343
 insn_get_sib+0x29a/0x330 arch/x86/lib/insn.c:421
 insn_get_displacement+0x350/0x6b0 arch/x86/lib/insn.c:464
 insn_get_immediate arch/x86/lib/insn.c:632 [inline]
 insn_get_length arch/x86/lib/insn.c:707 [inline]
 insn_decode+0x43a/0x490 arch/x86/lib/insn.c:747
 can_probe+0xfc/0x1d0 arch/x86/kernel/kprobes/core.c:282
 arch_prepare_kprobe+0x79/0x1c0 arch/x86/kernel/kprobes/core.c:739
 prepare_kprobe kernel/kprobes.c:1160 [inline]
 register_kprobe kernel/kprobes.c:1641 [inline]
 register_kprobe+0xb6e/0x1690 kernel/kprobes.c:1603
 __register_trace_kprobe kernel/trace/trace_kprobe.c:509 [inline]
 __register_trace_kprobe+0x26a/0x2d0 kernel/trace/trace_kprobe.c:477
 create_local_trace_kprobe+0x1f7/0x350 kernel/trace/trace_kprobe.c:1833
 perf_kprobe_init+0x18c/0x280 kernel/trace/trace_event_perf.c:271
 perf_kprobe_event_init+0xf8/0x1c0 kernel/events/core.c:9888
 perf_try_init_event+0x12d/0x570 kernel/events/core.c:11261
 perf_init_event kernel/events/core.c:11325 [inline]
 perf_event_alloc.part.0+0xf7f/0x36a0 kernel/events/core.c:11619
 perf_event_alloc kernel/events/core.c:12059 [inline]
 __do_sys_perf_event_open+0x4a8/0x2a00 kernel/events/core.c:12157
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x38/0x90 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f63ef7efaed
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f63eef63028 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 00007f63ef90ff80 RCX: 00007f63ef7efaed
RDX: 0000000000000000 RSI: ffffffffffffffff RDI: 00000000200001c0
RBP: 00007f63ef86019c R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000002 R14: 00007f63ef90ff80 R15: 00007f63eef43000
 </TASK>
Modules linked in:
CR2: fffffbfff3ac6000
---[ end trace 0000000000000000 ]---
RIP: 0010:__insn_get_emulate_prefix arch/x86/lib/insn.c:91 [inline]
RIP: 0010:insn_get_emulate_prefix arch/x86/lib/insn.c:106 [inline]
RIP: 0010:insn_get_prefixes.part.0+0xa8/0x1110 arch/x86/lib/insn.c:134
Code: 49 be 00 00 00 00 00 fc ff df 48 8b 40 60 48 89 44 24 08 e9 81 00 00 00 e8 e5 4b 39 ff 4c 89 fa 4c 89 f9 48 c1 ea 03 83 e1 07 <42> 0f b6 14 32 38 ca 7f 08 84 d2 0f 85 06 10 00 00 48 89 d8 48 89
RSP: 0018:ffffc900088bf860 EFLAGS: 00010246
RAX: 0000000000040000 RBX: ffffffff9b9bebc0 RCX: 0000000000000000
RDX: 1ffffffff3ac6000 RSI: ffffc90002d82000 RDI: ffffc900088bf9e8
RBP: ffffffff9d630001 R08: 0000000000000000 R09: ffffc900088bf9e8
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000001
R13: ffffffff9d630000 R14: dffffc0000000000 R15: ffffffff9d630000
FS:  00007f63eef63640(0000) GS:ffff88806d000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffbfff3ac6000 CR3: 0000000029d90005 CR4: 0000000000770ef0
PKRU: 55555554
==================================================================

Link: https://lkml.kernel.org/r/20220907200917.654103-1-lk@c--e.de

cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
cc: "David S. Miller" <davem@davemloft.net>
Cc: stable@vger.kernel.org
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Christian A. Ehrhardt <lk@c--e.de>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-15 11:32:03 +02:00
Linus Torvalds
8aaba3c5a1 BACKPORT: watchqueue: make sure to serialize 'wqueue->defunct' properly
commit 353f7988dd8413c47718f7ca79c030b6fb62cfe5 upstream.

When the pipe is closed, we mark the associated watchqueue defunct by
calling watch_queue_clear().  However, while that is protected by the
watchqueue lock, new watchqueue entries aren't actually added under that
lock at all: they use the pipe->rd_wait.lock instead, and looking up
that pipe happens without any locking.

The watchqueue code uses the RCU read-side section to make sure that the
wqueue entry itself hasn't disappeared, but that does not protect the
pipe_info in any way.

So make sure to actually hold the wqueue lock when posting watch events,
properly serializing against the pipe being torn down.

Bug: 235277737
Reported-by: Noam Rathaus <noamr@ssd-disclosure.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I42b0d56021be1d8950c3642ae0acc5cdccadb394
2022-09-12 07:24:14 +00:00
Pu Lehui
c5f975e3eb bpf, cgroup: Fix kernel BUG in purge_effective_progs
[ Upstream commit 7d6620f107bae6ed687ff07668e8e8f855487aa9 ]

Syzkaller reported a triggered kernel BUG as follows:

  ------------[ cut here ]------------
  kernel BUG at kernel/bpf/cgroup.c:925!
  invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
  CPU: 1 PID: 194 Comm: detach Not tainted 5.19.0-14184-g69dac8e431af #8
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
  rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
  RIP: 0010:__cgroup_bpf_detach+0x1f2/0x2a0
  Code: 00 e8 92 60 30 00 84 c0 75 d8 4c 89 e0 31 f6 85 f6 74 19 42 f6 84
  28 48 05 00 00 02 75 0e 48 8b 80 c0 00 00 00 48 85 c0 75 e5 <0f> 0b 48
  8b 0c5
  RSP: 0018:ffffc9000055bdb0 EFLAGS: 00000246
  RAX: 0000000000000000 RBX: ffff888100ec0800 RCX: ffffc900000f1000
  RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff888100ec4578
  RBP: 0000000000000000 R08: ffff888100ec0800 R09: 0000000000000040
  R10: 0000000000000000 R11: 0000000000000000 R12: ffff888100ec4000
  R13: 000000000000000d R14: ffffc90000199000 R15: ffff888100effb00
  FS:  00007f68213d2b80(0000) GS:ffff88813bc80000(0000)
  knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 000055f74a0e5850 CR3: 0000000102836000 CR4: 00000000000006e0
  Call Trace:
   <TASK>
   cgroup_bpf_prog_detach+0xcc/0x100
   __sys_bpf+0x2273/0x2a00
   __x64_sys_bpf+0x17/0x20
   do_syscall_64+0x3b/0x90
   entry_SYSCALL_64_after_hwframe+0x63/0xcd
  RIP: 0033:0x7f68214dbcb9
  Code: 08 44 89 e0 5b 41 5c c3 66 0f 1f 84 00 00 00 00 00 48 89 f8 48 89
  f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01
  f0 ff8
  RSP: 002b:00007ffeb487db68 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
  RAX: ffffffffffffffda RBX: 000000000000000b RCX: 00007f68214dbcb9
  RDX: 0000000000000090 RSI: 00007ffeb487db70 RDI: 0000000000000009
  RBP: 0000000000000003 R08: 0000000000000012 R09: 0000000b00000003
  R10: 00007ffeb487db70 R11: 0000000000000246 R12: 00007ffeb487dc20
  R13: 0000000000000004 R14: 0000000000000001 R15: 000055f74a1011b0
   </TASK>
  Modules linked in:
  ---[ end trace 0000000000000000 ]---

Repetition steps:

For the following cgroup tree,

  root
   |
  cg1
   |
  cg2

  1. attach prog2 to cg2, and then attach prog1 to cg1, both bpf progs
     attach type is NONE or OVERRIDE.
  2. write 1 to /proc/thread-self/fail-nth for failslab.
  3. detach prog1 for cg1, and then kernel BUG occur.

Failslab injection will cause kmalloc fail and fall back to
purge_effective_progs. The problem is that cg2 have attached another prog,
so when go through cg2 layer, iteration will add pos to 1, and subsequent
operations will be skipped by the following condition, and cg will meet
NULL in the end.

  `if (pos && !(cg->bpf.flags[atype] & BPF_F_ALLOW_MULTI))`

The NULL cg means no link or prog match, this is as expected, and it's not
a bug. So here just skip the no match situation.

Fixes: 4c46091ee985 ("bpf: Fix KASAN use-after-free Read in compute_effective_progs")
Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220813134030.1972696-1-pulehui@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-08 11:11:36 +02:00
Greg Kroah-Hartman
5d60de7a5f Merge 5.10.141 into android12-5.10-lts
Changes in 5.10.141
	mm: Force TLB flush for PFNMAP mappings before unlink_file_vma()
	x86/nospec: Unwreck the RSB stuffing
	x86/nospec: Fix i386 RSB stuffing
	crypto: lib - remove unneeded selection of XOR_BLOCKS
	s390/mm: do not trigger write fault when vma does not allow VM_WRITE
	kbuild: Fix include path in scripts/Makefile.modpost
	Bluetooth: L2CAP: Fix build errors in some archs
	Revert "PCI/portdrv: Don't disable AER reporting in get_port_device_capability()"
	HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report
	udmabuf: Set the DMA mask for the udmabuf device (v2)
	media: pvrusb2: fix memory leak in pvr_probe
	HID: hidraw: fix memory leak in hidraw_release()
	net: fix refcount bug in sk_psock_get (2)
	fbdev: fb_pm2fb: Avoid potential divide by zero error
	ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead
	bpf: Don't redirect packets with invalid pkt_len
	mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse
	mmc: mtk-sd: Clear interrupts when cqe off/disable
	drm/amd/display: Avoid MPC infinite loop
	drm/amd/display: For stereo keep "FLIP_ANY_FRAME"
	drm/amd/display: clear optc underflow before turn off odm clock
	neigh: fix possible DoS due to net iface start/stop loop
	s390/hypfs: avoid error message under KVM
	drm/amd/pm: add missing ->fini_microcode interface for Sienna Cichlid
	drm/amd/display: Fix pixel clock programming
	drm/amdgpu: Increase tlb flush timeout for sriov
	netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y
	lib/vdso: Mark do_hres_timens() and do_coarse_timens() __always_inline()
	kprobes: don't call disarm_kprobe() for disabled kprobes
	io_uring: disable polling pollfree files
	xfs: remove infinite loop when reserving free block pool
	xfs: always succeed at setting the reserve pool size
	xfs: fix overfilling of reserve pool
	xfs: fix soft lockup via spinning in filestream ag selection loop
	xfs: revert "xfs: actually bump warning counts when we send warnings"
	net/af_packet: check len when min_header_len equals to 0
	net: neigh: don't call kfree_skb() under spin_lock_irqsave()
	Linux 5.10.141

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8b6a1e0bd31df051b90433857f126c183771d367
2022-09-07 09:44:58 +02:00
deyaoren@google.com
45971eed4e Merge remote-tracking branch into HEAD
* keystone/mirror-android12-5.10-2022-08: (704 commits)
  ANDROID: Update symbol list for mtk
  ANDROID: GKI: rockchip: Add symbols for crypto
  ANDROID: GKI: rockchip: Add symbol pci_disable_link_state
  ANDROID: GKI: rockchip: Add symbols for sound
  ANDROID: GKI: rockchip: Add symbols for video
  BACKPORT: f2fs: do not set compression bit if kernel doesn't support
  UPSTREAM: exfat: improve performance of exfat_free_cluster when using dirsync mount
  ANDROID: GKI: rockchip: Add symbols for drm dp
  UPSTREAM: arm64: perf: Support new DT compatibles
  UPSTREAM: arm64: perf: Simplify registration boilerplate
  UPSTREAM: arm64: perf: Support Denver and Carmel PMUs
  UPSTREAM: arm64: perf: add support for Cortex-A78
  ANDROID: GKI: rockchip: Update symbol for devfreq
  ANDROID: GKI: rockchip: Update symbols for drm
  ANDROID: GKI: Update symbols to symbol list
  UPSTREAM: ASoC: hdmi-codec: make hdmi_codec_controls static
  UPSTREAM: ASoC: hdmi-codec: Add a prepare hook
  UPSTREAM: ASoC: hdmi-codec: Add iec958 controls
  UPSTREAM: ASoC: hdmi-codec: Rework to support more controls
  UPSTREAM: ALSA: iec958: Split status creation and fill
  ...

Change-Id: I8504c6f097b53bd7d8fa7524e4abf4b871d023bc
2022-09-06 22:45:22 +00:00
Kuniyuki Iwashima
744b0d3080 kprobes: don't call disarm_kprobe() for disabled kprobes
commit 9c80e79906b4ca440d09e7f116609262bb747909 upstream.

The assumption in __disable_kprobe() is wrong, and it could try to disarm
an already disarmed kprobe and fire the WARN_ONCE() below. [0]  We can
easily reproduce this issue.

1. Write 0 to /sys/kernel/debug/kprobes/enabled.

  # echo 0 > /sys/kernel/debug/kprobes/enabled

2. Run execsnoop.  At this time, one kprobe is disabled.

  # /usr/share/bcc/tools/execsnoop &
  [1] 2460
  PCOMM            PID    PPID   RET ARGS

  # cat /sys/kernel/debug/kprobes/list
  ffffffff91345650  r  __x64_sys_execve+0x0    [FTRACE]
  ffffffff91345650  k  __x64_sys_execve+0x0    [DISABLED][FTRACE]

3. Write 1 to /sys/kernel/debug/kprobes/enabled, which changes
   kprobes_all_disarmed to false but does not arm the disabled kprobe.

  # echo 1 > /sys/kernel/debug/kprobes/enabled

  # cat /sys/kernel/debug/kprobes/list
  ffffffff91345650  r  __x64_sys_execve+0x0    [FTRACE]
  ffffffff91345650  k  __x64_sys_execve+0x0    [DISABLED][FTRACE]

4. Kill execsnoop, when __disable_kprobe() calls disarm_kprobe() for the
   disabled kprobe and hits the WARN_ONCE() in __disarm_kprobe_ftrace().

  # fg
  /usr/share/bcc/tools/execsnoop
  ^C

Actually, WARN_ONCE() is fired twice, and __unregister_kprobe_top() misses
some cleanups and leaves the aggregated kprobe in the hash table.  Then,
__unregister_trace_kprobe() initialises tk->rp.kp.list and creates an
infinite loop like this.

  aggregated kprobe.list -> kprobe.list -.
                                     ^    |
                                     '.__.'

In this situation, these commands fall into the infinite loop and result
in RCU stall or soft lockup.

  cat /sys/kernel/debug/kprobes/list : show_kprobe_addr() enters into the
                                       infinite loop with RCU.

  /usr/share/bcc/tools/execsnoop : warn_kprobe_rereg() holds kprobe_mutex,
                                   and __get_valid_kprobe() is stuck in
				   the loop.

To avoid the issue, make sure we don't call disarm_kprobe() for disabled
kprobes.

[0]
Failed to disarm kprobe-ftrace at __x64_sys_execve+0x0/0x40 (error -2)
WARNING: CPU: 6 PID: 2460 at kernel/kprobes.c:1130 __disarm_kprobe_ftrace.isra.19 (kernel/kprobes.c:1129)
Modules linked in: ena
CPU: 6 PID: 2460 Comm: execsnoop Not tainted 5.19.0+ #28
Hardware name: Amazon EC2 c5.2xlarge/, BIOS 1.0 10/16/2017
RIP: 0010:__disarm_kprobe_ftrace.isra.19 (kernel/kprobes.c:1129)
Code: 24 8b 02 eb c1 80 3d c4 83 f2 01 00 75 d4 48 8b 75 00 89 c2 48 c7 c7 90 fa 0f 92 89 04 24 c6 05 ab 83 01 e8 e4 94 f0 ff <0f> 0b 8b 04 24 eb b1 89 c6 48 c7 c7 60 fa 0f 92 89 04 24 e8 cc 94
RSP: 0018:ffff9e6ec154bd98 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffffffff930f7b00 RCX: 0000000000000001
RDX: 0000000080000001 RSI: ffffffff921461c5 RDI: 00000000ffffffff
RBP: ffff89c504286da8 R08: 0000000000000000 R09: c0000000fffeffff
R10: 0000000000000000 R11: ffff9e6ec154bc28 R12: ffff89c502394e40
R13: ffff89c502394c00 R14: ffff9e6ec154bc00 R15: 0000000000000000
FS:  00007fe800398740(0000) GS:ffff89c812d80000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000c00057f010 CR3: 0000000103b54006 CR4: 00000000007706e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
<TASK>
 __disable_kprobe (kernel/kprobes.c:1716)
 disable_kprobe (kernel/kprobes.c:2392)
 __disable_trace_kprobe (kernel/trace/trace_kprobe.c:340)
 disable_trace_kprobe (kernel/trace/trace_kprobe.c:429)
 perf_trace_event_unreg.isra.2 (./include/linux/tracepoint.h:93 kernel/trace/trace_event_perf.c:168)
 perf_kprobe_destroy (kernel/trace/trace_event_perf.c:295)
 _free_event (kernel/events/core.c:4971)
 perf_event_release_kernel (kernel/events/core.c:5176)
 perf_release (kernel/events/core.c:5186)
 __fput (fs/file_table.c:321)
 task_work_run (./include/linux/sched.h:2056 (discriminator 1) kernel/task_work.c:179 (discriminator 1))
 exit_to_user_mode_prepare (./include/linux/resume_user_mode.h:49 kernel/entry/common.c:169 kernel/entry/common.c:201)
 syscall_exit_to_user_mode (./arch/x86/include/asm/jump_label.h:55 ./arch/x86/include/asm/nospec-branch.h:384 ./arch/x86/include/asm/entry-common.h:94 kernel/entry/common.c:133 kernel/entry/common.c:296)
 do_syscall_64 (arch/x86/entry/common.c:87)
 entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
RIP: 0033:0x7fe7ff210654
Code: 15 79 89 20 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb be 0f 1f 00 8b 05 9a cd 20 00 48 63 ff 85 c0 75 11 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 3a f3 c3 48 83 ec 18 48 89 7c 24 08 e8 34 fc
RSP: 002b:00007ffdbd1d3538 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000008 RCX: 00007fe7ff210654
RDX: 0000000000000000 RSI: 0000000000002401 RDI: 0000000000000008
RBP: 0000000000000000 R08: 94ae31d6fda838a4 R0900007fe8001c9d30
R10: 00007ffdbd1d34b0 R11: 0000000000000246 R12: 00007ffdbd1d3600
R13: 0000000000000000 R14: fffffffffffffffc R15: 00007ffdbd1d3560
</TASK>

Link: https://lkml.kernel.org/r/20220813020509.90805-1-kuniyu@amazon.com
Fixes: 69d54b916d ("kprobes: makes kprobes/enabled works correctly for optimized kprobes.")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reported-by: Ayushman Dutta <ayudutta@amazon.com>
Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Kuniyuki Iwashima <kuniyu@amazon.com>
Cc: Kuniyuki Iwashima <kuni1840@gmail.com>
Cc: Ayushman Dutta <ayudutta@amazon.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-05 10:28:58 +02:00
Yang Jihong
dbd8c8fc60 ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead
commit c3b0f72e805f0801f05fa2aa52011c4bfc694c44 upstream.

ftrace_startup does not remove ops from ftrace_ops_list when
ftrace_startup_enable fails:

register_ftrace_function
  ftrace_startup
    __register_ftrace_function
      ...
      add_ftrace_ops(&ftrace_ops_list, ops)
      ...
    ...
    ftrace_startup_enable // if ftrace failed to modify, ftrace_disabled is set to 1
    ...
  return 0 // ops is in the ftrace_ops_list.

When ftrace_disabled = 1, unregister_ftrace_function simply returns without doing anything:
unregister_ftrace_function
  ftrace_shutdown
    if (unlikely(ftrace_disabled))
            return -ENODEV;  // return here, __unregister_ftrace_function is not executed,
                             // as a result, ops is still in the ftrace_ops_list
    __unregister_ftrace_function
    ...

If ops is dynamically allocated, it will be free later, in this case,
is_ftrace_trampoline accesses NULL pointer:

is_ftrace_trampoline
  ftrace_ops_trampoline
    do_for_each_ftrace_op(op, ftrace_ops_list) // OOPS! op may be NULL!

Syzkaller reports as follows:
[ 1203.506103] BUG: kernel NULL pointer dereference, address: 000000000000010b
[ 1203.508039] #PF: supervisor read access in kernel mode
[ 1203.508798] #PF: error_code(0x0000) - not-present page
[ 1203.509558] PGD 800000011660b067 P4D 800000011660b067 PUD 130fb8067 PMD 0
[ 1203.510560] Oops: 0000 [#1] SMP KASAN PTI
[ 1203.511189] CPU: 6 PID: 29532 Comm: syz-executor.2 Tainted: G    B   W         5.10.0 #8
[ 1203.512324] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
[ 1203.513895] RIP: 0010:is_ftrace_trampoline+0x26/0xb0
[ 1203.514644] Code: ff eb d3 90 41 55 41 54 49 89 fc 55 53 e8 f2 00 fd ff 48 8b 1d 3b 35 5d 03 e8 e6 00 fd ff 48 8d bb 90 00 00 00 e8 2a 81 26 00 <48> 8b ab 90 00 00 00 48 85 ed 74 1d e8 c9 00 fd ff 48 8d bb 98 00
[ 1203.518838] RSP: 0018:ffffc900012cf960 EFLAGS: 00010246
[ 1203.520092] RAX: 0000000000000000 RBX: 000000000000007b RCX: ffffffff8a331866
[ 1203.521469] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 000000000000010b
[ 1203.522583] RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8df18b07
[ 1203.523550] R10: fffffbfff1be3160 R11: 0000000000000001 R12: 0000000000478399
[ 1203.524596] R13: 0000000000000000 R14: ffff888145088000 R15: 0000000000000008
[ 1203.525634] FS:  00007f429f5f4700(0000) GS:ffff8881daf00000(0000) knlGS:0000000000000000
[ 1203.526801] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1203.527626] CR2: 000000000000010b CR3: 0000000170e1e001 CR4: 00000000003706e0
[ 1203.528611] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1203.529605] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Therefore, when ftrace_startup_enable fails, we need to rollback registration
process and remove ops from ftrace_ops_list.

Link: https://lkml.kernel.org/r/20220818032659.56209-1-yangjihong1@huawei.com

Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-05 10:28:56 +02:00
Greg Kroah-Hartman
85aff72329 Revert "ANDROID: GKI: signal: Export for __lock_task_sighand"
This reverts commit a719abf031.

The symbol was never used by any external module, so remove the unneeded
export.

Bug: 158067689
Bug: 203756332
Cc: Abhilasha Rao <abhilasha.hv@samsung.corp-partner.google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I13b65fd0620faf08784dabc7130f199dfa5cf053
2022-08-31 22:51:15 +00:00
Greg Kroah-Hartman
5939035887 Merge 5.10.140 into android12-5.10-lts
Changes in 5.10.140
	audit: fix potential double free on error path from fsnotify_add_inode_mark
	parisc: Fix exception handler for fldw and fstw instructions
	kernel/sys_ni: add compat entry for fadvise64_64
	pinctrl: amd: Don't save/restore interrupt status and wake status bits
	xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list()
	xfs: reject crazy array sizes being fed to XFS_IOC_GETBMAP*
	fs: remove __sync_filesystem
	vfs: make sync_filesystem return errors from ->sync_fs
	xfs: return errors in xfs_fs_sync_fs
	xfs: only bother with sync_filesystem during readonly remount
	kernel/sched: Remove dl_boosted flag comment
	xfrm: fix refcount leak in __xfrm_policy_check()
	xfrm: clone missing x->lastused in xfrm_do_migrate
	af_key: Do not call xfrm_probe_algs in parallel
	xfrm: policy: fix metadata dst->dev xmit null pointer dereference
	NFS: Don't allocate nfs_fattr on the stack in __nfs42_ssc_open()
	NFSv4.2 fix problems with __nfs42_ssc_open
	SUNRPC: RPC level errors should set task->tk_rpc_status
	mm/huge_memory.c: use helper function migration_entry_to_page()
	mm/smaps: don't access young/dirty bit if pte unpresent
	rose: check NULL rose_loopback_neigh->loopback
	nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout
	ice: xsk: Force rings to be sized to power of 2
	ice: xsk: prohibit usage of non-balanced queue id
	net/mlx5e: Properly disable vlan strip on non-UL reps
	net: ipa: don't assume SMEM is page-aligned
	net: moxa: get rid of asymmetry in DMA mapping/unmapping
	bonding: 802.3ad: fix no transmission of LACPDUs
	net: ipvtap - add __init/__exit annotations to module init/exit funcs
	netfilter: ebtables: reject blobs that don't provide all entry points
	bnxt_en: fix NQ resource accounting during vf creation on 57500 chips
	netfilter: nft_payload: report ERANGE for too long offset and length
	netfilter: nft_payload: do not truncate csum_offset and csum_type
	netfilter: nf_tables: do not leave chain stats enabled on error
	netfilter: nft_osf: restrict osf to ipv4, ipv6 and inet families
	netfilter: nft_tunnel: restrict it to netdev family
	netfilter: nftables: remove redundant assignment of variable err
	netfilter: nf_tables: consolidate rule verdict trace call
	netfilter: nft_cmp: optimize comparison for 16-bytes
	netfilter: bitwise: improve error goto labels
	netfilter: nf_tables: upfront validation of data via nft_data_init()
	netfilter: nf_tables: disallow jump to implicit chain from set element
	netfilter: nf_tables: disallow binding to already bound chain
	tcp: tweak len/truesize ratio for coalesce candidates
	net: Fix data-races around sysctl_[rw]mem(_offset)?.
	net: Fix data-races around sysctl_[rw]mem_(max|default).
	net: Fix data-races around weight_p and dev_weight_[rt]x_bias.
	net: Fix data-races around netdev_max_backlog.
	net: Fix data-races around netdev_tstamp_prequeue.
	ratelimit: Fix data-races in ___ratelimit().
	bpf: Folding omem_charge() into sk_storage_charge()
	net: Fix data-races around sysctl_optmem_max.
	net: Fix a data-race around sysctl_tstamp_allow_data.
	net: Fix a data-race around sysctl_net_busy_poll.
	net: Fix a data-race around sysctl_net_busy_read.
	net: Fix a data-race around netdev_budget.
	net: Fix a data-race around netdev_budget_usecs.
	net: Fix data-races around sysctl_fb_tunnels_only_for_init_net.
	net: Fix data-races around sysctl_devconf_inherit_init_net.
	net: Fix a data-race around sysctl_somaxconn.
	ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter
	rxrpc: Fix locking in rxrpc's sendmsg
	ionic: fix up issues with handling EAGAIN on FW cmds
	btrfs: fix silent failure when deleting root reference
	btrfs: replace: drop assert for suspended replace
	btrfs: add info when mount fails due to stale replace target
	btrfs: check if root is readonly while setting security xattr
	perf/x86/lbr: Enable the branch type for the Arch LBR by default
	x86/unwind/orc: Unwind ftrace trampolines with correct ORC entry
	x86/bugs: Add "unknown" reporting for MMIO Stale Data
	loop: Check for overflow while configuring loop
	asm-generic: sections: refactor memory_intersects
	s390: fix double free of GS and RI CBs on fork() failure
	ACPI: processor: Remove freq Qos request for all CPUs
	xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
	mm/hugetlb: fix hugetlb not supporting softdirty tracking
	Revert "md-raid: destroy the bitmap after destroying the thread"
	md: call __md_stop_writes in md_stop
	arm64: Fix match_list for erratum 1286807 on Arm Cortex-A76
	Documentation/ABI: Mention retbleed vulnerability info file for sysfs
	blk-mq: fix io hung due to missing commit_rqs
	perf python: Fix build when PYTHON_CONFIG is user supplied
	perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU
	scsi: ufs: core: Enable link lost interrupt
	scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq
	bpf: Don't use tnum_range on array range checking for poke descriptors
	Linux 5.10.140

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I29f4b4af2a584dc2f2789aac613583603002464a
2022-08-31 18:52:48 +02:00
Daniel Borkmann
e897980717 bpf: Don't use tnum_range on array range checking for poke descriptors
commit a657182a5c5150cdfacb6640aad1d2712571a409 upstream.

Hsin-Wei reported a KASAN splat triggered by their BPF runtime fuzzer which
is based on a customized syzkaller:

  BUG: KASAN: slab-out-of-bounds in bpf_int_jit_compile+0x1257/0x13f0
  Read of size 8 at addr ffff888004e90b58 by task syz-executor.0/1489
  CPU: 1 PID: 1489 Comm: syz-executor.0 Not tainted 5.19.0 #1
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
  1.13.0-1ubuntu1.1 04/01/2014
  Call Trace:
   <TASK>
   dump_stack_lvl+0x9c/0xc9
   print_address_description.constprop.0+0x1f/0x1f0
   ? bpf_int_jit_compile+0x1257/0x13f0
   kasan_report.cold+0xeb/0x197
   ? kvmalloc_node+0x170/0x200
   ? bpf_int_jit_compile+0x1257/0x13f0
   bpf_int_jit_compile+0x1257/0x13f0
   ? arch_prepare_bpf_dispatcher+0xd0/0xd0
   ? rcu_read_lock_sched_held+0x43/0x70
   bpf_prog_select_runtime+0x3e8/0x640
   ? bpf_obj_name_cpy+0x149/0x1b0
   bpf_prog_load+0x102f/0x2220
   ? __bpf_prog_put.constprop.0+0x220/0x220
   ? find_held_lock+0x2c/0x110
   ? __might_fault+0xd6/0x180
   ? lock_downgrade+0x6e0/0x6e0
   ? lock_is_held_type+0xa6/0x120
   ? __might_fault+0x147/0x180
   __sys_bpf+0x137b/0x6070
   ? bpf_perf_link_attach+0x530/0x530
   ? new_sync_read+0x600/0x600
   ? __fget_files+0x255/0x450
   ? lock_downgrade+0x6e0/0x6e0
   ? fput+0x30/0x1a0
   ? ksys_write+0x1a8/0x260
   __x64_sys_bpf+0x7a/0xc0
   ? syscall_enter_from_user_mode+0x21/0x70
   do_syscall_64+0x3b/0x90
   entry_SYSCALL_64_after_hwframe+0x63/0xcd
  RIP: 0033:0x7f917c4e2c2d

The problem here is that a range of tnum_range(0, map->max_entries - 1) has
limited ability to represent the concrete tight range with the tnum as the
set of resulting states from value + mask can result in a superset of the
actual intended range, and as such a tnum_in(range, reg->var_off) check may
yield true when it shouldn't, for example tnum_range(0, 2) would result in
00XX -> v = 0000, m = 0011 such that the intended set of {0, 1, 2} is here
represented by a less precise superset of {0, 1, 2, 3}. As the register is
known const scalar, really just use the concrete reg->var_off.value for the
upper index check.

Fixes: d2e4c1e6c2 ("bpf: Constant map key tracking for prog array pokes")
Reported-by: Hsin-Wei Hung <hsinweih@uci.edu>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/r/984b37f9fdf7ac36831d2137415a4a915744c1b6.1661462653.git.daniel@iogearbox.net
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-31 17:15:24 +02:00
Randy Dunlap
665433b5dd kernel/sys_ni: add compat entry for fadvise64_64
commit a8faed3a02eeb75857a3b5d660fa80fe79db77a3 upstream.

When CONFIG_ADVISE_SYSCALLS is not set/enabled and CONFIG_COMPAT is
set/enabled, the riscv compat_syscall_table references
'compat_sys_fadvise64_64', which is not defined:

riscv64-linux-ld: arch/riscv/kernel/compat_syscall_table.o:(.rodata+0x6f8):
undefined reference to `compat_sys_fadvise64_64'

Add 'fadvise64_64' to kernel/sys_ni.c as a conditional COMPAT function so
that when CONFIG_ADVISE_SYSCALLS is not set, there is a fallback function
available.

Link: https://lkml.kernel.org/r/20220807220934.5689-1-rdunlap@infradead.org
Fixes: d3ac21cacc ("mm: Support compiling out madvise and fadvise")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-31 17:15:13 +02:00
Gaosheng Cui
e10bb2f2e9 audit: fix potential double free on error path from fsnotify_add_inode_mark
commit ad982c3be4e60c7d39c03f782733503cbd88fd2a upstream.

Audit_alloc_mark() assign pathname to audit_mark->path, on error path
from fsnotify_add_inode_mark(), fsnotify_put_mark will free memory
of audit_mark->path, but the caller of audit_alloc_mark will free
the pathname again, so there will be double free problem.

Fix this by resetting audit_mark->path to NULL pointer on error path
from fsnotify_add_inode_mark().

Cc: stable@vger.kernel.org
Fixes: 7b12932340 ("fsnotify: Add group pointer in fsnotify_init_mark()")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-31 17:15:13 +02:00
Greg Kroah-Hartman
5597d5439f Merge 5.10.138 into android12-5.10-lts
Changes in 5.10.138
	ALSA: info: Fix llseek return value when using callback
	ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU
	x86/mm: Use proper mask when setting PUD mapping
	rds: add missing barrier to release_refill
	ata: libata-eh: Add missing command name
	mmc: pxamci: Fix another error handling path in pxamci_probe()
	mmc: pxamci: Fix an error handling path in pxamci_probe()
	mmc: meson-gx: Fix an error handling path in meson_mmc_probe()
	btrfs: fix lost error handling when looking up extended ref on log replay
	tracing: Have filter accept "common_cpu" to be consistent
	ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II
	can: ems_usb: fix clang's -Wunaligned-access warning
	apparmor: fix quiet_denied for file rules
	apparmor: fix absroot causing audited secids to begin with =
	apparmor: Fix failed mount permission check error message
	apparmor: fix aa_label_asxprint return check
	apparmor: fix setting unconfined mode on a loaded profile
	apparmor: fix overlapping attachment computation
	apparmor: fix reference count leak in aa_pivotroot()
	apparmor: Fix memleak in aa_simple_write_to_buffer()
	Documentation: ACPI: EINJ: Fix obsolete example
	NFSv4.1: Don't decrease the value of seq_nr_highest_sent
	NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
	NFSv4: Fix races in the legacy idmapper upcall
	NFSv4.1: RECLAIM_COMPLETE must handle EACCES
	NFSv4/pnfs: Fix a use-after-free bug in open
	bpf: Acquire map uref in .init_seq_private for array map iterator
	bpf: Acquire map uref in .init_seq_private for hash map iterator
	bpf: Acquire map uref in .init_seq_private for sock local storage map iterator
	bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator
	bpf: Check the validity of max_rdwr_access for sock local storage map iterator
	can: mcp251x: Fix race condition on receive interrupt
	net: atlantic: fix aq_vec index out of range error
	sunrpc: fix expiry of auth creds
	SUNRPC: Reinitialise the backchannel request buffers before reuse
	virtio_net: fix memory leak inside XPD_TX with mergeable
	devlink: Fix use-after-free after a failed reload
	net: bgmac: Fix a BUG triggered by wrong bytes_compl
	pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map
	pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed
	pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
	pinctrl: qcom: sm8250: Fix PDC map
	ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool
	geneve: do not use RT_TOS for IPv6 flowlabel
	ipv6: do not use RT_TOS for IPv6 flowlabel
	plip: avoid rcu debug splat
	vsock: Fix memory leak in vsock_connect()
	vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout()
	dt-bindings: arm: qcom: fix MSM8916 MTP compatibles
	dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources
	ceph: use correct index when encoding client supported features
	tools/vm/slabinfo: use alphabetic order when two values are equal
	ceph: don't leak snap_rwsem in handle_cap_grant
	kbuild: dummy-tools: avoid tmpdir leak in dummy gcc
	tools build: Switch to new openssl API for test-libcrypto
	NTB: ntb_tool: uninitialized heap data in tool_fn_write()
	nfp: ethtool: fix the display error of `ethtool -m DEVNAME`
	xen/xenbus: fix return type in xenbus_file_read()
	atm: idt77252: fix use-after-free bugs caused by tst_timer
	geneve: fix TOS inheriting for ipv4
	perf probe: Fix an error handling path in 'parse_perf_probe_command()'
	dpaa2-eth: trace the allocated address instead of page struct
	nios2: page fault et.al. are *not* restartable syscalls...
	nios2: don't leave NULLs in sys_call_table[]
	nios2: traced syscall does need to check the syscall number
	nios2: fix syscall restart checks
	nios2: restarts apply only to the first sigframe we build...
	nios2: add force_successful_syscall_return()
	iavf: Fix adminq error handling
	ASoC: tas2770: Set correct FSYNC polarity
	ASoC: tas2770: Allow mono streams
	ASoC: tas2770: Drop conflicting set_bias_level power setting
	ASoC: tas2770: Fix handling of mute/unmute
	netfilter: nf_tables: really skip inactive sets when allocating name
	netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
	netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified
	powerpc/pci: Fix get_phb_number() locking
	spi: meson-spicc: add local pow2 clock ops to preserve rate between messages
	net: dsa: mv88e6060: prevent crash on an unused port
	net: moxa: pass pdev instead of ndev to DMA functions
	net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry
	net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters
	net: genl: fix error path memory leak in policy dumping
	net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions()
	ice: Ignore EEXIST when setting promisc mode
	i2c: imx: Make sure to unregister adapter on remove()
	regulator: pca9450: Remove restrictions for regulator-name
	i40e: Fix to stop tx_timeout recovery if GLOBR fails
	fec: Fix timer capture timing in `fec_ptp_enable_pps()`
	stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove()
	igb: Add lock to avoid data race
	kbuild: fix the modules order between drivers and libs
	gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file
	locking/atomic: Make test_and_*_bit() ordered on failure
	ASoC: SOF: intel: move sof_intel_dsp_desc() forward
	drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors()
	audit: log nftables configuration change events once per table
	netfilter: nftables: add helper function to set the base sequence number
	netfilter: add helper function to set up the nfnetlink header and use it
	drm/sun4i: dsi: Prevent underflow when computing packet sizes
	PCI: Add ACS quirk for Broadcom BCM5750x NICs
	platform/chrome: cros_ec_proto: don't show MKBP version if unsupported
	usb: cdns3 fix use-after-free at workaround 2
	usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info
	irqchip/tegra: Fix overflow implicit truncation warnings
	drm/meson: Fix overflow implicit truncation warnings
	clk: ti: Stop using legacy clkctrl names for omap4 and 5
	usb: host: ohci-ppc-of: Fix refcount leak bug
	usb: renesas: Fix refcount leak bug
	usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch
	vboxguest: Do not use devm for irq
	clk: qcom: ipq8074: dont disable gcc_sleep_clk_src
	uacce: Handle parent device removal or parent driver module rmmod
	zram: do not lookup algorithm in backends table
	clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description
	scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input
	gadgetfs: ep_io - wait until IRQ finishes
	pinctrl: intel: Check against matching data instead of ACPI companion
	cxl: Fix a memory leak in an error handling path
	PCI/ACPI: Guard ARM64-specific mcfg_quirks
	um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups
	RDMA/rxe: Limit the number of calls to each tasklet
	csky/kprobe: reclaim insn_slot on kprobe unregistration
	selftests/kprobe: Do not test for GRP/ without event failures
	dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
	md: Notify sysfs sync_completed in md_reap_sync_thread()
	nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown
	drivers:md:fix a potential use-after-free bug
	ext4: avoid remove directory when directory is corrupted
	ext4: avoid resizing to a partial cluster size
	lib/list_debug.c: Detect uninitialized lists
	tty: serial: Fix refcount leak bug in ucc_uart.c
	vfio: Clear the caps->buf to NULL after free
	mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start
	modules: Ensure natural alignment for .altinstructions and __bug_table sections
	riscv: mmap with PROT_WRITE but no PROT_READ is invalid
	RISC-V: Add fast call path of crash_kexec()
	watchdog: export lockup_detector_reconfigure
	powerpc/32: Don't always pass -mcpu=powerpc to the compiler
	ALSA: core: Add async signal helpers
	ALSA: timer: Use deferred fasync helper
	ALSA: control: Use deferred fasync helper
	f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()
	f2fs: fix to do sanity check on segment type in build_sit_entries()
	smb3: check xattr value length earlier
	powerpc/64: Init jump labels before parse_early_param()
	video: fbdev: i740fb: Check the argument of i740_calc_vclk()
	MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0
	netfilter: nftables: fix a warning message in nf_tables_commit_audit_collect()
	netfilter: nf_tables: fix audit memory leak in nf_tables_commit
	tracing/probes: Have kprobes and uprobes use $COMM too
	can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once()
	can: j1939: j1939_session_destroy(): fix memory leak of skbs
	PCI/ERR: Retain status from error notification
	qrtr: Convert qrtr_ports from IDR to XArray
	bpf: Fix KASAN use-after-free Read in compute_effective_progs
	tee: fix memory leak in tee_shm_register()
	Linux 5.10.138

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5983f3534b158edccd87bc7a7fe41ca07836d3eb
2022-08-30 12:59:52 +02:00
Greg Kroah-Hartman
1e247e4040 Revert "block: remove the request_queue to argument request based tracepoints"
This reverts commit 1cb3032406 which is
commit a54895fa057c67700270777f7661d8d3c7fda88a upstream.

It breaks the Android GKI kernel abi, and is not needed for Android
devices, so revert it for now.  If it is needed for this branch, it can
come back later in an ABI-stable way.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4148feec0c39bb0a5644203da6f1374bf1769dbd
2022-08-30 12:56:06 +02:00
Greg Kroah-Hartman
33d6fea819 Revert "blktrace: Trace remapped requests correctly"
This reverts commit 1ed71e6bce which is
commit 22c80aac882f712897b88b7ea8f5a74ea19019df upstream.

It breaks the Android GKI kernel abi, and is not needed for Android
devices, so revert it for now.  If it is needed for this branch, it can
come back later in an ABI-stable way.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I75de120370233d680e33d91d21ed55c2396ed2d0
2022-08-30 12:55:20 +02:00
Greg Kroah-Hartman
fbe6a13851 Merge 5.10.137 into android12-5.10-lts
Changes in 5.10.137
	Makefile: link with -z noexecstack --no-warn-rwx-segments
	x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments
	Revert "pNFS: nfs3_set_ds_client should set NFS_CS_NOPING"
	scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover"
	ALSA: bcd2000: Fix a UAF bug on the error path of probing
	ALSA: hda/realtek: Add quirk for Clevo NV45PZ
	ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx
	wifi: mac80211_hwsim: fix race condition in pending packet
	wifi: mac80211_hwsim: add back erroneously removed cast
	wifi: mac80211_hwsim: use 32-bit skb cookie
	add barriers to buffer_uptodate and set_buffer_uptodate
	HID: wacom: Only report rotation for art pen
	HID: wacom: Don't register pad_input for touch switch
	KVM: nVMX: Snapshot pre-VM-Enter BNDCFGS for !nested_run_pending case
	KVM: nVMX: Snapshot pre-VM-Enter DEBUGCTL for !nested_run_pending case
	KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
	KVM: s390: pv: don't present the ecall interrupt twice
	KVM: nVMX: Let userspace set nVMX MSR to any _host_ supported value
	KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks
	KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP
	KVM: x86: Tag kvm_mmu_x86_module_init() with __init
	riscv: set default pm_power_off to NULL
	mm: Add kvrealloc()
	xfs: only set IOMAP_F_SHARED when providing a srcmap to a write
	xfs: fix I_DONTCACHE
	mm/mremap: hold the rmap lock in write mode when moving page table entries.
	ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model
	ALSA: hda/cirrus - support for iMac 12,1 model
	ALSA: hda/realtek: Add quirk for another Asus K42JZ model
	ALSA: hda/realtek: Add a quirk for HP OMEN 15 (8786) mute LED
	tty: vt: initialize unicode screen buffer
	vfs: Check the truncate maximum size in inode_newsize_ok()
	fs: Add missing umask strip in vfs_tmpfile
	thermal: sysfs: Fix cooling_device_stats_setup() error code path
	fbcon: Fix boundary checks for fbcon=vc:n1-n2 parameters
	fbcon: Fix accelerated fbdev scrolling while logo is still shown
	usbnet: Fix linkwatch use-after-free on disconnect
	ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()
	parisc: Fix device names in /proc/iomem
	parisc: Check the return value of ioremap() in lba_driver_probe()
	parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode
	drm/gem: Properly annotate WW context on drm_gem_lock_reservations() error
	drm/vc4: hdmi: Disable audio if dmas property is present but empty
	drm/nouveau: fix another off-by-one in nvbios_addr
	drm/nouveau: Don't pm_runtime_put_sync(), only pm_runtime_put_autosuspend()
	drm/nouveau/acpi: Don't print error when we get -EINPROGRESS from pm_runtime
	drm/amdgpu: Check BO's requested pinning domains against its preferred_domains
	mtd: rawnand: arasan: Update NAND bus clock instead of system clock
	iio: light: isl29028: Fix the warning in isl29028_remove()
	scsi: sg: Allow waiting for commands to complete on removed device
	scsi: qla2xxx: Fix incorrect display of max frame size
	scsi: qla2xxx: Zero undefined mailbox IN registers
	fuse: limit nsec
	serial: mvebu-uart: uart2 error bits clearing
	md-raid: destroy the bitmap after destroying the thread
	md-raid10: fix KASAN warning
	media: [PATCH] pci: atomisp_cmd: fix three missing checks on list iterator
	ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr()
	PCI: Add defines for normal and subtractive PCI bridges
	powerpc/fsl-pci: Fix Class Code of PCIe Root Port
	powerpc/ptdump: Fix display of RW pages on FSL_BOOK3E
	powerpc/powernv: Avoid crashing if rng is NULL
	MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
	coresight: Clear the connection field properly
	usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
	USB: HCD: Fix URB giveback issue in tasklet function
	ARM: dts: uniphier: Fix USB interrupts for PXs2 SoC
	arm64: dts: uniphier: Fix USB interrupts for PXs3 SoC
	usb: dwc3: gadget: refactor dwc3_repare_one_trb
	usb: dwc3: gadget: fix high speed multiplier setting
	lockdep: Allow tuning tracing capacity constants.
	netfilter: nf_tables: do not allow SET_ID to refer to another table
	netfilter: nf_tables: do not allow CHAIN_ID to refer to another table
	netfilter: nf_tables: do not allow RULE_ID to refer to another chain
	netfilter: nf_tables: fix null deref due to zeroed list head
	epoll: autoremove wakers even more aggressively
	x86: Handle idle=nomwait cmdline properly for x86_idle
	arm64: Do not forget syscall when starting a new thread.
	arm64: fix oops in concurrently setting insn_emulation sysctls
	ext2: Add more validity checks for inode counts
	genirq: Don't return error on missing optional irq_request_resources()
	irqchip/mips-gic: Only register IPI domain when SMP is enabled
	genirq: GENERIC_IRQ_IPI depends on SMP
	irqchip/mips-gic: Check the return value of ioremap() in gic_of_init()
	wait: Fix __wait_event_hrtimeout for RT/DL tasks
	ARM: dts: imx6ul: add missing properties for sram
	ARM: dts: imx6ul: change operating-points to uint32-matrix
	ARM: dts: imx6ul: fix keypad compatible
	ARM: dts: imx6ul: fix csi node compatible
	ARM: dts: imx6ul: fix lcdif node compatible
	ARM: dts: imx6ul: fix qspi node compatible
	ARM: dts: BCM5301X: Add DT for Meraki MR26
	spi: synquacer: Add missing clk_disable_unprepare()
	ARM: OMAP2+: display: Fix refcount leak bug
	ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks
	ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk
	ACPI: PM: save NVS memory for Lenovo G40-45
	ACPI: LPSS: Fix missing check in register_device_clock()
	arm64: dts: qcom: ipq8074: fix NAND node name
	arm64: dts: allwinner: a64: orangepi-win: Fix LED node name
	ARM: shmobile: rcar-gen2: Increase refcount for new reference
	firmware: tegra: Fix error check return value of debugfs_create_file()
	PM: hibernate: defer device probing when resuming from hibernation
	selinux: Add boundary check in put_entry()
	powerpc/64s: Disable stack variable initialisation for prom_init
	spi: spi-rspi: Fix PIO fallback on RZ platforms
	ARM: findbit: fix overflowing offset
	meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init
	arm64: dts: renesas: beacon: Fix regulator node names
	ARM: bcm: Fix refcount leak in bcm_kona_smc_init
	ACPI: processor/idle: Annotate more functions to live in cpuidle section
	ARM: dts: imx7d-colibri-emmc: add cpu1 supply
	Input: atmel_mxt_ts - fix up inverted RESET handler
	soc: renesas: r8a779a0-sysc: Fix A2DP1 and A2CV[2357] PDR values
	soc: amlogic: Fix refcount leak in meson-secure-pwrc.c
	arm64: dts: renesas: Fix thermal-sensors on single-zone sensors
	x86/pmem: Fix platform-device leak in error path
	ARM: dts: ast2500-evb: fix board compatible
	ARM: dts: ast2600-evb: fix board compatible
	hexagon: select ARCH_WANT_LD_ORPHAN_WARN
	arm64: cpufeature: Allow different PMU versions in ID_DFR0_EL1
	locking/lockdep: Fix lockdep_init_map_*() confusion
	soc: fsl: guts: machine variable might be unset
	block: fix infinite loop for invalid zone append
	ARM: dts: qcom: mdm9615: add missing PMIC GPIO reg
	ARM: OMAP2+: Fix refcount leak in omapdss_init_of
	ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
	cpufreq: zynq: Fix refcount leak in zynq_get_revision
	regulator: qcom_smd: Fix pm8916_pldo range
	ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP
	soc: qcom: ocmem: Fix refcount leak in of_get_ocmem
	soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
	ARM: dts: qcom: pm8841: add required thermal-sensor-cells
	bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe()
	arm64: dts: mt7622: fix BPI-R64 WPS button
	arm64: tegra: Fix SDMMC1 CD on P2888
	erofs: avoid consecutive detection for Highmem memory
	blk-mq: don't create hctx debugfs dir until q->debugfs_dir is created
	hwmon: (drivetemp) Add module alias
	block: remove the request_queue to argument request based tracepoints
	blktrace: Trace remapped requests correctly
	regulator: of: Fix refcount leak bug in of_get_regulation_constraints()
	soc: qcom: Make QCOM_RPMPD depend on PM
	arm64: dts: qcom: qcs404: Fix incorrect USB2 PHYs assignment
	drivers/perf: arm_spe: Fix consistency of SYS_PMSCR_EL1.CX
	nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt()
	selftests/seccomp: Fix compile warning when CC=clang
	thermal/tools/tmon: Include pthread and time headers in tmon.h
	dm: return early from dm_pr_call() if DM device is suspended
	pwm: sifive: Don't check the return code of pwmchip_remove()
	pwm: sifive: Simplify offset calculation for PWMCMP registers
	pwm: sifive: Ensure the clk is enabled exactly once per running PWM
	pwm: sifive: Shut down hardware only after pwmchip_remove() completed
	pwm: lpc18xx-sct: Convert to devm_platform_ioremap_resource()
	drm/bridge: tc358767: Move (e)DP bridge endpoint parsing into dedicated function
	drm/bridge: tc358767: Make sure Refclk clock are enabled
	ath10k: do not enforce interrupt trigger type
	drm/st7735r: Fix module autoloading for Okaya RH128128T
	wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c()
	ath11k: fix netdev open race
	drm/mipi-dbi: align max_chunk to 2 in spi_transfer
	ath11k: Fix incorrect debug_mask mappings
	drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers()
	drm/mediatek: Modify dsi funcs to atomic operations
	drm/mediatek: Separate poweron/poweroff from enable/disable and define new funcs
	drm/mediatek: Add pull-down MIPI operation in mtk_dsi_poweroff function
	i2c: npcm: Remove own slave addresses 2:10
	i2c: npcm: Correct slave role behavior
	virtio-gpu: fix a missing check to avoid NULL dereference
	drm: adv7511: override i2c address of cec before accessing it
	crypto: sun8i-ss - do not allocate memory when handling hash requests
	crypto: sun8i-ss - fix error codes in allocate_flows()
	net: fix sk_wmem_schedule() and sk_rmem_schedule() errors
	i2c: Fix a potential use after free
	crypto: sun8i-ss - fix infinite loop in sun8i_ss_setup_ivs()
	media: tw686x: Register the irq at the end of probe
	ath9k: fix use-after-free in ath9k_hif_usb_rx_cb
	wifi: iwlegacy: 4965: fix potential off-by-one overflow in il4965_rs_fill_link_cmd()
	drm/radeon: fix incorrrect SPDX-License-Identifiers
	test_bpf: fix incorrect netdev features
	crypto: ccp - During shutdown, check SEV data pointer before using
	drm: bridge: adv7511: Add check for mipi_dsi_driver_register
	drm/mcde: Fix refcount leak in mcde_dsi_bind
	media: hdpvr: fix error value returns in hdpvr_read
	media: v4l2-mem2mem: prevent pollerr when last_buffer_dequeued is set
	media: tw686x: Fix memory leak in tw686x_video_init
	drm/vc4: plane: Remove subpixel positioning check
	drm/vc4: plane: Fix margin calculations for the right/bottom edges
	drm/vc4: dsi: Correct DSI divider calculations
	drm/vc4: dsi: Correct pixel order for DSI0
	drm/vc4: drv: Remove the DSI pointer in vc4_drv
	drm/vc4: dsi: Use snprintf for the PHY clocks instead of an array
	drm/vc4: dsi: Introduce a variant structure
	drm/vc4: dsi: Register dsi0 as the correct vc4 encoder type
	drm/vc4: dsi: Fix dsi0 interrupt support
	drm/vc4: dsi: Add correct stop condition to vc4_dsi_encoder_disable iteration
	drm/vc4: hdmi: Remove firmware logic for MAI threshold setting
	drm/vc4: hdmi: Avoid full hdmi audio fifo writes
	drm/vc4: hdmi: Don't access the connector state in reset if kmalloc fails
	drm/vc4: hdmi: Limit the BCM2711 to the max without scrambling
	drm/vc4: hdmi: Fix timings for interlaced modes
	drm/vc4: hdmi: Correct HDMI timing registers for interlaced modes
	crypto: arm64/gcm - Select AEAD for GHASH_ARM64_CE
	selftests/xsk: Destroy BPF resources only when ctx refcount drops to 0
	drm/rockchip: vop: Don't crash for invalid duplicate_state()
	drm/rockchip: Fix an error handling path rockchip_dp_probe()
	drm/mediatek: dpi: Remove output format of YUV
	drm/mediatek: dpi: Only enable dpi after the bridge is enabled
	drm: bridge: sii8620: fix possible off-by-one
	lib: bitmap: order includes alphabetically
	lib: bitmap: provide devm_bitmap_alloc() and devm_bitmap_zalloc()
	hinic: Use the bitmap API when applicable
	net: hinic: fix bug that ethtool get wrong stats
	net: hinic: avoid kernel hung in hinic_get_stats64()
	drm/msm/mdp5: Fix global state lock backoff
	crypto: hisilicon/sec - fixes some coding style
	crypto: hisilicon/sec - don't sleep when in softirq
	crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq
	media: platform: mtk-mdp: Fix mdp_ipi_comm structure alignment
	mt76: mt76x02u: fix possible memory leak in __mt76x02u_mcu_send_msg
	mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init()
	drm/exynos/exynos7_drm_decon: free resources when clk_set_parent() failed.
	tcp: make retransmitted SKB fit into the send window
	libbpf: Fix the name of a reused map
	selftests: timers: valid-adjtimex: build fix for newer toolchains
	selftests: timers: clocksource-switch: fix passing errors from child
	bpf: Fix subprog names in stack traces.
	fs: check FMODE_LSEEK to control internal pipe splicing
	wifi: wil6210: debugfs: fix info leak in wil_write_file_wmi()
	wifi: p54: Fix an error handling path in p54spi_probe()
	wifi: p54: add missing parentheses in p54_flush()
	selftests/bpf: fix a test for snprintf() overflow
	can: pch_can: do not report txerr and rxerr during bus-off
	can: rcar_can: do not report txerr and rxerr during bus-off
	can: sja1000: do not report txerr and rxerr during bus-off
	can: hi311x: do not report txerr and rxerr during bus-off
	can: sun4i_can: do not report txerr and rxerr during bus-off
	can: kvaser_usb_hydra: do not report txerr and rxerr during bus-off
	can: kvaser_usb_leaf: do not report txerr and rxerr during bus-off
	can: usb_8dev: do not report txerr and rxerr during bus-off
	can: error: specify the values of data[5..7] of CAN error frames
	can: pch_can: pch_can_error(): initialize errc before using it
	Bluetooth: hci_intel: Add check for platform_driver_register
	i2c: cadence: Support PEC for SMBus block read
	i2c: mux-gpmux: Add of_node_put() when breaking out of loop
	wifi: wil6210: debugfs: fix uninitialized variable use in `wil_write_file_wmi()`
	wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue
	wifi: libertas: Fix possible refcount leak in if_usb_probe()
	media: cedrus: hevc: Add check for invalid timestamp
	net/mlx5e: Remove WARN_ON when trying to offload an unsupported TLS cipher/version
	net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS
	crypto: hisilicon/hpre - don't use GFP_KERNEL to alloc mem during softirq
	crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of
	crypto: hisilicon/sec - fix auth key size error
	inet: add READ_ONCE(sk->sk_bound_dev_if) in INET_MATCH()
	tcp: sk->sk_bound_dev_if once in inet_request_bound_dev_if()
	ipv6: add READ_ONCE(sk->sk_bound_dev_if) in INET6_MATCH()
	tcp: Fix data-races around sysctl_tcp_l3mdev_accept.
	net: allow unbound socket for packets in VRF when tcp_l3mdev_accept set
	iavf: Fix max_rate limiting
	netdevsim: Avoid allocation warnings triggered from user space
	net: rose: fix netdev reference changes
	net: ionic: fix error check for vlan flags in ionic_set_nic_features()
	dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock
	wireguard: ratelimiter: use hrtimer in selftest
	wireguard: allowedips: don't corrupt stack when detecting overflow
	clk: renesas: r9a06g032: Fix UART clkgrp bitsel
	mtd: maps: Fix refcount leak in of_flash_probe_versatile
	mtd: maps: Fix refcount leak in ap_flash_init
	mtd: rawnand: meson: Fix a potential double free issue
	PCI: tegra194: Fix PM error handling in tegra_pcie_config_ep()
	HID: cp2112: prevent a buffer overflow in cp2112_xfer()
	mtd: sm_ftl: Fix deadlock caused by cancel_work_sync in sm_release
	mtd: partitions: Fix refcount leak in parse_redboot_of
	mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path
	fpga: altera-pr-ip: fix unsigned comparison with less than zero
	usb: host: Fix refcount leak in ehci_hcd_ppc_of_probe
	usb: ohci-nxp: Fix refcount leak in ohci_hcd_nxp_probe
	usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()
	usb: xhci: tegra: Fix error check
	netfilter: xtables: Bring SPDX identifier back
	iio: accel: bma400: Fix the scale min and max macro values
	platform/chrome: cros_ec: Always expose last resume result
	iio: accel: bma400: Reordering of header files
	clk: mediatek: reset: Fix written reset bit offset
	KVM: Don't set Accessed/Dirty bits for ZERO_PAGE
	mwifiex: Ignore BTCOEX events from the 88W8897 firmware
	mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv
	dmaengine: dw-edma: Fix eDMA Rd/Wr-channels and DMA-direction semantics
	misc: rtsx: Fix an error handling path in rtsx_pci_probe()
	driver core: fix potential deadlock in __driver_attach
	clk: qcom: clk-krait: unlock spin after mux completion
	usb: host: xhci: use snprintf() in xhci_decode_trb()
	clk: qcom: ipq8074: fix NSS core PLL-s
	clk: qcom: ipq8074: SW workaround for UBI32 PLL lock
	clk: qcom: ipq8074: fix NSS port frequency tables
	clk: qcom: ipq8074: set BRANCH_HALT_DELAY flag for UBI clocks
	clk: qcom: camcc-sdm845: Fix topology around titan_top power domain
	PCI: dwc: Add unroll iATU space support to dw_pcie_disable_atu()
	PCI: dwc: Deallocate EPC memory on dw_pcie_ep_init() errors
	PCI: dwc: Always enable CDM check if "snps,enable-cdm-check" exists
	soundwire: bus_type: fix remove and shutdown support
	KVM: arm64: Don't return from void function
	dmaengine: sf-pdma: apply proper spinlock flags in sf_pdma_prep_dma_memcpy()
	dmaengine: sf-pdma: Add multithread support for a DMA channel
	PCI: endpoint: Don't stop controller when unbinding endpoint function
	intel_th: Fix a resource leak in an error handling path
	intel_th: msu-sink: Potential dereference of null pointer
	intel_th: msu: Fix vmalloced buffers
	staging: rtl8192u: Fix sleep in atomic context bug in dm_fsync_timer_callback
	mmc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch
	memstick/ms_block: Fix some incorrect memory allocation
	memstick/ms_block: Fix a memory leak
	mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R
	mmc: block: Add single read for 4k sector cards
	KVM: s390: pv: leak the topmost page table when destroy fails
	PCI/portdrv: Don't disable AER reporting in get_port_device_capability()
	PCI: qcom: Set up rev 2.1.0 PARF_PHY before enabling clocks
	scsi: smartpqi: Fix DMA direction for RAID requests
	xtensa: iss/network: provide release() callback
	xtensa: iss: fix handling error cases in iss_net_configure()
	usb: gadget: udc: amd5536 depends on HAS_DMA
	usb: aspeed-vhub: Fix refcount leak bug in ast_vhub_init_desc()
	usb: dwc3: core: Deprecate GCTL.CORESOFTRESET
	usb: dwc3: core: Do not perform GCTL_CORE_SOFTRESET during bootup
	usb: dwc3: qcom: fix missing optional irq warnings
	eeprom: idt_89hpesx: uninitialized data in idt_dbgfs_csr_write()
	interconnect: imx: fix max_node_id
	um: random: Don't initialise hwrng struct with zero
	RDMA/rtrs: Define MIN_CHUNK_SIZE
	RDMA/rtrs: Avoid Wtautological-constant-out-of-range-compare
	RDMA/rtrs-srv: Fix modinfo output for stringify
	RDMA/qedr: Improve error logs for rdma_alloc_tid error return
	RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr()
	RDMA/hns: Fix incorrect clearing of interrupt status register
	RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event
	RDMA/hfi1: fix potential memory leak in setup_base_ctxt()
	gpio: gpiolib-of: Fix refcount bugs in of_mm_gpiochip_add_data()
	HID: mcp2221: prevent a buffer overflow in mcp_smbus_write()
	mmc: cavium-octeon: Add of_node_put() when breaking out of loop
	mmc: cavium-thunderx: Add of_node_put() when breaking out of loop
	HID: alps: Declare U1_UNICORN_LEGACY support
	PCI: tegra194: Fix Root Port interrupt handling
	PCI: tegra194: Fix link up retry sequence
	USB: serial: fix tty-port initialized comments
	usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
	platform/olpc: Fix uninitialized data in debugfs write
	RDMA/srpt: Duplicate port name members
	RDMA/srpt: Introduce a reference count in struct srpt_device
	RDMA/srpt: Fix a use-after-free
	mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region
	selftests: kvm: set rax before vmcall
	RDMA/mlx5: Add missing check for return value in get namespace flow
	RDMA/rxe: Fix error unwind in rxe_create_qp()
	null_blk: fix ida error handling in null_add_dev()
	nvme: use command_id instead of req->tag in trace_nvme_complete_rq()
	jbd2: fix outstanding credits assert in jbd2_journal_commit_transaction()
	ext4: recover csum seed of tmp_inode after migrating to extents
	jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted
	usb: cdns3: Don't use priv_dev uninitialized in cdns3_gadget_ep_enable()
	opp: Fix error check in dev_pm_opp_attach_genpd()
	ASoC: cros_ec_codec: Fix refcount leak in cros_ec_codec_platform_probe
	ASoC: samsung: Fix error handling in aries_audio_probe
	ASoC: mediatek: mt8173: Fix refcount leak in mt8173_rt5650_rt5676_dev_probe
	ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe
	ASoC: codecs: da7210: add check for i2c_add_driver
	ASoC: mediatek: mt8173-rt5650: Fix refcount leak in mt8173_rt5650_dev_probe
	serial: 8250: Export ICR access helpers for internal use
	serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty()
	ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV
	ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV
	rpmsg: mtk_rpmsg: Fix circular locking dependency
	remoteproc: k3-r5: Fix refcount leak in k3_r5_cluster_of_init
	selftests/livepatch: better synchronize test_klp_callbacks_busy
	profiling: fix shift too large makes kernel panic
	ASoC: samsung: h1940_uda1380: include proepr GPIO consumer header
	powerpc/perf: Optimize clearing the pending PMI and remove WARN_ON for PMI check in power_pmu_disable
	ASoC: samsung: change gpiod_speaker_power and rx1950_audio from global to static variables
	tty: n_gsm: Delete gsmtty open SABM frame when config requester
	tty: n_gsm: fix user open not possible at responder until initiator open
	tty: n_gsm: fix wrong queuing behavior in gsm_dlci_data_output()
	tty: n_gsm: fix non flow control frames during mux flow off
	tty: n_gsm: fix packet re-transmission without open control channel
	tty: n_gsm: fix race condition in gsmld_write()
	ASoC: qcom: Fix missing of_node_put() in asoc_qcom_lpass_cpu_platform_probe()
	remoteproc: qcom: wcnss: Fix handling of IRQs
	vfio: Remove extra put/gets around vfio_device->group
	vfio: Simplify the lifetime logic for vfio_device
	vfio: Split creation of a vfio_device into init and register ops
	vfio/mdev: Make to_mdev_device() into a static inline
	vfio/ccw: Do not change FSM state in subchannel event
	tty: n_gsm: fix wrong T1 retry count handling
	tty: n_gsm: fix DM command
	tty: n_gsm: fix missing corner cases in gsmld_poll()
	iommu/exynos: Handle failed IOMMU device registration properly
	rpmsg: qcom_smd: Fix refcount leak in qcom_smd_parse_edge
	kfifo: fix kfifo_to_user() return type
	lib/smp_processor_id: fix imbalanced instrumentation_end() call
	remoteproc: sysmon: Wait for SSCTL service to come up
	mfd: t7l66xb: Drop platform disable callback
	mfd: max77620: Fix refcount leak in max77620_initialise_fps
	iommu/arm-smmu: qcom_iommu: Add of_node_put() when breaking out of loop
	perf tools: Fix dso_id inode generation comparison
	s390/dump: fix old lowcore virtual vs physical address confusion
	s390/zcore: fix race when reading from hardware system area
	ASoC: fsl_easrc: use snd_pcm_format_t type for sample_format
	ASoC: qcom: q6dsp: Fix an off-by-one in q6adm_alloc_copp()
	fuse: Remove the control interface for virtio-fs
	ASoC: audio-graph-card: Add of_node_put() in fail path
	watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe()
	video: fbdev: amba-clcd: Fix refcount leak bugs
	video: fbdev: sis: fix typos in SiS_GetModeID()
	ASoC: mchp-spdifrx: disable end of block interrupt on failures
	powerpc/32: Do not allow selection of e5500 or e6500 CPUs on PPC32
	powerpc/pci: Prefer PCI domain assignment via DT 'linux,pci-domain' and alias
	f2fs: don't set GC_FAILURE_PIN for background GC
	f2fs: write checkpoint during FG_GC
	f2fs: fix to remove F2FS_COMPR_FL and tag F2FS_NOCOMP_FL at the same time
	powerpc/spufs: Fix refcount leak in spufs_init_isolated_loader
	powerpc/xive: Fix refcount leak in xive_get_max_prio
	powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address
	perf symbol: Fail to read phdr workaround
	kprobes: Forbid probing on trampoline and BPF code areas
	powerpc/pci: Fix PHB numbering when using opal-phbid
	genelf: Use HAVE_LIBCRYPTO_SUPPORT, not the never defined HAVE_LIBCRYPTO
	scripts/faddr2line: Fix vmlinux detection on arm64
	sched/deadline: Merge dl_task_can_attach() and dl_cpu_busy()
	sched, cpuset: Fix dl_cpu_busy() panic due to empty cs->cpus_allowed
	x86/numa: Use cpumask_available instead of hardcoded NULL check
	video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
	tools/thermal: Fix possible path truncations
	sched: Fix the check of nr_running at queue wakelist
	x86/entry: Build thunk_$(BITS) only if CONFIG_PREEMPTION=y
	video: fbdev: vt8623fb: Check the size of screen before memset_io()
	video: fbdev: arkfb: Check the size of screen before memset_io()
	video: fbdev: s3fb: Check the size of screen before memset_io()
	scsi: zfcp: Fix missing auto port scan and thus missing target ports
	scsi: qla2xxx: Fix discovery issues in FC-AL topology
	scsi: qla2xxx: Turn off multi-queue for 8G adapters
	scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection
	scsi: qla2xxx: Fix losing FCP-2 targets on long port disable with I/Os
	scsi: qla2xxx: Fix losing FCP-2 targets during port perturbation tests
	x86/bugs: Enable STIBP for IBPB mitigated RETBleed
	ftrace/x86: Add back ftrace_expected assignment
	x86/olpc: fix 'logical not is only applied to the left hand side'
	posix-cpu-timers: Cleanup CPU timers before freeing them during exec
	Input: gscps2 - check return value of ioremap() in gscps2_probe()
	__follow_mount_rcu(): verify that mount_lock remains unchanged
	spmi: trace: fix stack-out-of-bound access in SPMI tracing functions
	drm/i915/dg1: Update DMC_DEBUG3 register
	drm/mediatek: Allow commands to be sent during video mode
	drm/mediatek: Keep dsi as LP00 before dcs cmds transfer
	HID: Ignore battery for Elan touchscreen on HP Spectre X360 15-df0xxx
	HID: hid-input: add Surface Go battery quirk
	drm/vc4: drv: Adopt the dma configuration from the HVS or V3D component
	mtd: rawnand: Add a helper to clarify the interface configuration
	mtd: rawnand: arasan: Check the proposed data interface is supported
	mtd: rawnand: Add NV-DDR timings
	mtd: rawnand: arasan: Fix a macro parameter
	mtd: rawnand: arasan: Support NV-DDR interface
	mtd: rawnand: arasan: Fix clock rate in NV-DDR
	usbnet: smsc95xx: Don't clear read-only PHY interrupt
	usbnet: smsc95xx: Avoid link settings race on interrupt reception
	firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails
	intel_th: pci: Add Meteor Lake-P support
	intel_th: pci: Add Raptor Lake-S PCH support
	intel_th: pci: Add Raptor Lake-S CPU support
	KVM: set_msr_mce: Permit guests to ignore single-bit ECC errors
	KVM: x86: Signal #GP, not -EPERM, on bad WRMSR(MCi_CTL/STATUS)
	iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE)
	PCI/AER: Write AER Capability only when we control it
	PCI/ERR: Bind RCEC devices to the Root Port driver
	PCI/ERR: Rename reset_link() to reset_subordinates()
	PCI/ERR: Simplify by using pci_upstream_bridge()
	PCI/ERR: Simplify by computing pci_pcie_type() once
	PCI/ERR: Use "bridge" for clarity in pcie_do_recovery()
	PCI/ERR: Avoid negated conditional for clarity
	PCI/ERR: Add pci_walk_bridge() to pcie_do_recovery()
	PCI/ERR: Recover from RCEC AER errors
	PCI/AER: Iterate over error counters instead of error strings
	serial: 8250: Dissociate 4MHz Titan ports from Oxford ports
	serial: 8250: Correct the clock for OxSemi PCIe devices
	serial: 8250_pci: Refactor the loop in pci_ite887x_init()
	serial: 8250_pci: Replace dev_*() by pci_*() macros
	serial: 8250: Fold EndRun device support into OxSemi Tornado code
	dm writecache: set a default MAX_WRITEBACK_JOBS
	kexec, KEYS, s390: Make use of built-in and secondary keyring for signature verification
	dm thin: fix use-after-free crash in dm_sm_register_threshold_callback
	timekeeping: contribute wall clock to rng on time change
	um: Allow PM with suspend-to-idle
	btrfs: reject log replay if there is unsupported RO compat flag
	btrfs: reset block group chunk force if we have to wait
	ACPI: CPPC: Do not prevent CPPC from working in the future
	KVM: VMX: Drop guest CPUID check for VMXE in vmx_set_cr4()
	KVM: VMX: Drop explicit 'nested' check from vmx_set_cr4()
	KVM: SVM: Drop VMXE check from svm_set_cr4()
	KVM: x86: Move vendor CR4 validity check to dedicated kvm_x86_ops hook
	KVM: nVMX: Inject #UD if VMXON is attempted with incompatible CR0/CR4
	KVM: x86/pmu: preserve IA32_PERF_CAPABILITIES across CPUID refresh
	KVM: x86/pmu: Use binary search to check filtered events
	KVM: x86/pmu: Use different raw event masks for AMD and Intel
	KVM: x86/pmu: Introduce the ctrl_mask value for fixed counter
	KVM: VMX: Mark all PERF_GLOBAL_(OVF)_CTRL bits reserved if there's no vPMU
	KVM: x86/pmu: Ignore pmu->global_ctrl check if vPMU doesn't support global_ctrl
	xen-blkback: fix persistent grants negotiation
	xen-blkback: Apply 'feature_persistent' parameter when connect
	xen-blkfront: Apply 'feature_persistent' parameter when connect
	KEYS: asymmetric: enforce SM2 signature use pkey algo
	tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH
	tracing: Use a struct alignof to determine trace event field alignment
	ext4: check if directory block is within i_size
	ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h
	ext4: fix warning in ext4_iomap_begin as race between bmap and write
	ext4: make sure ext4_append() always allocates new block
	ext4: fix use-after-free in ext4_xattr_set_entry
	ext4: update s_overhead_clusters in the superblock during an on-line resize
	ext4: fix extent status tree race in writeback error recovery path
	ext4: correct max_inline_xattr_value_size computing
	ext4: correct the misjudgment in ext4_iget_extra_inode
	dm raid: fix address sanitizer warning in raid_resume
	dm raid: fix address sanitizer warning in raid_status
	net_sched: cls_route: remove from list when handle is 0
	KVM: Add infrastructure and macro to mark VM as bugged
	KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq
	KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast()
	mac80211: fix a memory leak where sta_info is not freed
	tcp: fix over estimation in sk_forced_mem_schedule()
	Revert "mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv"
	drm/bridge: tc358767: Fix (e)DP bridge endpoint parsing in dedicated function
	drm/vc4: change vc4_dma_range_matches from a global to static
	Revert "net: usb: ax88179_178a needs FLAG_SEND_ZLP"
	Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression
	mtd: rawnand: arasan: Prevent an unsupported configuration
	kvm: x86/pmu: Fix the compare function used by the pmu event filter
	tee: add overflow check in register_shm_helper()
	net/9p: Initialize the iounit field during fid creation
	net_sched: cls_route: disallow handle of 0
	sched/fair: Fix fault in reweight_entity
	btrfs: only write the sectors in the vertical stripe which has data stripes
	btrfs: raid56: don't trust any cached sector in __raid56_parity_recover()
	Linux 5.10.137

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5775ddfad6460c5a737b1ad3f8e0b8f798338786
2022-08-29 16:53:14 +02:00
Tadeusz Struk
3527e3cbb8 bpf: Fix KASAN use-after-free Read in compute_effective_progs
commit 4c46091ee985ae84c60c5e95055d779fcd291d87 upstream.

Syzbot found a Use After Free bug in compute_effective_progs().
The reproducer creates a number of BPF links, and causes a fault
injected alloc to fail, while calling bpf_link_detach on them.
Link detach triggers the link to be freed by bpf_link_free(),
which calls __cgroup_bpf_detach() and update_effective_progs().
If the memory allocation in this function fails, the function restores
the pointer to the bpf_cgroup_link on the cgroup list, but the memory
gets freed just after it returns. After this, every subsequent call to
update_effective_progs() causes this already deallocated pointer to be
dereferenced in prog_list_length(), and triggers KASAN UAF error.

To fix this issue don't preserve the pointer to the prog or link in the
list, but remove it and replace it with a dummy prog without shrinking
the table. The subsequent call to __cgroup_bpf_detach() or
__cgroup_bpf_detach() will correct it.

Fixes: af6eea5743 ("bpf: Implement bpf_link-based cgroup BPF program attachment")
Reported-by: <syzbot+f264bffdfbd5614f3bb2@syzkaller.appspotmail.com>
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Cc: <stable@vger.kernel.org>
Link: https://syzkaller.appspot.com/bug?id=8ebf179a95c2a2670f7cf1ba62429ec044369db4
Link: https://lore.kernel.org/bpf/20220517180420.87954-1-tadeusz.struk@linaro.org
Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-25 11:38:24 +02:00
Steven Rostedt (Google)
184e73f12c tracing/probes: Have kprobes and uprobes use $COMM too
commit ab8384442ee512fc0fc72deeb036110843d0e7ff upstream.

Both $comm and $COMM can be used to get current->comm in eprobes and the
filtering and histogram logic. Make kprobes and uprobes consistent in this
regard and allow both $comm and $COMM as well. Currently kprobes and
uprobes only handle $comm, which is inconsistent with the other utilities,
and can be confusing to users.

Link: https://lkml.kernel.org/r/20220820134401.317014913@goodmis.org
Link: https://lore.kernel.org/all/20220820220442.776e1ddaf8836e82edb34d01@kernel.org/

Cc: stable@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Fixes: 533059281e ("tracing: probeevent: Introduce new argument fetching code")
Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-25 11:38:23 +02:00
Laurent Dufour
63671b2bdf watchdog: export lockup_detector_reconfigure
[ Upstream commit 7c56a8733d0a2a4be2438a7512566e5ce552fccf ]

In some circumstances it may be interesting to reconfigure the watchdog
from inside the kernel.

On PowerPC, this may helpful before and after a LPAR migration (LPM) is
initiated, because it implies some latencies, watchdog, and especially NMI
watchdog is expected to be triggered during this operation. Reconfiguring
the watchdog with a factor, would prevent it to happen too frequently
during LPM.

Rename lockup_detector_reconfigure() as __lockup_detector_reconfigure() and
create a new function lockup_detector_reconfigure() calling
__lockup_detector_reconfigure() under the protection of watchdog_mutex.

Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
[mpe: Squash in build fix from Laurent, reported by Sachin]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220713154729.80789-3-ldufour@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-25 11:38:20 +02:00
Hou Tao
bda6fe3ea8 bpf: Acquire map uref in .init_seq_private for hash map iterator
commit ef1e93d2eeb58a1f08c37b22a2314b94bc045f15 upstream.

bpf_iter_attach_map() acquires a map uref, and the uref may be released
before or in the middle of iterating map elements. For example, the uref
could be released in bpf_iter_detach_map() as part of
bpf_link_release(), or could be released in bpf_map_put_with_uref() as
part of bpf_map_release().

So acquiring an extra map uref in bpf_iter_init_hash_map() and
releasing it in bpf_iter_fini_hash_map().

Fixes: d6c4503cc2 ("bpf: Implement bpf iterator for hash maps")
Signed-off-by: Hou Tao <houtao1@huawei.com>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20220810080538.1845898-3-houtao@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-25 11:37:55 +02:00
Hou Tao
30d7198da8 bpf: Acquire map uref in .init_seq_private for array map iterator
commit f76fa6b338055054f80c72b29c97fb95c1becadc upstream.

bpf_iter_attach_map() acquires a map uref, and the uref may be released
before or in the middle of iterating map elements. For example, the uref
could be released in bpf_iter_detach_map() as part of
bpf_link_release(), or could be released in bpf_map_put_with_uref() as
part of bpf_map_release().

Alternative fix is acquiring an extra bpf_link reference just like
a pinned map iterator does, but it introduces unnecessary dependency
on bpf_link instead of bpf_map.

So choose another fix: acquiring an extra map uref in .init_seq_private
for array map iterator.

Fixes: d3cc2ab546 ("bpf: Implement bpf iterator for array maps")
Signed-off-by: Hou Tao <houtao1@huawei.com>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20220810080538.1845898-2-houtao@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-25 11:37:55 +02:00
Steven Rostedt (Google)
5d3b02b80d tracing: Have filter accept "common_cpu" to be consistent
commit b2380577d4fe1c0ef3fa50417f1e441c016e4cbe upstream.

Make filtering consistent with histograms. As "cpu" can be a field of an
event, allow for "common_cpu" to keep it from being confused with the
"cpu" field of the event.

Link: https://lkml.kernel.org/r/20220820134401.513062765@goodmis.org
Link: https://lore.kernel.org/all/20220820220920.e42fa32b70505b1904f0a0ad@kernel.org/

Cc: stable@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Fixes: 1e3bac71c5053 ("tracing/histogram: Rename "cpu" to "common_cpu"")
Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-25 11:37:51 +02:00
deyaoren@google.com
f97b35738b Merge remote-tracking branch into HEAD
* keystone/mirror-android12-5.10-2022-07:
  ANDROID: Use rq_clock_task without CONFIG_SMP
  ANDROID: GKI: Update symbol list for transsion
  ANDROID: vendor_hook: Add hook in __free_pages()
  ANDROID: vendor_hooks: Add hooks to extend the struct swap_info_struct
  ANDROID: vendor_hook: Add hook in si_swapinfo()
  FROMGIT: arm64: fix oops in concurrently setting insn_emulation sysctls
  FROMGIT: io_uring: Use original task for req identity in io_identity_cow()
  FROMLIST: binder: fix UAF of ref->proc caused by race condition
  ANDROID: Guard rq_clock_task_mult with CONFIG_SMP

Signed-off-by: deyaoren@google.com <deyaoren@google.com>
Change-Id: Ic7b82f50c116ad5086d12105661dcb9013595fc3
2022-08-24 16:56:00 +00:00
Greg Kroah-Hartman
486580ffb5 Revert "ANDROID: vendor_hooks: Add hooks for mutex"
This reverts commit 8c3ac02bca.

The hook android_vh_mutex_start_check_new_owner is not used by any
vendor, so remove it to help with merge issues with future LTS releases.

If this is needed by any real user, it can easily be reverted to add it
back and then the symbol should be added to the abi list at the same
time to prevent it from being removed again later.

Bug: 203756332
Bug: 231647361
Cc: Liujie Xie <xieliujie@oppo.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8c3bf787525d684f64b8d0654d379df78eb7b69e
2022-08-24 17:07:08 +02:00
Greg Kroah-Hartman
a634d58881 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
Sync up with android12-5.10 for the following commits:

568ee90a7e ANDROID: fix execute bit on android/abi_gki_aarch64_asus
9ecb2fcca3 ANDROID: avoid huge-page not to clear trylock-bit after shrink_page_list.
548da5d23d ANDROID: vendor_hooks: Add hooks for oem futex optimization
3c2f107ad2 ANDROID: mm: memblock: avoid to create memmap for memblock nomap regions
97e5ac2b55 ANDROID: abi_gki_aarch64_qcom: Add android_vh_disable_thermal_cooling_stats
a3e8b04796 ANDROID: thermal: vendor hook to disable thermal cooling stats
a47cec9c43 ANDROID: GKI: Update symbols to symbol list
f32894eadf ANDROID: GKI: rockchip: update fragment file
052619d9e1 ANDROID: GKI: rockchip: Enable symbols bcmdhd-sdio
4f116d326e ANDROID: GKI: rockchip: Update symbols for rga driver
d1e180148e BACKPORT: cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
ef04c4095d UPSTREAM: cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree
15ad83d91f ANDROID: GKI: Update symbol list for transsion
a47fb6a9ae ANDROID: vendor_hook: Add hook in __free_pages()
6c56a05b87 ANDROID: vendor_hooks: Add hooks to extend the struct swap_info_struct
7449d8120a ANDROID: vendor_hook: Add hook in si_swapinfo()
7ff95bd758 ANDROID: GKI: Update symbols to symbol list
04c766fa76 ANDROID: Use rq_clock_task without CONFIG_SMP
4e13870877 ANDROID: abi_gki_aarch64_qcom: Add skb and scatterlist helpers
86be1a3d9f Revert "ANDROID: vendor_hook: Add hook in si_swapinfo()"
40b3533213 Revert "ANDROID: vendor_hooks:vendor hook for pidfd_open"
d0590b99c9 Revert "ANDROID: vendor_hooks: Add hooks to extend the struct swap_info_struct"
501063ce66 Revert "ANDROID: vendor_hooks:vendor hook for mmput"
23fdb24a48 ANDROID: GKI: Update symbols to symbol list
567d65e536 ANDROID: Guard rq_clock_task_mult with CONFIG_SMP
eb99e6d80e Revert "ANDROID: vendor_hook: Add hook in __free_pages()"
8d86846781 Revert "ANDROID: vendor_hooks: Add hooks for binder"
eed2741ae6 ANDROID: vendor_hook: add hooks to protect locking-tsk in cpu scheduler

Update the .xml file to add the following new symbols that were now
started to be tracked in the android12-5.10 branch:

Leaf changes summary: 88 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 51 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 37 Added variables

51 Added functions:

  [A] 'function int __traceiter_android_vh_account_swap_pages(void*, swap_info_struct*, bool*)'
  [A] 'function int __traceiter_android_vh_alloc_si(void*, swap_info_struct**, bool*)'
  [A] 'function int __traceiter_android_vh_alloc_swap_slot_cache(void*, swap_slots_cache*, int*, bool*)'
  [A] 'function int __traceiter_android_vh_count_pswpin(void*, swap_info_struct*)'
  [A] 'function int __traceiter_android_vh_count_pswpout(void*, swap_info_struct*)'
  [A] 'function int __traceiter_android_vh_count_swpout_vm_event(void*, swap_info_struct*, page*, bool*)'
  [A] 'function int __traceiter_android_vh_cow_user_page(void*, vm_fault*, page*)'
  [A] 'function int __traceiter_android_vh_do_page_trylock(void*, page*, rw_semaphore*, bool*, bool*)'
  [A] 'function int __traceiter_android_vh_drain_slots_cache_cpu(void*, swap_slots_cache*, unsigned int, bool, bool*)'
  [A] 'function int __traceiter_android_vh_free_pages(void*, page*, unsigned int)'
  [A] 'function int __traceiter_android_vh_free_swap_slot(void*, swp_entry_t, swap_slots_cache*, bool*)'
  [A] 'function int __traceiter_android_vh_get_swap_page(void*, page*, swp_entry_t*, swap_slots_cache*, bool*)'
  [A] 'function int __traceiter_android_vh_handle_failed_page_trylock(void*, list_head*)'
  [A] 'function int __traceiter_android_vh_handle_pte_fault_end(void*, vm_fault*, unsigned long int)'
  [A] 'function int __traceiter_android_vh_inactive_is_low(void*, unsigned long int, unsigned long int*, lru_list, bool*)'
  [A] 'function int __traceiter_android_vh_init_swap_info_struct(void*, swap_info_struct*, plist_head*)'
  [A] 'function int __traceiter_android_vh_migrate_page_states(void*, page*, page*)'
  [A] 'function int __traceiter_android_vh_page_isolated_for_reclaim(void*, mm_struct*, page*)'
  [A] 'function int __traceiter_android_vh_page_referenced_one_end(void*, vm_area_struct*, page*, int)'
  [A] 'function int __traceiter_android_vh_page_trylock_clear(void*, page*)'
  [A] 'function int __traceiter_android_vh_page_trylock_get_result(void*, page*, bool*)'
  [A] 'function int __traceiter_android_vh_page_trylock_set(void*, page*)'
  [A] 'function int __traceiter_android_vh_record_mutex_lock_starttime(void*, task_struct*, unsigned long int)'
  [A] 'function int __traceiter_android_vh_record_percpu_rwsem_lock_starttime(void*, task_struct*, unsigned long int)'
  [A] 'function int __traceiter_android_vh_record_rtmutex_lock_starttime(void*, task_struct*, unsigned long int)'
  [A] 'function int __traceiter_android_vh_record_rwsem_lock_starttime(void*, task_struct*, unsigned long int)'
  [A] 'function int __traceiter_android_vh_remove_vmalloc_stack(void*, vm_struct*)'
  [A] 'function int __traceiter_android_vh_set_shmem_page_flag(void*, page*)'
  [A] 'function int __traceiter_android_vh_si_swapinfo(void*, swap_info_struct*, bool*)'
  [A] 'function int __traceiter_android_vh_snapshot_refaults(void*, lruvec*)'
  [A] 'function int __traceiter_android_vh_swap_slot_cache_active(void*, bool)'
  [A] 'function int __traceiter_android_vh_swapin_add_anon_rmap(void*, vm_fault*, page*)'
  [A] 'function int __traceiter_android_vh_unuse_swap_page(void*, swap_info_struct*, page*)'
  [A] 'function int __traceiter_android_vh_waiting_for_page_migration(void*, page*)'
  [A] 'function unsigned long int alloc_iova_fast(iova_domain*, unsigned long int, unsigned long int, bool)'
  [A] 'function void free_iova_fast(iova_domain*, unsigned long int, unsigned long int)'
  [A] 'function int mmc_sw_reset(mmc_host*)'
  [A] 'function int pinctrl_generic_add_group(pinctrl_dev*, const char*, int*, int, void*)'
  [A] 'function int pinmux_generic_add_function(pinctrl_dev*, const char*, const char**, const unsigned int, void*)'
  [A] 'function void plist_del(plist_node*, plist_head*)'
  [A] 'function void plist_requeue(plist_node*, plist_head*)'
  [A] 'function unsigned long int reclaim_pages(list_head*)'
  [A] 'function u16 sdio_readw(sdio_func*, unsigned int, int*)'
  [A] 'function void sdio_retune_crc_disable(sdio_func*)'
  [A] 'function void sdio_retune_crc_enable(sdio_func*)'
  [A] 'function void sdio_retune_hold_now(sdio_func*)'
  [A] 'function void sdio_retune_release(sdio_func*)'
  [A] 'function void sdio_writew(sdio_func*, u16, unsigned int, int*)'
  [A] 'function bool sg_miter_skip(sg_mapping_iter*, off_t)'
  [A] 'function int skb_copy_datagram_from_iter(sk_buff*, int, iov_iter*, int)'
  [A] 'function sk_buff* sock_alloc_send_pskb(sock*, unsigned long int, unsigned long int, int, int*, int)'

37 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_account_swap_pages'
  [A] 'tracepoint __tracepoint_android_vh_alloc_si'
  [A] 'tracepoint __tracepoint_android_vh_alloc_swap_slot_cache'
  [A] 'tracepoint __tracepoint_android_vh_count_pswpin'
  [A] 'tracepoint __tracepoint_android_vh_count_pswpout'
  [A] 'tracepoint __tracepoint_android_vh_count_swpout_vm_event'
  [A] 'tracepoint __tracepoint_android_vh_cow_user_page'
  [A] 'tracepoint __tracepoint_android_vh_disable_thermal_cooling_stats'
  [A] 'tracepoint __tracepoint_android_vh_do_page_trylock'
  [A] 'tracepoint __tracepoint_android_vh_drain_slots_cache_cpu'
  [A] 'tracepoint __tracepoint_android_vh_free_pages'
  [A] 'tracepoint __tracepoint_android_vh_free_swap_slot'
  [A] 'tracepoint __tracepoint_android_vh_get_swap_page'
  [A] 'tracepoint __tracepoint_android_vh_handle_failed_page_trylock'
  [A] 'tracepoint __tracepoint_android_vh_handle_pte_fault_end'
  [A] 'tracepoint __tracepoint_android_vh_inactive_is_low'
  [A] 'tracepoint __tracepoint_android_vh_init_swap_info_struct'
  [A] 'tracepoint __tracepoint_android_vh_migrate_page_states'
  [A] 'tracepoint __tracepoint_android_vh_page_isolated_for_reclaim'
  [A] 'tracepoint __tracepoint_android_vh_page_referenced_one_end'
  [A] 'tracepoint __tracepoint_android_vh_page_trylock_clear'
  [A] 'tracepoint __tracepoint_android_vh_page_trylock_get_result'
  [A] 'tracepoint __tracepoint_android_vh_page_trylock_set'
  [A] 'tracepoint __tracepoint_android_vh_record_mutex_lock_starttime'
  [A] 'tracepoint __tracepoint_android_vh_record_percpu_rwsem_lock_starttime'
  [A] 'tracepoint __tracepoint_android_vh_record_rtmutex_lock_starttime'
  [A] 'tracepoint __tracepoint_android_vh_record_rwsem_lock_starttime'
  [A] 'tracepoint __tracepoint_android_vh_remove_vmalloc_stack'
  [A] 'tracepoint __tracepoint_android_vh_set_shmem_page_flag'
  [A] 'tracepoint __tracepoint_android_vh_si_swapinfo'
  [A] 'tracepoint __tracepoint_android_vh_snapshot_refaults'
  [A] 'tracepoint __tracepoint_android_vh_swap_slot_cache_active'
  [A] 'tracepoint __tracepoint_android_vh_swapin_add_anon_rmap'
  [A] 'tracepoint __tracepoint_android_vh_unuse_swap_page'
  [A] 'tracepoint __tracepoint_android_vh_waiting_for_page_migration'
  [A] 'atomic_long_t nr_swap_pages'
  [A] 'unsigned long int zero_pfn'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I719eb9d92df0832855b90b31a5d2264b51dc0d96
2022-08-24 15:37:22 +02:00
xieliujie
548da5d23d ANDROID: vendor_hooks: Add hooks for oem futex optimization
If an important task is going to sleep through do_futex(),
find out it's futex-owner by the pid comes from userspace,
and boost the owner by some means to shorten the sleep time.
How to boost? Depends on these hooks:
53e8099784 ("ANDROID: vendor_hooks: Add hooks for scheduler")

Bug: 243110112
Signed-off-by: xieliujie <xieliujie@oppo.com>
Change-Id: I9a315cfb414fd34e0ef7a2cf9d57df50d4dd984f
2022-08-24 00:15:59 +00:00
Elliot Berman
6759e5ca02 ANDROID: Use rq_clock_task without CONFIG_SMP
Fix build error caused by guarding rq_clock_task_mult with CONFIG_SMP.

Issue was not seen in original commit as test case was UM Linux, which
does not enable CONFIG_CFS_BANDWIDTH.

>> kernel/sched/fair.c:4791:40: error: implicit declaration of function 'rq_clock_task_mult' [-Werror,-Wimplicit-function-declaration]
                   cfs_rq->throttled_clock_task_time += rq_clock_task_mult(rq) -

Change-Id: Id3392c37ba1b2bfe78c89bc4b1ca01b920164a35
Reported-by: kernel test robot <lkp@intel.com>
Fixes: 567d65e536 ("ANDROID: Guard rq_clock_task_mult with CONFIG_SMP")
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
(cherry picked from commit 04c766fa76)
2022-08-22 16:43:04 +00:00
Tadeusz Struk
8f317cd888 sched/fair: Fix fault in reweight_entity
commit 13765de8148f71fa795e0a6607de37c49ea5915a upstream.

Syzbot found a GPF in reweight_entity. This has been bisected to
commit 4ef0c5c6b5ba ("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: 4ef0c5c6b5ba ("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: Fedor Pchelkin <pchelkin@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:26 +02:00
Jason A. Donenfeld
c6cf21d8d5 timekeeping: contribute wall clock to rng on time change
[ Upstream commit b8ac29b40183a6038919768b5d189c9bd91ce9b4 ]

The rng's random_init() function contributes the real time to the rng at
boot time, so that events can at least start in relation to something
particular in the real world. But this clock might not yet be set that
point in boot, so nothing is contributed. In addition, the relation
between minor clock changes from, say, NTP, and the cycle counter is
potentially useful entropic data.

This commit addresses this by mixing in a time stamp on calls to
settimeofday and adjtimex. No entropy is credited in doing so, so it
doesn't make initialization faster, but it is still useful input to
have.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-21 15:16:20 +02:00
Tianchen Ding
e6c228b950 sched: Fix the check of nr_running at queue wakelist
[ Upstream commit 28156108fecb1f808b21d216e8ea8f0d205a530c ]

The commit 2ebb177175 ("sched/core: Offload wakee task activation if it
the wakee is descheduling") checked rq->nr_running <= 1 to avoid task
stacking when WF_ON_CPU.

Per the ordering of writes to p->on_rq and p->on_cpu, observing p->on_cpu
(WF_ON_CPU) in ttwu_queue_cond() implies !p->on_rq, IOW p has gone through
the deactivate_task() in __schedule(), thus p has been accounted out of
rq->nr_running. As such, the task being the only runnable task on the rq
implies reading rq->nr_running == 0 at that point.

The benchmark result is in [1].

[1] https://lore.kernel.org/all/e34de686-4e85-bde1-9f3c-9bbc86b38627@linux.alibaba.com/

Suggested-by: Valentin Schneider <vschneid@redhat.com>
Signed-off-by: Tianchen Ding <dtcccc@linux.alibaba.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/20220608233412.327341-2-dtcccc@linux.alibaba.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-21 15:16:13 +02:00