Commit Graph

1681 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
a3aeec7ab8 This is the 5.4.262 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmVmGmUACgkQONu9yGCS
 aT4V7A//YzFdP4ANGVpZ7tBob7OxpgGgvEu32zCDx51LQ8n2uJRJ8WBWW6kVOBUZ
 YyUEXzjPPaS7JRS1O7TpCGYFWrH0ue9c/xzyvUQyyHEBZvZVj0P3O1iHlAk2FWSG
 pOTEfW1cFp8vtHwGn82rmIDETu56LMWd+aeVhg6psb2L6ho2LPipCkxN79kbBGSB
 DLfD71O2Pb3mw8ZYHVC5KKIlfODLqjq9N6T+3VsG4uQCEMHTVAHjjoIvYFeSi1cR
 MqPXS4/3GUyYUDTe2tjYznkSfPbdARfD1aKKPEXLuq1+q6WqvHCAG7nwgtPT/gd9
 JPCxm+9DPN9+YhmEsCJpMSq3pD2eTrD5ZXhYFNc5sOsNw0L4oFRLtrB782snerw+
 ogQ8DED4qATn1+x7jfRD7hwMzHih4nAL7zqy32s8knKHfp1+rOOkXfIohfc9qrUI
 svUjb1B+guuGHwFq6YDzxpUxmhdGqOo262cnU4jfH8lxH+w03vyNxxyQn0ZUUe2I
 gkvJ5wNpq4QhD/++B/DaCptw0l5AzfjOO+0xlp20xMzn5qW/BS8W26zUXhGeLOAd
 MHu+fv9DU0mzs3V1MxRvbBQ5gI9TngRWXJSIBCJx5YhZ8gGIhfrzoIzY+IeF6l3F
 idjruirbfujAQv0vQHuz7JmhHrTG+T90slQ/R8pPud73WGz5BMI=
 =A+DX
 -----END PGP SIGNATURE-----

Merge 5.4.262 into android11-5.4-lts

Changes in 5.4.262
	locking/ww_mutex/test: Fix potential workqueue corruption
	perf/core: Bail out early if the request AUX area is out of bound
	clocksource/drivers/timer-imx-gpt: Fix potential memory leak
	clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
	x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size
	wifi: mac80211_hwsim: fix clang-specific fortify warning
	wifi: mac80211: don't return unset power in ieee80211_get_tx_power()
	wifi: ath9k: fix clang-specific fortify warnings
	wifi: ath10k: fix clang-specific fortify warning
	net: annotate data-races around sk->sk_tx_queue_mapping
	net: annotate data-races around sk->sk_dst_pending_confirm
	wifi: ath10k: Don't touch the CE interrupt registers after power up
	Bluetooth: Fix double free in hci_conn_cleanup
	platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e
	drm/komeda: drop all currently held locks if deadlock happens
	drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7
	drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga
	drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL
	selftests/efivarfs: create-read: fix a resource leak
	crypto: pcrypt - Fix hungtask for PADATA_RESET
	RDMA/hfi1: Use FIELD_GET() to extract Link Width
	fs/jfs: Add check for negative db_l2nbperpage
	fs/jfs: Add validity check for db_maxag and db_agpref
	jfs: fix array-index-out-of-bounds in dbFindLeaf
	jfs: fix array-index-out-of-bounds in diAlloc
	ARM: 9320/1: fix stack depot IRQ stack filter
	ALSA: hda: Fix possible null-ptr-deref when assigning a stream
	PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields
	atm: iphase: Do PCI error checks on own line
	scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup()
	HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W
	tty: vcc: Add check for kstrdup() in vcc_probe()
	usb: gadget: f_ncm: Always set current gadget in ncm_bind()
	i2c: sun6i-p2wi: Prevent potential division by zero
	media: gspca: cpia1: shift-out-of-bounds in set_flicker
	media: vivid: avoid integer overflow
	gfs2: ignore negated quota changes
	media: cobalt: Use FIELD_GET() to extract Link Width
	drm/amd/display: Avoid NULL dereference of timing generator
	kgdb: Flush console before entering kgdb on panic
	ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
	pwm: Fix double shift bug
	wifi: iwlwifi: Use FW rate for non-data frames
	NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO
	ipvlan: add ipvlan_route_v6_outbound() helper
	tty: Fix uninit-value access in ppp_sync_receive()
	net: hns3: fix variable may not initialized problem in hns3_init_mac_addr()
	tipc: Fix kernel-infoleak due to uninitialized TLV value
	ppp: limit MRU to 64K
	xen/events: fix delayed eoi list handling
	ptp: annotate data-race around q->head and q->tail
	bonding: stop the device in bond_setup_by_slave()
	net: ethernet: cortina: Fix max RX frame define
	net: ethernet: cortina: Handle large frames
	net: ethernet: cortina: Fix MTU max setting
	netfilter: nf_conntrack_bridge: initialize err to 0
	net: stmmac: Rework stmmac_rx()
	net: stmmac: fix rx budget limit check
	net/mlx5e: fix double free of encap_header
	net/mlx5_core: Clean driver version and name
	net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors
	macvlan: Don't propagate promisc change to lower dev in passthru
	tools/power/turbostat: Fix a knl bug
	cifs: spnego: add ';' in HOST_KEY_LEN
	media: venus: hfi: add checks to perform sanity on queue pointers
	randstruct: Fix gcc-plugin performance mode to stay in group
	bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END
	scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers
	x86/cpu/hygon: Fix the CPU topology evaluation for real
	KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space
	KVM: x86: Ignore MSR_AMD64_TW_CFG access
	audit: don't take task_lock() in audit_exe_compare() code path
	audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare()
	hvc/xen: fix error path in xen_hvc_init() to always register frontend driver
	PCI/sysfs: Protect driver's D3cold preference from user space
	ACPI: resource: Do IRQ override on TongFang GMxXGxx
	mmc: meson-gx: Remove setting of CMD_CFG_ERROR
	genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware
	PCI: keystone: Don't discard .remove() callback
	PCI: keystone: Don't discard .probe() callback
	parisc/pdc: Add width field to struct pdc_model
	clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks
	mmc: vub300: fix an error code
	PM: hibernate: Use __get_safe_page() rather than touching the list
	PM: hibernate: Clean up sync_read handling in snapshot_write_next()
	btrfs: don't arbitrarily slow down delalloc if we're committing
	jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
	quota: explicitly forbid quota files from being encrypted
	kernel/reboot: emergency_restart: Set correct system_state
	i2c: core: Run atomic i2c xfer when !preemptible
	mcb: fix error handling for different scenarios when parsing
	dmaengine: stm32-mdma: correct desc prep when channel running
	mm/cma: use nth_page() in place of direct struct page manipulation
	i3c: master: cdns: Fix reading status register
	parisc: Prevent booting 64-bit kernels on PA1.x machines
	parisc/pgtable: Do not drop upper 5 address bits of physical address
	ALSA: info: Fix potential deadlock at disconnection
	ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC
	serial: meson: remove redundant initialization of variable id
	tty: serial: meson: retrieve port FIFO size from DT
	serial: meson: Use platform_get_irq() to get the interrupt
	tty: serial: meson: fix hard LOCKUP on crtscts mode
	Bluetooth: btusb: Add flag to define wideband speech capability
	Bluetooth: btusb: add Realtek 8822CE to usb_device_id table
	Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0cb8:0xc559
	bluetooth: Add device 0bda:887b to device tables
	bluetooth: Add device 13d3:3571 to device tables
	Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables
	Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE
	Revert ncsi: Propagate carrier gain/loss events to the NCSI controller
	net: dsa: lan9303: consequently nested-lock physical MDIO
	i2c: i801: fix potential race in i801_block_transaction_byte_by_byte
	media: lirc: drop trailing space from scancode transmit
	media: sharp: fix sharp encoding
	media: venus: hfi_parser: Add check to keep the number of codecs within range
	media: venus: hfi: fix the check to handle session buffer requirement
	media: venus: hfi: add checks to handle capabilities from firmware
	nfsd: fix file memleak on client_opens_release
	Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E"
	ext4: apply umask if ACL support is disabled
	ext4: correct offset of gdb backup in non meta_bg group to update_backups
	ext4: correct return value of ext4_convert_meta_bg
	ext4: correct the start block of counting reserved clusters
	ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
	drm/amdgpu: fix error handling in amdgpu_bo_list_get()
	tracing: Have trace_event_file have ref counters
	netfilter: nf_tables: pass context to nft_set_destroy()
	netfilter: nftables: rename set element data activation/deactivation functions
	netfilter: nf_tables: drop map element references from preparation phase
	netfilter: nft_set_rbtree: Switch to node list walk for overlap detection
	netfilter: nft_set_rbtree: fix null deref on element insertion
	netfilter: nft_set_rbtree: fix overlap expiration walk
	netfilter: nf_tables: don't skip expired elements during walk
	netfilter: nf_tables: GC transaction API to avoid race with control plane
	netfilter: nf_tables: adapt set backend to use GC transaction API
	netfilter: nft_set_hash: mark set element as dead when deleting from packet path
	netfilter: nf_tables: remove busy mark and gc batch API
	netfilter: nf_tables: fix GC transaction races with netns and netlink event exit path
	netfilter: nf_tables: GC transaction race with netns dismantle
	netfilter: nf_tables: GC transaction race with abort path
	netfilter: nf_tables: use correct lock to protect gc_list
	netfilter: nf_tables: defer gc run if previous batch is still pending
	netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction
	netfilter: nft_set_rbtree: use read spinlock to avoid datapath contention
	netfilter: nft_set_hash: try later when GC hits EAGAIN on iteration
	netfilter: nf_tables: fix memleak when more than 255 elements expired
	netfilter: nf_tables: unregister flowtable hooks on netns exit
	netfilter: nf_tables: double hook unregistration in netns path
	netfilter: nftables: update table flags from the commit phase
	netfilter: nf_tables: fix table flag updates
	netfilter: nf_tables: disable toggling dormant table state more than once
	netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush (for 5.4)
	Linux 5.4.262

Change-Id: I93e0070751c904fd8a44800ce1756e6e93c1a95b
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-29 10:18:14 +00:00
Shigeru Yoshida
f3b250d919 tipc: Fix kernel-infoleak due to uninitialized TLV value
[ Upstream commit fb317eb23b5ee4c37b0656a9a52a3db58d9dd072 ]

KMSAN reported the following kernel-infoleak issue:

=====================================================
BUG: KMSAN: kernel-infoleak in instrument_copy_to_user include/linux/instrumented.h:114 [inline]
BUG: KMSAN: kernel-infoleak in copy_to_user_iter lib/iov_iter.c:24 [inline]
BUG: KMSAN: kernel-infoleak in iterate_ubuf include/linux/iov_iter.h:29 [inline]
BUG: KMSAN: kernel-infoleak in iterate_and_advance2 include/linux/iov_iter.h:245 [inline]
BUG: KMSAN: kernel-infoleak in iterate_and_advance include/linux/iov_iter.h:271 [inline]
BUG: KMSAN: kernel-infoleak in _copy_to_iter+0x4ec/0x2bc0 lib/iov_iter.c:186
 instrument_copy_to_user include/linux/instrumented.h:114 [inline]
 copy_to_user_iter lib/iov_iter.c:24 [inline]
 iterate_ubuf include/linux/iov_iter.h:29 [inline]
 iterate_and_advance2 include/linux/iov_iter.h:245 [inline]
 iterate_and_advance include/linux/iov_iter.h:271 [inline]
 _copy_to_iter+0x4ec/0x2bc0 lib/iov_iter.c:186
 copy_to_iter include/linux/uio.h:197 [inline]
 simple_copy_to_iter net/core/datagram.c:532 [inline]
 __skb_datagram_iter.5+0x148/0xe30 net/core/datagram.c:420
 skb_copy_datagram_iter+0x52/0x210 net/core/datagram.c:546
 skb_copy_datagram_msg include/linux/skbuff.h:3960 [inline]
 netlink_recvmsg+0x43d/0x1630 net/netlink/af_netlink.c:1967
 sock_recvmsg_nosec net/socket.c:1044 [inline]
 sock_recvmsg net/socket.c:1066 [inline]
 __sys_recvfrom+0x476/0x860 net/socket.c:2246
 __do_sys_recvfrom net/socket.c:2264 [inline]
 __se_sys_recvfrom net/socket.c:2260 [inline]
 __x64_sys_recvfrom+0x130/0x200 net/socket.c:2260
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82
 entry_SYSCALL_64_after_hwframe+0x63/0x6b

Uninit was created at:
 slab_post_alloc_hook+0x103/0x9e0 mm/slab.h:768
 slab_alloc_node mm/slub.c:3478 [inline]
 kmem_cache_alloc_node+0x5f7/0xb50 mm/slub.c:3523
 kmalloc_reserve+0x13c/0x4a0 net/core/skbuff.c:560
 __alloc_skb+0x2fd/0x770 net/core/skbuff.c:651
 alloc_skb include/linux/skbuff.h:1286 [inline]
 tipc_tlv_alloc net/tipc/netlink_compat.c:156 [inline]
 tipc_get_err_tlv+0x90/0x5d0 net/tipc/netlink_compat.c:170
 tipc_nl_compat_recv+0x1042/0x15d0 net/tipc/netlink_compat.c:1324
 genl_family_rcv_msg_doit net/netlink/genetlink.c:972 [inline]
 genl_family_rcv_msg net/netlink/genetlink.c:1052 [inline]
 genl_rcv_msg+0x1220/0x12c0 net/netlink/genetlink.c:1067
 netlink_rcv_skb+0x4a4/0x6a0 net/netlink/af_netlink.c:2545
 genl_rcv+0x41/0x60 net/netlink/genetlink.c:1076
 netlink_unicast_kernel net/netlink/af_netlink.c:1342 [inline]
 netlink_unicast+0xf4b/0x1230 net/netlink/af_netlink.c:1368
 netlink_sendmsg+0x1242/0x1420 net/netlink/af_netlink.c:1910
 sock_sendmsg_nosec net/socket.c:730 [inline]
 __sock_sendmsg net/socket.c:745 [inline]
 ____sys_sendmsg+0x997/0xd60 net/socket.c:2588
 ___sys_sendmsg+0x271/0x3b0 net/socket.c:2642
 __sys_sendmsg net/socket.c:2671 [inline]
 __do_sys_sendmsg net/socket.c:2680 [inline]
 __se_sys_sendmsg net/socket.c:2678 [inline]
 __x64_sys_sendmsg+0x2fa/0x4a0 net/socket.c:2678
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82
 entry_SYSCALL_64_after_hwframe+0x63/0x6b

Bytes 34-35 of 36 are uninitialized
Memory access of size 36 starts at ffff88802d464a00
Data copied to user address 00007ff55033c0a0

CPU: 0 PID: 30322 Comm: syz-executor.0 Not tainted 6.6.0-14500-g1c41041124bd #10
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-1.fc38 04/01/2014
=====================================================

tipc_add_tlv() puts TLV descriptor and value onto `skb`. This size is
calculated with TLV_SPACE() macro. It adds the size of struct tlv_desc and
the length of TLV value passed as an argument, and aligns the result to a
multiple of TLV_ALIGNTO, i.e., a multiple of 4 bytes.

If the size of struct tlv_desc plus the length of TLV value is not aligned,
the current implementation leaves the remaining bytes uninitialized. This
is the cause of the above kernel-infoleak issue.

This patch resolves this issue by clearing data up to an aligned size.

Fixes: d0796d1ef6 ("tipc: convert legacy nl bearer dump to nl compat")
Signed-off-by: Shigeru Yoshida <syoshida@redhat.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-28 16:50:16 +00:00
Greg Kroah-Hartman
0e07b7bd3c Merge 5.4.261 into android11-5.4-lts
Changes in 5.4.261
	vfs: fix readahead(2) on block devices
	genirq/matrix: Exclude managed interrupts in irq_matrix_allocated()
	i40e: fix potential memory leaks in i40e_remove()
	tcp: call tcp_try_undo_recovery when an RTOd TFO SYNACK is ACKed
	wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file()
	wifi: mt76: mt7603: rework/fix rx pse hang check
	tcp_metrics: add missing barriers on delete
	tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics()
	tcp_metrics: do not create an entry from tcp_init_metrics()
	wifi: rtlwifi: fix EDCA limit set by BT coexistence
	can: dev: can_restart(): don't crash kernel if carrier is OK
	can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on()
	thermal: core: prevent potential string overflow
	r8169: use tp_to_dev instead of open code
	r8169: fix rare issue with broken rx after link-down on RTL8125
	chtls: fix tp->rcv_tstamp initialization
	tcp: Remove one extra ktime_get_ns() from cookie_init_timestamp
	tcp: fix cookie_init_timestamp() overflows
	ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias()
	ipv6: avoid atomic fragment on GSO packets
	net: add DEV_STATS_READ() helper
	ipvlan: properly track tx_errors
	regmap: debugfs: Fix a erroneous check after snprintf()
	clk: qcom: clk-rcg2: Fix clock rate overflow for high parent frequencies
	clk: qcom: gcc-sm8150: use ARRAY_SIZE instead of specifying num_parents
	clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src
	clk: imx: Select MXC_CLK for CLK_IMX8QXP
	clk: keystone: pll: fix a couple NULL vs IS_ERR() checks
	clk: npcm7xx: Fix incorrect kfree
	clk: mediatek: clk-mt6779: Add check for mtk_alloc_clk_data
	clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data
	clk: mediatek: clk-mt7629-eth: Add check for mtk_alloc_clk_data
	clk: mediatek: clk-mt7629: Add check for mtk_alloc_clk_data
	clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data
	platform/x86: wmi: Fix probe failure when failing to register WMI devices
	platform/x86: wmi: remove unnecessary initializations
	platform/x86: wmi: Fix opening of char device
	hwmon: (coretemp) Fix potentially truncated sysfs attribute name
	drm/rockchip: vop: Fix reset of state in duplicate state crtc funcs
	drm/rockchip: vop: Fix call to crtc reset helper
	drm/radeon: possible buffer overflow
	drm/rockchip: cdn-dp: Fix some error handling paths in cdn_dp_probe()
	arm64: dts: qcom: sdm845-mtp: fix WiFi configuration
	ARM: dts: qcom: mdm9615: populate vsdcc fixed regulator
	soc: qcom: llcc cleanup to get rid of sdm845 specific driver file
	soc: qcom: Rename llcc-slice to llcc-qcom
	soc: qcom: llcc: Handle a second device without data corruption
	firmware: ti_sci: Replace HTTP links with HTTPS ones
	firmware: ti_sci: Mark driver as non removable
	clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped
	hwrng: geode - fix accessing registers
	libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its return value
	sched/rt: Provide migrate_disable/enable() inlines
	nd_btt: Make BTT lanes preemptible
	crypto: caam/qi2 - fix Chacha20 + Poly1305 self test failure
	crypto: caam/jr - fix Chacha20 + Poly1305 self test failure
	HID: cp2112: Use irqchip template
	hid: cp2112: Fix duplicate workqueue initialization
	ARM: 9321/1: memset: cast the constant byte to unsigned char
	ext4: move 'ix' sanity check to corrent position
	scsi: ufs: core: Leave space for '\0' in utf8 desc string
	RDMA/hfi1: Workaround truncation compilation error
	sh: bios: Revive earlyprintk support
	ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails
	ASoC: ams-delta.c: use component after check
	mfd: dln2: Fix double put in dln2_probe
	leds: pwm: simplify if condition
	leds: pwm: convert to atomic PWM API
	leds: pwm: Don't disable the PWM when the LED should be off
	ledtrig-cpu: Limit to 8 CPUs
	leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu'
	tty: tty_jobctrl: fix pid memleak in disassociate_ctty()
	usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency
	dmaengine: ti: edma: handle irq_of_parse_and_map() errors
	misc: st_core: Do not call kfree_skb() under spin_lock_irqsave()
	tools: iio: privatize globals and functions in iio_generic_buffer.c file
	tools: iio: iio_generic_buffer: Fix some integer type and calculation
	tools: iio: iio_generic_buffer ensure alignment
	USB: usbip: fix stub_dev hub disconnect
	dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc()
	f2fs: fix to initialize map.m_pblk in f2fs_precache_extents()
	modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host
	powerpc/xive: Fix endian conversion size
	powerpc/imc-pmu: Use the correct spinlock initializer.
	powerpc/pseries: fix potential memory leak in init_cpu_associativity()
	i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs
	rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
	pcmcia: cs: fix possible hung task and memory leak pccardd()
	pcmcia: ds: fix refcount leak in pcmcia_device_add()
	pcmcia: ds: fix possible name leak in error path in pcmcia_device_add()
	media: bttv: fix use after free error due to btv->timeout timer
	media: s3c-camif: Avoid inappropriate kfree()
	media: dvb-usb-v2: af9035: fix missing unlock
	regmap: prevent noinc writes from clobbering cache
	pwm: sti: Avoid conditional gotos
	pwm: sti: Reduce number of allocations and drop usage of chip_data
	pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
	Input: synaptics-rmi4 - fix use after free in rmi_unregister_function()
	llc: verify mac len before reading mac header
	tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING
	inet: shrink struct flowi_common
	dccp: Call security_inet_conn_request() after setting IPv4 addresses.
	dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses.
	net: r8169: Disable multicast filter for RTL8168H and RTL8107E
	Fix termination state for idr_for_each_entry_ul()
	net: stmmac: xgmac: Enable support for multiple Flexible PPS outputs
	net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT
	tg3: power down device only on SYSTEM_POWER_OFF
	r8169: respect userspace disabling IFF_MULTICAST
	netfilter: xt_recent: fix (increase) ipv6 literal buffer length
	netfilter: nft_redir: use `struct nf_nat_range2` throughout and deduplicate eval call-backs
	netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses
	drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE
	spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies
	fbdev: imsttfb: Fix error path of imsttfb_probe()
	fbdev: imsttfb: fix a resource leak in probe
	fbdev: fsl-diu-fb: mark wr_reg_wa() static
	Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
	btrfs: use u64 for buffer sizes in the tree search ioctls
	Linux 5.4.261

Change-Id: Iee65ff18889e15022b25cf33662c0f835825af9d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-11-27 11:27:01 +00:00
Shigeru Yoshida
2199260c42 tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING
[ Upstream commit 19b3f72a41a8751e26bffc093bb7e1cef29ad579 ]

syzbot reported the following uninit-value access issue [1]:

=====================================================
BUG: KMSAN: uninit-value in strlen lib/string.c:418 [inline]
BUG: KMSAN: uninit-value in strstr+0xb8/0x2f0 lib/string.c:756
 strlen lib/string.c:418 [inline]
 strstr+0xb8/0x2f0 lib/string.c:756
 tipc_nl_node_reset_link_stats+0x3ea/0xb50 net/tipc/node.c:2595
 genl_family_rcv_msg_doit net/netlink/genetlink.c:971 [inline]
 genl_family_rcv_msg net/netlink/genetlink.c:1051 [inline]
 genl_rcv_msg+0x11ec/0x1290 net/netlink/genetlink.c:1066
 netlink_rcv_skb+0x371/0x650 net/netlink/af_netlink.c:2545
 genl_rcv+0x40/0x60 net/netlink/genetlink.c:1075
 netlink_unicast_kernel net/netlink/af_netlink.c:1342 [inline]
 netlink_unicast+0xf47/0x1250 net/netlink/af_netlink.c:1368
 netlink_sendmsg+0x1238/0x13d0 net/netlink/af_netlink.c:1910
 sock_sendmsg_nosec net/socket.c:730 [inline]
 sock_sendmsg net/socket.c:753 [inline]
 ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2541
 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2595
 __sys_sendmsg net/socket.c:2624 [inline]
 __do_sys_sendmsg net/socket.c:2633 [inline]
 __se_sys_sendmsg net/socket.c:2631 [inline]
 __x64_sys_sendmsg+0x307/0x490 net/socket.c:2631
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Uninit was created at:
 slab_post_alloc_hook+0x12f/0xb70 mm/slab.h:767
 slab_alloc_node mm/slub.c:3478 [inline]
 kmem_cache_alloc_node+0x577/0xa80 mm/slub.c:3523
 kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:559
 __alloc_skb+0x318/0x740 net/core/skbuff.c:650
 alloc_skb include/linux/skbuff.h:1286 [inline]
 netlink_alloc_large_skb net/netlink/af_netlink.c:1214 [inline]
 netlink_sendmsg+0xb34/0x13d0 net/netlink/af_netlink.c:1885
 sock_sendmsg_nosec net/socket.c:730 [inline]
 sock_sendmsg net/socket.c:753 [inline]
 ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2541
 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2595
 __sys_sendmsg net/socket.c:2624 [inline]
 __do_sys_sendmsg net/socket.c:2633 [inline]
 __se_sys_sendmsg net/socket.c:2631 [inline]
 __x64_sys_sendmsg+0x307/0x490 net/socket.c:2631
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

TIPC bearer-related names including link names must be null-terminated
strings. If a link name which is not null-terminated is passed through
netlink, strstr() and similar functions can cause buffer overrun. This
causes the above issue.

This patch changes the nla_policy for bearer-related names from NLA_STRING
to NLA_NUL_STRING. This resolves the issue by ensuring that only
null-terminated strings are accepted as bearer-related names.

syzbot reported similar uninit-value issue related to bearer names [2]. The
root cause of this issue is that a non-null-terminated bearer name was
passed. This patch also resolved this issue.

Fixes: 7be57fc691 ("tipc: add link get/dump to new netlink api")
Fixes: 0655f6a863 ("tipc: add bearer disable/enable to new netlink api")
Reported-and-tested-by: syzbot+5138ca807af9d2b42574@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=5138ca807af9d2b42574 [1]
Reported-and-tested-by: syzbot+9425c47dccbcb4c17d51@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=9425c47dccbcb4c17d51 [2]
Signed-off-by: Shigeru Yoshida <syoshida@redhat.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20231030075540.3784537-1-syoshida@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 10:30:15 +01:00
Greg Kroah-Hartman
f4bff64ed2 Merge 5.4.248 into android11-5.4-lts
Changes in 5.4.248
	test_firmware: fix a memory leak with reqs buffer
	KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
	dasd: refactor dasd_ioctl_information
	s390/dasd: Use correct lock while counting channel queue length
	power: supply: ab8500: Fix external_power_changed race
	power: supply: sc27xx: Fix external_power_changed race
	power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
	ARM: dts: vexpress: add missing cache properties
	power: supply: Ratelimit no data debug output
	platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
	regulator: Fix error checking for debugfs_create_dir
	irqchip/meson-gpio: Mark OF related data as maybe unused
	power: supply: Fix logic checking if system is running from battery
	btrfs: handle memory allocation failure in btrfs_csum_one_bio
	parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
	parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
	MIPS: Alchemy: fix dbdma2
	mips: Move initrd_start check after initrd address sanitisation.
	xen/blkfront: Only check REQ_FUA for writes
	drm:amd:amdgpu: Fix missing buffer object unlock in failure path
	ocfs2: fix use-after-free when unmounting read-only filesystem
	ocfs2: check new file size on fallocate call
	nios2: dts: Fix tse_mac "max-frame-size" property
	nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
	nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
	kexec: support purgatories with .text.hot sections
	powerpc/purgatory: remove PGO flags
	nouveau: fix client work fence deletion race
	RDMA/uverbs: Restrict usage of privileged QKEYs
	net: usb: qmi_wwan: add support for Compal RXM-G1
	ALSA: hda/realtek: Add a quirk for Compaq N14JP6
	Remove DECnet support from kernel
	USB: serial: option: add Quectel EM061KGL series
	serial: lantiq: add missing interrupt ack
	usb: dwc3: gadget: Reset num TRBs before giving back the request
	spi: spi-fsl-dspi: Remove unused chip->void_write_data
	spi: fsl-dspi: avoid SCK glitches with continuous transfers
	netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
	ping6: Fix send to link-local addresses with VRF.
	net/sched: cls_u32: Fix reference counter leak leading to overflow
	RDMA/rxe: Remove the unused variable obj
	RDMA/rxe: Removed unused name from rxe_task struct
	RDMA/rxe: Fix the use-before-initialization error of resp_pkts
	iavf: remove mask from iavf_irq_enable_queues()
	IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
	IB/isert: Fix dead lock in ib_isert
	IB/isert: Fix possible list corruption in CMA handler
	IB/isert: Fix incorrect release of isert connection
	ipvlan: fix bound dev checking for IPv6 l3s mode
	sctp: fix an error code in sctp_sf_eat_auth()
	igb: fix nvm.ops.read() error handling
	drm/nouveau/dp: check for NULL nv_connector->native_mode
	drm/nouveau/kms: Don't change EDID when it hasn't actually changed
	drm/nouveau: add nv_encoder pointer check for NULL
	net/sched: cls_api: Fix lockup on flushing explicitly created chain
	net: lapbether: only support ethernet devices
	net: tipc: resize nlattr array to correct size
	selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
	afs: Fix vlserver probe RTT handling
	neighbour: Remove unused inline function neigh_key_eq16()
	net: Remove unused inline function dst_hold_and_use()
	neighbour: delete neigh_lookup_nodev as not used
	drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
	mmc: block: ensure error propagation for non-blk
	Linux 5.4.248

Change-Id: Ie9ec82f0e64b95b2dcce2a754bc6e907c9231db3
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-06-22 16:16:24 +00:00
Lin Ma
1140f8bc29 net: tipc: resize nlattr array to correct size
[ Upstream commit 44194cb1b6045dea33ae9a0d54fb7e7cd93a2e09 ]

According to nla_parse_nested_deprecated(), the tb[] is supposed to the
destination array with maxtype+1 elements. In current
tipc_nl_media_get() and __tipc_nl_media_set(), a larger array is used
which is unnecessary. This patch resize them to a proper size.

Fixes: 1e55417d8f ("tipc: add media set to new netlink api")
Fixes: 46f15c6794 ("tipc: add media get/dump to new netlink api")
Signed-off-by: Lin Ma <linma@zju.edu.cn>
Reviewed-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Link: https://lore.kernel.org/r/20230614120604.1196377-1-linma@zju.edu.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-06-21 15:44:12 +02:00
Greg Kroah-Hartman
68fdd20442 This is the 5.4.229 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmPHzUQACgkQONu9yGCS
 aT7QohAAtxV33qGSKGUdKMZk1JzIYuc8tAa+CHZhTi6xjTsoy1a5MlQGrj8a9YQ7
 /5VvwslGSn29h/ThO/ai04CfeOsWugMtnuo4mT4+198DgH0CNQMlfWq2c25cCvY6
 dIrrMTA7B2YhpdbjM4vkX8QIAxBVCHOVkseSammhMnujP7d+k4LtC6rRV4uiF+lD
 cKtsIJn8h+pezBeo5+pjvcTwndaAoApVOES4uOjJcf9pYOOoHxyi+8StpiO+j2Pv
 sRvkbvvmpS+IWAH+DMa3SAFI3C3AihX2Fu0rIFzUZByAviB1NmyWluX5mU54wW3R
 P80fl0rQFwuygEBU1UqTXe4hQ8YYwpJGAQzbLR22a11IT2MSO+vMRINdqG1un2BE
 T9hHix5R0JMeIN9AP7nKGBLrEZ3V6DqxEBz6ZC1sOUIIVQv93twtiwb0rNM0e7pq
 PpkIXpwXPIgqFDGXrd0y5ksRT08jJUKCRttuRVWkcGX8adotngWnrl0WBI5zqSuo
 B+x8X9Dw7YblJ6yQ+8mAZGk0Mj3j+cb4uhuRaz/6rqHmFOrbHm+JDXvPzZY65xy3
 k8Ebtq5CxINLDwahfb/o13MgbmzMPPNPPp0cz23zOhm88OmwVzB4hAoB/1CfHZvF
 XhSbZMVBhhP9hYr2gYl902EQeZGE5yjk5xhFT5Wrh7QoZaPW2XM=
 =as6n
 -----END PGP SIGNATURE-----

Merge 5.4.229 into android11-5.4-lts

Changes in 5.4.229
	tracing/ring-buffer: Only do full wait when cpu != RING_BUFFER_ALL_CPUS
	udf: Discard preallocation before extending file with a hole
	udf: Fix preallocation discarding at indirect extent boundary
	udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
	udf: Fix extending file within last block
	usb: gadget: uvc: Prevent buffer overflow in setup handler
	USB: serial: option: add Quectel EM05-G modem
	USB: serial: cp210x: add Kamstrup RF sniffer PIDs
	USB: serial: f81232: fix division by zero on line-speed change
	USB: serial: f81534: fix division by zero on line-speed change
	igb: Initialize mailbox message for VF reset
	xen-netback: move removal of "hotplug-status" to the right place
	HID: ite: Add support for Acer S1002 keyboard-dock
	HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E
	HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10
	HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk
	Bluetooth: L2CAP: Fix u8 overflow
	net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
	usb: musb: remove extra check in musb_gadget_vbus_draw
	ARM: dts: qcom: apq8064: fix coresight compatible
	arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias
	drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static
	arm: dts: spear600: Fix clcd interrupt
	soc: ti: knav_qmss_queue: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync
	soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
	soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
	perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
	perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init()
	arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
	arm64: dts: mt2712e: Fix unit address for pinctrl node
	arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
	arm64: dts: mt2712-evb: Fix usb vbus regulators unit names
	arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
	ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
	ARM: dts: turris-omnia: Add ethernet aliases
	ARM: dts: turris-omnia: Add switch port 6 node
	arm64: dts: armada-3720-turris-mox: Add missing interrupt for RTC
	pstore/ram: Fix error return code in ramoops_probe()
	ARM: mmp: fix timer_read delay
	pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
	tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
	cpuidle: dt: Return the correct numbers of parsed idle states
	alpha: fix syscall entry in !AUDUT_SYSCALL case
	PM: hibernate: Fix mistake in kerneldoc comment
	fs: don't audit the capability check in simple_xattr_list()
	selftests/ftrace: event_triggers: wait longer for test_event_enable
	perf: Fix possible memleak in pmu_dev_alloc()
	timerqueue: Use rb_entry_safe() in timerqueue_getnext()
	proc: fixup uptime selftest
	lib/fonts: fix undefined behavior in bit shift for get_default_font
	ocfs2: fix memory leak in ocfs2_stack_glue_init()
	MIPS: vpe-mt: fix possible memory leak while module exiting
	MIPS: vpe-cmp: fix possible memory leak while module exiting
	selftests/efivarfs: Add checking of the test return value
	PNP: fix name memory leak in pnp_alloc_dev()
	perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
	irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
	EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper()
	nfsd: don't call nfsd_file_put from client states seqfile display
	genirq/irqdesc: Don't try to remove non-existing sysfs files
	cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
	libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
	lib/notifier-error-inject: fix error when writing -errno to debugfs file
	docs: fault-injection: fix non-working usage of negative values
	debugfs: fix error when writing negative value to atomic_t debugfs file
	ocfs2: ocfs2_mount_volume does cleanup job before return error
	ocfs2: rewrite error handling of ocfs2_fill_super
	ocfs2: fix memory leak in ocfs2_mount_volume()
	rapidio: fix possible name leaks when rio_add_device() fails
	rapidio: rio: fix possible name leak in rio_register_mport()
	clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
	ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
	uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix
	xen/events: only register debug interrupt for 2-level events
	x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
	x86/xen: Fix memory leak in xen_init_lock_cpu()
	xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
	PM: runtime: Improve path in rpm_idle() when no callback
	PM: runtime: Do not call __rpm_callback() from rpm_idle()
	platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
	MIPS: BCM63xx: Add check for NULL for clk in clk_enable
	MIPS: OCTEON: warn only once if deprecated link status is being used
	fs: sysv: Fix sysv_nblocks() returns wrong value
	rapidio: fix possible UAF when kfifo_alloc() fails
	eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
	relay: fix type mismatch when allocating memory in relay_create_buf()
	hfs: Fix OOB Write in hfs_asc2mac
	rapidio: devices: fix missing put_device in mport_cdev_open
	wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
	wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
	wifi: rtl8xxxu: Fix reading the vendor of combo chips
	pata_ipx4xx_cf: Fix unsigned comparison with less than zero
	media: i2c: ad5820: Fix error path
	can: kvaser_usb: do not increase tx statistics when sending error message frames
	can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
	can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
	can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
	can: kvaser_usb_leaf: Set Warning state even without bus errors
	can: kvaser_usb_leaf: Fix improved state not being reported
	can: kvaser_usb_leaf: Fix wrong CAN state after stopping
	can: kvaser_usb_leaf: Fix bogus restart events
	can: kvaser_usb: Add struct kvaser_usb_busparams
	can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming
	clk: renesas: r9a06g032: Repair grave increment error
	spi: Update reference to struct spi_controller
	drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure
	ima: Rename internal filter rule functions
	ima: Fix fall-through warnings for Clang
	ima: Handle -ESTALE returned by ima_filter_rule_match()
	media: vivid: fix compose size exceed boundary
	bpf: propagate precision in ALU/ALU64 operations
	mtd: Fix device name leak when register device failed in add_mtd_device()
	wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
	media: camss: Clean up received buffers on failed start of streaming
	net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
	rxrpc: Fix ack.bufferSize to be 0 when generating an ack
	drm/radeon: Add the missed acpi_put_table() to fix memory leak
	drm/mediatek: Modify dpi power on/off sequence.
	ASoC: pxa: fix null-pointer dereference in filter()
	regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
	amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table()
	integrity: Fix memory leakage in keyring allocation error path
	ima: Fix misuse of dereference of pointer in template_desc_init_fields()
	wifi: ath10k: Fix return value in ath10k_pci_init()
	mtd: lpddr2_nvm: Fix possible null-ptr-deref
	Input: elants_i2c - properly handle the reset GPIO when power is off
	media: solo6x10: fix possible memory leak in solo_sysfs_init()
	media: platform: exynos4-is: Fix error handling in fimc_md_init()
	media: videobuf-dma-contig: use dma_mmap_coherent
	bpf: Move skb->len == 0 checks into __bpf_redirect
	HID: hid-sensor-custom: set fixed size for custom attributes
	ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT
	ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
	regulator: core: use kfree_const() to free space conditionally
	clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
	bonding: Export skip slave logic to function
	bonding: Rename slave_arr to usable_slaves
	bonding: fix link recovery in mode 2 when updelay is nonzero
	mtd: maps: pxa2xx-flash: fix memory leak in probe
	media: imon: fix a race condition in send_packet()
	clk: imx8mn: correct the usb1_ctrl parent to be usb_bus
	clk: imx: replace osc_hdmi with dummy
	pinctrl: pinconf-generic: add missing of_node_put()
	media: dvb-core: Fix ignored return value in dvb_register_frontend()
	media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
	media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC
	drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()
	ASoC: dt-bindings: wcd9335: fix reset line polarity in example
	ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd
	NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding
	NFSv4.2: Fix a memory stomp in decode_attr_security_label
	NFSv4.2: Fix initialisation of struct nfs4_label
	NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
	ALSA: asihpi: fix missing pci_disable_device()
	wifi: iwlwifi: mvm: fix double free on tx path.
	ASoC: mediatek: mt8173: Enable IRQ when pdata is ready
	drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
	drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
	ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
	netfilter: conntrack: set icmpv6 redirects as RELATED
	bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data
	bpf, sockmap: Fix data loss caused by using apply_bytes on ingress redirect
	bonding: uninitialized variable in bond_miimon_inspect()
	spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE
	wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
	regulator: core: fix module refcount leak in set_supply()
	clk: qcom: clk-krait: fix wrong div2 functions
	hsr: Avoid double remove of a node.
	configfs: fix possible memory leak in configfs_create_dir()
	regulator: core: fix resource leak in regulator_register()
	bpf, sockmap: fix race in sock_map_free()
	media: saa7164: fix missing pci_disable_device()
	ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
	xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()
	SUNRPC: Fix missing release socket in rpc_sockname()
	NFSv4.x: Fail client initialisation if state manager thread can't run
	mmc: alcor: fix return value check of mmc_add_host()
	mmc: moxart: fix return value check of mmc_add_host()
	mmc: mxcmmc: fix return value check of mmc_add_host()
	mmc: pxamci: fix return value check of mmc_add_host()
	mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
	mmc: toshsd: fix return value check of mmc_add_host()
	mmc: vub300: fix return value check of mmc_add_host()
	mmc: wmt-sdmmc: fix return value check of mmc_add_host()
	mmc: atmel-mci: fix return value check of mmc_add_host()
	mmc: omap_hsmmc: fix return value check of mmc_add_host()
	mmc: meson-gx: fix return value check of mmc_add_host()
	mmc: via-sdmmc: fix return value check of mmc_add_host()
	mmc: wbsd: fix return value check of mmc_add_host()
	mmc: mmci: fix return value check of mmc_add_host()
	media: c8sectpfe: Add of_node_put() when breaking out of loop
	media: coda: Add check for dcoda_iram_alloc
	media: coda: Add check for kmalloc
	clk: samsung: Fix memory leak in _samsung_clk_register_pll()
	spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode
	wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
	wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
	blktrace: Fix output non-blktrace event when blk_classic option enabled
	clk: socfpga: clk-pll: Remove unused variable 'rc'
	clk: socfpga: use clk_hw_register for a5/c5
	clk: socfpga: Fix memory leak in socfpga_gate_init()
	net: vmw_vsock: vmci: Check memcpy_from_msg()
	net: defxx: Fix missing err handling in dfx_init()
	net: stmmac: selftests: fix potential memleak in stmmac_test_arpoffload()
	drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
	of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop()
	ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: farsync: Fix kmemleak when rmmods farsync
	net/tunnel: wait until all sk_user_data reader finish before releasing the sock
	net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
	hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
	net: amd-xgbe: Fix logic around active and passive cables
	net: amd-xgbe: Check only the minimum speed for active/passive cables
	can: tcan4x5x: Remove invalid write in clear_interrupts
	net: lan9303: Fix read error execution path
	ntb_netdev: Use dev_kfree_skb_any() in interrupt context
	Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_ll: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
	Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
	stmmac: fix potential division by 0
	apparmor: fix a memleak in multi_transaction_new()
	apparmor: fix lockdep warning when removing a namespace
	apparmor: Fix abi check to include v8 abi
	apparmor: Use pointer to struct aa_label for lbs_cred
	RDMA/core: Fix order of nldev_exit call
	f2fs: fix normal discard process
	RDMA/siw: Fix immediate work request flush to completion queue
	RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
	RDMA/siw: Set defined status for work completion with undefined status
	scsi: scsi_debug: Fix a warning in resp_write_scat()
	crypto: ccree - swap SHA384 and SHA512 larval hashes at build time
	crypto: ccree - Remove debugfs when platform_driver_register failed
	PCI: Check for alloc failure in pci_request_irq()
	RDMA/hfi: Decrease PCI device reference count in error path
	crypto: ccree - Make cc_debugfs_global_fini() available for module init function
	RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
	scsi: hpsa: Fix possible memory leak in hpsa_init_one()
	crypto: tcrypt - Fix multibuffer skcipher speed test mem leak
	scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add()
	scsi: hpsa: Fix error handling in hpsa_add_sas_host()
	scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
	scsi: fcoe: Fix possible name leak when device_register() fails
	scsi: ipr: Fix WARNING in ipr_init()
	scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
	scsi: snic: Fix possible UAF in snic_tgt_create()
	RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps()
	f2fs: avoid victim selection from previous victim section
	crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe()
	RDMA/hfi1: Fix error return code in parse_platform_config()
	orangefs: Fix sysfs not cleanup when dev init failed
	crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
	hwrng: amd - Fix PCI device refcount leak
	hwrng: geode - Fix PCI device refcount leak
	IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
	drivers: dio: fix possible memory leak in dio_init()
	tty: serial: tegra: Activate RX DMA transfer by request
	serial: tegra: Read DMA status before terminating
	class: fix possible memory leak in __class_register()
	vfio: platform: Do not pass return buffer to ACPI _RST method
	uio: uio_dmem_genirq: Fix missing unlock in irq configuration
	uio: uio_dmem_genirq: Fix deadlock between irq config and handling
	usb: fotg210-udc: Fix ages old endianness issues
	staging: vme_user: Fix possible UAF in tsi148_dma_list_add
	usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
	usb: typec: tcpci: fix of node refcount leak in tcpci_register_port()
	serial: amba-pl011: avoid SBSA UART accessing DMACR register
	serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
	serial: pch: Fix PCI device refcount leak in pch_request_dma()
	tty: serial: clean up stop-tx part in altera_uart_tx_chars()
	tty: serial: altera_uart_{r,t}x_chars() need only uart_port
	serial: altera_uart: fix locking in polling mode
	serial: sunsab: Fix error handling in sunsab_init()
	test_firmware: fix memory leak in test_firmware_init()
	misc: ocxl: fix possible name leak in ocxl_file_register_afu()
	misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
	misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os
	cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
	cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
	counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update
	usb: roles: fix of node refcount leak in usb_role_switch_is_parent()
	usb: gadget: f_hid: optional SETUP/SET_REPORT mode
	usb: gadget: f_hid: fix f_hidg lifetime vs cdev
	usb: gadget: f_hid: fix refcount leak on error path
	drivers: mcb: fix resource leak in mcb_probe()
	mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
	chardev: fix error handling in cdev_device_add()
	i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
	staging: rtl8192u: Fix use after free in ieee80211_rx()
	staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
	vme: Fix error not catched in fake_init()
	i2c: ismt: Fix an out-of-bounds bug in ismt_access()
	usb: storage: Add check for kcalloc
	tracing/hist: Fix issue of losting command info in error_log
	samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
	fbdev: ssd1307fb: Drop optional dependency
	fbdev: pm2fb: fix missing pci_disable_device()
	fbdev: via: Fix error in via_core_init()
	fbdev: vermilion: decrease reference count in error path
	fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
	HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
	HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
	power: supply: fix residue sysfs file in error handle route of __power_supply_register()
	perf trace: Return error if a system call doesn't exist
	perf trace: Separate 'struct syscall_fmt' definition from syscall_fmts variable
	perf trace: Factor out the initialization of syscal_arg_fmt->scnprintf
	perf trace: Add the syscall_arg_fmt pointer to syscall_arg
	perf trace: Allow associating scnprintf routines with well known arg names
	perf trace: Add a strtoul() method to 'struct syscall_arg_fmt'
	perf trace: Use macro RAW_SYSCALL_ARGS_NUM to replace number
	perf trace: Handle failure when trace point folder is missed
	perf symbol: correction while adjusting symbol
	HSI: omap_ssi_core: Fix error handling in ssi_init()
	power: supply: fix null pointer dereferencing in power_supply_get_battery_info
	RDMA/siw: Fix pointer cast warning
	include/uapi/linux/swab: Fix potentially missing __always_inline
	rtc: snvs: Allow a time difference on clock register read
	rtc: pcf85063: Fix reading alarm
	iommu/amd: Fix pci device refcount leak in ppr_notifier()
	iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
	macintosh: fix possible memory leak in macio_add_one_device()
	macintosh/macio-adb: check the return value of ioremap()
	powerpc/52xx: Fix a resource leak in an error handling path
	cxl: Fix refcount leak in cxl_calc_capp_routing
	powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
	powerpc/perf: callchain validate kernel stack pointer bounds
	powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
	powerpc/hv-gpci: Fix hv_gpci event list
	selftests/powerpc: Fix resource leaks
	pwm: sifive: Call pwm_sifive_update_clock() while mutex is held
	remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev()
	remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region()
	rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
	rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe()
	nfsd: Define the file access mode enum for tracing
	NFSD: Add tracepoints to NFSD's duplicate reply cache
	nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
	mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
	mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
	mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
	nfc: pn533: Clear nfc_target before being used
	r6040: Fix kmemleak in probe and remove
	rtc: mxc_v2: Add missing clk_disable_unprepare()
	openvswitch: Fix flow lookup to use unmasked key
	skbuff: Account for tail adjustment during pull operations
	mailbox: zynq-ipi: fix error handling while device_register() fails
	net_sched: reject TCF_EM_SIMPLE case for complex ematch module
	rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
	myri10ge: Fix an error handling path in myri10ge_probe()
	net: stream: purge sk_error_queue in sk_stream_kill_queues()
	rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()
	binfmt_misc: fix shift-out-of-bounds in check_special_flags
	fs: jfs: fix shift-out-of-bounds in dbAllocAG
	udf: Avoid double brelse() in udf_rename()
	fs: jfs: fix shift-out-of-bounds in dbDiscardAG
	ACPICA: Fix error code path in acpi_ds_call_control_method()
	nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
	acct: fix potential integer overflow in encode_comp_t()
	hfs: fix OOB Read in __hfs_brec_find
	drm/etnaviv: add missing quirks for GC300
	brcmfmac: return error when getting invalid max_flowrings from dongle
	wifi: ath9k: verify the expected usb_endpoints are present
	wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
	ASoC: codecs: rt298: Add quirk for KBL-R RVP platform
	ipmi: fix memleak when unload ipmi driver
	bpf: make sure skb->len != 0 when redirecting to a tunneling device
	net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
	hamradio: baycom_epp: Fix return type of baycom_send_packet()
	wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
	igb: Do not free q_vector unless new one was allocated
	s390/ctcm: Fix return type of ctc{mp,}m_tx()
	s390/netiucv: Fix return type of netiucv_tx()
	s390/lcs: Fix return type of lcs_start_xmit()
	drm/rockchip: Use drm_mode_copy()
	drm/sti: Use drm_mode_copy()
	drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
	md/raid1: stop mdx_raid1 thread when raid1 array run failed
	net: add atomic_long_t to net_device_stats fields
	mrp: introduce active flags to prevent UAF when applicant uninit
	ppp: associate skb with a device at tx
	bpf: Prevent decl_tag from being referenced in func_proto arg
	media: dvb-frontends: fix leak of memory fw
	media: dvbdev: adopts refcnt to avoid UAF
	media: dvb-usb: fix memory leak in dvb_usb_adapter_init()
	blk-mq: fix possible memleak when register 'hctx' failed
	regulator: core: fix use_count leakage when handling boot-on
	mmc: f-sdh30: Add quirks for broken timeout clock capability
	media: si470x: Fix use-after-free in si470x_int_in_callback()
	clk: st: Fix memory leak in st_of_quadfs_setup()
	hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param()
	drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
	drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
	orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
	orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()
	ALSA/ASoC: hda: move/rename snd_hdac_ext_stop_streams to hdac_stream.c
	ALSA: hda: add snd_hdac_stop_streams() helper
	ASoC: Intel: Skylake: Fix driver hang during shutdown
	ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
	ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link()
	ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
	ASoC: wm8994: Fix potential deadlock
	ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
	ASoC: rt5670: Remove unbalanced pm_runtime_put()
	pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
	pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
	ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB
	ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list
	usb: dwc3: core: defer probe on ulpi_read_id timeout
	HID: wacom: Ensure bootloader PID is usable in hidraw mode
	reiserfs: Add missing calls to reiserfs_security_free()
	iio: adc: ad_sigma_delta: do not use internal iio_dev lock
	iio: adc128s052: add proper .data members in adc128_of_match table
	regulator: core: fix deadlock on regulator enable
	gcov: add support for checksum field
	media: dvbdev: fix build warning due to comments
	media: dvbdev: fix refcnt bug
	cifs: fix oops during encryption
	nvme-pci: fix doorbell buffer value endianness
	ata: ahci: Fix PCS quirk application for suspend
	nvme: resync include/linux/nvme.h with nvmecli
	nvme: fix the NVME_CMD_EFFECTS_CSE_MASK definition
	objtool: Fix SEGFAULT
	powerpc/rtas: avoid device tree lookups in rtas_os_term()
	powerpc/rtas: avoid scheduling in rtas_os_term()
	HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint
	HID: plantronics: Additional PIDs for double volume key presses quirk
	hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount
	ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
	ALSA: line6: correct midi status byte when receiving data from podxt
	ALSA: line6: fix stack overflow in line6_midi_transmit
	pnode: terminate at peers of source
	md: fix a crash in mempool_free
	mm, compaction: fix fast_isolate_around() to stay within boundaries
	f2fs: should put a page when checking the summary info
	mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
	tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
	tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak
	SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
	net/af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO
	net/af_packet: make sure to pull mac header
	media: stv0288: use explicitly signed char
	soc: qcom: Select REMAP_MMIO for LLCC driver
	kest.pl: Fix grub2 menu handling for rebooting
	ktest.pl minconfig: Unset configs instead of just removing them
	mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K
	btrfs: fix resolving backrefs for inline extent followed by prealloc
	ARM: ux500: do not directly dereference __iomem
	arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength
	selftests: Use optional USERCFLAGS and USERLDFLAGS
	cpufreq: Init completion before kobject_init_and_add()
	binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
	binfmt: Fix error return code in load_elf_fdpic_binary()
	dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
	dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata
	dm thin: Use last transaction's pmd->root when commit failed
	dm thin: Fix UAF in run_timer_softirq()
	dm integrity: Fix UAF in dm_integrity_dtr()
	dm clone: Fix UAF in clone_dtr()
	dm cache: Fix UAF in destroy()
	dm cache: set needs_check flag after aborting metadata
	tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx'
	x86/microcode/intel: Do not retry microcode reloading on the APs
	tracing/hist: Fix wrong return value in parse_action_params()
	tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
	ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod
	media: dvb-core: Fix double free in dvb_register_device()
	media: dvb-core: Fix UAF due to refcount races at releasing
	cifs: fix confusing debug message
	cifs: fix missing display of three mount options
	md/bitmap: Fix bitmap chunk size overflow issues
	efi: Add iMac Pro 2017 to uefi skip cert quirk
	ipmi: fix long wait in unload when IPMI disconnect
	mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type()
	ima: Fix a potential NULL pointer access in ima_restore_measurement_list
	ipmi: fix use after free in _ipmi_destroy_user()
	PCI: Fix pci_device_is_present() for VFs by checking PF
	PCI/sysfs: Fix double free in error path
	crypto: n2 - add missing hash statesize
	iommu/amd: Fix ivrs_acpihid cmdline parsing code
	parisc: led: Fix potential null-ptr-deref in start_task()
	device_cgroup: Roll back to original exceptions after copy failure
	drm/connector: send hotplug uevent on connector cleanup
	drm/vmwgfx: Validate the box size for the snooped cursor
	ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
	ext4: fix undefined behavior in bit shift for ext4_check_flag_values
	ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode
	ext4: add helper to check quota inums
	ext4: fix reserved cluster accounting in __es_remove_extent()
	ext4: fix bug_on in __es_tree_search caused by bad boot loader inode
	ext4: init quota for 'old.inode' in 'ext4_rename'
	ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
	ext4: fix corruption when online resizing a 1K bigalloc fs
	ext4: fix error code return to user-space in ext4_get_branch()
	ext4: avoid BUG_ON when creating xattrs
	ext4: fix inode leak in ext4_xattr_inode_create() on an error path
	ext4: initialize quota before expanding inode in setproject ioctl
	ext4: avoid unaccounted block allocation when expanding inode
	ext4: allocate extended attribute value in vmalloc area
	btrfs: replace strncpy() with strscpy()
	PM/devfreq: governor: Add a private governor_data for governor
	media: s5p-mfc: Fix to handle reference queue during finishing
	media: s5p-mfc: Clear workbit to handle error condition
	media: s5p-mfc: Fix in register read and write for H264
	dm thin: resume even if in FAIL mode
	perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
	perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
	KVM: x86: optimize more exit handlers in vmx.c
	KVM: retpolines: x86: eliminate retpoline from vmx.c exit handlers
	KVM: VMX: Rename INTERRUPT_PENDING to INTERRUPT_WINDOW
	KVM: VMX: Rename NMI_PENDING to NMI_WINDOW
	KVM: VMX: Fix the spelling of CPU_BASED_USE_TSC_OFFSETTING
	KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1
	ravb: Fix "failed to switch device to config mode" message during unbind
	ext4: goto right label 'failed_mount3a'
	ext4: correct inconsistent error msg in nojournal mode
	mm/highmem: Lift memcpy_[to|from]_page to core
	ext4: use memcpy_to_page() in pagecache_write()
	fs: ext4: initialize fsdata in pagecache_write()
	ext4: use kmemdup() to replace kmalloc + memcpy
	mbcache: don't reclaim used entries
	mbcache: add functions to delete entry if unused
	ext4: remove EA inode entry from mbcache on inode eviction
	ext4: unindent codeblock in ext4_xattr_block_set()
	ext4: fix race when reusing xattr blocks
	mbcache: automatically delete entries from cache on freeing
	ext4: fix deadlock due to mbcache entry corruption
	SUNRPC: ensure the matching upcall is in-flight upon downcall
	bpf: pull before calling skb_postpull_rcsum()
	nfsd: shut down the NFSv4 state objects before the filecache
	net: hns3: add interrupts re-initialization while doing VF FLR
	net: sched: fix memory leak in tcindex_set_parms
	qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure
	nfc: Fix potential resource leaks
	vhost: fix range used in translate_desc()
	net: amd-xgbe: add missed tasklet_kill
	net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe
	RDMA/uverbs: Silence shiftTooManyBitsSigned warning
	RDMA/mlx5: Fix validation of max_rd_atomic caps for DC
	net: sched: atm: dont intepret cls results when asked to drop
	net: sched: cbq: dont intepret cls results when asked to drop
	perf tools: Fix resources leak in perf_data__open_dir()
	drivers/net/bonding/bond_3ad: return when there's no aggregator
	usb: rndis_host: Secure rndis_query check against int overflow
	drm/i915: unpin on error in intel_vgpu_shadow_mm_pin()
	caif: fix memory leak in cfctrl_linkup_request()
	udf: Fix extension of the last extent in the file
	ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet
	x86/bugs: Flush IBP in ib_prctl_set()
	nfsd: fix handling of readdir in v4root vs. mount upcall timeout
	riscv: uaccess: fix type of 0 variable on error in get_user()
	ext4: don't allow journal inode to have encrypt flag
	hfs/hfsplus: use WARN_ON for sanity check
	hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling
	mbcache: Avoid nesting of cache->c_list_lock under bit locks
	parisc: Align parisc MADV_XXX constants with all other architectures
	selftests: Fix kselftest O=objdir build from cluttering top level objdir
	selftests: set the BUILD variable to absolute path
	driver core: Fix bus_type.match() error handling in __driver_attach()
	net: sched: disallow noqueue for qdisc classes
	KVM: arm64: Fix S1PTW handling on RO memslots
	efi: tpm: Avoid READ_ONCE() for accessing the event log
	docs: Fix the docs build with Sphinx 6.0
	perf auxtrace: Fix address filter duplicate symbol selection
	s390/kexec: fix ipl report address for kdump
	s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
	net/ulp: prevent ULP without clone op from entering the LISTEN status
	ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
	ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list
	cifs: Fix uninitialized memory read for smb311 posix symlink create
	drm/msm/adreno: Make adreno quirks not overwrite each other
	platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe
	ixgbe: fix pci device refcount leak
	ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
	wifi: wilc1000: sdio: fix module autoloading
	usb: ulpi: defer ulpi_register on ulpi_read_id timeout
	jbd2: use the correct print format
	quota: Factor out setup of quota inode
	ext4: fix bug_on in __es_tree_search caused by bad quota inode
	ext4: lost matching-pair of trace in ext4_truncate
	ext4: fix use-after-free in ext4_orphan_cleanup
	ext4: fix uninititialized value in 'ext4_evict_inode'
	netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.
	powerpc/imc-pmu: Fix use of mutex in IRQs disabled section
	x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
	EDAC/device: Fix period calculation in edac_device_reset_delay_period()
	regulator: da9211: Use irq handler when ready
	tipc: improve throughput between nodes in netns
	tipc: eliminate checking netns if node established
	tipc: fix unexpected link reset due to discovery messages
	hvc/xen: lock console list traversal
	nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
	net/sched: act_mpls: Fix warning during failed attribute validation
	net/mlx5: Rename ptp clock info
	net/mlx5: Fix ptp max frequency adjustment range
	iommu/mediatek-v1: Add error handle for mtk_iommu_probe
	iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
	x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI
	x86/resctrl: Fix task CLOSID/RMID update race
	drm/virtio: Fix GEM handle creation UAF
	arm64: atomics: format whitespace consistently
	arm64: atomics: remove LL/SC trampolines
	arm64: cmpxchg_double*: hazard against entire exchange variable
	efi: fix NULL-deref in init error path
	mm: Always release pages to the buddy allocator in memblock_free_late().
	Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"
	tipc: fix use-after-free in tipc_disc_rcv()
	tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started
	tipc: Add a missing case of TIPC_DIRECT_MSG type
	ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown
	tipc: call tipc_lxc_xmit without holding node_read_lock
	Linux 5.4.229

Change-Id: If8e35d5d3e707352766ae3e4b665fd2369d9382b
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-01-18 12:21:41 +00:00
Xin Long
68a37dc77e tipc: call tipc_lxc_xmit without holding node_read_lock
commit 88956177db179e4eba7cd590971961857d1565b8 upstream.

When sending packets between nodes in netns, it calls tipc_lxc_xmit() for
peer node to receive the packets where tipc_sk_mcast_rcv()/tipc_sk_rcv()
might be called, and it's pretty much like in tipc_rcv().

Currently the local 'node rw lock' is held during calling tipc_lxc_xmit()
to protect the peer_net not being freed by another thread. However, when
receiving these packets, tipc_node_add_conn() might be called where the
peer 'node rw lock' is acquired. Then a dead lock warning is triggered by
lockdep detector, although it is not a real dead lock:

    WARNING: possible recursive locking detected
    --------------------------------------------
    conn_server/1086 is trying to acquire lock:
    ffff8880065cb020 (&n->lock#2){++--}-{2:2}, \
                     at: tipc_node_add_conn.cold.76+0xaa/0x211 [tipc]

    but task is already holding lock:
    ffff8880065cd020 (&n->lock#2){++--}-{2:2}, \
                     at: tipc_node_xmit+0x285/0xb30 [tipc]

    other info that might help us debug this:
     Possible unsafe locking scenario:

           CPU0
           ----
      lock(&n->lock#2);
      lock(&n->lock#2);

     *** DEADLOCK ***

     May be due to missing lock nesting notation

    4 locks held by conn_server/1086:
     #0: ffff8880036d1e40 (sk_lock-AF_TIPC){+.+.}-{0:0}, \
                          at: tipc_accept+0x9c0/0x10b0 [tipc]
     #1: ffff8880036d5f80 (sk_lock-AF_TIPC/1){+.+.}-{0:0}, \
                          at: tipc_accept+0x363/0x10b0 [tipc]
     #2: ffff8880065cd020 (&n->lock#2){++--}-{2:2}, \
                          at: tipc_node_xmit+0x285/0xb30 [tipc]
     #3: ffff888012e13370 (slock-AF_TIPC){+...}-{2:2}, \
                          at: tipc_sk_rcv+0x2da/0x1b40 [tipc]

    Call Trace:
     <TASK>
     dump_stack_lvl+0x44/0x5b
     __lock_acquire.cold.77+0x1f2/0x3d7
     lock_acquire+0x1d2/0x610
     _raw_write_lock_bh+0x38/0x80
     tipc_node_add_conn.cold.76+0xaa/0x211 [tipc]
     tipc_sk_finish_conn+0x21e/0x640 [tipc]
     tipc_sk_filter_rcv+0x147b/0x3030 [tipc]
     tipc_sk_rcv+0xbb4/0x1b40 [tipc]
     tipc_lxc_xmit+0x225/0x26b [tipc]
     tipc_node_xmit.cold.82+0x4a/0x102 [tipc]
     __tipc_sendstream+0x879/0xff0 [tipc]
     tipc_accept+0x966/0x10b0 [tipc]
     do_accept+0x37d/0x590

This patch avoids this warning by not holding the 'node rw lock' before
calling tipc_lxc_xmit(). As to protect the 'peer_net', rcu_read_lock()
should be enough, as in cleanup_net() when freeing the netns, it calls
synchronize_rcu() before the free is continued.

Also since tipc_lxc_xmit() is like the RX path in tipc_rcv(), it makes
sense to call it under rcu_read_lock(). Note that the right lock order
must be:

   rcu_read_lock();
   tipc_node_read_lock(n);
   tipc_node_read_unlock(n);
   tipc_lxc_xmit();
   rcu_read_unlock();

instead of:

   tipc_node_read_lock(n);
   rcu_read_lock();
   tipc_node_read_unlock(n);
   tipc_lxc_xmit();
   rcu_read_unlock();

and we have to call tipc_node_read_lock/unlock() twice in
tipc_node_xmit().

Fixes: f73b12812a3d ("tipc: improve throughput between nodes in netns")
Reported-by: Shuang Li <shuali@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Link: https://lore.kernel.org/r/5bdd1f8fee9db695cfff4528a48c9b9d0523fb00.1670110641.git.lucien.xin@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-18 11:42:06 +01:00
Hoang Le
2db88851fa tipc: Add a missing case of TIPC_DIRECT_MSG type
commit 8b1e5b0a99f04bda2d6c85ecfe5e68a356c10914 upstream.

In the commit f73b12812a3d
("tipc: improve throughput between nodes in netns"), we're missing a check
to handle TIPC_DIRECT_MSG type, it's still using old sending mechanism for
this message type. So, throughput improvement is not significant as
expected.

Besides that, when sending a large message with that type, we're also
handle wrong receiving queue, it should be enqueued in socket receiving
instead of multicast messages.

Fix this by adding the missing case for TIPC_DIRECT_MSG.

Fixes: f73b12812a3d ("tipc: improve throughput between nodes in netns")
Reported-by: Tuong Lien <tuong.t.lien@dektech.com.au>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-18 11:42:06 +01:00
Tuong Lien
3188f80b80 tipc: fix use-after-free in tipc_disc_rcv()
commit 31e4ccc99eda8a5a7e6902c98bee6e78ffd3edb9 upstream.

In the function 'tipc_disc_rcv()', the 'msg_peer_net_hash()' is called
to read the header data field but after the message skb has been freed,
that might result in a garbage value...

This commit fixes it by defining a new local variable to store the data
first, just like the other header fields' handling.

Fixes: f73b12812a3d ("tipc: improve throughput between nodes in netns")
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Tuong Lien <tuong.t.lien@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-18 11:42:06 +01:00
Tung Nguyen
7d04fe153d tipc: fix unexpected link reset due to discovery messages
[ Upstream commit c244c092f1ed2acfb5af3d3da81e22367d3dd733 ]

This unexpected behavior is observed:

node 1                    | node 2
------                    | ------
link is established       | link is established
reboot                    | link is reset
up                        | send discovery message
receive discovery message |
link is established       | link is established
send discovery message    |
                          | receive discovery message
                          | link is reset (unexpected)
                          | send reset message
link is reset             |

It is due to delayed re-discovery as described in function
tipc_node_check_dest(): "this link endpoint has already reset
and re-established contact with the peer, before receiving a
discovery message from that node."

However, commit 598411d70f has changed the condition for calling
tipc_node_link_down() which was the acceptance of new media address.

This commit fixes this by restoring the old and correct behavior.

Fixes: 598411d70f ("tipc: make resetting of links non-atomic")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:42:04 +01:00
Hoang Le
95b2d4889f tipc: eliminate checking netns if node established
[ Upstream commit d408bef4bfa60bac665b6e7239269570039a968b ]

Currently, we scan over all network namespaces at each received
discovery message in order to check if the sending peer might be
present in a host local namespaces.

This is unnecessary since we can assume that a peer will not change its
location during an established session.

We now improve the condition for this testing so that we don't perform
any redundant scans.

Fixes: f73b12812a3d ("tipc: improve throughput between nodes in netns")
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: c244c092f1ed ("tipc: fix unexpected link reset due to discovery messages")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:42:04 +01:00
Hoang Le
d6418829ce tipc: improve throughput between nodes in netns
[ Upstream commit f73b12812a3d1d798b7517547ccdcf864844d2cd ]

Currently, TIPC transports intra-node user data messages directly
socket to socket, hence shortcutting all the lower layers of the
communication stack. This gives TIPC very good intra node performance,
both regarding throughput and latency.

We now introduce a similar mechanism for TIPC data traffic across
network namespaces located in the same kernel. On the send path, the
call chain is as always accompanied by the sending node's network name
space pointer. However, once we have reliably established that the
receiving node is represented by a namespace on the same host, we just
replace the namespace pointer with the receiving node/namespace's
ditto, and follow the regular socket receive patch though the receiving
node. This technique gives us a throughput similar to the node internal
throughput, several times larger than if we let the traffic go though
the full network stacks. As a comparison, max throughput for 64k
messages is four times larger than TCP throughput for the same type of
traffic.

To meet any security concerns, the following should be noted.

- All nodes joining a cluster are supposed to have been be certified
and authenticated by mechanisms outside TIPC. This is no different for
nodes/namespaces on the same host; they have to auto discover each
other using the attached interfaces, and establish links which are
supervised via the regular link monitoring mechanism. Hence, a kernel
local node has no other way to join a cluster than any other node, and
have to obey to policies set in the IP or device layers of the stack.

- Only when a sender has established with 100% certainty that the peer
node is located in a kernel local namespace does it choose to let user
data messages, and only those, take the crossover path to the receiving
node/namespace.

- If the receiving node/namespace is removed, its namespace pointer
is invalidated at all peer nodes, and their neighbor link monitoring
will eventually note that this node is gone.

- To ensure the "100% certainty" criteria, and prevent any possible
spoofing, received discovery messages must contain a proof that the
sender knows a common secret. We use the hash mix of the sending
node/namespace for this purpose, since it can be accessed directly by
all other namespaces in the kernel. Upon reception of a discovery
message, the receiver checks this proof against all the local
namespaces'hash_mix:es. If it finds a match, that, along with a
matching node id and cluster id, this is deemed sufficient proof that
the peer node in question is in a local namespace, and a wormhole can
be opened.

- We should also consider that TIPC is intended to be a cluster local
IPC mechanism (just like e.g. UNIX sockets) rather than a network
protocol, and hence we think it can justified to allow it to shortcut the
lower protocol layers.

Regarding traceability, we should notice that since commit 6c9081a391
("tipc: add loopback device tracking") it is possible to follow the node
internal packet flow by just activating tcpdump on the loopback
interface. This will be true even for this mechanism; by activating
tcpdump on the involved nodes' loopback interfaces their inter-name
space messaging can easily be tracked.

v2:
- update 'net' pointer when node left/rejoined
v3:
- grab read/write lock when using node ref obj
v4:
- clone traffics between netns to loopback

Suggested-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: c244c092f1ed ("tipc: fix unexpected link reset due to discovery messages")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:42:04 +01:00
Greg Kroah-Hartman
4ae923b7c6 Merge 5.4.227 into android11-5.4-lts
Changes in 5.4.227
	arm64: dts: rockchip: keep I2S1 disabled for GPIO function on ROCK Pi 4 series
	arm: dts: rockchip: fix node name for hym8563 rtc
	ARM: dts: rockchip: fix ir-receiver node names
	ARM: dts: rockchip: rk3188: fix lcdc1-rgb24 node name
	ARM: 9251/1: perf: Fix stacktraces for tracepoint events in THUMB2 kernels
	ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation
	ARM: dts: rockchip: disable arm_global_timer on rk3066 and rk3188
	9p/fd: Use P9_HDRSZ for header size
	regulator: slg51000: Wait after asserting CS pin
	ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event
	btrfs: send: avoid unaligned encoded writes when attempting to clone range
	ASoC: soc-pcm: Add NULL check in BE reparenting
	regulator: twl6030: fix get status of twl6032 regulators
	fbcon: Use kzalloc() in fbcon_prepare_logo()
	9p/xen: check logical size for buffer size
	net: usb: qmi_wwan: add u-blox 0x1342 composition
	mm/khugepaged: take the right locks for page table retraction
	mm/khugepaged: fix GUP-fast interaction by sending IPI
	mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths
	xen/netback: Ensure protocol headers don't fall in the non-linear area
	xen/netback: do some code cleanup
	xen/netback: don't call kfree_skb() with interrupts disabled
	Revert "net: dsa: b53: Fix valid setting for MDB entries"
	media: v4l2-dv-timings.c: fix too strict blanking sanity checks
	memcg: fix possible use-after-free in memcg_write_event_control()
	mm/gup: fix gup_pud_range() for dax
	KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field
	drm/shmem-helper: Remove errant put in error path
	HID: usbhid: Add ALWAYS_POLL quirk for some mice
	HID: hid-lg4ff: Add check for empty lbuf
	HID: core: fix shift-out-of-bounds in hid_report_raw_event
	can: af_can: fix NULL pointer dereference in can_rcv_filter
	ieee802154: cc2520: Fix error return code in cc2520_hw_init()
	ca8210: Fix crash by zero initializing data
	drm/bridge: ti-sn65dsi86: Fix output polarity setting bug
	gpio: amd8111: Fix PCI device reference count leak
	e1000e: Fix TX dispatch condition
	igb: Allocate MSI-X vector when testing
	af_unix: Get user_ns from in_skb in unix_diag_get_exact().
	Bluetooth: 6LoWPAN: add missing hci_dev_put() in get_l2cap_conn()
	Bluetooth: Fix not cleanup led when bt_init fails
	net: dsa: ksz: Check return value
	selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload
	mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add()
	net: encx24j600: Add parentheses to fix precedence
	net: encx24j600: Fix invalid logic in reading of MISTAT register
	xen-netfront: Fix NULL sring after live migration
	net: mvneta: Prevent out of bounds read in mvneta_config_rss()
	i40e: Fix not setting default xps_cpus after reset
	i40e: Fix for VF MAC address 0
	i40e: Disallow ip4 and ip6 l4_4_bytes
	NFC: nci: Bounds check struct nfc_target arrays
	nvme initialize core quirks before calling nvme_init_subsystem
	net: stmmac: fix "snps,axi-config" node property parsing
	net: thunderx: Fix missing destroy_workqueue of nicvf_rx_mode_wq
	net: hisilicon: Fix potential use-after-free in hisi_femac_rx()
	net: hisilicon: Fix potential use-after-free in hix5hd2_rx()
	tipc: Fix potential OOB in tipc_link_proto_rcv()
	ipv4: Fix incorrect route flushing when source address is deleted
	ipv4: Fix incorrect route flushing when table ID 0 is used
	ethernet: aeroflex: fix potential skb leak in greth_init_rings()
	xen/netback: fix build warning
	net: plip: don't call kfree_skb/dev_kfree_skb() under spin_lock_irq()
	ipv6: avoid use-after-free in ip6_fragment()
	net: mvneta: Fix an out of bounds check
	can: esd_usb: Allow REC and TEC to return to zero
	Linux 5.4.227

Change-Id: Idd4fa0e113a2b94326764baa669ff6fb02797adb
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-01-07 14:53:24 +00:00
YueHaibing
36eedb9a05 tipc: Fix potential OOB in tipc_link_proto_rcv()
[ Upstream commit 743117a997bbd4840e827295c07e59bcd7f7caa3 ]

Fix the potential risk of OOB if skb_linearize() fails in
tipc_link_proto_rcv().

Fixes: 5cbb28a4bf ("tipc: linearize arriving NAME_DISTR and LINK_PROTO buffers")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Link: https://lore.kernel.org/r/20221203094635.29024-1-yuehaibing@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-14 11:30:47 +01:00
Greg Kroah-Hartman
39c4c9c65c This is the 5.4.226 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmORuw8ACgkQONu9yGCS
 aT4qeRAAjtp+p7ECcaXqZ4vHIka9IGcwRhjWbeB/xFCOgKKbOOLmZP9Cql1pJdEp
 grdcp/tjNAwi1ec80+G/3AaAWqGRFHYi/Tboe+ZSHIp4Oot78fSclMp6lCMh/bzC
 eR6niNNNlrEUC/lj0h5lWRJvQd6MK4orSCOCybeJ+HRmrLcm1pGSuJmssHoBn7Xk
 JHg3RR5OW4BU4UHQHmcJfeH+J5zfNH0ygu1L3MRqzoINWUJ7PtSrIdR5xCm/4ibr
 oyOH0nenC3hkOM4atui/92dX3HsNxazuA51Ch0AANFRiKYjJBIXMitapi1BvpqfB
 Ny1I95j37Tuys4OQhJhNlbvHgxdNmouEHH06SwY8+yaU6LPkrFtdD0AxIDofakBZ
 Npy9AkYmvj14ARAeyqzswxSQGWuuvlDjJR3dId/kIuP8wcRcNWsrFefHs0YZxhjn
 o0LKmpkw5QgjW7Gh8TKEdl4saAXZwLXV00gHN9DD6UOr4eYNHtBHUJg6zMN5aR19
 Dco+UTJj1NlmlEBDP6pFp9LTAcTsjVh6FVpX+uMRs18+kXS3SxzPgB9qEwjerU5m
 HA0pzc+BgZqHpu3LhkbC4JfGNJ9fHnVZe6fT6/kTt3SiaEtLx8JKvH6VsCHVgEv6
 whY3hlS4bWII8Jey0ZS8BtyKJiku3zfGDXAQ3rpwGbX1ddDn+d8=
 =qI32
 -----END PGP SIGNATURE-----

Merge 5.4.226 into android11-5.4-lts

Changes in 5.4.226
	wifi: mac80211: fix memory free error when registering wiphy fail
	wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support
	audit: fix undefined behavior in bit shift for AUDIT_BIT
	wifi: mac80211: Fix ack frame idr leak when mesh has no route
	spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run
	drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017)
	block, bfq: fix null pointer dereference in bfq_bio_bfqg()
	arm64/syscall: Include asm/ptrace.h in syscall_wrapper header.
	RISC-V: vdso: Do not add missing symbols to version section in linker script
	MIPS: pic32: treat port as signed integer
	af_key: Fix send_acquire race with pfkey_register
	ARM: dts: am335x-pcm-953: Define fixed regulators in root node
	ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove
	regulator: core: fix kobject release warning and memory leak in regulator_register()
	regulator: core: fix UAF in destroy_regulator()
	bus: sunxi-rsb: Support atomic transfers
	tee: optee: fix possible memory leak in optee_register_device()
	ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl
	net: liquidio: simplify if expression
	nfc/nci: fix race with opening and closing
	net: pch_gbe: fix potential memleak in pch_gbe_tx_queue()
	9p/fd: fix issue of list_del corruption in p9_fd_cancel()
	ARM: mxs: fix memory leak in mxs_machine_init()
	net/mlx4: Check retval of mlx4_bitmap_init
	net/qla3xxx: fix potential memleak in ql3xxx_send()
	net: pch_gbe: fix pci device refcount leak while module exiting
	nfp: add port from netdev validation for EEPROM access
	Drivers: hv: vmbus: fix double free in the error path of vmbus_add_channel_work()
	Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register()
	net/mlx5: Fix FW tracer timestamp calculation
	tipc: set con sock in tipc_conn_alloc
	tipc: add an extra conn_get in tipc_conn_alloc
	tipc: check skb_linearize() return value in tipc_disc_rcv()
	xfrm: Fix ignored return value in xfrm6_init()
	NFC: nci: fix memory leak in nci_rx_data_packet()
	regulator: twl6030: re-add TWL6032_SUBCLASS
	bnx2x: fix pci device refcount leak in bnx2x_vf_is_pcie_pending()
	dccp/tcp: Reset saddr on failure after inet6?_hash_connect().
	s390/dasd: fix no record found for raw_track_access
	nfc: st-nci: fix incorrect validating logic in EVT_TRANSACTION
	nfc: st-nci: fix memory leaks in EVT_TRANSACTION
	net: thunderx: Fix the ACPI memory leak
	s390/crashdump: fix TOD programmable field size
	lib/vdso: use "grep -E" instead of "egrep"
	usb: dwc3: exynos: Fix remove() function
	arm64: dts: rockchip: lower rk3399-puma-haikou SD controller clock frequency
	iio: light: apds9960: fix wrong register for gesture gain
	iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails
	init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash
	nios2: add FORCE for vmlinuz.gz
	iio: ms5611: Simplify IO callback parameters
	iio: pressure: ms5611: fixed value compensation bug
	ceph: do not update snapshot context when there is no new snapshot
	ceph: avoid putting the realm twice when decoding snaps fails
	firmware: google: Release devices before unregistering the bus
	firmware: coreboot: Register bus in module init
	nilfs2: fix nilfs_sufile_mark_dirty() not set segment usage as dirty
	gcov: clang: fix the buffer overflow issue
	Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode
	ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01
	serial: 8250: 8250_omap: Avoid RS485 RTS glitch on ->set_termios()
	xen/platform-pci: add missing free_irq() in error path
	platform/x86: asus-wmi: add missing pci_dev_put() in asus_wmi_set_xusb2pr()
	platform/x86: acer-wmi: Enable SW_TABLET_MODE on Switch V 10 (SW5-017)
	platform/x86: hp-wmi: Ignore Smart Experience App event
	tcp: configurable source port perturb table size
	net: usb: qmi_wwan: add Telit 0x103a composition
	dm integrity: flush the journal on suspend
	binder: avoid potential data leakage when copying txn
	binder: read pre-translated fds from sender buffer
	binder: defer copies of pre-patched txn data
	binder: fix pointer cast warning
	binder: Address corner cases in deferred copy and fixup
	binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0
	btrfs: free btrfs_path before copying root refs to userspace
	btrfs: free btrfs_path before copying fspath to userspace
	btrfs: free btrfs_path before copying subvol info to userspace
	btrfs: sysfs: normalize the error handling branch in btrfs_init_sysfs()
	drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN
	drm/amdgpu: always register an MMU notifier for userptr
	drm/i915: fix TLB invalidation for Gen12 video and compute engines
	fuse: lock inode unconditionally in fuse_fallocate()
	btrfs: free btrfs_path before copying inodes to userspace
	spi: spi-imx: Fix spi_bus_clk if requested clock is higher than input clock
	btrfs: move QUOTA_ENABLED check to rescan_should_stop from btrfs_qgroup_rescan_worker
	drm/amdgpu: update drm_display_info correctly when the edid is read
	drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly when the edid is read"
	btrfs: qgroup: fix sleep from invalid context bug in btrfs_qgroup_inherit()
	iio: health: afe4403: Fix oob read in afe4403_read_raw
	iio: health: afe4404: Fix oob read in afe4404_[read|write]_raw
	iio: light: rpr0521: add missing Kconfig dependencies
	scripts/faddr2line: Fix regression in name resolution on ppc64le
	hwmon: (i5500_temp) fix missing pci_disable_device()
	hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails
	of: property: decrement node refcount in of_fwnode_get_reference_args()
	net/mlx5: Fix uninitialized variable bug in outlen_write()
	net/mlx5e: Fix use-after-free when reverting termination table
	can: sja1000_isa: sja1000_isa_probe(): add missing free_sja1000dev()
	can: cc770: cc770_isa_probe(): add missing free_cc770dev()
	qlcnic: fix sleep-in-atomic-context bugs caused by msleep
	wifi: cfg80211: fix buffer overflow in elem comparison
	net: phy: fix null-ptr-deref while probe() failed
	net: net_netdev: Fix error handling in ntb_netdev_init_module()
	net/9p: Fix a potential socket leak in p9_socket_open
	net: ethernet: nixge: fix NULL dereference
	dsa: lan9303: Correct stat name
	net: hsr: Fix potential use-after-free
	afs: Fix fileserver probe RTT handling
	net: tun: Fix use-after-free in tun_detach()
	packet: do not set TP_STATUS_CSUM_VALID on CHECKSUM_COMPLETE
	sctp: fix memory leak in sctp_stream_outq_migrate()
	net: ethernet: renesas: ravb: Fix promiscuous mode after system resumed
	hwmon: (coretemp) Check for null before removing sysfs attrs
	hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new()
	net/mlx5: DR, Fix uninitialized var warning
	error-injection: Add prompt for function error injection
	tools/vm/slabinfo-gnuplot: use "grep -E" instead of "egrep"
	nilfs2: fix NULL pointer dereference in nilfs_palloc_commit_free_entry()
	x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3
	pinctrl: intel: Save and restore pins in "direct IRQ" mode
	mmc: mmc_test: Fix removal of debugfs file
	mmc: core: Fix ambiguous TRIM and DISCARD arg
	mmc: sdhci-esdhc-imx: correct CQHCI exit halt state check
	mmc: sdhci-sprd: Fix no reset data and command after voltage switch
	tracing: Free buffers when a used dynamic event is removed
	arm64: Fix panic() when Spectre-v2 causes Spectre-BHB to re-allocate KVM vectors
	arm64: errata: Fix KVM Spectre-v2 mitigation selection for Cortex-A57/A72
	mm: Fix '.data.once' orphan section warning
	ASoC: ops: Fix bounds check for _sx controls
	pinctrl: single: Fix potential division by zero
	iommu/vt-d: Fix PCI device refcount leak in dmar_dev_scope_init()
	parisc: Increase size of gcc stack frame check
	xtensa: increase size of gcc stack frame check
	parisc: Increase FRAME_WARN to 2048 bytes on parisc
	Kconfig.debug: provide a little extra FRAME_WARN leeway when KASAN is enabled
	selftests: net: add delete nexthop route warning test
	selftests: net: fix nexthop warning cleanup double ip typo
	ipv4: Handle attempt to delete multipath route when fib_info contains an nh reference
	ipv4: Fix route deletion when nexthop info is not specified
	tracing/ring-buffer: Have polling block on watermark
	epoll: call final ep_events_available() check under the lock
	epoll: check for events when removing a timed out thread from the wait queue
	nvme: restrict management ioctls to admin
	nvme: ensure subsystem reset is single threaded
	x86/tsx: Add a feature bit for TSX control MSR support
	x86/pm: Add enumeration check before spec MSRs save/restore setup
	Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM
	x86/ioremap: Fix page aligned size calculation in __ioremap_caller()
	Revert "clocksource/drivers/riscv: Events are stopped during CPU suspend"
	char: tpm: Protect tpm_pm_suspend with locks
	mmc: sdhci: use FIELD_GET for preset value bit masks
	mmc: sdhci: Fix voltage switch delay
	proc: avoid integer type confusion in get_proc_long
	proc: proc_skip_spaces() shouldn't think it is working on C strings
	v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails
	ipc/sem: Fix dangling sem_array access in semtimedop race
	Linux 5.4.226

Change-Id: I20fe6cd332455ffff094b2be6afa8302b20db571
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2022-12-08 16:50:20 +00:00
YueHaibing
23ba1997eb tipc: check skb_linearize() return value in tipc_disc_rcv()
[ Upstream commit cd0f6421162201e4b22ce757a1966729323185eb ]

If skb_linearize() fails in tipc_disc_rcv(), we need to free the skb instead of
handle it.

Fixes: 25b0b9c4e8 ("tipc: handle collisions of 32-bit node address hash values")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Link: https://lore.kernel.org/r/20221119072832.7896-1-yuehaibing@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-08 11:22:58 +01:00
Xin Long
59f9aad22f tipc: add an extra conn_get in tipc_conn_alloc
[ Upstream commit a7b42969d63f47320853a802efd879fbdc4e010e ]

One extra conn_get() is needed in tipc_conn_alloc(), as after
tipc_conn_alloc() is called, tipc_conn_close() may free this
con before deferencing it in tipc_topsrv_accept():

   tipc_conn_alloc();
   newsk = newsock->sk;
                                 <---- tipc_conn_close();
   write_lock_bh(&sk->sk_callback_lock);
   newsk->sk_data_ready = tipc_conn_data_ready;

Then an uaf issue can be triggered:

  BUG: KASAN: use-after-free in tipc_topsrv_accept+0x1e7/0x370 [tipc]
  Call Trace:
   <TASK>
   dump_stack_lvl+0x33/0x46
   print_report+0x178/0x4b0
   kasan_report+0x8c/0x100
   kasan_check_range+0x179/0x1e0
   tipc_topsrv_accept+0x1e7/0x370 [tipc]
   process_one_work+0x6a3/0x1030
   worker_thread+0x8a/0xdf0

This patch fixes it by holding it in tipc_conn_alloc(), then after
all accessing in tipc_topsrv_accept() releasing it. Note when does
this in tipc_topsrv_kern_subscr(), as tipc_conn_rcv_sub() returns
0 or -1 only, we don't need to check for "> 0".

Fixes: c5fa7b3cf3 ("tipc: introduce new TIPC server infrastructure")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-08 11:22:58 +01:00
Xin Long
30f91687fa tipc: set con sock in tipc_conn_alloc
[ Upstream commit 0e5d56c64afcd6fd2d132ea972605b66f8a7d3c4 ]

A crash was reported by Wei Chen:

  BUG: kernel NULL pointer dereference, address: 0000000000000018
  RIP: 0010:tipc_conn_close+0x12/0x100
  Call Trace:
   tipc_topsrv_exit_net+0x139/0x320
   ops_exit_list.isra.9+0x49/0x80
   cleanup_net+0x31a/0x540
   process_one_work+0x3fa/0x9f0
   worker_thread+0x42/0x5c0

It was caused by !con->sock in tipc_conn_close(). In tipc_topsrv_accept(),
con is allocated in conn_idr then its sock is set:

  con = tipc_conn_alloc();
  ...                    <----[1]
  con->sock = newsock;

If tipc_conn_close() is called in anytime of [1], the null-pointer-def
is triggered by con->sock->sk due to con->sock is not yet set.

This patch fixes it by moving the con->sock setting to tipc_conn_alloc()
under s->idr_lock. So that con->sock can never be NULL when getting the
con from s->conn_idr. It will be also safer to move con->server and flag
CF_CONNECTED setting under s->idr_lock, as they should all be set before
tipc_conn_alloc() is called.

Fixes: c5fa7b3cf3 ("tipc: introduce new TIPC server infrastructure")
Reported-by: Wei Chen <harperchen1110@gmail.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-08 11:22:58 +01:00
Greg Kroah-Hartman
17d66a1fd0 This is the 5.4.225 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmOA8KAACgkQONu9yGCS
 aT4gDQ//bzrHgBr7HQxbW1uI6g8SyjAyhLLP41kCv7uEdq/kzCm3moAo60VA59tR
 SsCj74NaQrZwcdRrfW+hTeayX+VOBlDFMHaeetwetPGw8ON3KGDeu0OVSJQZExVM
 sBXA6oT95R3Gw3tOFO/rPJj+X+GLgY9IRODeOdedeNPwEu0X0GOGm1gLKv857mWw
 WD13Zn85RqoV7XzEVL1jN1DEN31VbqIwr/b0hf02c1kAn5oErsHRZTx9yg32Wjq6
 TPcrIN/SImysHTui5HMJvRHPOkacY3Iw1UmXThnrrskMX5tljhi++3qcsTokekbv
 qgARIRT/zC7CJHcLud7Q9+iG1IHYWnrraOhNZehAaK713hrmyBzFx8xJOkjE+041
 BcY3BASrB39+Nx5cPMe66ArCBzRPS2ALbpJGu49Az4/Oh9+QFsrx68O3hjvBK/ev
 zefqhPXjGyOiiW/WHydpDavGy93g6JT9100XAvbF3lb4AMPH0BDhy9MfNuqlynuW
 5acfRZTKVlcrXTSe+zQBQfIFXYCh1euLyMDzTvQUpIvArSl3Tn6UMJ7MflVITlGQ
 vLLhkYSyo0WN6/PruU8aUNh0dDBgh323K5bAjen3OinbdQND3abDXMMNLI6pCWx7
 jgoM//tDSWfiNHdqNcpCYRIAP5NjjInx0+k/F7KWM9/Y3Xhr3T4=
 =2ZWO
 -----END PGP SIGNATURE-----

Merge 5.4.225 into android11-5.4-lts

Changes in 5.4.225
	xfs: preserve rmapbt swapext block reservation from freed blocks
	xfs: rename xfs_bmap_is_real_extent to is_written_extent
	xfs: redesign the reflink remap loop to fix blkres depletion crash
	xfs: use MMAPLOCK around filemap_map_pages()
	xfs: preserve inode versioning across remounts
	xfs: drain the buf delwri queue before xfsaild idles
	phy: stm32: fix an error code in probe
	wifi: cfg80211: silence a sparse RCU warning
	wifi: cfg80211: fix memory leak in query_regdb_file()
	bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues
	HID: hyperv: fix possible memory leak in mousevsc_probe()
	net: gso: fix panic on frag_list with mixed head alloc types
	net: tun: Fix memory leaks of napi_get_frags
	bnxt_en: Fix possible crash in bnxt_hwrm_set_coal()
	bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer
	net: fman: Unregister ethernet device on removal
	capabilities: fix undefined behavior in bit shift for CAP_TO_MASK
	net: lapbether: fix issue of dev reference count leakage in lapbeth_device_event()
	hamradio: fix issue of dev reference count leakage in bpq_device_event()
	drm/vc4: Fix missing platform_unregister_drivers() call in vc4_drm_register()
	ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to network
	can: af_can: fix NULL pointer dereference in can_rx_register()
	tipc: fix the msg->req tlv len check in tipc_nl_compat_name_table_dump_header
	dmaengine: pxa_dma: use platform_get_irq_optional
	dmaengine: mv_xor_v2: Fix a resource leak in mv_xor_v2_remove()
	drivers: net: xgene: disable napi when register irq failed in xgene_enet_open()
	perf stat: Fix printing os->prefix in CSV metrics output
	net: nixge: disable napi when enable interrupts failed in nixge_open()
	net/mlx5: Allow async trigger completion execution on single CPU systems
	net: cpsw: disable napi in cpsw_ndo_open()
	net: cxgb3_main: disable napi when bind qsets failed in cxgb_up()
	cxgb4vf: shut down the adapter when t4vf_update_port_info() failed in cxgb4vf_open()
	ethernet: s2io: disable napi when start nic failed in s2io_card_up()
	net: mv643xx_eth: disable napi when init rxq or txq failed in mv643xx_eth_open()
	ethernet: tundra: free irq when alloc ring failed in tsi108_open()
	net: macvlan: fix memory leaks of macvlan_common_newlink
	riscv: process: fix kernel info leakage
	arm64: efi: Fix handling of misaligned runtime regions and drop warning
	MIPS: jump_label: Fix compat branch range check
	mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI
	mmc: sdhci-of-arasan: Fix SDHCI_RESET_ALL for CQHCI
	mmc: sdhci-tegra: Fix SDHCI_RESET_ALL for CQHCI
	ALSA: hda/ca0132: add quirk for EVGA Z390 DARK
	ALSA: hda: fix potential memleak in 'add_widget_node'
	ALSA: usb-audio: Add quirk entry for M-Audio Micro
	ALSA: usb-audio: Add DSD support for Accuphase DAC-60
	vmlinux.lds.h: Fix placement of '.data..decrypted' section
	nilfs2: fix deadlock in nilfs_count_free_blocks()
	nilfs2: fix use-after-free bug of ns_writer on remount
	drm/i915/dmabuf: fix sg_table handling in map_dma_buf
	platform/x86: hp_wmi: Fix rfkill causing soft blocked wifi
	btrfs: selftests: fix wrong error check in btrfs_free_dummy_root()
	udf: Fix a slab-out-of-bounds write bug in udf_find_entry()
	can: j1939: j1939_send_one(): fix missing CAN header initialization
	cert host tools: Stop complaining about deprecated OpenSSL functions
	dmaengine: at_hdmac: Fix at_lli struct definition
	dmaengine: at_hdmac: Don't start transactions at tx_submit level
	dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors
	dmaengine: at_hdmac: Don't allow CPU to reorder channel enable
	dmaengine: at_hdmac: Fix impossible condition
	dmaengine: at_hdmac: Check return code of dma_async_device_register
	net: tun: call napi_schedule_prep() to ensure we own a napi
	x86/cpu: Restore AMD's DE_CFG MSR after resume
	ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe"
	ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe"
	ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe"
	ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK
	spi: intel: Fix the offset to get the 64K erase opcode
	ASoC: codecs: jz4725b: add missed Line In power control bit
	ASoC: codecs: jz4725b: fix reported volume for Master ctl
	ASoC: codecs: jz4725b: use right control for Capture Volume
	ASoC: codecs: jz4725b: fix capture selector naming
	selftests/futex: fix build for clang
	selftests/intel_pstate: fix build for ARCH=x86_64
	NFSv4: Retry LOCK on OLD_STATEID during delegation return
	i2c: i801: add lis3lv02d's I2C address for Vostro 5568
	drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid
	btrfs: remove pointless and double ulist frees in error paths of qgroup tests
	Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm
	ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> "Route"
	spi: stm32: Print summary 'callbacks suppressed' message
	ASoC: core: Fix use-after-free in snd_soc_exit()
	serial: 8250_omap: remove wait loop from Errata i202 workaround
	serial: 8250: omap: Fix unpaired pm_runtime_put_sync() in omap8250_remove()
	serial: 8250: omap: Flush PM QOS work on remove
	serial: imx: Add missing .thaw_noirq hook
	tty: n_gsm: fix sleep-in-atomic-context bug in gsm_control_send
	ASoC: soc-utils: Remove __exit for snd_soc_util_exit()
	block: sed-opal: kmalloc the cmd/resp buffers
	siox: fix possible memory leak in siox_device_add()
	parport_pc: Avoid FIFO port location truncation
	pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map
	arm64: dts: imx8mm: Fix NAND controller size-cells
	arm64: dts: imx8mn: Fix NAND controller size-cells
	ata: libata-transport: fix double ata_host_put() in ata_tport_add()
	net: bgmac: Drop free_netdev() from bgmac_enet_remove()
	mISDN: fix possible memory leak in mISDN_dsp_element_register()
	net: liquidio: release resources when liquidio driver open failed
	mISDN: fix misuse of put_device() in mISDN_register_device()
	net: macvlan: Use built-in RCU list checking
	net: caif: fix double disconnect client in chnl_net_open()
	bnxt_en: Remove debugfs when pci_register_driver failed
	xen/pcpu: fix possible memory leak in register_pcpu()
	drbd: use after free in drbd_create_device()
	platform/x86/intel: pmc: Don't unconditionally attach Intel PMC when virtualized
	net/x25: Fix skb leak in x25_lapb_receive_frame()
	cifs: Fix wrong return value checking when GETFLAGS
	net: thunderbolt: Fix error handling in tbnet_init()
	cifs: add check for returning value of SMB2_set_info_init
	ftrace: Fix the possible incorrect kernel message
	ftrace: Optimize the allocation for mcount entries
	ftrace: Fix null pointer dereference in ftrace_add_mod()
	ring_buffer: Do not deactivate non-existant pages
	ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open()
	Revert "usb: dwc3: disable USB core PHY management"
	slimbus: stream: correct presence rate frequencies
	speakup: fix a segfault caused by switching consoles
	USB: serial: option: add Sierra Wireless EM9191
	USB: serial: option: remove old LARA-R6 PID
	USB: serial: option: add u-blox LARA-R6 00B modem
	USB: serial: option: add u-blox LARA-L6 modem
	USB: serial: option: add Fibocom FM160 0x0111 composition
	usb: add NO_LPM quirk for Realforce 87U Keyboard
	usb: chipidea: fix deadlock in ci_otg_del_timer
	iio: adc: at91_adc: fix possible memory leak in at91_adc_allocate_trigger()
	iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init()
	iio: pressure: ms5611: changed hardcoded SPI speed to value limited
	dm ioctl: fix misbehavior if list_versions races with module loading
	serial: 8250: Fall back to non-DMA Rx if IIR_RDI occurs
	serial: 8250_lpss: Configure DMA also w/o DMA filter
	Input: iforce - invert valid length check when fetching device IDs
	scsi: zfcp: Fix double free of FSF request when qdio send fails
	mmc: core: properly select voltage range without power cycle
	mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce timeout
	mmc: sdhci-pci: Fix possible memory leak caused by missing pci_dev_put()
	docs: update mediator contact information in CoC doc
	misc/vmw_vmci: fix an infoleak in vmci_host_do_receive_datagram()
	serial: 8250: Flush DMA Rx on RLSI
	ring-buffer: Include dropped pages in counting dirty patches
	scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus()
	kprobes: Skip clearing aggrprobe's post_handler in kprobe-on-ftrace case
	Input: i8042 - fix leaking of platform device on module removal
	macvlan: enforce a consistent minimal mtu
	tcp: cdg: allow tcp_cdg_release() to be called multiple times
	kcm: avoid potential race in kcm_tx_work
	bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb()
	kcm: close race conditions on sk_receive_queue
	9p: trans_fd/p9_conn_cancel: drop client lock earlier
	gfs2: Check sb_bsize_shift after reading superblock
	gfs2: Switch from strlcpy to strscpy
	9p/trans_fd: always use O_NONBLOCK read/write
	mm: fs: initialize fsdata passed to write_begin/write_end interface
	ntfs: fix use-after-free in ntfs_attr_find()
	ntfs: fix out-of-bounds read in ntfs_attr_find()
	ntfs: check overflow when iterating ATTR_RECORDs
	Linux 5.4.225

Change-Id: I7c04b5784804b3883c8cac2b860e6ddfef6f5e1f
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2022-11-29 16:39:04 +00:00
Greg Kroah-Hartman
d3df1dbcb2 Merge branch 'android11-5.4' into branch 'android11-5.4-lts'
Sync up with android11-5.4 for the following commits:

4338018da7 Merge tag 'android11-5.4.219_r00' into android11-5.4
a6768f02c5 UPSTREAM: mmc: hsq: Fix data stomping during mmc recovery
c08e708d2b UPSTREAM: pinctrl: sunxi: Fix name for A100 R_PIO
b45868d624 BACKPORT: mmc: core: Fix UHS-I SD 1.8V workaround branch
4f0ce36d86 UPSTREAM: Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression
624ab3a0c0 UPSTREAM: wifi: mac80211_hwsim: set virtio device ready in probe()
de960e4e26 BACKPORT: f2fs: don't use casefolded comparison for "." and ".."
c219b2d3f5 UPSTREAM: Revert "mm/cma.c: remove redundant cma_mutex lock"
bcbaf126b8 UPSTREAM: usb: dwc3: Try usb-role-switch first in dwc3_drd_init
2117e7c78a BACKPORT: usb: typec: ucsi: Fix reuse of completion structure
ef283814b2 BACKPORT: tipc: fix incorrect order of state message data sanity check
c5f9da53b8 UPSTREAM: net: fix up skbs delta_truesize in UDP GRO frag_list
f644f48276 UPSTREAM: cgroup-v1: Correct privileges check in release_agent writes
cb59d054a9 UPSTREAM: mm: don't try to NUMA-migrate COW pages that have other uses
e4d47f2da1 UPSTREAM: usb: raw-gadget: fix handling of dual-direction-capable endpoints
2119237920 UPSTREAM: selinux: check return value of sel_make_avc_files
517330573a UPSTREAM: usb: musb: select GENERIC_PHY instead of depending on it
e233e13e47 BACKPORT: driver core: Fix error return code in really_probe()
fb4622ee74 UPSTREAM: fscrypt: fix derivation of SipHash keys on big endian CPUs
c8bc35f2f6 BACKPORT: fscrypt: rename FS_KEY_DERIVATION_NONCE_SIZE
0aad586104 UPSTREAM: socionext: account for napi_gro_receive never returning GRO_DROP
38f38545f7 UPSTREAM: net: socionext: netsec: fix xdp stats accounting
202bfe2b1f BACKPORT: fs: align IOCB_* flags with RWF_* flags
141f8d76b3 UPSTREAM: efi: capsule-loader: Fix use-after-free in efi_capsule_write
d4d1f95c4b BACKPORT: ARM: 9039/1: assembler: generalize byte swapping macro into rev_l
28066cfbc9 BACKPORT: ARM: 9035/1: uncompress: Add be32tocpu macro
cc190ff2f8 UPSTREAM: drm/meson: Fix overflow implicit truncation warnings
0d0c1b2686 UPSTREAM: irqchip/tegra: Fix overflow implicit truncation warnings
026441f593 UPSTREAM: video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
482efd771f UPSTREAM: mm/mremap: hold the rmap lock in write mode when moving page table entries.
c262d21607 FROMLIST: binder: fix UAF of alloc->vma in race with munmap()
6d1487a4aa UPSTREAM: mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region()
4a5337dfb3 UPSTREAM: mm: Force TLB flush for PFNMAP mappings before unlink_file_vma()
e8453c3dec UPSTREAM: af_key: Do not call xfrm_probe_algs in parallel
40a8e0ed5c UPSTREAM: wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans()
f7fbd478a0 UPSTREAM: wifi: cfg80211/mac80211: reject bad MBSSID elements
569d099d40 UPSTREAM: wifi: cfg80211: ensure length byte is present before access
916a29b486 UPSTREAM: wifi: cfg80211: fix BSS refcounting bugs
a30ebebb22 UPSTREAM: wifi: cfg80211: avoid nontransmitted BSS list corruption
99f0812889 UPSTREAM: wifi: mac80211_hwsim: avoid mac80211 warning on bad rate
df86d024f6 UPSTREAM: wifi: cfg80211: update hidden BSSes to avoid WARN_ON
fa35741b59 UPSTREAM: mac80211: mlme: find auth challenge directly
7633d41a83 UPSTREAM: wifi: mac80211: don't parse mbssid in assoc response
9f3b5ab822 UPSTREAM: wifi: mac80211: fix MBSSID parsing use-after-free
09cd270b42 ANDROID: Drop explicit 'CONFIG_INIT_STACK_ALL_ZERO=y' from gki_defconfig
0d4d3b41a5 UPSTREAM: hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero
9267f98065 UPSTREAM: hardening: Avoid harmless Clang option under CONFIG_INIT_STACK_ALL_ZERO
f086581010 UPSTREAM: hardening: Clarify Kconfig text for auto-var-init
07228609d8 ANDROID: GKI: Update FCNT KMI symbol list
b8dedbc2ab ANDROID: Fix kenelci build-break for !CONFIG_PERF_EVENTS
c1957fce68 BACKPORT: HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report
7e0fbb9e25 ANDROID: ABI: Update allowed list for QCOM
da8a8d7722 UPSTREAM: wifi: mac80211_hwsim: use 32-bit skb cookie
85f8095194 UPSTREAM: wifi: mac80211_hwsim: add back erroneously removed cast
8b32ee8a9e UPSTREAM: wifi: mac80211_hwsim: fix race condition in pending packet

Change-Id: Ie1d54da353bd48b4f3a31123c9b91198d223ba73
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2022-11-29 11:40:35 +00:00
Greg Kroah-Hartman
4338018da7 Merge tag 'android11-5.4.219_r00' into android11-5.4
This is the merge of the upstream LTS release of 5.4.219 into the
android11-5.4 branch.

It contains the following commits:

cb8a045992 ANDROID: GKI: db845c: Update symbols list and ABI
f944347410 Merge 5.4.219 into android11-5.4-lts
fd92cfed8b Linux 5.4.219
0cb5be43dc wifi: mac80211: fix MBSSID parsing use-after-free
9478c5f9c0 wifi: mac80211: don't parse mbssid in assoc response
7f441a6c90 mac80211: mlme: find auth challenge directly
c248c3330d Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
4fa407bf37 Merge 5.4.218 into android11-5.4-lts
1d0da8674c Linux 5.4.218
3ff54a91e4 Input: xpad - fix wireless 360 controller breaking after suspend
6904677595 Input: xpad - add supported devices as contributed on github
9389750ac6 wifi: cfg80211: update hidden BSSes to avoid WARN_ON
7fab3bf520 wifi: mac80211_hwsim: avoid mac80211 warning on bad rate
77bb20ccb9 wifi: cfg80211: avoid nontransmitted BSS list corruption
785eaabfe3 wifi: cfg80211: fix BSS refcounting bugs
359ce507f7 wifi: cfg80211: ensure length byte is present before access
43689bf2cd wifi: cfg80211/mac80211: reject bad MBSSID elements
020402c7dd wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans()
c634a9107f random: use expired timer rather than wq for mixing fast pool
39800adc38 random: avoid reading two cache lines on irq randomness
bc0375ca43 random: restore O_NONBLOCK support
49d2fc9f99 USB: serial: qcserial: add new usb-id for Dell branded EM7455
20a5bde605 scsi: stex: Properly zero out the passthrough command structure
46b822a755 efi: Correct Macmini DMI match in uefi cert quirk
b719d10f7e ALSA: hda: Fix position reporting on Poulsbo
e5d25a3bfd random: clamp credited irq bits to maximum mixed
194f59391d ceph: don't truncate file in atomic_open
259c0f6816 nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure
b7e409d11d nilfs2: fix leak of nilfs_root in case of writer thread creation failure
792211333a nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level()
963089ad76 rpmsg: qcom: glink: replace strncpy() with strscpy_pad()
2da677c0c7 mmc: core: Terminate infinite loop in SD-UHS voltage switch
373eca05b5 mmc: core: Replace with already defined values for readability
7ec8f073c2 USB: serial: ftdi_sio: fix 300 bps rate for SIO
21446ad9cb usb: mon: make mmapped memory read only
d2f3a51ca2 arch: um: Mark the stack non-executable to fix a binutils warning
bb2d4c37b1 um: Cleanup compiler warning in arch/x86/um/tls_32.c
9e26e0eef6 um: Cleanup syscall_handler_t cast in syscalls_32.h
3c9a75b3d2 net/ieee802154: fix uninit value bug in dgram_sendmsg
61be8898d7 scsi: qedf: Fix a UAF bug in __qedf_probe()
c790d3a00d ARM: dts: fix Moxa SDIO 'compatible', remove 'sdhci' misnomer
aefe2f55a9 dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API failure
db702ecd71 dmaengine: xilinx_dma: cleanup for fetching xlnx,num-fstores property
59684c8777 firmware: arm_scmi: Add SCMI PM driver remove routine
70e4f70d54 fs: fix UAF/GPF bug in nilfs_mdt_destroy
398312c687 perf tools: Fixup get_current_dir_name() compilation
393a1aa421 mm: pagewalk: Fix race between unmap and page walker
c01b171cd9 Merge 5.4.217 into android11-5.4-lts
6e150d605c Linux 5.4.217
0c41153c36 docs: update mediator information in CoC docs
096740d675 Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
e911caf9a1 Revert "drm/amdgpu: use dirty framebuffer helper"
ae19c3c76d xfs: remove unused variable 'done'
538657def7 xfs: fix uninitialized variable in xfs_attr3_leaf_inactive
9ff41b8d71 xfs: streamline xfs_attr3_leaf_inactive
c893fedaf1 xfs: move incore structures out of xfs_da_format.h
5e13ad940a xfs: fix memory corruption during remote attr value buffer invalidation
821e0951b4 xfs: refactor remote attr value buffer invalidation
a1b66abe30 xfs: fix IOCB_NOWAIT handling in xfs_file_dio_aio_read
1e4a0723eb xfs: fix s_maxbytes computation on 32-bit kernels
16de74ee3a xfs: truncate should remove all blocks, not just to the end of the page cache
87e73331e4 xfs: introduce XFS_MAX_FILEOFF
bd67d06b09 xfs: fix misuse of the XFS_ATTR_INCOMPLETE flag
24f45c8782 x86/speculation: Add RSB VM Exit protections
564275d4b9 x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts
4891e5fd10 x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current
9862c0f4fd x86/speculation: Disable RRSBA behavior
b9ae02c3c2 x86/bugs: Add Cannon lake to RETBleed affected CPU list
d6a8a470dc x86/cpu/amd: Enumerate BTC_NO
2edfa537f3 x86/common: Stamp out the stepping madness
17a9fc4a7b x86/speculation: Fill RSB on vmexit for IBRS
2242cf2150 KVM: VMX: Fix IBRS handling after vmexit
51c71ed134 KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS
a31bdec99a KVM: VMX: Convert launched argument to flags
5895a9297e KVM: VMX: Flatten __vmx_vcpu_run()
64723cd346 KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw
57ba312f10 KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S
87dfe68a35 x86/speculation: Remove x86_spec_ctrl_mask
4109a8ce10 x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit
0fd086edf8 x86/speculation: Fix SPEC_CTRL write on SMT state change
18d5a93fd2 x86/speculation: Fix firmware entry SPEC_CTRL handling
03a575a0f9 x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n
8afd1c7da2 x86/speculation: Change FILL_RETURN_BUFFER to work with objtool
3ee9e9a5af intel_idle: Disable IBRS during long idle
97bc52c14a x86/bugs: Report Intel retbleed vulnerability
fd67fe3db9 x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation()
2d4ce2d72c x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS
e2d793a374 x86/bugs: Optimize SPEC_CTRL MSR writes
a3111faed5 x86/entry: Add kernel IBRS implementation
fd32a31553 x86/entry: Remove skip_r11rcx
3c93ff4e23 x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value
9a596426d7 x86/bugs: Add AMD retbleed= boot parameter
063b7f9806 x86/bugs: Report AMD retbleed vulnerability
954d591a84 x86/cpufeatures: Move RETPOLINE flags to word 11
893cd858b0 x86/kvm/vmx: Make noinstr clean
f62d272c2f x86/cpu: Add a steppings field to struct x86_cpu_id
69460b1ed6 x86/cpu: Add consistent CPU match macros
87449d94e7 x86/devicetable: Move x86 specific macro out of generic code
fbd29b7549 Revert "x86/cpu: Add a steppings field to struct x86_cpu_id"
3a8ff61e6f Revert "x86/speculation: Add RSB VM Exit protections"
3e7819945e Merge 5.4.216 into android11-5.4-lts
f28b7414ab Linux 5.4.216
b8b87cb136 clk: iproc: Do not rely on node name for correct PLL setup
d417d5eb29 clk: imx: imx6sx: remove the SET_RATE_PARENT flag for QSPI clocks
762706bd12 selftests: Fix the if conditions of in test_extra_filter()
ae0d3a4316 nvme: Fix IOC_PR_CLEAR and IOC_PR_RELEASE ioctls for nvme devices
18ef5cd4c5 nvme: add new line after variable declatation
3ea4a53424 usbnet: Fix memory leak in usbnet_disconnect()
6ca922ec75 Input: melfas_mip4 - fix return value check in mip4_probe()
38c4d8230f Revert "drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume time"
7291d19a9e soc: sunxi: sram: Fix debugfs info for A64 SRAM C
cdbcdfc961 soc: sunxi: sram: Fix probe function ordering issues
73dbc6e136 soc: sunxi_sram: Make use of the helper function devm_platform_ioremap_resource()
26170e4fd1 soc: sunxi: sram: Prevent the driver from being unbound
883778a1f4 soc: sunxi: sram: Actually claim SRAM regions
1ba5248608 ARM: dts: am33xx: Fix MMCHS0 dma properties
d0c69c722f ARM: dts: Move am33xx and am43xx mmc nodes to sdhci-omap driver
d185652800 media: dvb_vb2: fix possible out of bound access
0f4634f70b mm: fix madivse_pageout mishandling on non-LRU page
ffd11370b7 mm/migrate_device.c: flush TLB while holding PTL
b9e31f4885 mm: prevent page_frag_alloc() from corrupting the memory
d535fb8384 mm/page_alloc: fix race condition between build_all_zonelists and page allocation
2ec4949738 mmc: moxart: fix 4-bit bus width and remove 8-bit bus width
bb7c23e4e5 libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205
5cebfac6a8 Revert "net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()"
9a3740f448 ntfs: fix BUG_ON in ntfs_lookup_inode_by_name()
46e784cf4a ARM: dts: integrator: Tag PCI host with device_type
85b5edb1b4 clk: ingenic-tcu: Properly enable registers before accessing timers
f8a2e22289 net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455
43699b8fbc uas: ignore UAS for Thinkplus chips
fc540f6e4b usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS
383c663c73 uas: add no-uas quirk for Hiksemi usb_disk
79e1dca55a Merge 5.4.215 into android11-5.4-lts
6215647d96 Linux 5.4.215
579976dc0d ext4: make directory inode spreading reflect flexbg size
26e7c965f4 xfs: fix use-after-free when aborting corrupt attr inactivation
8b3c9eb1b3 xfs: fix an ABBA deadlock in xfs_rename
37ec5a20c8 xfs: don't commit sunit/swidth updates to disk if that would cause repair failures
4668f08cda xfs: split the sunit parameter update into two parts
fd6c5da3fa xfs: refactor agfl length computation function
6363fdf7ac xfs: use bitops interface for buf log item AIL flag check
a95582d9d5 xfs: stabilize insert range start boundary to avoid COW writeback race
7a20c664a7 xfs: fix some memory leaks in log recovery
ad9759d488 xfs: always log corruption errors
0336599b64 xfs: constify the buffer pointer arguments to error functions
8856a6572f xfs: convert EIO to EFSCORRUPTED when log contents are invalid
9185003c93 xfs: Fix deadlock between AGI and AGF when target_ip exists in xfs_rename()
796ff09598 xfs: attach dquots and reserve quota blocks during unwritten conversion
a33bcad48b xfs: range check ri_cnt when recovering log items
a102869fb1 xfs: add missing assert in xfs_fsmap_owner_from_rmap
979eb12304 xfs: slightly tweak an assert in xfs_fs_map_blocks
c494dbca99 xfs: replace -EIO with -EFSCORRUPTED for corrupt metadata
bb7eb3ca4b ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
04aa8187eb workqueue: don't skip lockdep work dependency in cancel_work_sync()
a874609522 drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
75ed7dee26 drm/amd/display: Limit user regamma to a valid value
c89849ecfd drm/amdgpu: use dirty framebuffer helper
0b467eab0a Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region
8c8d0f7ac8 cifs: always initialize struct msghdr smb_msg completely
1438e412ae usb: xhci-mtk: fix issue of out-of-bounds array access
2e47335140 s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
9eb710d184 serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
6cc0434f9d serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
556e827b0f serial: Create uart_xmit_advance()
903f7d322c net: sched: fix possible refcount leak in tc_new_tfilter()
0e8de8f54b net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
67199c26a0 perf kcore_copy: Do not check /proc/modules is unchanged
80b2f37b33 perf jit: Include program header in ELF files
95c5637d3d can: gs_usb: gs_can_open(): fix race dev->can.state condition
11ebf32fde netfilter: ebtables: fix memory leak when blob is malformed
6a3239f806 net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs
d12a1eb070 net/sched: taprio: avoid disabling offload when it was never enabled
420c9b1073 of: mdio: Add of_node_put() when breaking out of for_each_xx
d2ac2baf1f i40e: Fix set max_tx_rate when it is lower than 1 Mbps
450d106804 i40e: Fix VF set max MTU size
3daf097819 iavf: Fix set max MTU size with port VLAN and jumbo frames
bfaff9adaa iavf: Fix bad page state
9bf52411ee MIPS: Loongson32: Fix PHY-mode being left unspecified
405bd0ebb0 MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko
37f79374bb net: team: Unsync device addresses on ndo_stop
346e94aa4a ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
b84fdb6be1 iavf: Fix cached head and tail value for iavf_get_tx_pending
721ea8ac06 netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find()
d0a24bc8e2 netfilter: nf_conntrack_irc: Tighten matching on DCC message
0376a77fa7 netfilter: nf_conntrack_sip: fix ct_sip_walk_headers
c9355b7e5a arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma
312eb4574d arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz
a52ef6ae28 arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob
016b150992 mm/slub: fix to return errno if kmalloc() fails
cafb9cad9b efi: libstub: check Shim mode using MokSBStateRT
9599d46019 ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop
befadcf8f7 ALSA: hda/realtek: Add quirk for ASUS GA503R laptop
b90ac48c05 ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack
5f622518a7 ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack
8f8a740e91 ALSA: hda/realtek: Re-arrange quirk table entries
dafeac1226 ALSA: hda/realtek: Add quirk for Huawei WRT-WX9
95b9a7f0bf ALSA: hda: add Intel 5 Series / 3400 PCI DID
7fff38ab90 ALSA: hda/tegra: set depop delay for tegra
78d3ae9bfa USB: serial: option: add Quectel RM520N
55f0f59e82 USB: serial: option: add Quectel BG95 0x0203 composition
95b97afdde USB: core: Fix RST error in hub.c
f5e322ffe7 Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
430c9bd664 Revert "usb: add quirks for Lenovo OneLink+ Dock"
05ec31717f usb: cdns3: fix issue with rearming ISO OUT endpoint
10c5d34f6f usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
ddf7bc2218 usb: add quirks for Lenovo OneLink+ Dock
da8ac08694 tty: serial: atmel: Preserve previous USART mode if RS485 disabled
e56a402819 serial: atmel: remove redundant assignment in rs485_config
85a64208b3 tty/serial: atmel: RS485 & ISO7816: wait for TXRDY before sending data
9ad48cbf8b wifi: mac80211: Fix UAF in ieee80211_scan_rx()
9a3695bde9 usb: xhci-mtk: relax TT periodic bandwidth allocation
174645cc63 usb: xhci-mtk: allow multiple Start-Split in a microframe
6cfde07c5d usb: xhci-mtk: add some schedule error number
664b0b8f4e usb: xhci-mtk: add a function to (un)load bandwidth info
d1eed0d3fb usb: xhci-mtk: use @sch_tt to check whether need do TT schedule
1833e8e049 usb: xhci-mtk: add only one extra CS for FS/LS INTR
3826d4f0ef usb: xhci-mtk: get the microframe boundary for ESIT
4ccf7afa47 usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop
a5bdea59f4 usb: dwc3: gadget: Don't modify GEVNTCOUNT in pullup()
67bf926f16 usb: dwc3: gadget: Refactor pullup()
24e4f6308d usb: dwc3: gadget: Prevent repeat pullup()
62b6cbc598 usb: dwc3: Issue core soft reset before enabling run/stop
e24f90d761 usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind
85371aad28 ALSA: hda/sigmatel: Fix unused variable warning for beep power change
07191f9848 cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
1878eaf0ed video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
47c5ef29e5 mksysmap: Fix the mismatch of 'L0' symbols in System.map
f0ebdfc10b MIPS: OCTEON: irq: Fix octeon_irq_force_ciu_mapping()
c53c3cbca5 afs: Return -EAGAIN, not -EREMOTEIO, when a file already locked
1aea20f98e net: usb: qmi_wwan: add Quectel RM520N
447f95d413 ALSA: hda/tegra: Align BDL entry to 4KB boundary
9f55da12d0 ALSA: hda/sigmatel: Keep power up while beep is enabled
39265647c4 rxrpc: Fix calc of resend age
cc273ed79e rxrpc: Fix local destruction being repeated
da01ec04a0 regulator: pfuze100: Fix the global-out-of-bounds access in pfuze100_regulator_probe()
17a21341d9 ASoC: nau8824: Fix semaphore unbalance at error paths
323f289a90 iomap: iomap that extends beyond EOF should be marked dirty
d88039e6fe MAINTAINERS: add Chandan as xfs maintainer for 5.4.y
36128fd71f cifs: don't send down the destination address to sendmsg for a SOCK_STREAM
81081a5c9c cifs: revalidate mapping when doing direct writes
834f4d856f tracing: hold caller_addr to hardirq_{enable,disable}_ip
2c4e260d45 task_stack, x86/cea: Force-inline stack helpers
4051324a6d ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC
47d7e6af5b parisc: ccio-dma: Add missing iounmap in error path in ccio_probe()
2aae9b7d07 drm/meson: Fix OSD1 RGB to YCbCr coefficient
5dd9cb66b7 drm/meson: Correct OSD1 global alpha value
f1de50e1db gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx
82e276e5fc NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0
e0e88c25f8 of: fdt: fix off-by-one error in unflatten_dt_nodes()
366e92d405 Merge branch 'android11-5.4' into branch 'android11-5.4-lts'
79028819d5 Merge 5.4.214 into android11-5.4-lts
04f2440283 Revert "USB: core: Prevent nested device-reset calls"
b4a6b74ba6 Merge 5.4.213 into android11-5.4-lts
d60223937b Revert "io_uring: disable polling pollfree files"
cfe83da8bd Revert "netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y"
184c57f3a5 Revert "sched/deadline: Fix priority inheritance with multiple scheduling classes"
dd54474fff Revert "kernel/sched: Remove dl_boosted flag comment"
d52832d985 Revert "mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse"
51223c9db5 Merge 5.4.212 into android11-5.4-lts
64522c903c Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
9f02aa34e1 Linux 5.4.214
c629ec4ddd tracefs: Only clobber mode/uid/gid on remount if asked
fe26b6ca04 soc: fsl: select FSL_GUTS driver for DPIO
1bd66f1053 net: dp83822: disable rx error interrupt
c128bff9ff mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region()
bf3cd8f2c6 usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS
72b31dc264 platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes
0573dc9f15 perf/arm_pmu_platform: fix tests for platform_get_irq() failure
baba0cfc3d nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change()
161e755552 Input: iforce - add support for Boeder Force Feedback Wheel
a725bc34d8 ieee802154: cc2520: add rc code in cc2520_tx()
2670d1d3f5 tg3: Disable tg3 device on system reboot to avoid triggering AER
c118ae56a5 hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message
3e89e8d1c6 HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo
7e214f5b2f drm/msm/rd: Fix FIFO-full deadlock
7e17397001 Linux 5.4.213
077041e486 MIPS: loongson32: ls1c: Fix hang during startup
4e8d7039cf x86/nospec: Fix i386 RSB stuffing
64f9755b40 sch_sfb: Also store skb len before calling child enqueue
9d3237b590 tcp: fix early ETIMEDOUT after spurious non-SACK RTO
19816a0214 nvme-tcp: fix UAF when detecting digest errors
a4f0d34580 RDMA/mlx5: Set local port to one when accessing counters
3df71e11a4 ipv6: sr: fix out-of-bounds read when setting HMAC data.
e7f78835d5 RDMA/siw: Pass a pointer to virt_to_page()
5332a09451 i40e: Fix kernel crash during module removal
d488e2baf2 tipc: fix shift wrapping bug in map_get()
279c7668e3 sch_sfb: Don't assume the skb is still around after enqueueing to child
a2f0ff5bee afs: Use the operation issue time instead of the reply time for callbacks
8077a50c8c rxrpc: Fix an insufficiently large sglist in rxkad_verify_packet_2()
36f7b71f8a netfilter: nf_conntrack_irc: Fix forged IP logic
323b6847e5 netfilter: br_netfilter: Drop dst references before setting.
367a655f07 RDMA/hns: Fix supported page size
57b2897ec3 soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs
87fe1703ba RDMA/cma: Fix arguments order in net device validation
d80ad99911 regulator: core: Clean up on enable failure
c108e20351 ARM: dts: imx6qdl-kontron-samx6i: remove duplicated node
e192a08f65 smb3: missing inode locks in punch hole
59c6902a96 cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
13d67aadb1 cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree
059516952c cgroup: Optimize single thread migration
d0e7be0dc9 scsi: lpfc: Add missing destroy_workqueue() in error path
5682c94644 scsi: mpt3sas: Fix use-after-free warning
8d66989b5f nvmet: fix a use-after-free
9fc8c5fa42 debugfs: add debugfs_lookup_and_remove()
0d895d2bb1 kprobes: Prohibit probes in gate area
0492798bf8 ALSA: usb-audio: Fix an out-of-bounds bug in __snd_usb_parse_audio_interface()
e275cf3318 ALSA: aloop: Fix random zeros in capture data when using jiffies timer
45321a7d02 ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc()
adbbc1a8c5 drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly
e1955cdd31 fbdev: chipsfb: Add missing pci_disable_device() in chipsfb_pci_init()
fcab25a6b0 arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level
a3714415c4 parisc: Add runtime check to prevent PA2.0 kernels on PA1.x machines
dcf54e6cae parisc: ccio-dma: Handle kmalloc failure in ccio_init_resources()
c72d97146f drm/radeon: add a force flush to delay work when radeon
ae2c6cc8fb drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup.
bca46f2295 drm/gem: Fix GEM handle release errors
bd2a3bff31 scsi: megaraid_sas: Fix double kfree()
944f276cbc USB: serial: ch341: fix disabled rx timer on older devices
f0003ab97a USB: serial: ch341: fix lost character on LCR updates
d288c6383a usb: dwc3: disable USB core PHY management
9c670d0bb1 usb: dwc3: fix PHY disable sequence
9ab0c653ef btrfs: harden identification of a stale device
4e5ba186d9 drm/i915/glk: ECS Liva Q2 needs GLK HDMI port timing quirk
3af1316df7 ALSA: seq: Fix data-race at module auto-loading
4fa63d526c ALSA: seq: oss: Fix data-race for max_midi_devs access
82a86f82bc net: mac802154: Fix a condition in the receive path
d228b897b8 ip: fix triggering of 'icmp redirect'
66689c5c02 wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected
1142f04f92 driver core: Don't probe devices after bus_type.match() probe deferral
bb87fe79bc usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS
df18750848 USB: core: Prevent nested device-reset calls
87b47c7f9f s390: fix nospec table alignments
b604e79fba s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages
33f8f83024 usb-storage: Add ignore-residue quirk for NXP PN7462AU
e2e153bb6d USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020)
8ef85884f4 usb: dwc2: fix wrong order of phy_power_on and phy_init
08f27a2428 usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles
1abdc68b49 USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode
3cd8e3448e USB: serial: option: add Quectel EM060K modem
b988c14d7c USB: serial: option: add support for OPPO R11 diag port
234fd17306 USB: serial: cp210x: add Decagon UCA device id
0143b57361 xhci: Add grace period after xHC start to prevent premature runtime suspend.
c7e5a90eee thunderbolt: Use the actual buffer in tb_async_error()
cb2684e906 gpio: pca953x: Add mutex_lock for regcache sync in PM
7756eb1ed1 hwmon: (gpio-fan) Fix array out of bounds access
979fe68b2e clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate
389a45dc06 Input: rk805-pwrkey - fix module autoloading
1929a5275e clk: core: Fix runtime PM sequence in clk_core_unprepare()
577b32abfd Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops"
582e87c6bb clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops
5d4acadcdf drm/i915/reg: Fix spelling mistake "Unsupport" -> "Unsupported"
bc37b05702 usb: dwc3: qcom: fix use-after-free on runtime-PM wakeup
30d0901b30 binder: fix UAF of ref->proc caused by race condition
b30dd08fd5 USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id
f8632b8bb5 misc: fastrpc: fix memory corruption on open
ec186b9f4a misc: fastrpc: fix memory corruption on probe
0d90ef8749 iio: adc: mcp3911: use correct formula for AD conversion
d186c65599 Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag
a6b7e8d975 tty: serial: lpuart: disable flow control while waiting for the transmit engine to complete
1cf1930369 vt: Clear selection before changing the font
214877169e powerpc: align syscall table for ppc32
d0aac7146e staging: rtl8712: fix use after free bugs
a65a2a33c6 serial: fsl_lpuart: RS485 RTS polariy is inverse
ae5e8d0baa net/smc: Remove redundant refcount increase
47e6794316 Revert "sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb"
91ecfbcd8d tcp: annotate data-race around challenge_timestamp
f8a94fdf02 sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb
0946ff31d1 kcm: fix strp_init() order and cleanup
02986e1bb6 ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler
fffa19b5e5 net: sched: tbf: don't call qdisc_put() while holding tree lock
e1ba258dac Revert "xhci: turn off port power in shutdown"
2dca3c6126 wifi: cfg80211: debugfs: fix return type in ht40allow_map_read()
bed12d7531 ieee802154/adf7242: defer destroy_workqueue call
ddc6e82321 iio: adc: mcp3911: make use of the sign bit
630a97e4da platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask
765497cc74 drm/msm/dsi: Fix number of regulators for msm8996_dsi_cfg
fced8363b4 drm/msm/dsi: fix the inconsistent indenting
83b25f9eb2 net: dp83822: disable false carrier interrupt
007541bc27 Revert "mm: kmemleak: take a full lowmem check in kmemleak_*_phys()"
96f09cd544 fs: only do a memory barrier for the first set_buffer_uptodate()
d51e1682fa net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()
f4c4637a38 wifi: iwlegacy: 4965: corrected fix for potential off-by-one overflow in il4965_rs_fill_link_cmd()
8028ff4cdb efi: capsule-loader: Fix use-after-free in efi_capsule_write
d6deb370b5 Linux 5.4.212
0052348329 net: neigh: don't call kfree_skb() under spin_lock_irqsave()
25a80e7284 net/af_packet: check len when min_header_len equals to 0
fc78b2fc21 io_uring: disable polling pollfree files
b474ff1b20 kprobes: don't call disarm_kprobe() for disabled kprobes
6fbc49b7f0 lib/vdso: Mark do_hres() and do_coarse() as __always_inline
2161d3c12c lib/vdso: Let do_coarse() return 0 to simplify the callsite
06ebb40b87 btrfs: tree-checker: check for overlapping extent items
63c7905840 netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y
5c5cd52ab0 drm/amd/display: Fix pixel clock programming
c570198c3d s390/hypfs: avoid error message under KVM
51be9dd391 neigh: fix possible DoS due to net iface start/stop loop
814b756d4e drm/amd/display: clear optc underflow before turn off odm clock
a06e4eb651 drm/amd/display: Avoid MPC infinite loop
2608885a4f btrfs: unify lookup return value when dir entry is missing
1fe3375cf2 btrfs: do not pin logs too early during renames
e9b4baabf8 btrfs: introduce btrfs_lookup_match_dir
2fe3eee488 mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse
8b68e53d56 bpf: Don't redirect packets with invalid pkt_len
934e49f7d6 ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead
7d9591b32a fbdev: fb_pm2fb: Avoid potential divide by zero error
53c7c4d5d4 HID: hidraw: fix memory leak in hidraw_release()
466b67c054 media: pvrusb2: fix memory leak in pvr_probe
63d8c1933e udmabuf: Set the DMA mask for the udmabuf device (v2)
fa2b822d86 HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report
6551fbe258 Bluetooth: L2CAP: Fix build errors in some archs
adc7640e19 kbuild: Fix include path in scripts/Makefile.modpost
80a7fe2b70 x86/bugs: Add "unknown" reporting for MMIO Stale Data
09602177d8 s390/mm: do not trigger write fault when vma does not allow VM_WRITE
c9c5501e81 mm: Force TLB flush for PFNMAP mappings before unlink_file_vma()
b4c928ace9 scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq
2045b9d306 perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU
8e7fb19f1a md: call __md_stop_writes in md_stop
f35c4fec07 mm/hugetlb: fix hugetlb not supporting softdirty tracking
f09c1b80df ACPI: processor: Remove freq Qos request for all CPUs
cacd522e66 s390: fix double free of GS and RI CBs on fork() failure
c3862f5592 asm-generic: sections: refactor memory_intersects
13b2856037 loop: Check for overflow while configuring loop
2668aeac01 x86/unwind/orc: Unwind ftrace trampolines with correct ORC entry
dd3365d3b4 btrfs: check if root is readonly while setting security xattr
5b44dcf8b7 btrfs: add info when mount fails due to stale replace target
40554fa41a btrfs: replace: drop assert for suspended replace
201bb5d745 btrfs: fix silent failure when deleting root reference
571a13b350 ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter
aa0a3f72c6 net: Fix a data-race around sysctl_somaxconn.
923fa41ade net: Fix a data-race around netdev_budget_usecs.
adeb24afd2 net: Fix a data-race around netdev_budget.
575c57e9e0 net: Fix a data-race around sysctl_net_busy_read.
6e8f9df62d net: Fix a data-race around sysctl_net_busy_poll.
5da0632c07 net: Fix a data-race around sysctl_tstamp_allow_data.
4482215f93 ratelimit: Fix data-races in ___ratelimit().
a90afeab21 net: Fix data-races around netdev_tstamp_prequeue.
c1d0ef0e6f net: Fix data-races around weight_p and dev_weight_[rt]x_bias.
dbd0f1991a netfilter: nft_tunnel: restrict it to netdev family
fba05d2502 netfilter: nft_osf: restrict osf to ipv4, ipv6 and inet families
a2ce367ae7 netfilter: nft_payload: do not truncate csum_offset and csum_type
8700153529 netfilter: nft_payload: report ERANGE for too long offset and length
bc7ba4cd0b bnxt_en: fix NQ resource accounting during vf creation on 57500 chips
160c4eb47d netfilter: ebtables: reject blobs that don't provide all entry points
8b9155eae8 net: ipvtap - add __init/__exit annotations to module init/exit funcs
1498077d56 bonding: 802.3ad: fix no transmission of LACPDUs
ac3541b11e net: moxa: get rid of asymmetry in DMA mapping/unmapping
eb8236dff7 net/mlx5e: Properly disable vlan strip on non-UL reps
6e4b20d548 rose: check NULL rose_loopback_neigh->loopback
4c14faf166 SUNRPC: RPC level errors should set task->tk_rpc_status
8ee27a4f0f af_key: Do not call xfrm_probe_algs in parallel
63da7a2bbf xfrm: fix refcount leak in __xfrm_policy_check()
a9f94dc4dd kernel/sched: Remove dl_boosted flag comment
d2b65976bf sched/deadline: Fix priority inheritance with multiple scheduling classes
c498c8cbc2 sched/deadline: Fix stale throttling on de-/boosted tasks
184c8ab534 sched/deadline: Unthrottle PI boosted threads while enqueuing
71b7edfc76 pinctrl: amd: Don't save/restore interrupt status and wake status bits
8e52d0c57d Revert "selftests/bpf: Fix test_align verifier log patterns"
2b13ddc9e0 Revert "selftests/bpf: Fix "dubious pointer arithmetic" test"
a89c4b5868 usb: cdns3: Fix issue for clear halt endpoint
87b41b041c kernel/sys_ni: add compat entry for fadvise64_64
945dc19778 parisc: Fix exception handler for fldw and fstw instructions
bb415d2687 audit: fix potential double free on error path from fsnotify_add_inode_mark
15a2cff2b5 Revert "USB: HCD: Fix URB giveback issue in tasklet function"
05426a3d4f Merge 5.4.211 into android11-5.4-lts
684cc17be8 Linux 5.4.211
473f43725b btrfs: raid56: don't trust any cached sector in __raid56_parity_recover()
6fd4cea044 btrfs: only write the sectors in the vertical stripe which has data stripes
04e41b6bac can: j1939: j1939_session_destroy(): fix memory leak of skbs
18e0ab31b0 can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once()
5c9637279f tracing/probes: Have kprobes and uprobes use $COMM too
5d8244d42d MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0
2b7f559152 video: fbdev: i740fb: Check the argument of i740_calc_vclk()
5e14b04c84 powerpc/64: Init jump labels before parse_early_param()
720f6112c3 smb3: check xattr value length earlier
29e734ec33 f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()
dd9d894b41 ALSA: timer: Use deferred fasync helper
76f87b11a4 ALSA: core: Add async signal helpers
f4159834d1 powerpc/32: Don't always pass -mcpu=powerpc to the compiler
d78d0ee79b watchdog: export lockup_detector_reconfigure
814d83c5e1 RISC-V: Add fast call path of crash_kexec()
812cb21259 riscv: mmap with PROT_WRITE but no PROT_READ is invalid
1b49707df6 mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start
3e6994735c vfio: Clear the caps->buf to NULL after free
ca3fc1c38e tty: serial: Fix refcount leak bug in ucc_uart.c
3c0efcd608 lib/list_debug.c: Detect uninitialized lists
a6805b3dcf ext4: avoid resizing to a partial cluster size
5bebfd6077 ext4: avoid remove directory when directory is corrupted
f5d46f1b47 drivers:md:fix a potential use-after-free bug
7a2fe15946 nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown
0bf3dcfb03 dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
d13b990d4f selftests/kprobe: Do not test for GRP/ without event failures
082da6a9c3 um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups
c3ce788be3 PCI/ACPI: Guard ARM64-specific mcfg_quirks
695af60af7 cxl: Fix a memory leak in an error handling path
ca06b4cde5 gadgetfs: ep_io - wait until IRQ finishes
927907f1cb scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input
d401611a93 clk: qcom: ipq8074: dont disable gcc_sleep_clk_src
f78ac62e6b vboxguest: Do not use devm for irq
cfa8f707a5 usb: renesas: Fix refcount leak bug
0334d23c56 usb: host: ohci-ppc-of: Fix refcount leak bug
b743d6cef4 drm/meson: Fix overflow implicit truncation warnings
29b30e0413 irqchip/tegra: Fix overflow implicit truncation warnings
e2d5318065 usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info
e65d9b7147 usb: cdns3 fix use-after-free at workaround 2
e7170b5a28 PCI: Add ACS quirk for Broadcom BCM5750x NICs
d58ef25678 drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors()
d0c4307aea locking/atomic: Make test_and_*_bit() ordered on failure
90fb514a16 gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file
55197ba6d6 igb: Add lock to avoid data race
44b406aab0 fec: Fix timer capture timing in `fec_ptp_enable_pps()`
f861285de8 i40e: Fix to stop tx_timeout recovery if GLOBR fails
781212b344 ice: Ignore EEXIST when setting promisc mode
545ec873f1 net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry
b360ce159c net: moxa: pass pdev instead of ndev to DMA functions
cb1753bc68 net: dsa: mv88e6060: prevent crash on an unused port
ccb0a42d3f powerpc/pci: Fix get_phb_number() locking
b5dd26e073 netfilter: nf_tables: really skip inactive sets when allocating name
f415fda659 clk: rockchip: add sclk_mac_lbtest to rk3188_critical_clocks
ff289f2be5 iavf: Fix adminq error handling
2b4daaed4f nios2: add force_successful_syscall_return()
d6d9dd2cc3 nios2: restarts apply only to the first sigframe we build...
01e783b45e nios2: fix syscall restart checks
9e9151768b nios2: traced syscall does need to check the syscall number
73c0883732 nios2: don't leave NULLs in sys_call_table[]
86a89da5cd nios2: page fault et.al. are *not* restartable syscalls...
965333345f tee: add overflow check in register_shm_helper()
cfa215a76a dpaa2-eth: trace the allocated address instead of page struct
9a6cbaa50f atm: idt77252: fix use-after-free bugs caused by tst_timer
2f14656fe1 xen/xenbus: fix return type in xenbus_file_read()
c61d3b92f5 nfp: ethtool: fix the display error of `ethtool -m DEVNAME`
a1d13886fd NTB: ntb_tool: uninitialized heap data in tool_fn_write()
215cbd3c0d tools build: Switch to new openssl API for test-libcrypto
a91204264e tools/vm/slabinfo: use alphabetic order when two values are equal
12f777a957 dt-bindings: arm: qcom: fix MSM8916 MTP compatibles
0ecc55fece vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout()
f82f1e2042 vsock: Fix memory leak in vsock_connect()
f4f2acf012 plip: avoid rcu debug splat
85b5747321 geneve: do not use RT_TOS for IPv6 flowlabel
760a01c36b ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool
49c1ae5fc8 pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
b0de3436ca pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed
c26012a1e6 pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map
ac6d4482f2 net: bgmac: Fix a BUG triggered by wrong bytes_compl
1ad4ba9341 devlink: Fix use-after-free after a failed reload
c1bdc6de51 SUNRPC: Reinitialise the backchannel request buffers before reuse
b0e2839873 sunrpc: fix expiry of auth creds
0a901c2f7f can: mcp251x: Fix race condition on receive interrupt
f7ee3b772d NFSv4/pnfs: Fix a use-after-free bug in open
14b5a92e33 NFSv4.1: RECLAIM_COMPLETE must handle EACCES
89dd9bec66 NFSv4: Fix races in the legacy idmapper upcall
e7eba28ba7 NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
68a84001f7 NFSv4.1: Don't decrease the value of seq_nr_highest_sent
2c8477600c Documentation: ACPI: EINJ: Fix obsolete example
7db182a2eb apparmor: Fix memleak in aa_simple_write_to_buffer()
ef6fb6f0d0 apparmor: fix reference count leak in aa_pivotroot()
7f6092dc8f apparmor: fix overlapping attachment computation
98ab8dfa04 apparmor: fix aa_label_asxprint return check
1b4c44823a apparmor: Fix failed mount permission check error message
825b0f6bb0 apparmor: fix absroot causing audited secids to begin with =
dd78c35a27 apparmor: fix quiet_denied for file rules
45be56968d can: ems_usb: fix clang's -Wunaligned-access warning
f67c43e4b1 tracing: Have filter accept "common_cpu" to be consistent
90b0526dd8 btrfs: fix lost error handling when looking up extended ref on log replay
d33e770f0a mmc: pxamci: Fix an error handling path in pxamci_probe()
6db5285844 mmc: pxamci: Fix another error handling path in pxamci_probe()
b1b2b8adb0 ata: libata-eh: Add missing command name
70e0c8a454 rds: add missing barrier to release_refill
d040e85ae9 ALSA: info: Fix llseek return value when using callback
992480132e net_sched: cls_route: disallow handle of 0
7d9d0ba99c net/9p: Initialize the iounit field during fid creation
13e17a18a4 Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression
4d5e45fdf0 Revert "net: usb: ax88179_178a needs FLAG_SEND_ZLP"
f135c65085 scsi: sg: Allow waiting for commands to complete on removed device
cf218ff991 tcp: fix over estimation in sk_forced_mem_schedule()
8cdba919ac KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast()
8fb5e77604 KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq
4c08dd3fbd KVM: Add infrastructure and macro to mark VM as bugged
8659026858 btrfs: reject log replay if there is unsupported RO compat flag
1fcd691cc2 net_sched: cls_route: remove from list when handle is 0
b123049846 iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE)
18048cba44 firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails
7c77d1f9ba timekeeping: contribute wall clock to rng on time change
5e0fcc5ad3 ACPI: CPPC: Do not prevent CPPC from working in the future
2c7e93e338 dm writecache: set a default MAX_WRITEBACK_JOBS
05cef0999b dm thin: fix use-after-free crash in dm_sm_register_threshold_callback
cb583ca612 dm raid: fix address sanitizer warning in raid_status
71f601c779 dm raid: fix address sanitizer warning in raid_resume
2f2fa48c9f intel_th: pci: Add Meteor Lake-P support
ab1f9cb500 intel_th: pci: Add Raptor Lake-S PCH support
0d8fd1fa17 intel_th: pci: Add Raptor Lake-S CPU support
8887ef07ff ext4: correct the misjudgment in ext4_iget_extra_inode
be9614e15e ext4: correct max_inline_xattr_value_size computing
b9a2dfd1a0 ext4: fix extent status tree race in writeback error recovery path
b10b2122d7 ext4: update s_overhead_clusters in the superblock during an on-line resize
9d14687321 ext4: fix use-after-free in ext4_xattr_set_entry
41ff115b14 ext4: make sure ext4_append() always allocates new block
748d17d476 ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h
025604c702 btrfs: reset block group chunk force if we have to wait
cf8927ce66 tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH
61a1793b05 kexec, KEYS, s390: Make use of built-in and secondary keyring for signature verification
37690cb866 spmi: trace: fix stack-out-of-bound access in SPMI tracing functions
91d11a3376 x86/olpc: fix 'logical not is only applied to the left hand side'
42afeecce2 scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection
d2e82c78e3 scsi: qla2xxx: Turn off multi-queue for 8G adapters
83cb0fb848 scsi: qla2xxx: Fix discovery issues in FC-AL topology
bc98764d80 scsi: zfcp: Fix missing auto port scan and thus missing target ports
eacb50f173 video: fbdev: s3fb: Check the size of screen before memset_io()
53198b8193 video: fbdev: arkfb: Check the size of screen before memset_io()
d71528ccdc video: fbdev: vt8623fb: Check the size of screen before memset_io()
09777c16a0 tools/thermal: Fix possible path truncations
a249e1b89c video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
46513b4a80 x86/numa: Use cpumask_available instead of hardcoded NULL check
26d2d13d9f scripts/faddr2line: Fix vmlinux detection on arm64
563ffb782d genelf: Use HAVE_LIBCRYPTO_SUPPORT, not the never defined HAVE_LIBCRYPTO
9813d27d59 powerpc/pci: Fix PHB numbering when using opal-phbid
6a119c1a58 kprobes: Forbid probing on trampoline and BPF code areas
cc53477d89 perf symbol: Fail to read phdr workaround
f388643657 powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address
d99733ad47 powerpc/xive: Fix refcount leak in xive_get_max_prio
14329d29a0 powerpc/spufs: Fix refcount leak in spufs_init_isolated_loader
3ec50b8a01 powerpc/pci: Prefer PCI domain assignment via DT 'linux,pci-domain' and alias
44a43b65d7 powerpc/32: Do not allow selection of e5500 or e6500 CPUs on PPC32
ddaa8cc5a6 video: fbdev: sis: fix typos in SiS_GetModeID()
49a4c1a87e video: fbdev: amba-clcd: Fix refcount leak bugs
a9286ff4c1 watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe()
ba406e3100 ASoC: audio-graph-card: Add of_node_put() in fail path
bb1cc434df fuse: Remove the control interface for virtio-fs
0839846274 ASoC: qcom: q6dsp: Fix an off-by-one in q6adm_alloc_copp()
3edcd1348b s390/zcore: fix race when reading from hardware system area
50be644f7d iommu/arm-smmu: qcom_iommu: Add of_node_put() when breaking out of loop
b948ff8a9e mfd: max77620: Fix refcount leak in max77620_initialise_fps
8d01edaf9e mfd: t7l66xb: Drop platform disable callback
b45bcdf627 kfifo: fix kfifo_to_user() return type
8ee5d40ae2 rpmsg: qcom_smd: Fix refcount leak in qcom_smd_parse_edge
9a87a53284 iommu/exynos: Handle failed IOMMU device registration properly
44913ccfa1 tty: n_gsm: fix missing corner cases in gsmld_poll()
ae9bfcbfd7 tty: n_gsm: fix DM command
b625b74549 tty: n_gsm: fix wrong T1 retry count handling
373343d8a7 vfio/ccw: Do not change FSM state in subchannel event
51642e1328 remoteproc: qcom: wcnss: Fix handling of IRQs
fbf9795646 tty: n_gsm: fix race condition in gsmld_write()
597bec4a4c tty: n_gsm: fix packet re-transmission without open control channel
ba10f6c2f0 tty: n_gsm: fix non flow control frames during mux flow off
8b355d6b1f profiling: fix shift too large makes kernel panic
8791703edd ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV
ba4d971fe1 ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV
34734e4c52 serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty()
79f566907d ASoC: mediatek: mt8173-rt5650: Fix refcount leak in mt8173_rt5650_dev_probe
4f97b5bb81 ASoC: codecs: da7210: add check for i2c_add_driver
b488ceb233 ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe
d6d41f0464 ASoC: mediatek: mt8173: Fix refcount leak in mt8173_rt5650_rt5676_dev_probe
d3f15a4be2 opp: Fix error check in dev_pm_opp_attach_genpd()
fa5b65d393 jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted
fc1ec67ba5 ext4: recover csum seed of tmp_inode after migrating to extents
36a88efe87 jbd2: fix outstanding credits assert in jbd2_journal_commit_transaction()
242303bf7f null_blk: fix ida error handling in null_add_dev()
b348e204a5 RDMA/rxe: Fix error unwind in rxe_create_qp()
38403d143d mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region
d3beb91c99 platform/olpc: Fix uninitialized data in debugfs write
358db0ebec USB: serial: fix tty-port initialized comments
06f56d9e74 PCI: tegra194: Fix link up retry sequence
f916f6e039 PCI: tegra194: Fix Root Port interrupt handling
ed44d9ce8c HID: alps: Declare U1_UNICORN_LEGACY support
46f5458211 mmc: cavium-thunderx: Add of_node_put() when breaking out of loop
d0cc1ba2be mmc: cavium-octeon: Add of_node_put() when breaking out of loop
b100b0b002 gpio: gpiolib-of: Fix refcount bugs in of_mm_gpiochip_add_data()
2f90813f1c RDMA/hfi1: fix potential memory leak in setup_base_ctxt()
11edf0bba1 RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event
fb9193af53 RDMA/hns: Fix incorrect clearing of interrupt status register
414849317b usb: gadget: udc: amd5536 depends on HAS_DMA
bc6f609401 scsi: smartpqi: Fix DMA direction for RAID requests
b1b8034953 mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R
9d8b911fe3 memstick/ms_block: Fix a memory leak
830c38ec9a memstick/ms_block: Fix some incorrect memory allocation
4c472a2c9e mmc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch
6bb0f10966 staging: rtl8192u: Fix sleep in atomic context bug in dm_fsync_timer_callback
b5d924cb4c intel_th: msu: Fix vmalloced buffers
d81195c474 intel_th: msu-sink: Potential dereference of null pointer
859342220a intel_th: Fix a resource leak in an error handling path
3771ee6c46 soundwire: bus_type: fix remove and shutdown support
2fcb7182de clk: qcom: camcc-sdm845: Fix topology around titan_top power domain
7dc9eb967a clk: qcom: ipq8074: set BRANCH_HALT_DELAY flag for UBI clocks
5780dde510 clk: qcom: ipq8074: fix NSS port frequency tables
15f4d52835 usb: host: xhci: use snprintf() in xhci_decode_trb()
7cfb3120ec clk: qcom: clk-krait: unlock spin after mux completion
8191b6cd9a driver core: fix potential deadlock in __driver_attach
be8f7c44d5 misc: rtsx: Fix an error handling path in rtsx_pci_probe()
507cabdb36 clk: mediatek: reset: Fix written reset bit offset
9ecabd76bf usb: xhci: tegra: Fix error check
65d36ec409 usb: ohci-nxp: Fix refcount leak in ohci_hcd_nxp_probe
8cbc3870ff usb: host: Fix refcount leak in ehci_hcd_ppc_of_probe
8e88b42575 fpga: altera-pr-ip: fix unsigned comparison with less than zero
44ffee3979 mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path
f3cc27198c mtd: partitions: Fix refcount leak in parse_redboot_of
a1cdbd344f mtd: sm_ftl: Fix deadlock caused by cancel_work_sync in sm_release
519ff31a6d HID: cp2112: prevent a buffer overflow in cp2112_xfer()
1367f4a3e6 mtd: rawnand: meson: Fix a potential double free issue
80b1465b2a mtd: maps: Fix refcount leak in ap_flash_init
9124d51e01 mtd: maps: Fix refcount leak in of_flash_probe_versatile
e0012773af clk: renesas: r9a06g032: Fix UART clkgrp bitsel
51fb8c2c10 dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock
d3b2922637 net: rose: fix netdev reference changes
34b88491b4 netdevsim: Avoid allocation warnings triggered from user space
9d9e0d5560 iavf: Fix max_rate limiting
50a7949fd9 crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of
439297ec5c net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS
878e7f3980 wifi: libertas: Fix possible refcount leak in if_usb_probe()
5cca5f714f wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue
52b11a48cf wifi: wil6210: debugfs: fix uninitialized variable use in `wil_write_file_wmi()`
becbc82919 i2c: mux-gpmux: Add of_node_put() when breaking out of loop
6d9f3128c0 i2c: cadence: Support PEC for SMBus block read
80df14022c Bluetooth: hci_intel: Add check for platform_driver_register
26168f0656 can: pch_can: pch_can_error(): initialize errc before using it
a025f6ca15 can: error: specify the values of data[5..7] of CAN error frames
61bcc556ff can: usb_8dev: do not report txerr and rxerr during bus-off
d8833eaa5f can: kvaser_usb_leaf: do not report txerr and rxerr during bus-off
a37e2bad76 can: kvaser_usb_hydra: do not report txerr and rxerr during bus-off
80b135a023 can: sun4i_can: do not report txerr and rxerr during bus-off
d20bf7e761 can: hi311x: do not report txerr and rxerr during bus-off
e94369cdc0 can: sja1000: do not report txerr and rxerr during bus-off
5b9d4919a7 can: rcar_can: do not report txerr and rxerr during bus-off
4cb29f25b2 can: pch_can: do not report txerr and rxerr during bus-off
ecbdb2985e selftests/bpf: fix a test for snprintf() overflow
e134d998a9 wifi: p54: add missing parentheses in p54_flush()
6942c45a22 wifi: p54: Fix an error handling path in p54spi_probe()
60c9983425 wifi: wil6210: debugfs: fix info leak in wil_write_file_wmi()
72d9ce5b08 fs: check FMODE_LSEEK to control internal pipe splicing
8cf6e837dc selftests: timers: clocksource-switch: fix passing errors from child
2f243fe8db selftests: timers: valid-adjtimex: build fix for newer toolchains
8ebe6121e7 libbpf: Fix the name of a reused map
fd35e34ece tcp: make retransmitted SKB fit into the send window
6296d09d2b drm/exynos/exynos7_drm_decon: free resources when clk_set_parent() failed.
1ae9edf7e8 mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init()
e86a88d39c media: platform: mtk-mdp: Fix mdp_ipi_comm structure alignment
cf411bcc65 crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq
2e34d6c818 drm/msm/mdp5: Fix global state lock backoff
5d4128a163 drm: bridge: sii8620: fix possible off-by-one
3a7ebe131c drm/mediatek: dpi: Only enable dpi after the bridge is enabled
42c8e38e86 drm/mediatek: dpi: Remove output format of YUV
0f214563ab drm/rockchip: Fix an error handling path rockchip_dp_probe()
3345fd3533 drm/rockchip: vop: Don't crash for invalid duplicate_state()
9f64fb4551 crypto: arm64/gcm - Select AEAD for GHASH_ARM64_CE
b53cbaf9b3 drm/vc4: dsi: Correct DSI divider calculations
120161c127 drm/vc4: plane: Fix margin calculations for the right/bottom edges
84f638fbf8 drm/vc4: plane: Remove subpixel positioning check
59340f399c media: hdpvr: fix error value returns in hdpvr_read
87c35bbefd drm/mcde: Fix refcount leak in mcde_dsi_bind
289079d6c5 drm: bridge: adv7511: Add check for mipi_dsi_driver_register
73304c7594 wifi: iwlegacy: 4965: fix potential off-by-one overflow in il4965_rs_fill_link_cmd()
e9e21206b8 ath9k: fix use-after-free in ath9k_hif_usb_rx_cb
fef3261630 media: tw686x: Register the irq at the end of probe
871a1e9492 i2c: Fix a potential use after free
127ecd6b1f drm: adv7511: override i2c address of cec before accessing it
8cdf42c7ba drm/mediatek: Add pull-down MIPI operation in mtk_dsi_poweroff function
db1a9add3f drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers()
6a5ade10a3 drm/mipi-dbi: align max_chunk to 2 in spi_transfer
f52b31ecaf wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c()
c59876f8c9 ath10k: do not enforce interrupt trigger type
08cc3995fb dm: return early from dm_pr_call() if DM device is suspended
bc4e8b95c4 thermal/tools/tmon: Include pthread and time headers in tmon.h
91732a2794 nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt()
35f9e861d9 regulator: of: Fix refcount leak bug in of_get_regulation_constraints()
52e1f85bf7 blk-mq: don't create hctx debugfs dir until q->debugfs_dir is created
bee4d2ab4d erofs: avoid consecutive detection for Highmem memory
62060951cc arm64: dts: mt7622: fix BPI-R64 WPS button
8501674394 bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe()
3d69823858 ARM: dts: qcom: pm8841: add required thermal-sensor-cells
bc73c72a85 soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
a530fa52d4 cpufreq: zynq: Fix refcount leak in zynq_get_revision
c4f92af7fc ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
935035cf97 ARM: OMAP2+: Fix refcount leak in omapdss_init_of
b95e19f1ec ARM: dts: qcom: mdm9615: add missing PMIC GPIO reg
1f0448cb8a soc: fsl: guts: machine variable might be unset
1e9cc69eae ARM: dts: ast2600-evb: fix board compatible
4a4bb53e63 ARM: dts: ast2500-evb: fix board compatible
0b7f674c12 x86/pmem: Fix platform-device leak in error path
5afe042c88 ARM: bcm: Fix refcount leak in bcm_kona_smc_init
6b28bf3e04 meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init
ef5102a0a7 ARM: findbit: fix overflowing offset
c7835f93db spi: spi-rspi: Fix PIO fallback on RZ platforms
90bdf50ae7 selinux: Add boundary check in put_entry()
3c48d3067e PM: hibernate: defer device probing when resuming from hibernation
930e7b260e ARM: shmobile: rcar-gen2: Increase refcount for new reference
a770da1866 arm64: dts: allwinner: a64: orangepi-win: Fix LED node name
5f1510dd2f arm64: dts: qcom: ipq8074: fix NAND node name
308bb82c61 ACPI: LPSS: Fix missing check in register_device_clock()
b61119d085 ACPI: PM: save NVS memory for Lenovo G40-45
81abef841f ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks
3e505298a7 ARM: OMAP2+: display: Fix refcount leak bug
749ee1c4c3 spi: synquacer: Add missing clk_disable_unprepare()
f7e6740e1e ARM: dts: imx6ul: fix qspi node compatible
5db7e1796d ARM: dts: imx6ul: fix lcdif node compatible
82cff0cf71 ARM: dts: imx6ul: fix csi node compatible
667023a284 ARM: dts: imx6ul: change operating-points to uint32-matrix
a6e6203616 ARM: dts: imx6ul: add missing properties for sram
bd80dd86f9 wait: Fix __wait_event_hrtimeout for RT/DL tasks
3fb368c0ae genirq: Don't return error on missing optional irq_request_resources()
b3f4236838 ext2: Add more validity checks for inode counts
04549063d5 arm64: fix oops in concurrently setting insn_emulation sysctls
fa09c39265 arm64: Do not forget syscall when starting a new thread.
c5940c0821 x86: Handle idle=nomwait cmdline properly for x86_idle
cf2db24ec4 epoll: autoremove wakers even more aggressively
a452bc3deb netfilter: nf_tables: fix null deref due to zeroed list head
4dad1c8207 netfilter: nf_tables: do not allow RULE_ID to refer to another chain
fab2f61cc3 netfilter: nf_tables: do not allow SET_ID to refer to another table
cc525d667b arm64: dts: uniphier: Fix USB interrupts for PXs3 SoC
57e2c84445 ARM: dts: uniphier: Fix USB interrupts for PXs2 SoC
5d952c7ae3 USB: HCD: Fix URB giveback issue in tasklet function
e9205d8dd1 coresight: Clear the connection field properly
274e44e212 MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
dbd0059018 powerpc/powernv: Avoid crashing if rng is NULL
5b8f55bc05 powerpc/ptdump: Fix display of RW pages on FSL_BOOK3E
28a6d14ba6 powerpc/fsl-pci: Fix Class Code of PCIe Root Port
9293b7ee52 PCI: Add defines for normal and subtractive PCI bridges
8c3ae6b1d7 ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr()
ce839b9331 md-raid10: fix KASAN warning
ecd489683a serial: mvebu-uart: uart2 error bits clearing
d11e3f4fdc fuse: limit nsec
ed43fb20d3 iio: light: isl29028: Fix the warning in isl29028_remove()
a5b8aad548 drm/amdgpu: Check BO's requested pinning domains against its preferred_domains
8afbf206aa drm/nouveau: fix another off-by-one in nvbios_addr
5557e9469b drm/gem: Properly annotate WW context on drm_gem_lock_reservations() error
b8f3830cd9 parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode
d7ba24d3a8 parisc: Fix device names in /proc/iomem
a7573260ad ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()
8b4588b8b0 usbnet: Fix linkwatch use-after-free on disconnect
2afb553d68 fbcon: Fix boundary checks for fbcon=vc:n1-n2 parameters
6f9cd356eb thermal: sysfs: Fix cooling_device_stats_setup() error code path
a698d2fa85 fs: Add missing umask strip in vfs_tmpfile
e2a231454e vfs: Check the truncate maximum size in inode_newsize_ok()
cc9e874dac tty: vt: initialize unicode screen buffer
9e274a4f60 ALSA: hda/realtek: Add quirk for another Asus K42JZ model
495f153c15 ALSA: hda/cirrus - support for iMac 12,1 model
f4f2d3742b ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model
79e522101c mm/mremap: hold the rmap lock in write mode when moving page table entries.
731436e1ee KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP
914a274320 KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks
7835986587 KVM: nVMX: Let userspace set nVMX MSR to any _host_ supported value
68e1313bb8 KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
e40bde8a28 KVM: nVMX: Snapshot pre-VM-Enter DEBUGCTL for !nested_run_pending case
c841dfce0b KVM: nVMX: Snapshot pre-VM-Enter BNDCFGS for !nested_run_pending case
717c93c7f6 HID: wacom: Don't register pad_input for touch switch
0ca140b284 HID: wacom: Only report rotation for art pen
d14b6fe911 add barriers to buffer_uptodate and set_buffer_uptodate
6f3342a5e8 wifi: mac80211_hwsim: use 32-bit skb cookie
4f4bf4e52b wifi: mac80211_hwsim: add back erroneously removed cast
84014008bc wifi: mac80211_hwsim: fix race condition in pending packet
ae52cf801a igc: Remove _I_PHY_ID checking
05e0bb8c3c ALSA: bcd2000: Fix a UAF bug on the error path of probing
58e337d27f scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover"
013acaa597 x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments
635e8e6f68 Makefile: link with -z noexecstack --no-warn-rwx-segments

Change-Id: I160e4fdc055e7b7708c84eb279f26cce9da6915d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2022-11-29 09:10:07 +00:00
Xin Long
36769b9477 tipc: fix the msg->req tlv len check in tipc_nl_compat_name_table_dump_header
[ Upstream commit 1c075b192fe41030457cd4a5f7dea730412bca40 ]

This is a follow-up for commit 974cb0e3e7 ("tipc: fix uninit-value
in tipc_nl_compat_name_table_dump") where it should have type casted
sizeof(..) to int to work when TLV_GET_DATA_LEN() returns a negative
value.

syzbot reported a call trace because of it:

  BUG: KMSAN: uninit-value in ...
   tipc_nl_compat_name_table_dump+0x841/0xea0 net/tipc/netlink_compat.c:934
   __tipc_nl_compat_dumpit+0xab2/0x1320 net/tipc/netlink_compat.c:238
   tipc_nl_compat_dumpit+0x991/0xb50 net/tipc/netlink_compat.c:321
   tipc_nl_compat_recv+0xb6e/0x1640 net/tipc/netlink_compat.c:1324
   genl_family_rcv_msg_doit net/netlink/genetlink.c:731 [inline]
   genl_family_rcv_msg net/netlink/genetlink.c:775 [inline]
   genl_rcv_msg+0x103f/0x1260 net/netlink/genetlink.c:792
   netlink_rcv_skb+0x3a5/0x6c0 net/netlink/af_netlink.c:2501
   genl_rcv+0x3c/0x50 net/netlink/genetlink.c:803
   netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline]
   netlink_unicast+0xf3b/0x1270 net/netlink/af_netlink.c:1345
   netlink_sendmsg+0x1288/0x1440 net/netlink/af_netlink.c:1921
   sock_sendmsg_nosec net/socket.c:714 [inline]
   sock_sendmsg net/socket.c:734 [inline]

Reported-by: syzbot+e5dbaaa238680ce206ea@syzkaller.appspotmail.com
Fixes: 974cb0e3e7 ("tipc: fix uninit-value in tipc_nl_compat_name_table_dump")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Link: https://lore.kernel.org/r/ccd6a7ea801b15aec092c3b532a883b4c5708695.1667594933.git.lucien.xin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-11-25 17:42:05 +01:00
Tung Nguyen
ef283814b2 BACKPORT: tipc: fix incorrect order of state message data sanity check
When receiving a state message, function tipc_link_validate_msg()
is called to validate its header portion. Then, its data portion
is validated before it can be accessed correctly. However, current
data sanity  check is done after the message header is accessed to
update some link variables.

This commit fixes this issue by moving the data sanity check to
the beginning of state message handling and right after the header
sanity check.

Bug: 254441685
Fixes: 9aa422ad3266 ("tipc: improve size validations for received domain records")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Link: https://lore.kernel.org/r/20220308021200.9245-1-tung.q.nguyen@dektech.com.au
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit c79fcc27be90b308b3fa90811aefafdd4078668c)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: If6cff72e268879445b388c957810263c59488718
2022-11-22 07:58:43 +00:00
Xin Long
24b129aed8 tipc: fix a null-ptr-deref in tipc_topsrv_accept
[ Upstream commit 82cb4e4612c633a9ce320e1773114875604a3cce ]

syzbot found a crash in tipc_topsrv_accept:

  KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
  Workqueue: tipc_rcv tipc_topsrv_accept
  RIP: 0010:kernel_accept+0x22d/0x350 net/socket.c:3487
  Call Trace:
   <TASK>
   tipc_topsrv_accept+0x197/0x280 net/tipc/topsrv.c:460
   process_one_work+0x991/0x1610 kernel/workqueue.c:2289
   worker_thread+0x665/0x1080 kernel/workqueue.c:2436
   kthread+0x2e4/0x3a0 kernel/kthread.c:376
   ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306

It was caused by srv->listener that might be set to null by
tipc_topsrv_stop() in net .exit whereas it's still used in
tipc_topsrv_accept() worker.

srv->listener is protected by srv->idr_lock in tipc_topsrv_stop(), so add
a check for srv->listener under srv->idr_lock in tipc_topsrv_accept() to
avoid the null-ptr-deref. To ensure the lsock is not released during the
tipc_topsrv_accept(), move sock_release() after tipc_topsrv_work_stop()
where it's waiting until the tipc_topsrv_accept worker to be done.

Note that sk_callback_lock is used to protect sk->sk_user_data instead of
srv->listener, and it should check srv in tipc_topsrv_listener_data_ready()
instead. This also ensures that no more tipc_topsrv_accept worker will be
started after tipc_conn_close() is called in tipc_topsrv_stop() where it
sets sk->sk_user_data to null.

Fixes: 0ef897be12 ("tipc: separate topology server listener socket from subcsriber sockets")
Reported-by: syzbot+c5ce866a8d30f4be0651@syzkaller.appspotmail.com
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Link: https://lore.kernel.org/r/4eee264380c409c61c6451af1059b7fb271a7e7b.1666120790.git.lucien.xin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-11-03 23:56:55 +09:00
Alexander Potapenko
567f8de358 tipc: fix an information leak in tipc_topsrv_kern_subscr
[ Upstream commit 777ecaabd614d47c482a5c9031579e66da13989a ]

Use a 8-byte write to initialize sub.usr_handle in
tipc_topsrv_kern_subscr(), otherwise four bytes remain uninitialized
when issuing setsockopt(..., SOL_TIPC, ...).
This resulted in an infoleak reported by KMSAN when the packet was
received:

  =====================================================
  BUG: KMSAN: kernel-infoleak in copyout+0xbc/0x100 lib/iov_iter.c:169
   instrument_copy_to_user ./include/linux/instrumented.h:121
   copyout+0xbc/0x100 lib/iov_iter.c:169
   _copy_to_iter+0x5c0/0x20a0 lib/iov_iter.c:527
   copy_to_iter ./include/linux/uio.h:176
   simple_copy_to_iter+0x64/0xa0 net/core/datagram.c:513
   __skb_datagram_iter+0x123/0xdc0 net/core/datagram.c:419
   skb_copy_datagram_iter+0x58/0x200 net/core/datagram.c:527
   skb_copy_datagram_msg ./include/linux/skbuff.h:3903
   packet_recvmsg+0x521/0x1e70 net/packet/af_packet.c:3469
   ____sys_recvmsg+0x2c4/0x810 net/socket.c:?
   ___sys_recvmsg+0x217/0x840 net/socket.c:2743
   __sys_recvmsg net/socket.c:2773
   __do_sys_recvmsg net/socket.c:2783
   __se_sys_recvmsg net/socket.c:2780
   __x64_sys_recvmsg+0x364/0x540 net/socket.c:2780
   do_syscall_x64 arch/x86/entry/common.c:50
   do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
   entry_SYSCALL_64_after_hwframe+0x63/0xcd arch/x86/entry/entry_64.S:120

  ...

  Uninit was stored to memory at:
   tipc_sub_subscribe+0x42d/0xb50 net/tipc/subscr.c:156
   tipc_conn_rcv_sub+0x246/0x620 net/tipc/topsrv.c:375
   tipc_topsrv_kern_subscr+0x2e8/0x400 net/tipc/topsrv.c:579
   tipc_group_create+0x4e7/0x7d0 net/tipc/group.c:190
   tipc_sk_join+0x2a8/0x770 net/tipc/socket.c:3084
   tipc_setsockopt+0xae5/0xe40 net/tipc/socket.c:3201
   __sys_setsockopt+0x87f/0xdc0 net/socket.c:2252
   __do_sys_setsockopt net/socket.c:2263
   __se_sys_setsockopt net/socket.c:2260
   __x64_sys_setsockopt+0xe0/0x160 net/socket.c:2260
   do_syscall_x64 arch/x86/entry/common.c:50
   do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
   entry_SYSCALL_64_after_hwframe+0x63/0xcd arch/x86/entry/entry_64.S:120

  Local variable sub created at:
   tipc_topsrv_kern_subscr+0x57/0x400 net/tipc/topsrv.c:562
   tipc_group_create+0x4e7/0x7d0 net/tipc/group.c:190

  Bytes 84-87 of 88 are uninitialized
  Memory access of size 88 starts at ffff88801ed57cd0
  Data copied to user address 0000000020000400
  ...
  =====================================================

Signed-off-by: Alexander Potapenko <glider@google.com>
Fixes: 026321c6d0 ("tipc: rename tipc_server to tipc_topsrv")
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-29 10:20:35 +02:00
Mark Tomlinson
27ee73c119 tipc: Fix recognition of trial period
[ Upstream commit 28be7ca4fcfd69a2d52aaa331adbf9dbe91f9e6e ]

The trial period exists until jiffies is after addr_trial_end. But as
jiffies will eventually overflow, just using time_after will eventually
give incorrect results. As the node address is set once the trial period
ends, this can be used to know that we are not in the trial period.

Fixes: e415577f57 ("tipc: correct discovery message handling during address trial period")
Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-29 10:20:35 +02:00
Dan Carpenter
d488e2baf2 tipc: fix shift wrapping bug in map_get()
[ Upstream commit e2b224abd9bf45dcb55750479fc35970725a430b ]

There is a shift wrapping bug in this code so anything thing above
31 will return false.

Fixes: 35c55c9877 ("tipc: add neighbor monitoring framework")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-15 12:04:55 +02:00
Hangyu Hua
4919d82f70 net: tipc: fix possible refcount leak in tipc_sk_create()
[ Upstream commit 00aff3590fc0a73bddd3b743863c14e76fd35c0c ]

Free sk in case tipc_sk_insert() fails.

Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
Reviewed-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-07-21 20:59:25 +02:00
Hoang Le
8b91d0dfc8 tipc: check attribute length for bearer name
[ Upstream commit 7f36f798f89bf32c0164049cb0e3fd1af613d0bb ]

syzbot reported uninit-value:
=====================================================
BUG: KMSAN: uninit-value in string_nocheck lib/vsprintf.c:644 [inline]
BUG: KMSAN: uninit-value in string+0x4f9/0x6f0 lib/vsprintf.c:725
 string_nocheck lib/vsprintf.c:644 [inline]
 string+0x4f9/0x6f0 lib/vsprintf.c:725
 vsnprintf+0x2222/0x3650 lib/vsprintf.c:2806
 vprintk_store+0x537/0x2150 kernel/printk/printk.c:2158
 vprintk_emit+0x28b/0xab0 kernel/printk/printk.c:2256
 vprintk_default+0x86/0xa0 kernel/printk/printk.c:2283
 vprintk+0x15f/0x180 kernel/printk/printk_safe.c:50
 _printk+0x18d/0x1cf kernel/printk/printk.c:2293
 tipc_enable_bearer net/tipc/bearer.c:371 [inline]
 __tipc_nl_bearer_enable+0x2022/0x22a0 net/tipc/bearer.c:1033
 tipc_nl_bearer_enable+0x6c/0xb0 net/tipc/bearer.c:1042
 genl_family_rcv_msg_doit net/netlink/genetlink.c:731 [inline]

- Do sanity check the attribute length for TIPC_NLA_BEARER_NAME.
- Do not use 'illegal name' in printing message.

Reported-by: syzbot+e820fdc8ce362f2dea51@syzkaller.appspotmail.com
Fixes: cb30a63384 ("tipc: refactor function tipc_enable_bearer()")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Link: https://lore.kernel.org/r/20220602063053.5892-1-hoang.h.le@dektech.com.au
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-14 18:11:56 +02:00
Hoang Le
043b197013 tipc: fix the timer expires after interval 100ms
[ Upstream commit 6a7d8cff4a3301087dd139293e9bddcf63827282 ]

In the timer callback function tipc_sk_timeout(), we're trying to
reschedule another timeout to retransmit a setup request if destination
link is congested. But we use the incorrect timeout value
(msecs_to_jiffies(100)) instead of (jiffies + msecs_to_jiffies(100)),
so that the timer expires immediately, it's irrelevant for original
description.

In this commit we correct the timeout value in sk_reset_timer()

Fixes: 6787927475 ("tipc: buffer overflow handling in listener socket")
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Link: https://lore.kernel.org/r/20220321042229.314288-1-hoang.h.le@dektech.com.au
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-04-15 14:18:17 +02:00
Dan Carpenter
0240bb276f tipc: Fix end of loop tests for list_for_each_entry()
commit a1f8fec4dac8bc7b172b2bdbd881e015261a6322 upstream.

These tests are supposed to check if the loop exited via a break or not.
However the tests are wrong because if we did not exit via a break then
"p" is not a valid pointer.  In that case, it's the equivalent of
"if (*(u32 *)sr == *last_key) {".  That's going to work most of the time,
but there is a potential for those to be equal.

Fixes: 1593123a6a ("tipc: add name table dump to new netlink api")
Fixes: 1a1a143daf ("tipc: add publication dump to new netlink api")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-02 11:41:06 +01:00
Jon Maloy
b3e998a5dc tipc: rate limit warning for received illegal binding update
[ Upstream commit c7223d687758462826a20e9735305d55bb874c70 ]

It would be easy to craft a message containing an illegal binding table
update operation. This is handled correctly by the code, but the
corresponding warning printout is not rate limited as is should be.
We fix this now.

Fixes: b97bf3fd8f ("[TIPC] Initial merge")
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-02-16 12:52:51 +01:00
Jon Maloy
d692e3406e tipc: improve size validations for received domain records
commit 9aa422ad326634b76309e8ff342c246800621216 upstream.

The function tipc_mon_rcv() allows a node to receive and process
domain_record structs from peer nodes to track their views of the
network topology.

This patch verifies that the number of members in a received domain
record does not exceed the limit defined by MAX_MON_DOMAIN, something
that may otherwise lead to a stack overflow.

tipc_mon_rcv() is called from the function tipc_link_proto_rcv(), where
we are reading a 32 bit message data length field into a uint16.  To
avert any risk of bit overflow, we add an extra sanity check for this in
that function.  We cannot see that happen with the current code, but
future designers being unaware of this risk, may introduce it by
allowing delivery of very large (> 64k) sk buffers from the bearer
layer.  This potential problem was identified by Eric Dumazet.

This fixes CVE-2022-0435

Reported-by: Samuel Page <samuel.page@appgate.com>
Reported-by: Eric Dumazet <edumazet@google.com>
Fixes: 35c55c9877 ("tipc: add neighbor monitoring framework")
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: Samuel Page <samuel.page@appgate.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-11 09:07:52 +01:00
Hoang Le
6808e70a77 tipc: increase timeout in tipc_sk_enqueue()
commit f4bb62e64c88c93060c051195d3bbba804e56945 upstream.

In tipc_sk_enqueue() we use hardcoded 2 jiffies to extract
socket buffer from generic queue to particular socket.
The 2 jiffies is too short in case there are other high priority
tasks get CPU cycles for multiple jiffies update. As result, no
buffer could be enqueued to particular socket.

To solve this, we switch to use constant timeout 20msecs.
Then, the function will be expired between 2 jiffies (CONFIG_100HZ)
and 20 jiffies (CONFIG_1000HZ).

Fixes: c637c10355 ("tipc: resolve race problem at unicast message reception")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-22 12:26:41 +02:00
Xin Long
79ab38864d tipc: fix an use-after-free issue in tipc_recvmsg
commit cc19862ffe454a5b632ca202e5a51bfec9f89fd2 upstream.

syzbot reported an use-after-free crash:

  BUG: KASAN: use-after-free in tipc_recvmsg+0xf77/0xf90 net/tipc/socket.c:1979
  Call Trace:
   tipc_recvmsg+0xf77/0xf90 net/tipc/socket.c:1979
   sock_recvmsg_nosec net/socket.c:943 [inline]
   sock_recvmsg net/socket.c:961 [inline]
   sock_recvmsg+0xca/0x110 net/socket.c:957
   tipc_conn_rcv_from_sock+0x162/0x2f0 net/tipc/topsrv.c:398
   tipc_conn_recv_work+0xeb/0x190 net/tipc/topsrv.c:421
   process_one_work+0x98d/0x1630 kernel/workqueue.c:2276
   worker_thread+0x658/0x11f0 kernel/workqueue.c:2422

As Hoang pointed out, it was caused by skb_cb->bytes_read still accessed
after calling tsk_advance_rx_queue() to free the skb in tipc_recvmsg().

This patch is to fix it by accessing skb_cb->bytes_read earlier than
calling tsk_advance_rx_queue().

Fixes: f4919ff59c28 ("tipc: keep the skb in rcv queue until the whole data is read")
Reported-by: syzbot+e6741b97d5552f97c24d@syzkaller.appspotmail.com
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-22 12:26:40 +02:00
Xin Long
0de0c16739 tipc: keep the skb in rcv queue until the whole data is read
[ Upstream commit f4919ff59c2828064b4156e3c3600a169909bcf4 ]

Currently, when userspace reads a datagram with a buffer that is
smaller than this datagram, the data will be truncated and only
part of it can be received by users. It doesn't seem right that
users don't know the datagram size and have to use a huge buffer
to read it to avoid the truncation.

This patch to fix it by keeping the skb in rcv queue until the
whole data is read by users. Only the last msg of the datagram
will be marked with MSG_EOR, just as TCP/SCTP does.

Note that this will work as above only when MSG_EOR is set in the
flags parameter of recvmsg(), so that it won't break any old user
applications.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-22 12:26:27 +02:00
Hoang Le
851946a681 tipc: fix sleeping in tipc accept routine
[ Upstream commit d237a7f11719ff9320721be5818352e48071aab6 ]

The release_sock() is blocking function, it would change the state
after sleeping. In order to evaluate the stated condition outside
the socket lock context, switch to use wait_woken() instead.

Fixes: 6398e23cdb ("tipc: standardize accept routine")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-08-04 12:27:39 +02:00
Hoang Le
28efacc21d tipc: fix unique bearer names sanity check
[ Upstream commit f20a46c3044c3f75232b3d0e2d09af9b25efaf45 ]

When enabling a bearer by name, we don't sanity check its name with
higher slot in bearer list. This may have the effect that the name
of an already enabled bearer bypasses the check.

To fix the above issue, we just perform an extra checking with all
existing bearers.

Fixes: cb30a63384 ("tipc: refactor function tipc_enable_bearer()")
Cc: stable@vger.kernel.org
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-06-10 13:37:08 +02:00
Hoang Le
9ac67fdf64 tipc: add extack messages for bearer/media failure
[ Upstream commit b83e214b2e04204f1fc674574362061492c37245 ]

Add extack error messages for -EINVAL errors when enabling bearer,
getting/setting properties for a media/bearer

Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-06-10 13:37:08 +02:00
Xin Long
64d17ec9f1 tipc: skb_linearize the head skb when reassembling msgs
commit b7df21cf1b79ab7026f545e7bf837bd5750ac026 upstream.

It's not a good idea to append the frag skb to a skb's frag_list if
the frag_list already has skbs from elsewhere, such as this skb was
created by pskb_copy() where the frag_list was cloned (all the skbs
in it were skb_get'ed) and shared by multiple skbs.

However, the new appended frag skb should have been only seen by the
current skb. Otherwise, it will cause use after free crashes as this
appended frag skb are seen by multiple skbs but it only got skb_get
called once.

The same thing happens with a skb updated by pskb_may_pull() with a
skb_cloned skb. Li Shuang has reported quite a few crashes caused
by this when doing testing over macvlan devices:

  [] kernel BUG at net/core/skbuff.c:1970!
  [] Call Trace:
  []  skb_clone+0x4d/0xb0
  []  macvlan_broadcast+0xd8/0x160 [macvlan]
  []  macvlan_process_broadcast+0x148/0x150 [macvlan]
  []  process_one_work+0x1a7/0x360
  []  worker_thread+0x30/0x390

  [] kernel BUG at mm/usercopy.c:102!
  [] Call Trace:
  []  __check_heap_object+0xd3/0x100
  []  __check_object_size+0xff/0x16b
  []  simple_copy_to_iter+0x1c/0x30
  []  __skb_datagram_iter+0x7d/0x310
  []  __skb_datagram_iter+0x2a5/0x310
  []  skb_copy_datagram_iter+0x3b/0x90
  []  tipc_recvmsg+0x14a/0x3a0 [tipc]
  []  ____sys_recvmsg+0x91/0x150
  []  ___sys_recvmsg+0x7b/0xc0

  [] kernel BUG at mm/slub.c:305!
  [] Call Trace:
  []  <IRQ>
  []  kmem_cache_free+0x3ff/0x400
  []  __netif_receive_skb_core+0x12c/0xc40
  []  ? kmem_cache_alloc+0x12e/0x270
  []  netif_receive_skb_internal+0x3d/0xb0
  []  ? get_rx_page_info+0x8e/0xa0 [be2net]
  []  be_poll+0x6ef/0xd00 [be2net]
  []  ? irq_exit+0x4f/0x100
  []  net_rx_action+0x149/0x3b0

  ...

This patch is to fix it by linearizing the head skb if it has frag_list
set in tipc_buf_append(). Note that we choose to do this before calling
skb_unshare(), as __skb_linearize() will avoid skb_copy(). Also, we can
not just drop the frag_list either as the early time.

Fixes: 45c8b7b175 ("tipc: allow non-linear first fragment buffer")
Reported-by: Li Shuang <shuali@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-03 08:59:07 +02:00
Xin Long
d1f76dfada tipc: wait and exit until all work queues are done
commit 04c26faa51d1e2fe71cf13c45791f5174c37f986 upstream.

On some host, a crash could be triggered simply by repeating these
commands several times:

  # modprobe tipc
  # tipc bearer enable media udp name UDP1 localip 127.0.0.1
  # rmmod tipc

  [] BUG: unable to handle kernel paging request at ffffffffc096bb00
  [] Workqueue: events 0xffffffffc096bb00
  [] Call Trace:
  []  ? process_one_work+0x1a7/0x360
  []  ? worker_thread+0x30/0x390
  []  ? create_worker+0x1a0/0x1a0
  []  ? kthread+0x116/0x130
  []  ? kthread_flush_work_fn+0x10/0x10
  []  ? ret_from_fork+0x35/0x40

When removing the TIPC module, the UDP tunnel sock will be delayed to
release in a work queue as sock_release() can't be done in rtnl_lock().
If the work queue is schedule to run after the TIPC module is removed,
kernel will crash as the work queue function cleanup_beareri() code no
longer exists when trying to invoke it.

To fix it, this patch introduce a member wq_count in tipc_net to track
the numbers of work queues in schedule, and  wait and exit until all
work queues are done in tipc_exit_net().

Fixes: d0f91938be ("tipc: add ip/udp media type")
Reported-by: Shuang Li <shuali@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-03 08:59:07 +02:00
Hoang Le
bdd37028a0 Revert "net:tipc: Fix a double free in tipc_sk_mcast_rcv"
commit 75016891357a628d2b8acc09e2b9b2576c18d318 upstream.

This reverts commit 6bf24dc0cc0cc43b29ba344b66d78590e687e046.
Above fix is not correct and caused memory leak issue.

Fixes: 6bf24dc0cc0c ("net:tipc: Fix a double free in tipc_sk_mcast_rcv")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Acked-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-03 08:59:07 +02:00
Hoang Le
aee46e847d tipc: convert dest node's address to network order
[ Upstream commit 1980d37565061ab44bdc2f9e4da477d3b9752e81 ]

(struct tipc_link_info)->dest is in network order (__be32), so we must
convert the value to network order before assigning. The problem detected
by sparse:

net/tipc/netlink_compat.c:699:24: warning: incorrect type in assignment (different base types)
net/tipc/netlink_compat.c:699:24:    expected restricted __be32 [usertype] dest
net/tipc/netlink_compat.c:699:24:    got int

Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-19 10:08:20 +02:00
Lv Yunlong
c991ca6a2c net:tipc: Fix a double free in tipc_sk_mcast_rcv
[ Upstream commit 6bf24dc0cc0cc43b29ba344b66d78590e687e046 ]

In the if(skb_peek(arrvq) == skb) branch, it calls __skb_dequeue(arrvq) to get
the skb by skb = skb_peek(arrvq). Then __skb_dequeue() unlinks the skb from arrvq
and returns the skb which equals to skb_peek(arrvq). After __skb_dequeue(arrvq)
finished, the skb is freed by kfree_skb(__skb_dequeue(arrvq)) in the first time.

Unfortunately, the same skb is freed in the second time by kfree_skb(skb) after
the branch completed.

My patch removes kfree_skb() in the if(skb_peek(arrvq) == skb) branch, because
this skb will be freed by kfree_skb(skb) finally.

Fixes: cb1b728096 ("tipc: eliminate race condition at multicast reception")
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-04-14 08:24:15 +02:00
Hoang Le
56e8947bcf tipc: fix NULL deref in tipc_link_xmit()
[ Upstream commit b77413446408fdd256599daf00d5be72b5f3e7c6 ]

The buffer list can have zero skb as following path:
tipc_named_node_up()->tipc_node_xmit()->tipc_link_xmit(), so
we need to check the list before casting an &sk_buff.

Fault report:
 [] tipc: Bulk publication failure
 [] general protection fault, probably for non-canonical [#1] PREEMPT [...]
 [] KASAN: null-ptr-deref in range [0x00000000000000c8-0x00000000000000cf]
 [] CPU: 0 PID: 0 Comm: swapper/0 Kdump: loaded Not tainted 5.10.0-rc4+ #2
 [] Hardware name: Bochs ..., BIOS Bochs 01/01/2011
 [] RIP: 0010:tipc_link_xmit+0xc1/0x2180
 [] Code: 24 b8 00 00 00 00 4d 39 ec 4c 0f 44 e8 e8 d7 0a 10 f9 48 [...]
 [] RSP: 0018:ffffc90000006ea0 EFLAGS: 00010202
 [] RAX: dffffc0000000000 RBX: ffff8880224da000 RCX: 1ffff11003d3cc0d
 [] RDX: 0000000000000019 RSI: ffffffff886007b9 RDI: 00000000000000c8
 [] RBP: ffffc90000007018 R08: 0000000000000001 R09: fffff52000000ded
 [] R10: 0000000000000003 R11: fffff52000000dec R12: ffffc90000007148
 [] R13: 0000000000000000 R14: 0000000000000000 R15: ffffc90000007018
 [] FS:  0000000000000000(0000) GS:ffff888037400000(0000) knlGS:000[...]
 [] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 [] CR2: 00007fffd2db5000 CR3: 000000002b08f000 CR4: 00000000000006f0

Fixes: af9b028e27 ("tipc: make media xmit call outside node spinlock context")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Link: https://lore.kernel.org/r/20210108071337.3598-1-hoang.h.le@dektech.com.au
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-23 15:58:00 +01:00
Hoang Huu Le
fdc1416c21 tipc: fix a deadlock when flushing scheduled work
commit d966ddcc38217a6110a6a0ff37ad2dee7d42e23e upstream.

In the commit fdeba99b1e58
("tipc: fix use-after-free in tipc_bcast_get_mode"), we're trying
to make sure the tipc_net_finalize_work work item finished if it
enqueued. But calling flush_scheduled_work() is not just affecting
above work item but either any scheduled work. This has turned out
to be overkill and caused to deadlock as syzbot reported:

======================================================
WARNING: possible circular locking dependency detected
5.9.0-rc2-next-20200828-syzkaller #0 Not tainted
------------------------------------------------------
kworker/u4:6/349 is trying to acquire lock:
ffff8880aa063d38 ((wq_completion)events){+.+.}-{0:0}, at: flush_workqueue+0xe1/0x13e0 kernel/workqueue.c:2777

but task is already holding lock:
ffffffff8a879430 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0x9b/0xb10 net/core/net_namespace.c:565

[...]
 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(pernet_ops_rwsem);
                               lock(&sb->s_type->i_mutex_key#13);
                               lock(pernet_ops_rwsem);
  lock((wq_completion)events);

 *** DEADLOCK ***
[...]

v1:
To fix the original issue, we replace above calling by introducing
a bit flag. When a namespace cleaned-up, bit flag is set to zero and:
- tipc_net_finalize functionial just does return immediately.
- tipc_net_finalize_work does not enqueue into the scheduled work queue.

v2:
Use cancel_work_sync() helper to make sure ONLY the
tipc_net_finalize_work() stopped before releasing bcbase object.

Reported-by: syzbot+d5aa7e0385f6a5d0f4fd@syzkaller.appspotmail.com
Fixes: fdeba99b1e58 ("tipc: fix use-after-free in tipc_bcast_get_mode")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Huu Le <hoang.h.le@dektech.com.au>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-11 13:23:32 +01:00
Wang Hai
78f6fac081 tipc: fix memory leak in tipc_topsrv_start()
[ Upstream commit fa6882c63621821f73cc806f291208e1c6ea6187 ]

kmemleak report a memory leak as follows:

unreferenced object 0xffff88810a596800 (size 512):
  comm "ip", pid 21558, jiffies 4297568990 (age 112.120s)
  hex dump (first 32 bytes):
    00 00 00 00 ad 4e ad de ff ff ff ff 00 00 00 00  .....N..........
    ff ff ff ff ff ff ff ff 00 83 60 b0 ff ff ff ff  ..........`.....
  backtrace:
    [<0000000022bbe21f>] tipc_topsrv_init_net+0x1f3/0xa70
    [<00000000fe15ddf7>] ops_init+0xa8/0x3c0
    [<00000000138af6f2>] setup_net+0x2de/0x7e0
    [<000000008c6807a3>] copy_net_ns+0x27d/0x530
    [<000000006b21adbd>] create_new_namespaces+0x382/0xa30
    [<00000000bb169746>] unshare_nsproxy_namespaces+0xa1/0x1d0
    [<00000000fe2e42bc>] ksys_unshare+0x39c/0x780
    [<0000000009ba3b19>] __x64_sys_unshare+0x2d/0x40
    [<00000000614ad866>] do_syscall_64+0x56/0xa0
    [<00000000a1b5ca3c>] entry_SYSCALL_64_after_hwframe+0x44/0xa9

'srv' is malloced in tipc_topsrv_start() but not free before
leaving from the error handling cases. We need to free it.

Fixes: 5c45ab24ac ("tipc: make struct tipc_server private for server.c")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Link: https://lore.kernel.org/r/20201109140913.47370-1-wanghai38@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-18 19:20:33 +01:00
Hoang Huu Le
76e5bba75a tipc: fix use-after-free in tipc_bcast_get_mode
commit fdeba99b1e58ecd18c2940c453e19e4ef20ff591 upstream.

Syzbot has reported those issues as:

==================================================================
BUG: KASAN: use-after-free in tipc_bcast_get_mode+0x3ab/0x400 net/tipc/bcast.c:759
Read of size 1 at addr ffff88805e6b3571 by task kworker/0:6/3850

CPU: 0 PID: 3850 Comm: kworker/0:6 Not tainted 5.8.0-rc7-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events tipc_net_finalize_work

Thread 1's call trace:
[...]
  kfree+0x103/0x2c0 mm/slab.c:3757 <- bcbase releasing
  tipc_bcast_stop+0x1b0/0x2f0 net/tipc/bcast.c:721
  tipc_exit_net+0x24/0x270 net/tipc/core.c:112
[...]

Thread 2's call trace:
[...]
  tipc_bcast_get_mode+0x3ab/0x400 net/tipc/bcast.c:759 <- bcbase
has already been freed by Thread 1

  tipc_node_broadcast+0x9e/0xcc0 net/tipc/node.c:1744
  tipc_nametbl_publish+0x60b/0x970 net/tipc/name_table.c:752
  tipc_net_finalize net/tipc/net.c:141 [inline]
  tipc_net_finalize+0x1fa/0x310 net/tipc/net.c:131
  tipc_net_finalize_work+0x55/0x80 net/tipc/net.c:150
[...]

==================================================================
BUG: KASAN: use-after-free in tipc_named_reinit+0xef/0x290 net/tipc/name_distr.c:344
Read of size 8 at addr ffff888052ab2000 by task kworker/0:13/30628
CPU: 0 PID: 30628 Comm: kworker/0:13 Not tainted 5.8.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events tipc_net_finalize_work
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1f0/0x31e lib/dump_stack.c:118
 print_address_description+0x66/0x5a0 mm/kasan/report.c:383
 __kasan_report mm/kasan/report.c:513 [inline]
 kasan_report+0x132/0x1d0 mm/kasan/report.c:530
 tipc_named_reinit+0xef/0x290 net/tipc/name_distr.c:344
 tipc_net_finalize+0x85/0xe0 net/tipc/net.c:138
 tipc_net_finalize_work+0x50/0x70 net/tipc/net.c:150
 process_one_work+0x789/0xfc0 kernel/workqueue.c:2269
 worker_thread+0xaa4/0x1460 kernel/workqueue.c:2415
 kthread+0x37e/0x3a0 drivers/block/aoe/aoecmd.c:1234
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293
[...]
Freed by task 14058:
 save_stack mm/kasan/common.c:48 [inline]
 set_track mm/kasan/common.c:56 [inline]
 kasan_set_free_info mm/kasan/common.c:316 [inline]
 __kasan_slab_free+0x114/0x170 mm/kasan/common.c:455
 __cache_free mm/slab.c:3426 [inline]
 kfree+0x10a/0x220 mm/slab.c:3757
 tipc_exit_net+0x29/0x50 net/tipc/core.c:113
 ops_exit_list net/core/net_namespace.c:186 [inline]
 cleanup_net+0x708/0xba0 net/core/net_namespace.c:603
 process_one_work+0x789/0xfc0 kernel/workqueue.c:2269
 worker_thread+0xaa4/0x1460 kernel/workqueue.c:2415
 kthread+0x37e/0x3a0 drivers/block/aoe/aoecmd.c:1234
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293

Fix it by calling flush_scheduled_work() to make sure the
tipc_net_finalize_work() stopped before releasing bcbase object.

Reported-by: syzbot+6ea1f7a8df64596ef4d7@syzkaller.appspotmail.com
Reported-by: syzbot+e9cc557752ab126c1b99@syzkaller.appspotmail.com
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Huu Le <hoang.h.le@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-10 12:37:24 +01:00
Tung Nguyen
30d628ede5 tipc: fix memory leak caused by tipc_buf_append()
[ Upstream commit ceb1eb2fb609c88363e06618b8d4bbf7815a4e03 ]

Commit ed42989eab57 ("tipc: fix the skb_unshare() in tipc_buf_append()")
replaced skb_unshare() with skb_copy() to not reduce the data reference
counter of the original skb intentionally. This is not the correct
way to handle the cloned skb because it causes memory leak in 2
following cases:
 1/ Sending multicast messages via broadcast link
  The original skb list is cloned to the local skb list for local
  destination. After that, the data reference counter of each skb
  in the original list has the value of 2. This causes each skb not
  to be freed after receiving ACK:
  tipc_link_advance_transmq()
  {
   ...
   /* release skb */
   __skb_unlink(skb, &l->transmq);
   kfree_skb(skb); <-- memory exists after being freed
  }

 2/ Sending multicast messages via replicast link
  Similar to the above case, each skb cannot be freed after purging
  the skb list:
  tipc_mcast_xmit()
  {
   ...
   __skb_queue_purge(pkts); <-- memory exists after being freed
  }

This commit fixes this issue by using skb_unshare() instead. Besides,
to avoid use-after-free error reported by KASAN, the pointer to the
fragment is set to NULL before calling skb_unshare() to make sure that
the original skb is not freed after freeing the fragment 2 times in
case skb_unshare() returns NULL.

Fixes: ed42989eab57 ("tipc: fix the skb_unshare() in tipc_buf_append()")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Reported-by: Thang Hoang Ngo <thang.h.ngo@dektech.com.au>
Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Link: https://lore.kernel.org/r/20201027032403.1823-1-tung.q.nguyen@dektech.com.au
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-01 12:01:04 +01:00