Commit Graph

36775 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
fedef46c69 Merge 5.10.219 into android12-5.10-lts
Changes in 5.10.219
	x86/tsc: Trust initial offset in architectural TSC-adjust MSRs
	tty: n_gsm: fix possible out-of-bounds in gsm0_receive()
	speakup: Fix sizeof() vs ARRAY_SIZE() bug
	ring-buffer: Fix a race between readers and resize checks
	net: smc91x: Fix m68k kernel compilation for ColdFire CPU
	nilfs2: fix unexpected freezing of nilfs_segctor_sync()
	nilfs2: fix potential hang in nilfs_detach_log_writer()
	ALSA: core: Fix NULL module pointer assignment at card init
	wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class
	net: usb: qmi_wwan: add Telit FN920C04 compositions
	drm/amd/display: Set color_mgmt_changed to true on unsuspend
	ASoC: rt5645: Fix the electric noise due to the CBJ contacts floating
	ASoC: dt-bindings: rt5645: add cbj sleeve gpio property
	regulator: vqmmc-ipq4019: fix module autoloading
	ASoC: rt715: add vendor clear control register
	ASoC: da7219-aad: fix usage of device_get_named_child_node()
	drm/amdkfd: Flush the process wq before creating a kfd_process
	nvme: find numa distance only if controller has valid numa id
	openpromfs: finish conversion to the new mount API
	crypto: bcm - Fix pointer arithmetic
	firmware: raspberrypi: Use correct device for DMA mappings
	ecryptfs: Fix buffer size for tag 66 packet
	nilfs2: fix out-of-range warning
	parisc: add missing export of __cmpxchg_u8()
	crypto: ccp - drop platform ifdef checks
	crypto: x86/nh-avx2 - add missing vzeroupper
	crypto: x86/sha256-avx2 - add missing vzeroupper
	s390/cio: fix tracepoint subchannel type field
	jffs2: prevent xattr node from overflowing the eraseblock
	soc: mediatek: cmdq: Fix typo of CMDQ_JUMP_RELATIVE
	null_blk: Fix missing mutex_destroy() at module removal
	md: fix resync softlockup when bitmap size is less than array size
	wifi: ath10k: poll service ready message before failing
	x86/boot: Ignore relocations in .notes sections in walk_relocs() too
	qed: avoid truncating work queue length
	scsi: ufs: qcom: Perform read back after writing reset bit
	scsi: ufs-qcom: Fix ufs RST_n spec violation
	scsi: ufs: qcom: Perform read back after writing REG_UFS_SYS1CLK_1US
	scsi: ufs: ufs-qcom: Fix the Qcom register name for offset 0xD0
	scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW version major 5
	scsi: ufs: qcom: Perform read back after writing unipro mode
	scsi: ufs: qcom: Perform read back after writing CGC enable
	scsi: ufs: cdns-pltfrm: Perform read back after writing HCLKDIV
	scsi: ufs: core: Perform read back after disabling interrupts
	scsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL
	irqchip/alpine-msi: Fix off-by-one in allocation error path
	irqchip/loongson-pch-msi: Fix off-by-one on allocation error path
	ACPI: disable -Wstringop-truncation
	gfs2: Fix "ignore unlock failures after withdraw"
	selftests/bpf: Fix umount cgroup2 error in test_sockmap
	cpufreq: Reorganize checks in cpufreq_offline()
	cpufreq: Split cpufreq_offline()
	cpufreq: Rearrange locking in cpufreq_remove_dev()
	cpufreq: exit() callback is optional
	net: export inet_lookup_reuseport and inet6_lookup_reuseport
	net: remove duplicate reuseport_lookup functions
	udp: Avoid call to compute_score on multiple sites
	scsi: libsas: Fix the failure of adding phy with zero-address to port
	scsi: hpsa: Fix allocation size for Scsi_Host private data
	x86/purgatory: Switch to the position-independent small code model
	wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()
	wifi: ath10k: populate board data for WCN3990
	tcp: avoid premature drops in tcp_add_backlog()
	net: give more chances to rcu in netdev_wait_allrefs_any()
	macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"
	wifi: carl9170: add a proper sanity check for endpoints
	wifi: ar5523: enable proper endpoint verification
	sh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe()
	Revert "sh: Handle calling csum_partial with misaligned data"
	selftests/binderfs: use the Makefile's rules, not Make's implicit rules
	HID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors
	scsi: bfa: Ensure the copied buf is NUL terminated
	scsi: qedf: Ensure the copied buf is NUL terminated
	wifi: mwl8k: initialize cmd->addr[] properly
	usb: aqc111: stop lying about skb->truesize
	net: usb: sr9700: stop lying about skb->truesize
	m68k: Fix spinlock race in kernel thread creation
	m68k: mac: Fix reboot hang on Mac IIci
	net: ipv6: fix wrong start position when receive hop-by-hop fragment
	eth: sungem: remove .ndo_poll_controller to avoid deadlocks
	net: ethernet: cortina: Locking fixes
	af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg
	net: usb: smsc95xx: stop lying about skb->truesize
	net: openvswitch: fix overwriting ct original tuple for ICMPv6
	ipv6: sr: add missing seg6_local_exit
	ipv6: sr: fix incorrect unregister order
	ipv6: sr: fix invalid unregister error path
	net/mlx5: Discard command completions in internal error
	drm/amd/display: Fix potential index out of bounds in color transformation function
	ASoC: soc-acpi: add helper to identify parent driver.
	ASoC: Intel: Disable route checks for Skylake boards
	mtd: rawnand: hynix: fixed typo
	fbdev: shmobile: fix snprintf truncation
	drm/meson: vclk: fix calculation of 59.94 fractional rates
	drm/mediatek: Add 0 size check to mtk_drm_gem_obj
	powerpc/fsl-soc: hide unused const variable
	fbdev: sisfb: hide unused variables
	media: ngene: Add dvb_ca_en50221_init return value check
	media: radio-shark2: Avoid led_names truncations
	drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference
	fbdev: sh7760fb: allow modular build
	media: atomisp: ssh_css: Fix a null-pointer dereference in load_video_binaries
	drm/arm/malidp: fix a possible null pointer dereference
	drm: vc4: Fix possible null pointer dereference
	ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value
	drm/bridge: lt9611: Don't log an error when DSI host can't be found
	drm/bridge: tc358775: Don't log an error when DSI host can't be found
	drm/panel: simple: Add missing Innolux G121X1-L03 format, flags, connector
	drm/mipi-dsi: use correct return type for the DSC functions
	RDMA/hns: Refactor the hns_roce_buf allocation flow
	RDMA/hns: Create QP with selected QPN for bank load balance
	RDMA/hns: Fix incorrect symbol types
	RDMA/hns: Fix return value in hns_roce_map_mr_sg
	RDMA/hns: Use complete parentheses in macros
	RDMA/hns: Modify the print level of CQE error
	clk: qcom: mmcc-msm8998: fix venus clock issue
	x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map
	ext4: avoid excessive credit estimate in ext4_tmpfile()
	sunrpc: removed redundant procp check
	ext4: simplify calculation of blkoff in ext4_mb_new_blocks_simple
	ext4: fix unit mismatch in ext4_mb_new_blocks_simple
	ext4: try all groups in ext4_mb_new_blocks_simple
	ext4: remove unused parameter from ext4_mb_new_blocks_simple()
	ext4: fix potential unnitialized variable
	SUNRPC: Fix gss_free_in_token_pages()
	selftests/kcmp: Make the test output consistent and clear
	selftests/kcmp: remove unused open mode
	RDMA/IPoIB: Fix format truncation compilation errors
	net: qrtr: fix null-ptr-deref in qrtr_ns_remove
	net: qrtr: ns: Fix module refcnt
	netrom: fix possible dead-lock in nr_rt_ioctl()
	af_packet: do not call packet_read_pending() from tpacket_destruct_skb()
	sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
	greybus: lights: check return of get_channel_from_mode
	f2fs: fix to wait on page writeback in __clone_blkaddrs()
	soundwire: cadence: fix invalid PDI offset
	dmaengine: idma64: Add check for dma_set_max_seg_size
	firmware: dmi-id: add a release callback function
	serial: max3100: Lock port->lock when calling uart_handle_cts_change()
	serial: max3100: Update uart_driver_registered on driver removal
	serial: max3100: Fix bitwise types
	greybus: arche-ctrl: move device table to its right location
	serial: sc16is7xx: add proper sched.h include for sched_set_fifo()
	f2fs: compress: support chksum
	f2fs: add compress_mode mount option
	f2fs: compress: clean up parameter of __f2fs_cluster_blocks()
	f2fs: compress: remove unneeded preallocation
	f2fs: introduce FI_COMPRESS_RELEASED instead of using IMMUTABLE bit
	f2fs: compress: fix to relocate check condition in f2fs_{release,reserve}_compress_blocks()
	f2fs: add cp_error check in f2fs_write_compressed_pages
	f2fs: fix to force keeping write barrier for strict fsync mode
	f2fs: do not allow partial truncation on pinned file
	f2fs: fix typos in comments
	f2fs: fix to relocate check condition in f2fs_fallocate()
	f2fs: fix to check pinfile flag in f2fs_move_file_range()
	iio: pressure: dps310: support negative temperature values
	fpga: region: change FPGA indirect article to an
	fpga: region: Rename dev to parent for parent device
	docs: driver-api: fpga: avoid using UTF-8 chars
	fpga: region: Use standard dev_release for class driver
	fpga: region: add owner module and take its refcount
	microblaze: Remove gcc flag for non existing early_printk.c file
	microblaze: Remove early printk call from cpuinfo-static.c
	usb: gadget: u_audio: Clear uac pointer when freed.
	stm class: Fix a double free in stm_register_device()
	ppdev: Remove usage of the deprecated ida_simple_xx() API
	ppdev: Add an error check in register_device
	extcon: max8997: select IRQ_DOMAIN instead of depending on it
	PCI/EDR: Align EDR_PORT_DPC_ENABLE_DSM with PCI Firmware r3.3
	PCI/EDR: Align EDR_PORT_LOCATE_DSM with PCI Firmware r3.3
	f2fs: compress: fix to cover {reserve,release}_compress_blocks() w/ cp_rwsem lock
	f2fs: fix to release node block count in error path of f2fs_new_node_page()
	f2fs: compress: don't allow unaligned truncation on released compress inode
	serial: sh-sci: protect invalidating RXDMA on shutdown
	libsubcmd: Fix parse-options memory leak
	s390/ipl: Fix incorrect initialization of len fields in nvme reipl block
	s390/ipl: Fix incorrect initialization of nvme dump block
	Input: ims-pcu - fix printf string overflow
	Input: ioc3kbd - convert to platform remove callback returning void
	Input: ioc3kbd - add device table
	mmc: sdhci_am654: Add tuning algorithm for delay chain
	mmc: sdhci_am654: Write ITAPDLY for DDR52 timing
	mmc: sdhci_am654: Drop lookup for deprecated ti,otap-del-sel
	mmc: sdhci_am654: Add OTAP/ITAP delay enable
	mmc: sdhci_am654: Add ITAPDLYSEL in sdhci_j721e_4bit_set_clock
	mmc: sdhci_am654: Fix ITAPDLY for HS400 timing
	Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation
	drm/msm/dpu: Always flush the slave INTF on the CTL
	um: Fix return value in ubd_init()
	um: Add winch to winch_handlers before registering winch IRQ
	um: vector: fix bpfflash parameter evaluation
	drm/bridge: tc358775: fix support for jeida-18 and jeida-24
	media: stk1160: fix bounds checking in stk1160_copy_video()
	scsi: qla2xxx: Replace all non-returning strlcpy() with strscpy()
	media: flexcop-usb: clean up endpoint sanity checks
	media: flexcop-usb: fix sanity check of bNumEndpoints
	powerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp
	um: Fix the -Wmissing-prototypes warning for __switch_mm
	media: cec: cec-adap: always cancel work in cec_transmit_msg_fh
	media: cec: cec-api: add locking in cec_release()
	media: core headers: fix kernel-doc warnings
	media: cec: fix a deadlock situation
	media: cec: call enable_adap on s_log_addrs
	media: cec: abort if the current transmit was canceled
	media: cec: correctly pass on reply results
	media: cec: use call_op and check for !unregistered
	media: cec-adap.c: drop activate_cnt, use state info instead
	media: cec: core: avoid recursive cec_claim_log_addrs
	media: cec: core: avoid confusing "transmit timed out" message
	null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()
	regulator: bd71828: Don't overwrite runtime voltages
	x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y
	nfc: nci: Fix uninit-value in nci_rx_work
	ASoC: tas2552: Add TX path for capturing AUDIO-OUT data
	sunrpc: fix NFSACL RPC retry on soft mount
	rpcrdma: fix handling for RDMA_CM_EVENT_DEVICE_REMOVAL
	ipv6: sr: fix memleak in seg6_hmac_init_algo
	params: lift param_set_uint_minmax to common code
	tcp: Fix shift-out-of-bounds in dctcp_update_alpha().
	openvswitch: Set the skbuff pkt_type for proper pmtud support.
	arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY
	virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
	net: fec: avoid lock evasion when reading pps_enable
	tls: fix missing memory barrier in tls_init
	nfc: nci: Fix kcov check in nci_rx_work()
	nfc: nci: Fix handling of zero-length payload packets in nci_rx_work()
	netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()
	netfilter: nft_payload: restore vlan q-in-q match support
	spi: Don't mark message DMA mapped when no transfer in it is
	nvmet: fix ns enable/disable possible hang
	net/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion
	dma-buf/sw-sync: don't enable IRQ from sync_print_obj()
	bpf: Fix potential integer overflow in resolve_btfids
	enic: Validate length of nl attributes in enic_set_vf_port
	net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM
	bpf: Allow delete from sockmap/sockhash only if update is allowed
	net:fec: Add fec_enet_deinit()
	netfilter: tproxy: bail out if IP has been disabled on the device
	kconfig: fix comparison to constant symbols, 'm', 'n'
	spi: stm32: Don't warn about spurious interrupts
	ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound
	hwmon: (shtc1) Fix property misspelling
	ALSA: timer: Set lower bound of start tick time
	genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline
	media: cec: core: add adap_nb_transmit_canceled() callback
	SUNRPC: Fix loop termination condition in gss_free_in_token_pages()
	binder: fix max_thread type inconsistency
	mmc: core: Do not force a retune before RPMB switch
	io_uring: fail NOP if non-zero op flags is passed in
	afs: Don't cross .backup mountpoint from backup volume
	nilfs2: fix use-after-free of timer for log writer thread
	vxlan: Fix regression when dropping packets due to invalid src addresses
	x86/mm: Remove broken vsyscall emulation code from the page fault code
	netfilter: nf_tables: restrict tunnel object to NFPROTO_NETDEV
	netfilter: nf_tables: Fix potential data-race in __nft_obj_type_get()
	f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode()
	media: lgdt3306a: Add a check against null-pointer-def
	drm/amdgpu: add error handle to avoid out-of-bounds
	ata: pata_legacy: make legacy_exit() work again
	ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx
	arm64: tegra: Correct Tegra132 I2C alias
	arm64: dts: qcom: qcs404: fix bluetooth device address
	md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING
	wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU
	wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE
	wifi: rtlwifi: rtl8192de: Fix endianness issue in RX path
	arm64: dts: hi3798cv200: fix the size of GICR
	media: mc: mark the media devnode as registered from the, start
	media: mxl5xx: Move xpt structures off stack
	media: v4l2-core: hold videodev_lock until dev reg, finishes
	mmc: core: Add mmc_gpiod_set_cd_config() function
	mmc: sdhci-acpi: Sort DMI quirks alphabetically
	mmc: sdhci-acpi: Fix Lenovo Yoga Tablet 2 Pro 1380 sdcard slot not working
	mmc: sdhci-acpi: Disable write protect detection on Toshiba WT10-A
	fbdev: savage: Handle err return when savagefb_check_var failed
	KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode
	crypto: ecrdsa - Fix module auto-load on add_key
	crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
	net/ipv6: Fix route deleting failure when metric equals 0
	net/9p: fix uninit-value in p9_client_rpc()
	intel_th: pci: Add Meteor Lake-S CPU support
	sparc64: Fix number of online CPUs
	watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin
	kdb: Fix buffer overflow during tab-complete
	kdb: Use format-strings rather than '\0' injection in kdb_read()
	kdb: Fix console handling when editing and tab-completing commands
	kdb: Merge identical case statements in kdb_read()
	kdb: Use format-specifiers rather than memset() for padding in kdb_read()
	net: fix __dst_negative_advice() race
	sparc: move struct termio to asm/termios.h
	ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
	s390/ap: Fix crash in AP internal function modify_bitmap()
	nfs: fix undefined behavior in nfs_block_bits()
	NFS: Fix READ_PLUS when server doesn't support OP_READ_PLUS
	scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5
	f2fs: compress: fix compression chksum
	RDMA/hns: Use mutex instead of spinlock for ida allocation
	RDMA/hns: Fix CQ and QP cache affinity
	Linux 5.10.219

Change-Id: I0e21ff44d28df2a2802a9fb35f0959bb5ab528fc
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-10 14:41:23 +00:00
Daniel Thompson
51664ef6ac kdb: Use format-specifiers rather than memset() for padding in kdb_read()
commit c9b51ddb66b1d96e4d364c088da0f1dfb004c574 upstream.

Currently when the current line should be removed from the display
kdb_read() uses memset() to fill a temporary buffer with spaces.
The problem is not that this could be trivially implemented using a
format string rather than open coding it. The real problem is that
it is possible, on systems with a long kdb_prompt_str, to write past
the end of the tmpbuffer.

Happily, as mentioned above, this can be trivially implemented using a
format string. Make it so!

Cc: stable@vger.kernel.org
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-5-f236dbe9828d@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:32:35 +02:00
Daniel Thompson
e3d11ff45f kdb: Merge identical case statements in kdb_read()
commit 6244917f377bf64719551b58592a02a0336a7439 upstream.

The code that handles case 14 (down) and case 16 (up) has been copy and
pasted despite being byte-for-byte identical. Combine them.

Cc: stable@vger.kernel.org # Not a bug fix but it is needed for later bug fixes
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-4-f236dbe9828d@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:32:35 +02:00
Daniel Thompson
2b5e1534df kdb: Fix console handling when editing and tab-completing commands
commit db2f9c7dc29114f531df4a425d0867d01e1f1e28 upstream.

Currently, if the cursor position is not at the end of the command buffer
and the user uses the Tab-complete functions, then the console does not
leave the cursor in the correct position.

For example consider the following buffer with the cursor positioned
at the ^:

md kdb_pro 10
          ^

Pressing tab should result in:

md kdb_prompt_str 10
                 ^

However this does not happen. Instead the cursor is placed at the end
(after then 10) and further cursor movement redraws incorrectly. The
same problem exists when we double-Tab but in a different part of the
code.

Fix this by sending a carriage return and then redisplaying the text to
the left of the cursor.

Cc: stable@vger.kernel.org
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-3-f236dbe9828d@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:32:35 +02:00
Daniel Thompson
7c19e28f3a kdb: Use format-strings rather than '\0' injection in kdb_read()
commit 09b35989421dfd5573f0b4683c7700a7483c71f9 upstream.

Currently when kdb_read() needs to reposition the cursor it uses copy and
paste code that works by injecting an '\0' at the cursor position before
delivering a carriage-return and reprinting the line (which stops at the
'\0').

Tidy up the code by hoisting the copy and paste code into an appropriately
named function. Additionally let's replace the '\0' injection with a
proper field width parameter so that the string will be abridged during
formatting instead.

Cc: stable@vger.kernel.org # Not a bug fix but it is needed for later bug fixes
Tested-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-2-f236dbe9828d@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:32:35 +02:00
Daniel Thompson
cfdc2fa4db kdb: Fix buffer overflow during tab-complete
commit e9730744bf3af04cda23799029342aa3cddbc454 upstream.

Currently, when the user attempts symbol completion with the Tab key, kdb
will use strncpy() to insert the completed symbol into the command buffer.
Unfortunately it passes the size of the source buffer rather than the
destination to strncpy() with predictably horrible results. Most obviously
if the command buffer is already full but cp, the cursor position, is in
the middle of the buffer, then we will write past the end of the supplied
buffer.

Fix this by replacing the dubious strncpy() calls with memmove()/memcpy()
calls plus explicit boundary checks to make sure we have enough space
before we start moving characters around.

Reported-by: Justin Stitt <justinstitt@google.com>
Closes: https://lore.kernel.org/all/CAFhGd8qESuuifuHsNjFPR-Va3P80bxrw+LqvC8deA8GziUJLpw@mail.gmail.com/
Cc: stable@vger.kernel.org
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Justin Stitt <justinstitt@google.com>
Tested-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-1-f236dbe9828d@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:32:35 +02:00
Dongli Zhang
6752dfcfff genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline
commit a6c11c0a5235fb144a65e0cb2ffd360ddc1f6c32 upstream.

The absence of IRQD_MOVE_PCNTXT prevents immediate effectiveness of
interrupt affinity reconfiguration via procfs. Instead, the change is
deferred until the next instance of the interrupt being triggered on the
original CPU.

When the interrupt next triggers on the original CPU, the new affinity is
enforced within __irq_move_irq(). A vector is allocated from the new CPU,
but the old vector on the original CPU remains and is not immediately
reclaimed. Instead, apicd->move_in_progress is flagged, and the reclaiming
process is delayed until the next trigger of the interrupt on the new CPU.

Upon the subsequent triggering of the interrupt on the new CPU,
irq_complete_move() adds a task to the old CPU's vector_cleanup list if it
remains online. Subsequently, the timer on the old CPU iterates over its
vector_cleanup list, reclaiming old vectors.

However, a rare scenario arises if the old CPU is outgoing before the
interrupt triggers again on the new CPU.

In that case irq_force_complete_move() is not invoked on the outgoing CPU
to reclaim the old apicd->prev_vector because the interrupt isn't currently
affine to the outgoing CPU, and irq_needs_fixup() returns false. Even
though __vector_schedule_cleanup() is later called on the new CPU, it
doesn't reclaim apicd->prev_vector; instead, it simply resets both
apicd->move_in_progress and apicd->prev_vector to 0.

As a result, the vector remains unreclaimed in vector_matrix, leading to a
CPU vector leak.

To address this issue, move the invocation of irq_force_complete_move()
before the irq_needs_fixup() call to reclaim apicd->prev_vector, if the
interrupt is currently or used to be affine to the outgoing CPU.

Additionally, reclaim the vector in __vector_schedule_cleanup() as well,
following a warning message, although theoretically it should never see
apicd->move_in_progress with apicd->prev_cpu pointing to an offline CPU.

Fixes: f0383c24b4 ("genirq/cpuhotplug: Add support for cleaning up move in progress")
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240522220218.162423-1-dongli.zhang@oracle.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:32:30 +02:00
Jakub Sitnicki
29467edc23 bpf: Allow delete from sockmap/sockhash only if update is allowed
[ Upstream commit 98e948fb60d41447fd8d2d0c3b8637fc6b6dc26d ]

We have seen an influx of syzkaller reports where a BPF program attached to
a tracepoint triggers a locking rule violation by performing a map_delete
on a sockmap/sockhash.

We don't intend to support this artificial use scenario. Extend the
existing verifier allowed-program-type check for updating sockmap/sockhash
to also cover deleting from a map.

From now on only BPF programs which were previously allowed to update
sockmap/sockhash can delete from these map types.

Fixes: ff9105993240 ("bpf, sockmap: Prevent lock inversion deadlock in map delete elem")
Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Reported-by: syzbot+ec941d6e24f633a59172@syzkaller.appspotmail.com
Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Tested-by: syzbot+ec941d6e24f633a59172@syzkaller.appspotmail.com
Acked-by: John Fastabend <john.fastabend@gmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=ec941d6e24f633a59172
Link: https://lore.kernel.org/bpf/20240527-sockmap-verify-deletes-v1-1-944b372f2101@cloudflare.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-16 13:32:29 +02:00
Sagi Grimberg
42bd4e491c params: lift param_set_uint_minmax to common code
[ Upstream commit 2a14c9ae15a38148484a128b84bff7e9ffd90d68 ]

It is a useful helper hence move it to common code so others can enjoy
it.

Suggested-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Stable-dep-of: 3ebc46ca8675 ("tcp: Fix shift-out-of-bounds in dctcp_update_alpha().")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-16 13:32:26 +02:00
Vitalii Bursov
ae20865fe6 sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
[ Upstream commit a1fd0b9d751f840df23ef0e75b691fc00cfd4743 ]

Change relax_domain_level checks so that it would be possible
to include or exclude all domains from newidle balancing.

This matches the behavior described in the documentation:

  -1   no request. use system default or follow request of others.
   0   no search.
   1   search siblings (hyperthreads in a core).

"2" enables levels 0 and 1, level_max excludes the last (level_max)
level, and level_max+1 includes all levels.

Fixes: 1d3504fcf5 ("sched, cpuset: customize sched domains, core")
Signed-off-by: Vitalii Bursov <vitaly@bursov.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/bd6de28e80073c79466ec6401cdeae78f0d4423d.1714488502.git.vitaly@bursov.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-16 13:32:15 +02:00
Petr Pavlu
1e16019604 ring-buffer: Fix a race between readers and resize checks
commit c2274b908db05529980ec056359fae916939fdaa upstream.

The reader code in rb_get_reader_page() swaps a new reader page into the
ring buffer by doing cmpxchg on old->list.prev->next to point it to the
new page. Following that, if the operation is successful,
old->list.next->prev gets updated too. This means the underlying
doubly-linked list is temporarily inconsistent, page->prev->next or
page->next->prev might not be equal back to page for some page in the
ring buffer.

The resize operation in ring_buffer_resize() can be invoked in parallel.
It calls rb_check_pages() which can detect the described inconsistency
and stop further tracing:

[  190.271762] ------------[ cut here ]------------
[  190.271771] WARNING: CPU: 1 PID: 6186 at kernel/trace/ring_buffer.c:1467 rb_check_pages.isra.0+0x6a/0xa0
[  190.271789] Modules linked in: [...]
[  190.271991] Unloaded tainted modules: intel_uncore_frequency(E):1 skx_edac(E):1
[  190.272002] CPU: 1 PID: 6186 Comm: cmd.sh Kdump: loaded Tainted: G            E      6.9.0-rc6-default #5 158d3e1e6d0b091c34c3b96bfd99a1c58306d79f
[  190.272011] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.0-0-gd239552c-rebuilt.opensuse.org 04/01/2014
[  190.272015] RIP: 0010:rb_check_pages.isra.0+0x6a/0xa0
[  190.272023] Code: [...]
[  190.272028] RSP: 0018:ffff9c37463abb70 EFLAGS: 00010206
[  190.272034] RAX: ffff8eba04b6cb80 RBX: 0000000000000007 RCX: ffff8eba01f13d80
[  190.272038] RDX: ffff8eba01f130c0 RSI: ffff8eba04b6cd00 RDI: ffff8eba0004c700
[  190.272042] RBP: ffff8eba0004c700 R08: 0000000000010002 R09: 0000000000000000
[  190.272045] R10: 00000000ffff7f52 R11: ffff8eba7f600000 R12: ffff8eba0004c720
[  190.272049] R13: ffff8eba00223a00 R14: 0000000000000008 R15: ffff8eba067a8000
[  190.272053] FS:  00007f1bd64752c0(0000) GS:ffff8eba7f680000(0000) knlGS:0000000000000000
[  190.272057] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  190.272061] CR2: 00007f1bd6662590 CR3: 000000010291e001 CR4: 0000000000370ef0
[  190.272070] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  190.272073] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  190.272077] Call Trace:
[  190.272098]  <TASK>
[  190.272189]  ring_buffer_resize+0x2ab/0x460
[  190.272199]  __tracing_resize_ring_buffer.part.0+0x23/0xa0
[  190.272206]  tracing_resize_ring_buffer+0x65/0x90
[  190.272216]  tracing_entries_write+0x74/0xc0
[  190.272225]  vfs_write+0xf5/0x420
[  190.272248]  ksys_write+0x67/0xe0
[  190.272256]  do_syscall_64+0x82/0x170
[  190.272363]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[  190.272373] RIP: 0033:0x7f1bd657d263
[  190.272381] Code: [...]
[  190.272385] RSP: 002b:00007ffe72b643f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[  190.272391] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f1bd657d263
[  190.272395] RDX: 0000000000000002 RSI: 0000555a6eb538e0 RDI: 0000000000000001
[  190.272398] RBP: 0000555a6eb538e0 R08: 000000000000000a R09: 0000000000000000
[  190.272401] R10: 0000555a6eb55190 R11: 0000000000000246 R12: 00007f1bd6662500
[  190.272404] R13: 0000000000000002 R14: 00007f1bd6667c00 R15: 0000000000000002
[  190.272412]  </TASK>
[  190.272414] ---[ end trace 0000000000000000 ]---

Note that ring_buffer_resize() calls rb_check_pages() only if the parent
trace_buffer has recording disabled. Recent commit d78ab792705c
("tracing: Stop current tracer when resizing buffer") causes that it is
now always the case which makes it more likely to experience this issue.

The window to hit this race is nonetheless very small. To help
reproducing it, one can add a delay loop in rb_get_reader_page():

 ret = rb_head_page_replace(reader, cpu_buffer->reader_page);
 if (!ret)
 	goto spin;
 for (unsigned i = 0; i < 1U << 26; i++)  /* inserted delay loop */
 	__asm__ __volatile__ ("" : : : "memory");
 rb_list_head(reader->list.next)->prev = &cpu_buffer->reader_page->list;

.. and then run the following commands on the target system:

 echo 1 > /sys/kernel/tracing/events/sched/sched_switch/enable
 while true; do
 	echo 16 > /sys/kernel/tracing/buffer_size_kb; sleep 0.1
 	echo 8 > /sys/kernel/tracing/buffer_size_kb; sleep 0.1
 done &
 while true; do
 	for i in /sys/kernel/tracing/per_cpu/*; do
 		timeout 0.1 cat $i/trace_pipe; sleep 0.2
 	done
 done

To fix the problem, make sure ring_buffer_resize() doesn't invoke
rb_check_pages() concurrently with a reader operating on the same
ring_buffer_per_cpu by taking its cpu_buffer->reader_lock.

Link: https://lore.kernel.org/linux-trace-kernel/20240517134008.24529-3-petr.pavlu@suse.com

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fixes: 659f451ff2 ("ring-buffer: Add integrity check at end of iter read")
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
[ Fixed whitespace ]
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:31:59 +02:00
Greg Kroah-Hartman
c15c1199d6 Merge 5.10.216 into android12-5.10-lts
Changes in 5.10.216
	batman-adv: Avoid infinite loop trying to resize local TT
	Bluetooth: Fix memory leak in hci_req_sync_complete()
	media: cec: core: remove length check of Timer Status
	nouveau: fix function cast warning
	net: openvswitch: fix unwanted error log on timeout policy probing
	u64_stats: fix u64_stats_init() for lockdep when used repeatedly in one file
	xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING
	geneve: fix header validation in geneve[6]_xmit_skb
	octeontx2-af: Fix NIX SQ mode and BP config
	ipv6: fib: hide unused 'pn' variable
	ipv4/route: avoid unused-but-set-variable warning
	ipv6: fix race condition between ipv6_get_ifaddr and ipv6_del_addr
	Bluetooth: SCO: Fix not validating setsockopt user input
	netfilter: complete validation of user input
	net/mlx5: Properly link new fs rules into the tree
	af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
	af_unix: Fix garbage collector racing against connect()
	net: ena: Fix potential sign extension issue
	net: ena: Wrong missing IO completions check order
	net: ena: Fix incorrect descriptor free behavior
	iommu/vt-d: Allocate local memory for page request queue
	mailbox: imx: fix suspend failue
	btrfs: qgroup: correctly model root qgroup rsv in convert
	drm/client: Fully protect modes[] with dev->mode_config.mutex
	vhost: Add smp_rmb() in vhost_vq_avail_empty()
	x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n
	selftests: timers: Fix abs() warning in posix_timers test
	x86/apic: Force native_apic_mem_read() to use the MOV instruction
	irqflags: Explicitly ignore lockdep_hrtimer_exit() argument
	btrfs: record delayed inode root in transaction
	riscv: Enable per-task stack canaries
	riscv: process: Fix kernel gp leakage
	selftests/ftrace: Limit length in subsystem-enable tests
	kprobes: Fix possible use-after-free issue on kprobe registration
	Revert "tracing/trigger: Fix to return error if failed to alloc snapshot"
	netfilter: nf_tables: Fix potential data-race in __nft_expr_type_get()
	netfilter: nft_set_pipapo: do not free live element
	tun: limit printing rate when illegal packet received by tun dev
	RDMA/rxe: Fix the problem "mutex_destroy missing"
	RDMA/cm: Print the old state when cm_destroy_id gets timeout
	RDMA/mlx5: Fix port number for counter query in multi-port configuration
	drm: nv04: Fix out of bounds access
	drm/panel: visionox-rm69299: don't unregister DSI device
	clk: Remove prepare_lock hold assertion in __clk_release()
	clk: Mark 'all_lists' as const
	clk: remove extra empty line
	clk: Print an info line before disabling unused clocks
	clk: Initialize struct clk_core kref earlier
	clk: Get runtime PM before walking tree during disable_unused
	x86/cpufeatures: Fix dependencies for GFNI, VAES, and VPCLMULQDQ
	binder: check offset alignment in binder_get_object()
	thunderbolt: Avoid notify PM core about runtime PM resume
	thunderbolt: Fix wake configurations after device unplug
	comedi: vmk80xx: fix incomplete endpoint checking
	serial/pmac_zilog: Remove flawed mitigation for rx irq flood
	USB: serial: option: add Fibocom FM135-GL variants
	USB: serial: option: add support for Fibocom FM650/FG650
	USB: serial: option: add Lonsung U8300/U9300 product
	USB: serial: option: support Quectel EM060K sub-models
	USB: serial: option: add Rolling RW101-GL and RW135-GL support
	USB: serial: option: add Telit FN920C04 rmnet compositions
	Revert "usb: cdc-wdm: close race between read and workqueue"
	usb: dwc2: host: Fix dereference issue in DDMA completion flow.
	usb: Disable USB3 LPM at shutdown
	mei: me: disable RPL-S on SPS and IGN firmwares
	speakup: Avoid crash on very long word
	fs: sysfs: Fix reference leak in sysfs_break_active_protection()
	init/main.c: Fix potential static_command_line memory overflow
	drm/amdgpu: validate the parameters of bo mapping operations more clearly
	nouveau: fix instmem race condition around ptr stores
	nilfs2: fix OOB in nilfs_set_de_type
	arm64: dts: rockchip: fix alphabetical ordering RK3399 puma
	arm64: dts: rockchip: enable internal pull-up on PCIE_WAKE# for RK3399 Puma
	arm64: dts: rockchip: Remove unsupported node from the Pinebook Pro dts
	arm64: dts: mediatek: mt7622: add support for coherent DMA
	arm64: dts: mediatek: mt7622: introduce nodes for Wireless Ethernet Dispatch
	arm64: dts: mediatek: mt7622: fix clock controllers
	arm64: dts: mediatek: mt7622: fix IR nodename
	arm64: dts: mediatek: mt7622: fix ethernet controller "compatible"
	arm64: dts: mediatek: mt7622: drop "reset-names" from thermal block
	arm64: dts: mediatek: mt2712: fix validation errors
	ARC: [plat-hsdk]: Remove misplaced interrupt-cells property
	wifi: iwlwifi: mvm: remove old PASN station when adding a new one
	vxlan: drop packets from invalid src-address
	mlxsw: core: Unregister EMAD trap using FORWARD action
	NFC: trf7970a: disable all regulators on removal
	ipv4: check for NULL idev in ip_route_use_hint()
	net: usb: ax88179_178a: stop lying about skb->truesize
	net: gtp: Fix Use-After-Free in gtp_dellink
	ipvs: Fix checksumming on GSO of SCTP packets
	net: openvswitch: Fix Use-After-Free in ovs_ct_exit
	mlxsw: spectrum_acl_tcam: Fix race during rehash delayed work
	mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update
	mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash
	mlxsw: spectrum_acl_tcam: Rate limit error message
	mlxsw: spectrum_acl_tcam: Fix memory leak during rehash
	mlxsw: spectrum_acl_tcam: Fix warning during rehash
	mlxsw: spectrum_acl_tcam: Fix incorrect list API usage
	mlxsw: spectrum_acl_tcam: Fix memory leak when canceling rehash work
	netfilter: nf_tables: honor table dormant flag from netdev release event path
	i40e: Do not use WQ_MEM_RECLAIM flag for workqueue
	i40e: Report MFS in decimal base instead of hex
	iavf: Fix TC config comparison with existing adapter TC config
	net: ethernet: ti: am65-cpts: Fix PTPv1 message type on TX packets
	af_unix: Suppress false-positive lockdep splat for spin_lock() in __unix_gc().
	serial: core: Provide port lock wrappers
	serial: mxs-auart: add spinlock around changing cts state
	Revert "crypto: api - Disallow identical driver names"
	net/mlx5e: Fix a race in command alloc flow
	tracing: Show size of requested perf buffer
	tracing: Increase PERF_MAX_TRACE_SIZE to handle Sentinel1 and docker together
	PM / devfreq: Fix buffer overflow in trans_stat_show
	Bluetooth: Fix type of len in {l2cap,sco}_sock_getsockopt_old()
	Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0bda:0x4853
	btrfs: fix information leak in btrfs_ioctl_logical_to_ino()
	cpu: Re-enable CPU mitigations by default for !X86 architectures
	arm64: dts: rockchip: enable internal pull-up for Q7_THRM# on RK3399 Puma
	drm/amdgpu/sdma5.2: use legacy HDP flush for SDMA2/3
	drm/amdgpu: Fix leak when GPU memory allocation fails
	irqchip/gic-v3-its: Prevent double free on error
	ethernet: Add helper for assigning packet type when dest address does not match device address
	net: b44: set pause params only when interface is up
	stackdepot: respect __GFP_NOLOCKDEP allocation flag
	mtd: diskonchip: work around ubsan link failure
	tcp: Clean up kernel listener's reqsk in inet_twsk_purge()
	tcp: Fix NEW_SYN_RECV handling in inet_twsk_purge()
	dmaengine: owl: fix register access functions
	idma64: Don't try to serve interrupts when device is powered off
	dma: xilinx_dpdma: Fix locking
	riscv: fix VMALLOC_START definition
	riscv: Fix TASK_SIZE on 64-bit NOMMU
	i2c: smbus: fix NULL function pointer dereference
	HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up
	bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
	udp: preserve the connected status if only UDP cmsg
	serial: core: fix kernel-doc for uart_port_unlock_irqrestore()
	riscv: Disable STACKPROTECTOR_PER_TASK if GCC_PLUGIN_RANDSTRUCT is enabled
	Linux 5.10.216

Change-Id: Ia2bf3ba6ed3f36a56f71543442427eb770a2400b
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-06-13 16:02:17 +00:00
Greg Kroah-Hartman
3f602a77d6 Revert "timers: Rename del_timer_sync() to timer_delete_sync()"
This reverts commit d8166e8adb which is
commit 9b13df3fb64ee95e2397585404e442afee2c7d4f upstream.

It breaks the Android kernel abi by turning del_timer_sync() into an
inline function, which breaks the abi.  Fix this by putting it back as
needed AND fix up the only use of this new function in
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c which is
what caused this commit to be backported to 5.4.274 in the first place.

Bug: 161946584
Change-Id: Icd26c7c81e6172f36eeeb69827989bfab1d32afe
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-06-01 11:04:35 +00:00
Greg Kroah-Hartman
9100d24dfd Merge 5.10.215 into android12-5.10-lts
Changes in 5.10.215
	amdkfd: use calloc instead of kzalloc to avoid integer overflow
	Documentation/hw-vuln: Update spectre doc
	x86/cpu: Support AMD Automatic IBRS
	x86/bugs: Use sysfs_emit()
	timers: Update kernel-doc for various functions
	timers: Use del_timer_sync() even on UP
	timers: Rename del_timer_sync() to timer_delete_sync()
	wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach
	media: staging: ipu3-imgu: Set fields before media_entity_pads_init()
	clk: qcom: gcc-sdm845: Add soft dependency on rpmhpd
	smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr()
	smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity()
	arm: dts: marvell: Fix maxium->maxim typo in brownstone dts
	drm/vmwgfx: stop using ttm_bo_create v2
	drm/vmwgfx: switch over to the new pin interface v2
	drm/vmwgfx/vmwgfx_cmdbuf_res: Remove unused variable 'ret'
	drm/vmwgfx: Fix some static checker warnings
	drm/vmwgfx: Fix possible null pointer derefence with invalid contexts
	serial: max310x: fix NULL pointer dereference in I2C instantiation
	media: xc4000: Fix atomicity violation in xc4000_get_frequency
	KVM: Always flush async #PF workqueue when vCPU is being destroyed
	sparc64: NMI watchdog: fix return value of __setup handler
	sparc: vDSO: fix return value of __setup handler
	crypto: qat - fix double free during reset
	crypto: qat - resolve race condition during AER recovery
	selftests/mqueue: Set timeout to 180 seconds
	ext4: correct best extent lstart adjustment logic
	block: introduce zone_write_granularity limit
	block: Clear zone limits for a non-zoned stacked queue
	bounds: support non-power-of-two CONFIG_NR_CPUS
	fat: fix uninitialized field in nostale filehandles
	ubifs: Set page uptodate in the correct place
	ubi: Check for too small LEB size in VTBL code
	ubi: correct the calculation of fastmap size
	mtd: rawnand: meson: fix scrambling mode value in command macro
	parisc: Avoid clobbering the C/B bits in the PSW with tophys and tovirt macros
	parisc: Fix ip_fast_csum
	parisc: Fix csum_ipv6_magic on 32-bit systems
	parisc: Fix csum_ipv6_magic on 64-bit systems
	parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds
	PM: suspend: Set mem_sleep_current during kernel command line setup
	clk: qcom: gcc-ipq6018: fix terminating of frequency table arrays
	clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays
	clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays
	clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays
	powerpc/fsl: Fix mfpmr build errors with newer binutils
	USB: serial: ftdi_sio: add support for GMC Z216C Adapter IR-USB
	USB: serial: add device ID for VeriFone adapter
	USB: serial: cp210x: add ID for MGP Instruments PDS100
	USB: serial: option: add MeiG Smart SLM320 product
	USB: serial: cp210x: add pid/vid for TDK NC0110013M and MM0110113M
	PM: sleep: wakeirq: fix wake irq warning in system suspend
	mmc: tmio: avoid concurrent runs of mmc_request_done()
	fuse: fix root lookup with nonzero generation
	fuse: don't unhash root
	usb: typec: ucsi: Clean up UCSI_CABLE_PROP macros
	printk/console: Split out code that enables default console
	serial: Lock console when calling into driver before registration
	btrfs: fix off-by-one chunk length calculation at contains_pending_extent()
	PCI: Drop pci_device_remove() test of pci_dev->driver
	PCI/PM: Drain runtime-idle callbacks before driver removal
	PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities()
	PCI: Cache PCIe Device Capabilities register
	PCI: Work around Intel I210 ROM BAR overlap defect
	PCI/ASPM: Make Intel DG2 L1 acceptable latency unlimited
	PCI/DPC: Quirk PIO log size for certain Intel Root Ports
	PCI/DPC: Quirk PIO log size for Intel Raptor Lake Root Ports
	Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d""
	dm-raid: fix lockdep waring in "pers->hot_add_disk"
	mac802154: fix llsec key resources release in mac802154_llsec_key_del
	mm: swap: fix race between free_swap_and_cache() and swapoff()
	mmc: core: Fix switch on gp3 partition
	drm/etnaviv: Restore some id values
	hwmon: (amc6821) add of_match table
	ext4: fix corruption during on-line resize
	nvmem: meson-efuse: fix function pointer type mismatch
	slimbus: core: Remove usage of the deprecated ida_simple_xx() API
	phy: tegra: xusb: Add API to retrieve the port number of phy
	usb: gadget: tegra-xudc: Use dev_err_probe()
	usb: gadget: tegra-xudc: Fix USB3 PHY retrieval logic
	speakup: Fix 8bit characters from direct synth
	PCI/ERR: Clear AER status only when we control AER
	PCI/AER: Block runtime suspend when handling errors
	nfs: fix UAF in direct writes
	kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1
	PCI: dwc: endpoint: Fix advertised resizable BAR size
	vfio/platform: Disable virqfds on cleanup
	ring-buffer: Fix waking up ring buffer readers
	ring-buffer: Do not set shortest_full when full target is hit
	ring-buffer: Fix resetting of shortest_full
	ring-buffer: Fix full_waiters_pending in poll
	soc: fsl: qbman: Always disable interrupts when taking cgr_lock
	soc: fsl: qbman: Add helper for sanity checking cgr ops
	soc: fsl: qbman: Add CGR update function
	soc: fsl: qbman: Use raw spinlock for cgr_lock
	s390/zcrypt: fix reference counting on zcrypt card objects
	drm/panel: do not return negative error codes from drm_panel_get_modes()
	drm/exynos: do not return negative values from .get_modes()
	drm/imx/ipuv3: do not return negative values from .get_modes()
	drm/vc4: hdmi: do not return negative values from .get_modes()
	memtest: use {READ,WRITE}_ONCE in memory scanning
	nilfs2: fix failure to detect DAT corruption in btree and direct mappings
	nilfs2: prevent kernel bug at submit_bh_wbc()
	cpufreq: dt: always allocate zeroed cpumask
	x86/CPU/AMD: Update the Zenbleed microcode revisions
	net: hns3: tracing: fix hclgevf trace event strings
	wireguard: netlink: check for dangling peer via is_dead instead of empty list
	wireguard: netlink: access device through ctx instead of peer
	ahci: asm1064: correct count of reported ports
	ahci: asm1064: asm1166: don't limit reported ports
	drm/amd/display: Return the correct HDCP error code
	drm/amd/display: Fix noise issue on HDMI AV mute
	dm snapshot: fix lockup in dm_exception_table_exit
	vxge: remove unnecessary cast in kfree()
	x86/stackprotector/32: Make the canary into a regular percpu variable
	x86/pm: Work around false positive kmemleak report in msr_build_context()
	scripts: kernel-doc: Fix syntax error due to undeclared args variable
	comedi: comedi_test: Prevent timers rescheduling during deletion
	cpufreq: brcmstb-avs-cpufreq: fix up "add check for cpufreq_cpu_get's return value"
	netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout
	netfilter: nf_tables: disallow anonymous set with timeout flag
	netfilter: nf_tables: reject constant set with timeout
	Drivers: hv: vmbus: Calculate ring buffer size for more efficient use of memory
	xfrm: Avoid clang fortify warning in copy_to_user_tmpl()
	KVM: SVM: Flush pages under kvm->lock to fix UAF in svm_register_enc_region()
	ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform
	USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command
	usb: gadget: ncm: Fix handling of zero block length packets
	usb: port: Don't try to peer unused USB ports based on location
	tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled
	mei: me: add arrow lake point S DID
	mei: me: add arrow lake point H DID
	vt: fix unicode buffer corruption when deleting characters
	fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion
	tee: optee: Fix kernel panic caused by incorrect error handling
	xen/events: close evtchn after mapping cleanup
	printk: Update @console_may_schedule in console_trylock_spinning()
	btrfs: allocate btrfs_ioctl_defrag_range_args on stack
	x86/asm: Add _ASM_RIP() macro for x86-64 (%rip) suffix
	x86/bugs: Add asm helpers for executing VERW
	x86/entry_64: Add VERW just before userspace transition
	x86/entry_32: Add VERW just before userspace transition
	x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key
	KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH
	KVM/VMX: Move VERW closer to VMentry for MDS mitigation
	x86/mmio: Disable KVM mitigation when X86_FEATURE_CLEAR_CPU_BUF is set
	Documentation/hw-vuln: Add documentation for RFDS
	x86/rfds: Mitigate Register File Data Sampling (RFDS)
	KVM/x86: Export RFDS_NO and RFDS_CLEAR to guests
	perf/core: Fix reentry problem in perf_output_read_group()
	efivarfs: Request at most 512 bytes for variable names
	powerpc: xor_vmx: Add '-mhard-float' to CFLAGS
	serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO
	mm/memory-failure: fix an incorrect use of tail pages
	mm/migrate: set swap entry values of THP tail pages properly.
	init: open /initrd.image with O_LARGEFILE
	wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes
	exec: Fix NOMMU linux_binprm::exec in transfer_args_to_stack()
	hexagon: vmlinux.lds.S: handle attributes section
	mmc: core: Initialize mmc_blk_ioc_data
	mmc: core: Avoid negative index with array access
	net: ll_temac: platform_get_resource replaced by wrong function
	usb: cdc-wdm: close race between read and workqueue
	ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs
	scsi: core: Fix unremoved procfs host directory regression
	staging: vc04_services: changen strncpy() to strscpy_pad()
	staging: vc04_services: fix information leak in create_component()
	USB: core: Add hub_get() and hub_put() routines
	usb: dwc2: host: Fix remote wakeup from hibernation
	usb: dwc2: host: Fix hibernation flow
	usb: dwc2: host: Fix ISOC flow in DDMA mode
	usb: dwc2: gadget: LPM flow fix
	usb: udc: remove warning when queue disabled ep
	usb: typec: ucsi: Ack unsupported commands
	usb: typec: ucsi: Clear UCSI_CCI_RESET_COMPLETE before reset
	scsi: qla2xxx: Split FCE|EFT trace control
	scsi: qla2xxx: Fix command flush on cable pull
	scsi: qla2xxx: Delay I/O Abort on PCI error
	x86/cpu: Enable STIBP on AMD if Automatic IBRS is enabled
	PCI/DPC: Quirk PIO log size for Intel Ice Lake Root Ports
	scsi: lpfc: Correct size for wqe for memset()
	USB: core: Fix deadlock in usb_deauthorize_interface()
	nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
	ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa()
	tcp: properly terminate timers for kernel sockets
	ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields()
	bpf: Protect against int overflow for stack access size
	Octeontx2-af: fix pause frame configuration in GMP mode
	dm integrity: fix out-of-range warning
	r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d
	x86/cpufeatures: Add new word for scattered features
	Bluetooth: hci_event: set the conn encrypted before conn establishes
	Bluetooth: Fix TOCTOU in HCI debugfs implementation
	netfilter: nf_tables: disallow timeout for anonymous sets
	net/rds: fix possible cp null dereference
	vfio/pci: Disable auto-enable of exclusive INTx IRQ
	vfio/pci: Lock external INTx masking ops
	vfio: Introduce interface to flush virqfd inject workqueue
	vfio/pci: Create persistent INTx handler
	vfio/platform: Create persistent IRQ handlers
	vfio/fsl-mc: Block calling interrupt handler without trigger
	io_uring: ensure '0' is returned on file registration success
	Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped."
	mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations
	x86/srso: Add SRSO mitigation for Hygon processors
	block: add check that partition length needs to be aligned with block size
	netfilter: nf_tables: reject new basechain after table flag update
	netfilter: nf_tables: flush pending destroy work before exit_net release
	netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()
	netfilter: validate user input for expected length
	vboxsf: Avoid an spurious warning if load_nls_xxx() fails
	bpf, sockmap: Prevent lock inversion deadlock in map delete elem
	net/sched: act_skbmod: prevent kernel-infoleak
	net: stmmac: fix rx queue priority assignment
	erspan: make sure erspan_base_hdr is present in skb->head
	selftests: reuseaddr_conflict: add missing new line at the end of the output
	ipv6: Fix infinite recursion in fib6_dump_done().
	udp: do not transition UDP GRO fraglist partial checksums to unnecessary
	octeontx2-pf: check negative error code in otx2_open()
	i40e: fix i40e_count_filters() to count only active/new filters
	i40e: fix vf may be used uninitialized in this function warning
	scsi: qla2xxx: Update manufacturer details
	scsi: qla2xxx: Update manufacturer detail
	Revert "usb: phy: generic: Get the vbus supply"
	udp: do not accept non-tunnel GSO skbs landing in a tunnel
	net: ravb: Always process TX descriptor ring
	arm64: dts: qcom: sc7180: Remove clock for bluetooth on Trogdor
	arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken
	ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw
	ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit
	scsi: mylex: Fix sysfs buffer lengths
	ata: sata_mv: Fix PCI device ID table declaration compilation warning
	ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone
	driver core: Introduce device_link_wait_removal()
	of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
	x86/mce: Make sure to grab mce_sysfs_mutex in set_bank()
	s390/entry: align system call table on 8 bytes
	riscv: Fix spurious errors from __get/put_kernel_nofault
	x86/bugs: Fix the SRSO mitigation on Zen3/4
	x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO
	mptcp: don't account accept() of non-MPC client as fallback to TCP
	x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word
	objtool: Add asm version of STACK_FRAME_NON_STANDARD
	wifi: ath9k: fix LNA selection in ath_ant_try_scan()
	VMCI: Fix memcpy() run-time warning in dg_dispatch_as_host()
	panic: Flush kernel log buffer at the end
	arm64: dts: rockchip: fix rk3328 hdmi ports node
	arm64: dts: rockchip: fix rk3399 hdmi ports node
	ionic: set adminq irq affinity
	pstore/zone: Add a null pointer check to the psz_kmsg_read
	tools/power x86_energy_perf_policy: Fix file leak in get_pkg_num()
	btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks()
	btrfs: export: handle invalid inode or root reference in btrfs_get_parent()
	btrfs: send: handle path ref underflow in header iterate_inode_ref()
	net/smc: reduce rtnl pressure in smc_pnet_create_pnetids_list()
	Bluetooth: btintel: Fix null ptr deref in btintel_read_version
	Input: synaptics-rmi4 - fail probing if memory allocation for "phys" fails
	pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs
	sysv: don't call sb_bread() with pointers_lock held
	scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc()
	isofs: handle CDs with bad root inode but good Joliet root directory
	media: sta2x11: fix irq handler cast
	ext4: add a hint for block bitmap corrupt state in mb_groups
	ext4: forbid commit inconsistent quota data when errors=remount-ro
	drm/amd/display: Fix nanosec stat overflow
	SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int
	Revert "ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default"
	libperf evlist: Avoid out-of-bounds access
	block: prevent division by zero in blk_rq_stat_sum()
	RDMA/cm: add timeout to cm_destroy_id wait
	Input: allocate keycode for Display refresh rate toggle
	platform/x86: touchscreen_dmi: Add an extra entry for a variant of the Chuwi Vi8 tablet
	ktest: force $buildonly = 1 for 'make_warnings_file' test type
	ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment
	tools: iio: replace seekdir() in iio_generic_buffer
	usb: typec: tcpci: add generic tcpci fallback compatible
	usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined
	fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2
	drivers/nvme: Add quirks for device 126f:2262
	fbmon: prevent division by zero in fb_videomode_from_videomode()
	netfilter: nf_tables: release batch on table validation from abort path
	netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
	netfilter: nf_tables: discard table flag update with pending basechain deletion
	tty: n_gsm: require CAP_NET_ADMIN to attach N_GSM0710 ldisc
	virtio: reenable config if freezing device failed
	x86/mm/pat: fix VM_PAT handling in COW mappings
	drm/i915/gt: Reset queue_priority_hint on parking
	Bluetooth: btintel: Fixe build regression
	VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler()
	kbuild: dummy-tools: adjust to stricter stackprotector check
	scsi: sd: Fix wrong zone_write_granularity value during revalidate
	x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
	x86/head/64: Re-enable stack protection
	Linux 5.10.215

Change-Id: I45a0a9c4a0683ff5ef97315690f1f884f666e1b5
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-06-01 11:03:55 +00:00
Greg Kroah-Hartman
e9b3e47f65 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
Catch up with the latest android12-5.10 changes into android12-5.10-lts.
Included in here are the following commits:

* e265882155 ANDROID: Add __nocfi return for swsusp_arch_resume
* 028de5c48b BACKPORT: arm64: mm: Make hibernation aware of KFENCE
* d615d2d800 Merge tag 'android12-5.10.210_r00' into branch android12-5.10
* 178bf27b97 UPSTREAM: selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior
* 9f5f2481c9 ANDROID: kbuild: Search external devicetree path when running clean target
* 50b4a2a7e1 ANDROID: kbuild: add support for compiling external device trees
* fe033e0b34 ANDROID: usb: gadget: ncm: Introduce vendor opts to deal with ABI breakage
* 19eb358ded UPSTREAM: usb: gadget: ncm: Fix endianness of wMaxSegmentSize variable in ecm_desc
* 38958820bd UPSTREAM: usb: gadget: ncm: Add support to update wMaxSegmentSize via configfs
* 43bb9f846d ANDROID: usb: Optimize the problem of slow transfer rate in USB accessory mode
* b2c2d74cae ANDROID: ABI: Update honor symbol list
* 33c78af45a ANDROID: add vendor hook in do_read_fault to tune fault_around_bytes
* 7fc588d60f FROMGIT: usb: dwc3: Wait unconditionally after issuing EndXfer command
* 923b677c93 ANDROID: irq: put irq_resolve_mapping under protection of __irq_enter_raw
* 602a22e77a ANDROID: abi_gki_aarch64_qcom: Add clk_restore_context and clk_save_context
* b493b35d3a UPSTREAM: usb: gadget: ncm: Fix handling of zero block length packets
* c344c3ebe3 UPSTREAM: usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs
* 626e5dce00 ANDROID: 16K: Fix show maps CFI failure
* 09da1d141d ANDROID: 16K: Handle pad VMA splits and merges
* 162de86e24 ANDROID: 16K: madvise_vma_pad_pages: Remove filemap_fault check
* 000bbad86c ANDROID: 16K: Only madvise padding from dynamic linker context
* ebf0750ad2 ANDROID: 16K: Separate padding from ELF LOAD segment mappings
* abbc0d53ee ANDROID: 16K: Exclude ELF padding for fault around range
* 778abad3ac ANDROID: 16K: Use MADV_DONTNEED to save VMA padding pages.
* 37d6ffe5ca ANDROID: 16K: Introduce ELF padding representation for VMAs
* 38c464b4a4 ANDROID: 16K: Introduce /sys/kernel/mm/pgsize_miration/enabled
* 280193753c ANDROID: GKI: Update symbols to symbol list
* 1016230309 UPSTREAM: netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
* 582e001b25 UPSTREAM: netfilter: nf_tables: release batch on table validation from abort path
* cd2fc5a605 UPSTREAM: netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout
* 5fa7520118 UPSTREAM: netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain
* ecd8068fb4 BACKPORT: mm: update mark_victim tracepoints fields
* 4571e647cc Revert "FROMGIT: BACKPORT: mm: update mark_victim tracepoints fields"
* beecd97e3a UPSTREAM: usb: gadget: uvc: decrease the interrupt load to a quarter
* ad31e24641 UPSTREAM: netfilter: nft_set_pipapo: release elements in clone only from destroy path

Change-Id: I0f7cad212c9425224ade80ed88ef8f0b8046827a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-06-01 11:00:17 +00:00
Greg Kroah-Hartman
d615d2d800 Merge tag 'android12-5.10.210_r00' into branch android12-5.10
This merges the 5.10.210 LTS releases into the android12-5.10 branch.
Included in here are the following commits:

* 47e789159e Revert "hrtimer: Report offline hrtimer enqueue"
* c5fa21f10b Revert "scsi: core: Introduce enum scsi_disposition"
* 7c333b5976 Revert "scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler"
* d32a2a4b7b Revert "scsi: core: Move scsi_host_busy() out of host lock if it is for per-command"
* b2600e62c4 Revert "bpf: Add map and need_defer parameters to .map_fd_put_ptr()"
* 379ac05cc3 Revert "drm/mipi-dsi: Fix detach call without attach"
* 0412bcfd88 Revert "serial: Add rs485_supported to uart_port"
* 8e1cc643b1 Revert "serial: 8250_exar: Fill in rs485_supported"
* e18733695d Revert "serial: 8250_exar: Set missing rs485_supported flag"
* 8755d58540 Revert "ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()"
*   66e91da883 Merge 5.10.210 into android12-5.10-lts
|\
| * aa6ca808a4 Linux 5.10.210
| * cf5a69e355 PCI: dwc: Fix a 64bit bug in dw_pcie_ep_raise_msix_irq()
| * 9f53d24852 net: bcmgenet: Fix EEE implementation
| * 9a865a11d6 netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval()
| * 67f386f756 drm/msm/dsi: Enable runtime PM
| * 21b38d85f6 PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
| * ede393e118 PM: runtime: add devm_pm_runtime_enable helper
| * a891a0621e dm: limit the number of targets and parameter size area
| * c90746c03b nilfs2: replace WARN_ONs for invalid DAT metadata block requests
| * f3e4963566 nilfs2: fix potential bug in end_buffer_async_write
| * db896bbe4a sched/membarrier: reduce the ability to hammer on sys_membarrier
| * 8f8f185643 net: prevent mss overflow in skb_segment()
| * f7e0231eea Revert "arm64: Stash shadow stack pointer in the task struct on interrupt"
| * 70ca0dbae4 hrtimer: Ignore slack time for RT tasks in schedule_hrtimeout_range()
| * c80ddc1092 netfilter: ipset: Missing gc cancellations fixed
| * a24d5f2ac8 netfilter: ipset: fix performance regression in swap operation
| * 583a6c76b9 scripts/decode_stacktrace.sh: optionally use LLVM utilities
| * 0f906882eb scripts: decode_stacktrace: demangle Rust symbols
| * a3d71b6ae9 scripts/decode_stacktrace.sh: support old bash version
| * ae992f14b1 scripts/decode_stacktrace.sh: silence stderr messages from addr2line/nm
| * 00f09825e1 serial: 8250_exar: Set missing rs485_supported flag
| * 84bf7b8759 serial: 8250_exar: Fill in rs485_supported
| * dfd8b9d26b serial: Add rs485_supported to uart_port
| * 0c36878222 crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init
| * e0d2eeec88 mips: Fix max_mapnr being uninitialized on early stages
| * 41a4bd51d8 PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support
| * ff67f77fb0 bus: moxtet: Add spi device table
| * 88ec9bbcd3 Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
| * 6a42eb0d21 tracing: Inform kmemleak of saved_cmdlines allocation
| * 3a6e27dbe2 pmdomain: core: Move the unused cleanup to a _sync initcall
| * 978e50ef8c can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)
| * e4a6d3acad of: property: fix typo in io-channels
| * 8180d0c27b ceph: prevent use-after-free in encode_cap_msg()
| * 2e9506c9e0 s390/qeth: Fix potential loss of L3-IP@ in case of network issues
| * 888679afbf irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
| * 2809645d8a irqchip/irq-brcmstb-l2: Add write memory barrier before exit
| * 45a3657c3f wifi: mac80211: reload info pointer in ieee80211_tx_dequeue()
| * c7fa9590a9 nfp: flower: prevent re-adding mac index for bonded port
| * 962091c408 nfp: use correct macro for LengthSelect in BAR config
| * 58054faf3b crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked
| * 98a4026b22 nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
| * 364a66be2a nilfs2: fix data corruption in dsync block recovery for small block sizes
| * a643d8d179 ALSA: hda/conexant: Add quirk for SWS JS201D
| * ca0533fe66 mmc: slot-gpio: Allow non-sleeping GPIO ro
| * bdc29f9ca3 x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
| * 09f21bee5b x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6
| * 1a8a72ee17 serial: max310x: improve crystal stable clock detection
| * 6f248ee7aa serial: max310x: set default value when reading clock ready bit
| * 92a0a5d613 ring-buffer: Clean ring_buffer_poll_wait() error return
| * 9ec807e7b6 hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove
| * 93d8109bf1 media: rc: bpf attach/detach requires write permission
| * a98ccbcddb iio: accel: bma400: Fix a compilation problem
| * 36a49290d7 iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC
| * fa5884dd5b staging: iio: ad5933: fix type mismatch regression
| * 8a744f925d tracing: Fix wasted memory in saved_cmdlines logic
| * d033a555d9 ext4: fix double-free of blocks due to wrong extents moved_len
| * f86e12415b misc: fastrpc: Mark all sessions as invalid in cb_remove
| * a423042052 binder: signal epoll threads of self-work
| * 6d11240dd1 ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL
| * cdaddb457d xen-netback: properly sync TX responses
| * 0d8011a878 net: hsr: remove WARN_ONCE() in send_hsr_supervision_frame()
| * 2f6d16f052 nfc: nci: free rx_data_reassembly skb on NCI device cleanup
| * 5abf3e8af2 kbuild: Fix changing ELF file type for output of gen_btf for big endian
| * 6717c593c7 firewire: core: correct documentation of fw_csr_string() kernel API
| * 2dc1d93b2c lsm: fix the logic in security_inode_getsecctx()
| * 7d4e19f7ff scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
| * ca188f2512 modpost: trim leading spaces when processing source files list
| * 7a14b8a477 i2c: i801: Fix block process call transactions
| * 5e8a6140d4 i2c: i801: Remove i801_set_block_buffer_mode
| * 230e89b5ad powerpc/kasan: Fix addr error caused by page alignment
| * 486a4176bc media: ir_toy: fix a memleak in irtoy_tx
| * b8da59ad91 usb: f_mass_storage: forbid async queue when shutdown happen
| * 9a8ccbc6ec USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
| * 9d07bdbfa4 usb: ucsi_acpi: Fix command completion handling
| * f304eb4833 HID: wacom: Do not register input devices until after hid_hw_start
| * 4f7927310e HID: wacom: generic: Avoid reporting a serial of '0' to userspace
| * d51fc41e15 ALSA: hda/realtek: Enable Mute LED on HP Laptop 14-fq0xxx
| * 8da18c51ce ALSA: hda/realtek: Fix the external mic not being recognised for Acer Swift 1 SF114-32
| * 81e7d2530d mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again
| * 56cfbe6071 tracing/trigger: Fix to return error if failed to alloc snapshot
| * 6d05659b60 i40e: Fix waiting for queues of all VSIs to be disabled
| * f026f23849 MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
| * ed8c87ac8a net: sysfs: Fix /sys/class/net/<iface> path for statistics
| * 4a98bc739d ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()
| * f8cd86c67d spi: ppc4xx: Drop write-only variable
| * 55cfccb658 net: openvswitch: limit the number of recursions from action sets
| * 3f9b9585b7 of: unittest: Fix compile in the non-dynamic case
| * dc8bce9c71 btrfs: send: return EOPNOTSUPP on unknown flags
| * 22965e4fee btrfs: forbid deleting live subvol qgroup
| * 3f5d47eb16 btrfs: do not ASSERT() if the newly created subvolume already got read
| * d7247ce32a btrfs: forbid creating subvol qgroups
| * 4cee42fcf5 netfilter: nft_set_rbtree: skip end interval element from gc
| * feace3c240 net: stmmac: xgmac: fix a typo of register name in DPP safety handling
| * 78115a3473 net: stmmac: xgmac: use #define for string constants
| * 8868106251 clocksource: Skip watchdog check for large watchdog intervals
| * cda4ca038c vhost: use kzalloc() instead of kmalloc() followed by memset()
| * 63d97c3aba Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
| * 9a564a9a07 Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
| * b1f576be92 hrtimer: Report offline hrtimer enqueue
| * b87060b3e8 usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK
| * 34fd6f444b USB: serial: cp210x: add ID for IMST iM871A-USB
| * 53479fcfd0 USB: serial: option: add Fibocom FM101-GL variant
| * c537b88b39 USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
| * e800ef36d1 net/af_iucv: clean up a try_then_request_module()
| * 9f56f38331 blk-iocost: Fix an UBSAN shift-out-of-bounds warning
| * 9878c660d1 scsi: core: Move scsi_host_busy() out of host lock if it is for per-command
| * 1dd947c21d netfilter: nft_set_pipapo: remove scratch_aligned pointer
| * d6fcad0da2 netfilter: nft_set_pipapo: add helper to release pcpu scratch area
| * 1771e8347f netfilter: nft_set_pipapo: store index in scratch maps
| * d1ec65c49e netfilter: nft_ct: reject direction for ct id
| * 730fce47e5 netfilter: nft_compat: restrict match/target protocol to u16
| * 78909916a2 netfilter: nft_compat: reject unused compat flag
| * b06e067e93 ppp_async: limit MRU to 64K
| * 19d7314f2f tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()
| * 09e91f3e7e rxrpc: Fix response to PING RESPONSE ACKs to a dead call
| * 88081ba415 inet: read sk->sk_family once in inet_recv_error()
| * 7e42379d29 hwmon: (coretemp) Fix bogus core_id to attr name mapping
| * f0da068c75 hwmon: (coretemp) Fix out-of-bounds memory access
| * 9551de5caa hwmon: (aspeed-pwm-tacho) mutex for tach reading
| * edfd328fe7 atm: idt77252: fix a memleak in open_card_ubr0
| * e77bf828f1 tunnels: fix out of bounds access when building IPv6 PMTU error
| * fd473100bf selftests: net: avoid just another constant wait
| * 2fc45a4631 net: stmmac: xgmac: fix handling of DPP safety error for DMA channels
| * 66c8243e61 drm/msm/dp: return correct Colorimetry for DP_TEST_DYNAMIC_RANGE_CEA case
| * be3b82e487 phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
| * 784d315482 dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
| * 68459d2b0c phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
| * ae6769ba51 dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
| * fbe1c5c6a8 dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA
| * 3496a1da71 dmaengine: ti: k3-udma: Report short packet errors
| * b7dbf4115b dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools
| * 6db18971f7 PM: sleep: Fix error handling in dpm_prepare()
| * 6388d0e320 uapi: stddef.h: Fix __DECLARE_FLEX_ARRAY for C++
| * 2563e7c687 bonding: remove print in bond_verify_device_path
| * d1a9900e64 HID: apple: Add 2021 magic keyboard FN key mapping
| * b1e3ea7c48 HID: apple: Add support for the 2021 Magic Keyboard
| * e5eca7954a net: sysfs: Fix /sys/class/net/<iface> path
| * f199018dc7 af_unix: fix lockdep positive in sk_diag_dump_icons()
| * 9c9cab01c7 net: ipv4: fix a memleak in ip_setup_cork
| * 65ee90efc9 netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations
| * 32fa7abb18 netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
| * d0b5b1f124 llc: call sock_orphan() at release time
| * e34c91e7e8 ipv6: Ensure natural alignment of const ipv6 loopback and router addresses
| * b45fae96bd ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550()
| * f8bccfa175 ixgbe: Refactor overtemp event handling
| * e16c254f60 ixgbe: Refactor returning internal error codes
| * 2499c0661b ixgbe: Remove non-inclusive language
| * f48bf9a83b tcp: add sanity checks to rx zerocopy
| * 14690e419b net-zerocopy: Refactor frag-is-remappable test.
| * a9bc32879a ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()
| * a57b114a84 ip6_tunnel: use dev_sw_netstats_rx_add()
| * f5944853f7 scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler
| * 7efadce40a scsi: core: Introduce enum scsi_disposition
| * dca11bfa01 scsi: isci: Fix an error code problem in isci_io_request_build()
| * 948090f66a drm: using mul_u32_u32() requires linux/math64.h
| * 02161f622d wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update
| * b54eecdc08 perf: Fix the nr_addr_filters fix
| * 73eda26931 drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()'
| * feacc80040 drm/amd/powerplay: Fix kzalloc parameter 'ATOM_Tonga_PPM_Table' in 'get_platform_power_management_table()'
| * e016e35846 ceph: fix deadlock or deadcode of misusing dget()
| * 7610ba1319 blk-mq: fix IO hang from sbitmap wakeup race
| * 27ae156e63 virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings
| * 0079078f5e libsubcmd: Fix memory leak in uniq()
| * 32a8243788 PCI/AER: Decode Requester ID when no error info found
| * feaf0752b3 fs/kernfs/dir: obey S_ISGID
| * 6f921430b0 tty: allow TIOCSLCKTRMIOS with CAP_CHECKPOINT_RESTORE
| * e962b59d37 usb: hub: Replace hardcoded quirk value with BIT() macro
| * 4a5d0528cf PCI: switchtec: Fix stdev_release() crash after surprise hot remove
| * 385e49a40f PCI: Only override AMD USB controller if required
| * bb59b30a5c mfd: ti_am335x_tscadc: Fix TI SoC dependencies
| * e4fdf3b176 xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import
| * 89bdf3a9f9 i3c: master: cdns: Update maximum prescaler value for i2c clock
| * b345f330ae um: net: Fix return type of uml_net_start_xmit()
| * ef21984653 um: Don't use vfprintf() for os_info()
| * e4cc555388 um: Fix naming clash between UML and scheduler
| * d47f5d41d8 leds: trigger: panic: Don't register panic notifier if creating the trigger failed
| * 8342ac4a55 drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()'
| * 48bb06f8e3 drm/amdgpu: Let KFD sync with VM fences
| * e90c8f9785 watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786
| * 6f59516a36 clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
| * 2cb6059468 clk: hi3620: Fix memory leak in hi3620_mmc_clk_init()
| * 5fd28ab1c8 drm/msm/dpu: Ratelimit framedone timeout msgs
| * 179fe24bd6 media: ddbridge: fix an error code problem in ddb_probe
| * ac2630fd3c IB/ipoib: Fix mcast list locking
| * 9503ce5f87 drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time
| * 1eeca000f2 ALSA: hda: intel-dspcfg: add filters for ARL-S and ARL
| * 3841b8a64e ALSA: hda: Intel: add HDA_ARL PCI ID support
| * 56d717aa7b PCI: add INTEL_HDA_ARL to pci_ids.h
| * b68e373dc0 media: rockchip: rga: fix swizzling for RGB formats
| * 32c5e3f808 media: stk1160: Fixed high volume of stk1160_dbg messages
| * 425a441c5c drm/mipi-dsi: Fix detach call without attach
| * 0ec29a0f03 drm/framebuffer: Fix use of uninitialized variable
| * d7b81afa11 drm/drm_file: fix use of uninitialized variable
| * 9a572fc1f6 f2fs: fix write pointers on zoned device after roll forward
| * 7fb8c13273 drm/amd/display: Fix tiled display misalignment
| * 3a1da8abd7 RDMA/IPoIB: Fix error code return in ipoib_mcast_join
| * 13d20b2c20 fast_dput(): handle underflows gracefully
| * 706fb30da0 ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument
| * 354785abdf ALSA: hda: Refer to correct stream index at loops
| * 80c69f576f f2fs: fix to check return value of f2fs_reserve_new_block()
| * e474e7a7d6 i40e: Fix VF disable behavior to block all traffic
| * ed6de41473 Bluetooth: L2CAP: Fix possible multiple reject send
| * e1bcd9a42e Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066
| * 27575c2f1f wifi: cfg80211: free beacon_ies when overridden from hidden BSS
| * 40bcbf7d90 wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift()
| * 1632481a99 wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices
| * 2131606a5f arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property
| * 4668f3e6ac arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
| * 82f6e7e68e md: Whenassemble the array, consult the superblock of the freshest device
| * 1746cd95a5 block: prevent an integer overflow in bvec_try_merge_hw_page
| * 1335310a6a net: dsa: mv88e6xxx: Fix mv88e6352_serdes_get_stats error path
| * 9c51d26ff9 ARM: dts: imx23/28: Fix the DMA controller node name
| * 6c22388d96 ARM: dts: imx23-sansa: Use preferred i2c-gpios properties
| * fb9bdf84b6 ARM: dts: imx27-apf27dev: Fix LED name
| * 1dd3a37909 ARM: dts: imx25/27: Pass timing0
| * 3c2bce8976 ARM: dts: imx25: Fix the iim compatible string
| * 95bc866c11 block/rnbd-srv: Check for unlikely string overflow
| * 03ca1d3d8f ionic: pass opcode to devcmd_wait
| * ba108f3db9 ARM: dts: imx1: Fix sram node
| * 2f22ce556e ARM: dts: imx27: Fix sram node
| * e6c0ea054c ARM: dts: imx: Use flash@0,0 pattern
| * bfbaf1551b ARM: dts: imx25/27-eukrea: Fix RTC node name
| * 24bb6b2647 ARM: dts: rockchip: fix rk3036 hdmi ports node
| * 11c1fc73bf bpf: Set uattr->batch.count as zero before batched update or deletion
| * 2e7f8d05ec scsi: libfc: Fix up timeout error in fc_fcp_rec_error()
| * a72670f465 scsi: libfc: Don't schedule abort twice
| * 80700978cb bpf: Add map and need_defer parameters to .map_fd_put_ptr()
| * 84770a996a wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()
| * c390b6a2c3 ARM: dts: imx7s: Fix nand-controller #size-cells
| * d7cb295b53 ARM: dts: imx7s: Fix lcdif compatible
| * 73ead7a37a ARM: dts: imx7d: Fix coresight funnel ports
| * 86781b3a8e scsi: arcmsr: Support new PCI device IDs 1883 and 1886
| * db516f6030 bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk
| * 4f87b8d932 PCI: Add no PM reset quirk for NVIDIA Spectrum devices
| * 9bc7617a0d scsi: lpfc: Fix possible file string name overflow when updating firmware
| * 9b9bbba16b selftests/bpf: Fix pyperf180 compilation failure with clang18
| * 747838941f selftests/bpf: satisfy compiler by having explicit return in btf test
| * 69e905beca wifi: rt2x00: restart beacon queue when hardware reset
| * cfbbb3199e ext4: avoid online resizing failures due to oversized flex bg
| * e7b9fa6c29 ext4: remove unnecessary check from alloc_flex_gd()
| * b960192422 ext4: unify the type of flexbg_size to unsigned int
| * 64448275f8 ext4: fix inconsistent between segment fstrim and full fstrim
| * 5183595c0b ecryptfs: Reject casefold directory inodes
| * c430e6bb43 SUNRPC: Fix a suspicious RCU usage warning
| * 150a3a3871 KVM: s390: fix setting of fpc register
| * 856caf2730 s390/ptrace: handle setting of fpc register correctly
| * e2b77d107b jfs: fix array-index-out-of-bounds in diNewExt
| * 5f1f459520 rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock()
| * ae53c54ed7 afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()
| * a02356d996 afs: fix the usage of read_seqbegin_or_lock() in afs_lookup_volume_rcu()
| * 108c4db057 crypto: stm32/crc32 - fix parsing list of devices
| * a63e48cd83 pstore/ram: Fix crash when setting number of cpus to an odd number
| * bc6ef64dbe jfs: fix uaf in jfs_evict_inode
| * 2037cb9d95 jfs: fix array-index-out-of-bounds in dbAdjTree
| * 1c40ca3d39 jfs: fix slab-out-of-bounds Read in dtSearch
| * 7aa3385447 UBSAN: array-index-out-of-bounds in dtSplitRoot
| * de34de6e57 FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree
| * 95c864c811 ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events
| * 3399cc7013 PM / devfreq: Synchronize devfreq_monitor_[start/stop]
| * b17a71435e ACPI: extlog: fix NULL pointer dereference check
| * c261594853 PNP: ACPI: fix fortify warning
| * 3a13ed6298 ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop
| * c74b2af2cc audit: Send netlink ACK before setting connection in auditd_set
| * 37e00ed71e regulator: core: Only increment use_count when enable_count changes
| * 19c7132270 debugobjects: Stop accessing objects after releasing hash bucket lock
| * c57cb397fe perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file
| * 5224b9db24 x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel
| * beee482cc4 powerpc/lib: Validate size for vector operations
| * 24a58abcff powerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE
| * 02e5b2ff47 x86/boot: Ignore NMIs during very early boot
| * 9d06c199d8 powerpc/mm: Fix build failures due to arch_reserved_kernel_pages()
| * 3928c06363 powerpc: Fix build error due to is_valid_bugaddr()
| * 353496cb35 drivers/perf: pmuv3: don't expose SW_INCR event in sysfs
| * aa28eecb43 powerpc/mm: Fix null-pointer dereference in pgtable_cache_add
| * 4e806600eb x86/entry/ia32: Ensure s32 is sign extended to s64
| * cdc01845df tick/sched: Preserve number of idle sleeps across CPU hotplug events
| * 3736a7832b mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan
| * 95a8a5193e spi: bcm-qspi: fix SFDP BFPT read by usig mspi read
| * f1ba5bf9e0 gpio: eic-sprd: Clear interrupt after set the interrupt type
| * 0924bcd2fd drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
| * b6abe30de3 drm/exynos: fix accidental on-stack copy of exynos_drm_plane
| * 4e56c5a9b9 drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33]
| * e1c50b0c62 btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted
| * d073f4608b btrfs: remove err variable from btrfs_delete_subvolume
| * 90ad17575d mm/sparsemem: fix race in accessing memory_section->usage
| * 74a80f8dda mm: use __pfn_to_section() instead of open coding it
| * 43872f44ee media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run
| * 9087d0c2ba arm64: dts: qcom: sc7180: fix USB wakeup interrupt types
| * 3de807b140 arm64: dts: qcom: sc7180: Use pdc interrupts for USB instead of GIC interrupts
| * 8b2c7bb605 ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12
| * 162ae0e78b pipe: wakeup wr_wait after setting max_usage
| * b6f27626f5 fs/pipe: move check to pipe_has_watch_queue()
| * f46eb83238 PM: sleep: Fix possible deadlocks in core system-wide PM code
| * 8b604883d4 PM: core: Remove unnecessary (void *) conversions
| * 57df40f800 PM: sleep: Avoid calling put_device() under dpm_list_mtx
| * 2245a84985 PM: sleep: Use dev_printk() when possible
| * 8a6a51b80b drm/bridge: nxp-ptn3460: simplify some error checking
| * bedbbdf056 drm/tidss: Fix atomic_flush check
| * ea19252691 drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking
| * f55261469b drm: Don't unref the same fb many times by mistake due to deadlock handling
| * bb575bc3e7 gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04
| * 55a60251fa netfilter: nf_tables: reject QUEUE/DROP verdict parameters
| * 9489e214ea netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain
| * 05dd9facfb wifi: iwlwifi: fix a memory corruption
| * c0760a5c3e exec: Fix error handling in begin_new_exec()
| * 30f38928b6 rbd: don't move requests to the running list on errors
| * 2bdf872bcf btrfs: don't abort filesystem when attempting to snapshot deleted subvolume
| * 5d3687baa9 btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args
| * f27937426b btrfs: don't warn if discard range is not aligned to sector
| * f8a7a51a6c btrfs: tree-checker: fix inline ref size in error messages
| * be90e25880 btrfs: ref-verify: free ref cache before clearing mount opt
| * 7c3a572e15 net: fec: fix the unhandled context fault from smmu
| * a52b2faf60 fjes: fix memleaks in fjes_hw_setup
| * e1bf3ec97a selftests: netdevsim: fix the udp_tunnel_nic test
| * 83f99138bf net: mvpp2: clear BM pool before initialization
| * 6a2e2d9890 netfilter: nf_tables: validate NFPROTO_* family
| * 4fbdc3a18f netfilter: nf_tables: restrict anonymous set and map names to 16 bytes
| * cf116d9c3c net/mlx5e: fix a double-free in arfs_create_groups
| * 1123661a08 net/mlx5: DR, Use the right GVMI number for drop action
| * a3eba5989f ipv6: init the accept_queue's spinlocks in inet6_create
| * be8d1f619e netlink: fix potential sleeping issue in mqueue_flush_file
| * 69ca75e063 tcp: Add memory barrier to tcp_push()
| * 8499e2f121 afs: Hide silly-rename files from userspace
| * ef70dfa0b1 tracing: Ensure visibility when inserting an element into tracing_map
| * 5ae8d50044 net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv
| * 9ccdef19cf llc: Drop support for ETH_P_TR_802_2.
| * 04f2a74b56 llc: make llc_ui_sendmsg() more robust against bonding changes
| * ea4c3cb7fd vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING
| * fc74f86a33 bnxt_en: Wait for FLR to complete during probe
| * bc99dcedd2 tcp: make sure init the accept_queue's spinlocks once
| * 5fed92ca32 net/smc: fix illegal rmb_desc access in SMC-D connection dump
| * c71e1c1a08 KVM: use __vcalloc for very large allocations
| * 95670878a6 mm: vmalloc: introduce array allocation functions
| * 02f629bb46 smb3: Replace smb2pdu 1-element arrays with flex-arrays
| * 443b16ee3d stddef: Introduce DECLARE_FLEX_ARRAY() helper
| * bfc0647791 block: Remove special-casing of compound pages
| * ff4332f1ec rename(): fix the locking of subdirectories
| * d132010e6d ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
| * c6e6640784 nouveau/vmm: don't set addr on the fail path to avoid warning
| * 83217f1bcb rtc: Adjust failure return code for cmos_set_alarm()
| * b51578bd86 mmc: mmc_spi: remove custom DMA mapped buffers
| * 59020bf099 mmc: core: Use mrq.sbc in close-ended ffu
| * 625cb3f3bc scripts/get_abi: fix source path leak
| * 311dc5afad lsm: new security_file_ioctl_compat() hook
| * f726690397 arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts
| * dfc2c685f3 arm64: dts: qcom: sdm845: fix USB wakeup interrupt types
| * ac4dcccbe9 async: Introduce async_schedule_dev_nocall()
| * 9ef68b58fd async: Split async_schedule_node_domain()
| * 1dd8449e20 parisc/firmware: Fix F-extend for PDC addresses
| * 20a6dea2d1 bus: mhi: host: Drop chan lock before queuing buffers
| * 69ca89d80f rpmsg: virtio: Free driver_override when rpmsg_remove()
| * cd51e26a3b crypto: s390/aes - Fix buffer overread in CTR mode
| * c6a8111aac hwrng: core - Fix page fault dead lock on mmap-ed hwrng
| * 981a31b754 PM: hibernate: Enforce ordering during image compression/decompression
| * 462c383e73 crypto: api - Disallow identical driver names
| * fa94912241 ext4: allow for the last group to be marked as trimmed
| * d173ef1255 iio:adc:ad7091r: Move exports into IIO_AD7091R namespace.
| * 9de69732dd dmaengine: fix NULL pointer in channel unregistration function
| * 653d289060 iio: adc: ad7091r: Enable internal vref if external vref is not supplied
| * 1eba6f7ffa iio: adc: ad7091r: Allow users to configure device events
| * 9ec7498a25 iio: adc: ad7091r: Set alert bit in config register
| * be5d6a297d serial: sc16is7xx: add check for unsupported SPI modes during probe
| * 8df2aec94b spi: introduce SPI_MODE_X_MASK macro
| * 6ec08ce3bf serial: sc16is7xx: set safe default SPI clock frequency
| * e83f114994 units: add the HZ macros
| * 762217e973 units: change from 'L' to 'UL'
| * f37f4a0c53 PCI: mediatek: Clear interrupt status before dispatching handler
| * 490eaca842 usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled
| * bf70321419 usb: cdns3: fix iso transfer error when mult is not zero
| * 6aec2f089d usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config
| * 2fdc98b05c usb: cdns3: fix uvc failure work since sg support enabled
| * 67d3c71cf8 usb: cdns3: Fixes for sparse warnings
* bb4ccced84 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'

Change-Id: I426dde9c00dda717bda1273bfda50890d07f6610
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-05-30 15:24:20 +00:00
Greg Kroah-Hartman
e2ddf25269 Revert "bpf: Defer the free of inner map when necessary"
This reverts commit 90c445799f which is
commit 876673364161da50eed6b472d746ef88242b2368 upstream.

It breaks the Android kernel build AND the kernel abi and can be brought
back in the future in an abi-safe way if it is really needed.

Bug: 161946584
Change-Id: I8c7820bcca06e847cdc7c894005d383a2ac828a0
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-05-16 13:14:16 +00:00
Greg Kroah-Hartman
dd27b89022 Merge 5.10.214 into android12-5.10-lts
Changes in 5.10.214
	io_uring/unix: drop usage of io_uring socket
	io_uring: drop any code related to SCM_RIGHTS
	rcu-tasks: Provide rcu_trace_implies_rcu_gp()
	bpf: Defer the free of inner map when necessary
	selftests: tls: use exact comparison in recv_partial
	ASoC: rt5645: Make LattePanda board DMI match more precise
	x86/xen: Add some null pointer checking to smp.c
	MIPS: Clear Cause.BD in instruction_pointer_set
	HID: multitouch: Add required quirk for Synaptics 0xcddc device
	gen_compile_commands: fix invalid escape sequence warning
	RDMA/mlx5: Fix fortify source warning while accessing Eth segment
	RDMA/mlx5: Relax DEVX access upon modify commands
	x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h
	x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault()
	net/iucv: fix the allocation size of iucv_path_table array
	parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check
	block: sed-opal: handle empty atoms when parsing response
	dm-verity, dm-crypt: align "struct bvec_iter" correctly
	scsi: mpt3sas: Prevent sending diag_reset when the controller is ready
	Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security
	firewire: core: use long bus reset on gap count error
	ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet
	Input: gpio_keys_polled - suppress deferred probe error for gpio
	ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC
	ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode
	ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll
	x86/paravirt: Fix build due to __text_gen_insn() backport
	do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak
	nbd: null check for nla_nest_start
	fs/select: rework stack allocation hack for clang
	block: add a new set_read_only method
	md: implement ->set_read_only to hook into BLKROSET processing
	md: Don't clear MD_CLOSING when the raid is about to stop
	aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts
	timekeeping: Fix cross-timestamp interpolation on counter wrap
	timekeeping: Fix cross-timestamp interpolation corner case decision
	timekeeping: Fix cross-timestamp interpolation for non-x86
	wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev()
	wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled
	wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled
	wifi: b43: Stop correct queue in DMA worker when QoS is disabled
	wifi: b43: Disable QoS for bcm4331
	wifi: wilc1000: fix declarations ordering
	wifi: wilc1000: fix RCU usage in connect path
	wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work
	wifi: wilc1000: fix multi-vif management when deleting a vif
	wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir()
	cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value
	sock_diag: annotate data-races around sock_diag_handlers[family]
	inet_diag: annotate data-races around inet_diag_table[]
	bpftool: Silence build warning about calloc()
	af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc().
	wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete
	wifi: iwlwifi: dbg-tlv: ensure NUL termination
	wifi: iwlwifi: fix EWRD table validity check
	net: blackhole_dev: fix build warning for ethh set but not used
	wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer()
	arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes
	bpf: Factor out bpf_spin_lock into helpers.
	bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly
	wireless: Remove redundant 'flush_workqueue()' calls
	wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces
	ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit()
	bus: tegra-aconnect: Update dependency to ARCH_TEGRA
	iommu/amd: Mark interrupt as managed
	wifi: brcmsmac: avoid function pointer casts
	net: ena: Remove ena_select_queue
	ARM: dts: arm: realview: Fix development chip ROM compatible value
	ARM: dts: imx6dl-yapp4: Move phy reset into switch node
	ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address
	ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node
	arm64: dts: marvell: reorder crypto interrupts on Armada SoCs
	ACPI: scan: Fix device check notification handling
	x86, relocs: Ignore relocations in .notes section
	SUNRPC: fix some memleaks in gssx_dec_option_array
	mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function
	wifi: rtw88: 8821c: Fix false alarm count
	PCI: Make pci_dev_is_disconnected() helper public for other drivers
	iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected
	igb: move PEROUT and EXTTS isr logic to separate functions
	igb: Fix missing time sync events
	Bluetooth: Remove superfluous call to hci_conn_check_pending()
	Bluetooth: hci_core: Fix possible buffer overflow
	sr9800: Add check for usbnet_get_endpoints
	bpf: Eliminate rlimit-based memory accounting for devmap maps
	bpf: Fix DEVMAP_HASH overflow check on 32-bit arches
	bpf: Fix hashtab overflow check on 32-bit arches
	bpf: Fix stackmap overflow check on 32-bit arches
	ipv6: fib6_rules: flush route cache when rule is changed
	net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv()
	net: phy: fix phy_get_internal_delay accessing an empty array
	net: hns3: fix port duplex configure error in IMP reset
	net: phy: DP83822: enable rgmii mode if phy_interface_is_rgmii
	net: phy: dp83822: Fix RGMII TX delay configuration
	OPP: debugfs: Fix warning around icc_get_name()
	tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function
	net/ipv4: Replace one-element array with flexible-array member
	net/ipv4: Revert use of struct_size() helper
	net/ipv4/ipv6: Replace one-element arraya with flexible-array members
	bpf: net: Change do_ip_getsockopt() to take the sockptr_t argument
	ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function
	l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function
	udp: fix incorrect parameter validation in the udp_lib_getsockopt() function
	net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function
	net/x25: fix incorrect parameter validation in the x25_getsockopt() function
	nfp: flower: handle acti_netdevs allocation failure
	dm raid: fix false positive for requeue needed during reshape
	dm: call the resume method on internal suspend
	drm/tegra: dsi: Add missing check for of_find_device_by_node
	drm/tegra: dsi: Make use of the helper function dev_err_probe()
	drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe()
	drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe()
	drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe()
	drm/rockchip: inno_hdmi: Fix video timing
	drm: Don't treat 0 as -1 in drm_fixp2int_ceil
	drm/rockchip: lvds: do not overwrite error code
	drm/rockchip: lvds: do not print scary message when probing defer
	drm/lima: fix a memleak in lima_heap_alloc
	dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA
	media: tc358743: register v4l2 async device only after successful setup
	PCI/DPC: Print all TLP Prefixes, not just the first
	perf record: Fix possible incorrect free in record__switch_output()
	HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd
	drm/amd/display: Fix a potential buffer overflow in 'dp_dsc_clock_en_read()'
	drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()'
	perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample()
	media: em28xx: annotate unchecked call to media_device_register()
	media: v4l2-tpg: fix some memleaks in tpg_alloc
	media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity
	media: edia: dvbdev: fix a use-after-free
	pinctrl: mediatek: Drop bogus slew rate register range for MT8192
	clk: qcom: reset: Commonize the de/assert functions
	clk: qcom: reset: Ensure write completion on reset de/assertion
	quota: simplify drop_dquot_ref()
	quota: Fix potential NULL pointer dereference
	quota: Fix rcu annotations of inode dquot pointers
	PCI: switchtec: Fix an error handling path in switchtec_pci_probe()
	crypto: xilinx - call finalize with bh disabled
	perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str()
	drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode()
	ALSA: seq: fix function cast warnings
	perf stat: Avoid metric-only segv
	ASoC: meson: Use dev_err_probe() helper
	ASoC: meson: aiu: fix function pointer type mismatch
	ASoC: meson: t9015: fix function pointer type mismatch
	media: sun8i-di: Fix coefficient writes
	media: sun8i-di: Fix power on/off sequences
	media: sun8i-di: Fix chroma difference threshold
	media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak
	media: go7007: add check of return value of go7007_read_addr()
	media: pvrusb2: remove redundant NULL check
	media: pvrusb2: fix pvr2_stream_callback casts
	clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times
	drm/mediatek: dsi: Fix DSI RGB666 formats and definitions
	PCI: Mark 3ware-9650SE Root Port Extended Tags as broken
	clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister()
	drm/tegra: put drm_gem_object ref on error in tegra_fb_create
	mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref
	mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref
	crypto: arm/sha - fix function cast warnings
	drm/tidss: Fix initial plane zpos values
	mtd: maps: physmap-core: fix flash size larger than 32-bit
	mtd: rawnand: lpc32xx_mlc: fix irq handler prototype
	ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs
	ASoC: meson: axg-tdm-interface: add frame rate constraint
	drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int()
	media: pvrusb2: fix uaf in pvr2_context_set_notify
	media: dvb-frontends: avoid stack overflow warnings with clang
	media: go7007: fix a memleak in go7007_load_encoder
	media: ttpci: fix two memleaks in budget_av_attach
	media: mediatek: vcodec: avoid -Wcast-function-type-strict warning
	drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip
	powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks
	drm/msm/dpu: add division of drm_display_mode's hskew parameter
	powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc.
	leds: aw2013: Unlock mutex before destroying it
	leds: sgm3140: Add missing timer cleanup and flash gpio control
	backlight: lm3630a: Initialize backlight_properties on init
	backlight: lm3630a: Don't set bl->props.brightness in get_brightness
	backlight: da9052: Fully initialize backlight_properties during probe
	backlight: lm3639: Fully initialize backlight_properties during probe
	backlight: lp8788: Fully initialize backlight_properties during probe
	sparc32: Fix section mismatch in leon_pci_grpci
	clk: Fix clk_core_get NULL dereference
	ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops
	ALSA: usb-audio: Stop parsing channels bits when all channels are found.
	RDMA/srpt: Do not register event handler until srpt device is fully setup
	f2fs: compress: fix to check unreleased compressed cluster
	scsi: csiostor: Avoid function pointer casts
	RDMA/device: Fix a race between mad_client and cm_client init
	scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn
	net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr()
	NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102
	NFSv4.2: fix listxattr maximum XDR buffer size
	watchdog: stm32_iwdg: initialize default timeout
	NFS: Fix an off by one in root_nfs_cat()
	afs: Revert "afs: Hide silly-rename files from userspace"
	remoteproc: stm32: Constify st_rproc_ops
	remoteproc: Add new get_loaded_rsc_table() to rproc_ops
	remoteproc: stm32: Move resource table setup to rproc_ops
	remoteproc: stm32: use correct format strings on 64-bit
	remoteproc: stm32: Fix incorrect type in assignment for va
	remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef
	tty: vt: fix 20 vs 0x20 typo in EScsiignore
	serial: max310x: fix syntax error in IRQ error message
	tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT
	kconfig: fix infinite loop when expanding a macro at the end of file
	rtc: mt6397: select IRQ_DOMAIN instead of depending on it
	serial: 8250_exar: Don't remove GPIO device on suspend
	staging: greybus: fix get_channel_from_mode() failure path
	usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin
	io_uring: don't save/restore iowait state
	octeontx2-af: Use matching wake_up API variant in CGX command interface
	s390/vtime: fix average steal time calculation
	soc: fsl: dpio: fix kcalloc() argument order
	hsr: Fix uninit-value access in hsr_get_node()
	packet: annotate data-races around ignore_outgoing
	net: dsa: mt7530: prevent possible incorrect XTAL frequency selection
	wireguard: receive: annotate data-race around receiving_counter.counter
	rds: introduce acquire/release ordering in acquire/release_in_xmit()
	hsr: Handle failures in module init
	net/bnx2x: Prevent access to a freed page in page_pool
	octeontx2-af: Use separate handlers for interrupts
	netfilter: nft_set_pipapo: release elements in clone only from destroy path
	scsi: fc: Update formal FPIN descriptor definitions
	ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add regulator nodes vcc-dram and vcc1v2
	netfilter: nf_tables: do not compare internal table flags on updates
	rcu: add a helper to report consolidated flavor QS
	bpf: report RCU QS in cpumap kthread
	spi: spi-mt65xx: Fix NULL pointer access in interrupt handler
	regmap: Add missing map->bus check
	remoteproc: stm32: fix phys_addr_t format string
	Linux 5.10.214

Change-Id: Iad0cc6acbf53bac96c0409ce61dc6836d83ed7bc
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-05-15 16:03:24 +00:00
lei.zhang8
923b677c93 ANDROID: irq: put irq_resolve_mapping under protection of __irq_enter_raw
With commit 3f9d45d802
 ("ANDROID: genirq: Allow an interrupt to be marked
as 'raw'"), irq_find_mapping was moved out of scope between
irq_enter() and irq_exit(). This result in
el1_irq->__handle_domain_irq->
irq_find_mapping->rcu_read_unlock->rcu_read_unlock_special->
irq_work_queue_on->el1_irq because ir_irq() return false.

Now one RCU stall issue was observed due to IPI_IRQ_WORK irq storm.
IPI_IRQ_WORK irq was triggered from handle_domain_irq->...->
rcu_read_unlock_special->irq_work_queue_on again and again unexpectedly
 due to in_irq() return false even it is in IRQ context.

This patch fix its side effect without reverting commit
3f9d45d802.
During call path "handle_domain_irq->irq_find_mapping->...->
rcu_read_unlock_special()" with use_softirq is true.
1)before this patch, in_irq() is false
  This will result in IPI_IRQ_WORK irq storm due to next IPI_IRQ_WORK
irq
will be triggered under IRQ context again and again.
2)after this patch,in_irq() will be true
  RCU_SOFTIRQ will be raised(but not next IPI_IRQ_WORK irq) under IRQ
context.

Bug: 339061905
Fixes: 3f9d45d802 ("FROMLIST: genirq: Allow an interrupt to be marked as 'raw'")
Change-Id: I27caeaf6817e42b3c15effe8b750cb83af90aeb3
Signed-off-by: lei.zhang8 <lei.zhang8@transsion.com>
2024-05-15 00:41:11 +00:00
Matthew Wilcox (Oracle)
66297b2ced bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
commit 5af385f5f4cddf908f663974847a4083b2ff2c79 upstream.

bits_per() rounds up to the next power of two when passed a power of
two.  This causes crashes on some machines and configurations.

Reported-by: Михаил Новоселов <m.novosyolov@rosalinux.ru>
Tested-by: Ильфат Гаптрахманов <i.gaptrakhmanov@rosalinux.ru>
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/3347
Link: https://lore.kernel.org/all/1c978cf1-2934-4e66-e4b3-e81b04cb3571@rosalinux.ru/
Fixes: f2d5dcb48f7b (bounds: support non-power-of-two CONFIG_NR_CPUS)
Cc:  <stable@vger.kernel.org>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-02 16:23:46 +02:00
Sean Christopherson
af6d6a923b cpu: Re-enable CPU mitigations by default for !X86 architectures
commit fe42754b94a42d08cf9501790afc25c4f6a5f631 upstream.

Rename x86's to CPU_MITIGATIONS, define it in generic code, and force it
on for all architectures exception x86.  A recent commit to turn
mitigations off by default if SPECULATION_MITIGATIONS=n kinda sorta
missed that "cpu_mitigations" is completely generic, whereas
SPECULATION_MITIGATIONS is x86-specific.

Rename x86's SPECULATIVE_MITIGATIONS instead of keeping both and have it
select CPU_MITIGATIONS, as having two configs for the same thing is
unnecessary and confusing.  This will also allow x86 to use the knob to
manage mitigations that aren't strictly related to speculative
execution.

Use another Kconfig to communicate to common code that CPU_MITIGATIONS
is already defined instead of having x86's menu depend on the common
CPU_MITIGATIONS.  This allows keeping a single point of contact for all
of x86's mitigations, and it's not clear that other architectures *want*
to allow disabling mitigations at compile-time.

Fixes: f337a6a21e2f ("x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n")
Closes: https://lkml.kernel.org/r/20240413115324.53303a68%40canb.auug.org.au
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240420000556.2645001-2-seanjc@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-02 16:23:44 +02:00
Robin H. Johnson
ffbeb5d4f9 tracing: Show size of requested perf buffer
commit a90afe8d020da9298c98fddb19b7a6372e2feb45 upstream.

If the perf buffer isn't large enough, provide a hint about how large it
needs to be for whatever is running.

Link: https://lkml.kernel.org/r/20210831043723.13481-1-robbat2@gentoo.org

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
2024-05-02 16:23:43 +02:00
Siddh Raman Pant
26ebeffff2 Revert "tracing/trigger: Fix to return error if failed to alloc snapshot"
This reverts commit 56cfbe6071 which is
commit 0958b33ef5a04ed91f61cef4760ac412080c4e08 upstream.

The change has an incorrect assumption about the return value because
in the current stable trees for versions 5.15 and before, the following
commit responsible for making 0 a success value is not present:
b8cc44a4d3c1 ("tracing: Remove logic for registering multiple event triggers at a time")

The return value should be 0 on failure in the current tree, because in
the functions event_trigger_callback() and event_enable_trigger_func(),
we have:

	ret = cmd_ops->reg(glob, trigger_ops, trigger_data, file);
	/*
	 * The above returns on success the # of functions enabled,
	 * but if it didn't find any functions it returns zero.
	 * Consider no functions a failure too.
	 */
	if (!ret) {
		ret = -ENOENT;

Cc: stable@kernel.org # 5.15, 5.10, 5.4, 4.19
Signed-off-by: Siddh Raman Pant <siddh.raman.pant@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-02 16:23:36 +02:00
Zheng Yejian
5062d1f4f0 kprobes: Fix possible use-after-free issue on kprobe registration
commit 325f3fb551f8cd672dbbfc4cf58b14f9ee3fc9e8 upstream.

When unloading a module, its state is changing MODULE_STATE_LIVE ->
 MODULE_STATE_GOING -> MODULE_STATE_UNFORMED. Each change will take
a time. `is_module_text_address()` and `__module_text_address()`
works with MODULE_STATE_LIVE and MODULE_STATE_GOING.
If we use `is_module_text_address()` and `__module_text_address()`
separately, there is a chance that the first one is succeeded but the
next one is failed because module->state becomes MODULE_STATE_UNFORMED
between those operations.

In `check_kprobe_address_safe()`, if the second `__module_text_address()`
is failed, that is ignored because it expected a kernel_text address.
But it may have failed simply because module->state has been changed
to MODULE_STATE_UNFORMED. In this case, arm_kprobe() will try to modify
non-exist module text address (use-after-free).

To fix this problem, we should not use separated `is_module_text_address()`
and `__module_text_address()`, but use only `__module_text_address()`
once and do `try_module_get(module)` which is only available with
MODULE_STATE_LIVE.

Link: https://lore.kernel.org/all/20240410015802.265220-1-zhengyejian1@huawei.com/

Fixes: 28f6c37a2910 ("kprobes: Forbid probing on trampoline and BPF code areas")
Cc: stable@vger.kernel.org
Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
[Fix conflict due to lack dependency
commit 223a76b268c9 ("kprobes: Fix coding style issues")]
Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-02 16:23:36 +02:00
Sean Christopherson
30da4180fd x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n
commit f337a6a21e2fd67eadea471e93d05dd37baaa9be upstream.

Initialize cpu_mitigations to CPU_MITIGATIONS_OFF if the kernel is built
with CONFIG_SPECULATION_MITIGATIONS=n, as the help text quite clearly
states that disabling SPECULATION_MITIGATIONS is supposed to turn off all
mitigations by default.

  │ If you say N, all mitigations will be disabled. You really
  │ should know what you are doing to say so.

As is, the kernel still defaults to CPU_MITIGATIONS_AUTO, which results in
some mitigations being enabled in spite of SPECULATION_MITIGATIONS=n.

Fixes: f43b9876e857 ("x86/retbleed: Add fine grained Kconfig knobs")
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Cc: stable@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20240409175108.1512861-2-seanjc@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-02 16:23:35 +02:00
Greg Kroah-Hartman
578a3af78b Merge 5.10.213 into android12-5.10-lts
Changes in 5.10.213
	mmc: mmci: stm32: use a buffer for unaligned DMA requests
	mmc: mmci: stm32: fix DMA API overlapping mappings warning
	lan78xx: Fix white space and style issues
	lan78xx: Add missing return code checks
	lan78xx: Fix partial packet errors on suspend/resume
	lan78xx: Fix race conditions in suspend/resume handling
	net: lan78xx: fix runtime PM count underflow on link stop
	ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able
	i40e: disable NAPI right after disabling irqs when handling xsk_pool
	tracing/net_sched: Fix tracepoints that save qdisc_dev() as a string
	geneve: make sure to pull inner header in geneve_rx()
	net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink()
	net/ipv6: avoid possible UAF in ip6_route_mpath_notify()
	cpumap: Zero-initialise xdp_rxq_info struct before running XDP program
	net/rds: fix WARNING in rds_conn_connect_if_down
	netfilter: nft_ct: fix l3num expectations with inet pseudo family
	netfilter: nf_conntrack_h323: Add protection for bmp length out of range
	netrom: Fix a data-race around sysctl_netrom_default_path_quality
	netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser
	netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser
	netrom: Fix a data-race around sysctl_netrom_transport_timeout
	netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries
	netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay
	netrom: Fix a data-race around sysctl_netrom_transport_busy_delay
	netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size
	netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout
	netrom: Fix a data-race around sysctl_netrom_routing_control
	netrom: Fix a data-race around sysctl_netrom_link_fails_count
	netrom: Fix data-races around sysctl_net_busy_read
	selftests/mm: switch to bash from sh
	selftests: mm: fix map_hugetlb failure on 64K page size systems
	um: allow not setting extra rpaths in the linux binary
	xhci: remove extra loop in interrupt context
	xhci: prevent double-fetch of transfer and transfer event TRBs
	xhci: process isoc TD properly when there was a transaction error mid TD.
	xhci: handle isoc Babble and Buffer Overrun events properly
	serial: max310x: Use devm_clk_get_optional() to get the input clock
	serial: max310x: Try to get crystal clock rate from property
	serial: max310x: fail probe if clock crystal is unstable
	serial: max310x: Make use of device properties
	serial: max310x: use regmap methods for SPI batch operations
	serial: max310x: use a separate regmap for each port
	serial: max310x: prevent infinite while() loop in port startup
	net: Change sock_getsockopt() to take the sk ptr instead of the sock ptr
	bpf: net: Change sk_getsockopt() to take the sockptr_t argument
	lsm: make security_socket_getpeersec_stream() sockptr_t safe
	lsm: fix default return value of the socket_getpeersec_*() hooks
	ext4: make ext4_es_insert_extent() return void
	ext4: refactor ext4_da_map_blocks()
	ext4: convert to exclusive lock while inserting delalloc extents
	Drivers: hv: vmbus: Add vmbus_requestor data structure for VMBus hardening
	hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening
	hv_netvsc: Wait for completion on request SWITCH_DATA_PATH
	hv_netvsc: Process NETDEV_GOING_DOWN on VF hot remove
	hv_netvsc: Make netvsc/VF binding check both MAC and serial number
	hv_netvsc: use netif_is_bond_master() instead of open code
	hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
	mm/hugetlb: change hugetlb_reserve_pages() to type bool
	mm: hugetlb pages should not be reserved by shmat() if SHM_NORESERVE
	getrusage: add the "signal_struct *sig" local variable
	getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()
	getrusage: use __for_each_thread()
	getrusage: use sig->stats_lock rather than lock_task_sighand()
	serial: max310x: Unprepare and disable clock in error path
	Drivers: hv: vmbus: Drop error message when 'No request id available'
	regmap: allow to define reg_update_bits for no bus configuration
	regmap: Add bulk read/write callbacks into regmap_config
	serial: max310x: make accessing revision id interface-agnostic
	serial: max310x: implement I2C support
	serial: max310x: fix IO data corruption in batched operations
	Linux 5.10.213

Change-Id: I3450b2b1b545eeb2e3eb862f39d1846a31d17a0a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-05-01 06:27:24 +00:00
Greg Kroah-Hartman
e92b643b4b Merge 5.10.211 into android12-5.10-lts
Changes in 5.10.211
	net/sched: Retire CBQ qdisc
	net/sched: Retire ATM qdisc
	net/sched: Retire dsmark qdisc
	smb: client: fix OOB in receive_encrypted_standard()
	smb: client: fix potential OOBs in smb2_parse_contexts()
	smb: client: fix parsing of SMB3.1.1 POSIX create context
	sched/rt: sysctl_sched_rr_timeslice show default timeslice after reset
	userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb
	zonefs: Improve error handling
	sched/rt: Fix sysctl_sched_rr_timeslice intial value
	sched/rt: Disallow writing invalid values to sched_rt_period_us
	scsi: target: core: Add TMF to tmr_list handling
	dmaengine: shdma: increase size of 'dev_id'
	dmaengine: fsl-qdma: increase size of 'irq_name'
	wifi: cfg80211: fix missing interfaces when dumping
	wifi: mac80211: fix race condition on enabling fast-xmit
	fbdev: savage: Error out if pixclock equals zero
	fbdev: sis: Error out if pixclock equals zero
	spi: hisi-sfc-v3xx: Return IRQ_NONE if no interrupts were detected
	ahci: asm1166: correct count of reported ports
	ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers
	ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
	ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
	dmaengine: ti: edma: Add some null pointer checks to the edma_probe
	regulator: pwm-regulator: Add validity checks in continuous .get_voltage
	nvmet-tcp: fix nvme tcp ida memory leak
	ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616
	spi: sh-msiof: avoid integer overflow in constants
	netfilter: conntrack: check SCTP_CID_SHUTDOWN_ACK for vtag setting in sctp_new
	nvme-fc: do not wait in vain when unloading module
	nvmet-fcloop: swap the list_add_tail arguments
	nvmet-fc: release reference on target port
	nvmet-fc: abort command when there is no binding
	ext4: correct the hole length returned by ext4_map_blocks()
	Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table
	efi: runtime: Fix potential overflow of soft-reserved region size
	efi: Don't add memblocks for soft-reserved memory
	hwmon: (coretemp) Enlarge per package core count limit
	scsi: lpfc: Use unsigned type for num_sge
	firewire: core: send bus reset promptly on gap count error
	virtio-blk: Ensure no requests in virtqueues before deleting vqs.
	pmdomain: renesas: r8a77980-sysc: CR7 must be always on
	ARM: dts: BCM53573: Drop nonexistent "default-off" LED trigger
	irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
	ARM: dts: imx: Set default tuning step for imx6sx usdhc
	ASoC: fsl_micfil: register platform component before registering cpu dai
	media: av7110: prevent underflow in write_ts_to_decoder()
	hvc/xen: prevent concurrent accesses to the shared ring
	hsr: Avoid double remove of a node.
	x86/uaccess: Implement macros for CMPXCHG on user addresses
	seccomp: Invalidate seccomp mode to catch death failures
	block: ataflop: fix breakage introduced at blk-mq refactoring
	powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions
	powerpc/watchpoints: Annotate atomic context in more places
	cifs: add a warning when the in-flight count goes negative
	mtd: spinand: macronix: Add support for MX35LFxGE4AD
	ASoC: Intel: boards: harden codec property handling
	ASoC: Intel: boards: get codec device with ACPI instead of bus search
	ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use
	task_stack, x86/cea: Force-inline stack helpers
	btrfs: tree-checker: check for overlapping extent items
	btrfs: introduce btrfs_lookup_match_dir
	btrfs: unify lookup return value when dir entry is missing
	btrfs: do not pin logs too early during renames
	lan743x: fix for potential NULL pointer dereference with bare card
	platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
	iwlwifi: mvm: do more useful queue sync accounting
	iwlwifi: mvm: write queue_sync_state only for sync
	jbd2: remove redundant buffer io error checks
	jbd2: recheck chechpointing non-dirty buffer
	jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint
	x86: drop bogus "cc" clobber from __try_cmpxchg_user_asm()
	erofs: fix lz4 inplace decompression
	IB/hfi1: Fix sdma.h tx->num_descs off-by-one error
	s390/cio: fix invalid -EBUSY on ccw_device_start
	dm-crypt: don't modify the data when using authenticated encryption
	KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler
	KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table()
	gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp()
	PCI/MSI: Prevent MSI hardware interrupt number truncation
	l2tp: pass correct message length to ip6_append_data
	ARM: ep93xx: Add terminator to gpiod_lookup_table
	Revert "x86/ftrace: Use alternative RET encoding"
	x86/text-patching: Make text_gen_insn() play nice with ANNOTATE_NOENDBR
	x86/ibt,paravirt: Use text_gen_insn() for paravirt_patch()
	x86/ftrace: Use alternative RET encoding
	x86/returnthunk: Allow different return thunks
	Revert "x86/alternative: Make custom return thunk unconditional"
	x86/alternative: Make custom return thunk unconditional
	usb: cdns3: fixed memory use after free at cdns3_gadget_ep_disable()
	usb: cdns3: fix memory double free when handle zero packet
	usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs
	usb: roles: fix NULL pointer issue when put module's reference
	usb: roles: don't get/set_role() when usb_role_switch is unregistered
	mptcp: fix lockless access in subflow ULP diag
	IB/hfi1: Fix a memleak in init_credit_return
	RDMA/bnxt_re: Return error for SRQ resize
	RDMA/srpt: Support specifying the srpt_service_guid parameter
	RDMA/qedr: Fix qedr_create_user_qp error flow
	arm64: dts: rockchip: set num-cs property for spi on px30
	RDMA/srpt: fix function pointer cast warnings
	bpf, scripts: Correct GPL license name
	scsi: jazz_esp: Only build if SCSI core is builtin
	nouveau: fix function cast warnings
	ipv4: properly combine dev_base_seq and ipv4.dev_addr_genid
	ipv6: properly combine dev_base_seq and ipv6.dev_addr_genid
	afs: Increase buffer size in afs_update_volume_status()
	ipv6: sr: fix possible use-after-free and null-ptr-deref
	packet: move from strlcpy with unused retval to strscpy
	net: dev: Convert sa_data to flexible array in struct sockaddr
	s390: use the correct count for __iowrite64_copy()
	tls: rx: jump to a more appropriate label
	tls: rx: drop pointless else after goto
	tls: stop recv() if initial process_rx_list gave us non-DATA
	netfilter: nf_tables: set dormant flag on hook register failure
	drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3
	drm/syncobj: call drm_syncobj_fence_add_wait when WAIT_AVAILABLE flag is set
	drm/amd/display: Fix memory leak in dm_sw_fini()
	block: ataflop: more blk-mq refactoring fixes
	fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio
	arp: Prevent overflow in arp_req_get().
	ext4: regenerate buddy after block freeing failed if under fc replay
	Linux 5.10.211

Note, this merges away the following commit:
	a0180e940c ("erofs: fix lz4 inplace decompression")
as it conflicted too badly with the existing erofs changes in this
branch that are not upstream.  If it is needed, it can be brought back
in the future in a safe way.

Change-Id: I432a4a0964e0708d2cd337872ad75d57cbf92cce
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-16 15:38:10 +00:00
Greg Kroah-Hartman
47e789159e Revert "hrtimer: Report offline hrtimer enqueue"
This reverts commit b1f576be92 which is
commit dad6a09f3148257ac1773cd90934d721d68ab595 upstream.

It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.

Bug: 161946584
Change-Id: I3946038162ecfa5fafc8721ac4aaa8545ed540e2
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-16 09:50:36 +00:00
Greg Kroah-Hartman
b2600e62c4 Revert "bpf: Add map and need_defer parameters to .map_fd_put_ptr()"
This reverts commit 80700978cb which is
commit 20c20bd11a0702ce4dc9300c3da58acf551d9725 upstream.

It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.

Bug: 161946584
Change-Id: I884aeffbf2f42c9345f083da594f208e6db4bc9d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-16 09:44:15 +00:00
linke li
91698804bb ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment
[ Upstream commit f1e30cb6369251c03f63c564006f96a54197dcc4 ]

In function ring_buffer_iter_empty(), cpu_buffer->commit_page is read
while other threads may change it. It may cause the time_stamp that read
in the next line come from a different page. Use READ_ONCE() to avoid
having to reason about compiler optimizations now and in future.

Link: https://lore.kernel.org/linux-trace-kernel/tencent_DFF7D3561A0686B5E8FC079150A02505180A@qq.com

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: linke li <lilinke99@qq.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:59:51 +02:00
John Ogness
5b71a921db panic: Flush kernel log buffer at the end
[ Upstream commit d988d9a9b9d180bfd5c1d353b3b176cb90d6861b ]

If the kernel crashes in a context where printk() calls always
defer printing (such as in NMI or inside a printk_safe section)
then the final panic messages will be deferred to irq_work. But
if irq_work is not available, the messages will not get printed
unless explicitly flushed. The result is that the final
"end Kernel panic" banner does not get printed.

Add one final flush after the last printk() call to make sure
the final panic messages make it out as well.

Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20240207134103.1357162-14-john.ogness@linutronix.de
Signed-off-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:59:40 +02:00
Andrei Matei
9970e059af bpf: Protect against int overflow for stack access size
[ Upstream commit ecc6a2101840177e57c925c102d2d29f260d37c8 ]

This patch re-introduces protection against the size of access to stack
memory being negative; the access size can appear negative as a result
of overflowing its signed int representation. This should not actually
happen, as there are other protections along the way, but we should
protect against it anyway. One code path was missing such protections
(fixed in the previous patch in the series), causing out-of-bounds array
accesses in check_stack_range_initialized(). This patch causes the
verification of a program with such a non-sensical access size to fail.

This check used to exist in a more indirect way, but was inadvertendly
removed in a833a17aeac7.

Fixes: a833a17aeac7 ("bpf: Fix verification of indirect var-off stack access")
Reported-by: syzbot+33f4297b5f927648741a@syzkaller.appspotmail.com
Reported-by: syzbot+aafd0513053a1cbf52ef@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/bpf/CAADnVQLORV5PT0iTAhRER+iLBTkByCYNBYyvBSgjN1T31K+gOw@mail.gmail.com/
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Andrei Matei <andreimatei1@gmail.com>
Link: https://lore.kernel.org/r/20240327024245.318299-3-andreimatei1@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:59:16 +02:00
Yang Jihong
33414e560f perf/core: Fix reentry problem in perf_output_read_group()
commit 6b959ba22d34ca793ffdb15b5715457c78e38b1a upstream.

perf_output_read_group may respond to IPI request of other cores and invoke
__perf_install_in_context function. As a result, hwc configuration is modified.
causing inconsistency and unexpected consequences.

Interrupts are not disabled when perf_output_read_group reads PMU counter.
In this case, IPI request may be received from other cores.
As a result, PMU configuration is modified and an error occurs when
reading PMU counter:

		     CPU0                                         CPU1
						      __se_sys_perf_event_open
							perf_install_in_context
  perf_output_read_group                                  smp_call_function_single
    for_each_sibling_event(sub, leader) {                   generic_exec_single
      if ((sub != event) &&                                   remote_function
	  (sub->state == PERF_EVENT_STATE_ACTIVE))                    |
  <enter IPI handler: __perf_install_in_context>   <----RAISE IPI-----+
  __perf_install_in_context
    ctx_resched
      event_sched_out
	armpmu_del
	  ...
	  hwc->idx = -1; // event->hwc.idx is set to -1
  ...
  <exit IPI>
	      sub->pmu->read(sub);
		armpmu_read
		  armv8pmu_read_counter
		    armv8pmu_read_hw_counter
		      int idx = event->hw.idx; // idx = -1
		      u64 val = armv8pmu_read_evcntr(idx);
			u32 counter = ARMV8_IDX_TO_COUNTER(idx); // invalid counter = 30
			read_pmevcntrn(counter) // undefined instruction

Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20220902082918.179248-1-yangjihong1@huawei.com
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-13 12:59:00 +02:00
John Ogness
3377090b81 printk: Update @console_may_schedule in console_trylock_spinning()
[ Upstream commit 8076972468584d4a21dab9aa50e388b3ea9ad8c7 ]

console_trylock_spinning() may takeover the console lock from a
schedulable context. Update @console_may_schedule to make sure it
reflects a trylock acquire.

Reported-by: Mukesh Ojha <quic_mojha@quicinc.com>
Closes: https://lore.kernel.org/lkml/20240222090538.23017-1-quic_mojha@quicinc.com
Fixes: dbdda842fe ("printk: Add console owner and waiter logic to load balance console writes")
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/875xybmo2z.fsf@jogness.linutronix.de
Signed-off-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:54 +02:00
Steven Rostedt (Google)
47ad5c133e ring-buffer: Fix full_waiters_pending in poll
[ Upstream commit 8145f1c35fa648da662078efab299c4467b85ad5 ]

If a reader of the ring buffer is doing a poll, and waiting for the ring
buffer to hit a specific watermark, there could be a case where it gets
into an infinite ping-pong loop.

The poll code has:

  rbwork->full_waiters_pending = true;
  if (!cpu_buffer->shortest_full ||
      cpu_buffer->shortest_full > full)
         cpu_buffer->shortest_full = full;

The writer will see full_waiters_pending and check if the ring buffer is
filled over the percentage of the shortest_full value. If it is, it calls
an irq_work to wake up all the waiters.

But the code could get into a circular loop:

	CPU 0					CPU 1
	-----					-----
 [ Poll ]
   [ shortest_full = 0 ]
   rbwork->full_waiters_pending = true;
					  if (rbwork->full_waiters_pending &&
					      [ buffer percent ] > shortest_full) {
					         rbwork->wakeup_full = true;
					         [ queue_irqwork ]

   cpu_buffer->shortest_full = full;

					  [ IRQ work ]
					  if (rbwork->wakeup_full) {
					        cpu_buffer->shortest_full = 0;
					        wakeup poll waiters;
  [woken]
   if ([ buffer percent ] > full)
      break;
   rbwork->full_waiters_pending = true;
					  if (rbwork->full_waiters_pending &&
					      [ buffer percent ] > shortest_full) {
					         rbwork->wakeup_full = true;
					         [ queue_irqwork ]

   cpu_buffer->shortest_full = full;

					  [ IRQ work ]
					  if (rbwork->wakeup_full) {
					        cpu_buffer->shortest_full = 0;
					        wakeup poll waiters;
  [woken]

 [ Wash, rinse, repeat! ]

In the poll, the shortest_full needs to be set before the
full_pending_waiters, as once that is set, the writer will compare the
current shortest_full (which is incorrect) to decide to call the irq_work,
which will reset the shortest_full (expecting the readers to update it).

Also move the setting of full_waiters_pending after the check if the ring
buffer has the required percentage filled. There's no reason to tell the
writer to wake up waiters if there are no waiters.

Link: https://lore.kernel.org/linux-trace-kernel/20240312131952.630922155@goodmis.org

Cc: stable@vger.kernel.org
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Fixes: 42fb0a1e84ff5 ("tracing/ring-buffer: Have polling block on watermark")
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:34 +02:00
Steven Rostedt (Google)
616a78bd68 ring-buffer: Fix resetting of shortest_full
[ Upstream commit 68282dd930ea38b068ce2c109d12405f40df3f93 ]

The "shortest_full" variable is used to keep track of the waiter that is
waiting for the smallest amount on the ring buffer before being woken up.
When a tasks waits on the ring buffer, it passes in a "full" value that is
a percentage. 0 means wake up on any data. 1-100 means wake up from 1% to
100% full buffer.

As all waiters are on the same wait queue, the wake up happens for the
waiter with the smallest percentage.

The problem is that the smallest_full on the cpu_buffer that stores the
smallest amount doesn't get reset when all the waiters are woken up. It
does get reset when the ring buffer is reset (echo > /sys/kernel/tracing/trace).

This means that tasks may be woken up more often then when they want to
be. Instead, have the shortest_full field get reset just before waking up
all the tasks. If the tasks wait again, they will update the shortest_full
before sleeping.

Also add locking around setting of shortest_full in the poll logic, and
change "work" to "rbwork" to match the variable name for rb_irq_work
structures that are used in other places.

Link: https://lore.kernel.org/linux-trace-kernel/20240308202431.948914369@goodmis.org

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linke li <lilinke99@qq.com>
Cc: Rabin Vincent <rabin@rab.in>
Fixes: 2c2b0a78b3 ("ring-buffer: Add percentage of ring buffer full to wake up reader")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Stable-dep-of: 8145f1c35fa6 ("ring-buffer: Fix full_waiters_pending in poll")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:34 +02:00
Steven Rostedt (Google)
756934d840 ring-buffer: Do not set shortest_full when full target is hit
[ Upstream commit 761d9473e27f0c8782895013a3e7b52a37c8bcfc ]

The rb_watermark_hit() checks if the amount of data in the ring buffer is
above the percentage level passed in by the "full" variable. If it is, it
returns true.

But it also sets the "shortest_full" field of the cpu_buffer that informs
writers that it needs to call the irq_work if the amount of data on the
ring buffer is above the requested amount.

The rb_watermark_hit() always sets the shortest_full even if the amount in
the ring buffer is what it wants. As it is not going to wait, because it
has what it wants, there's no reason to set shortest_full.

Link: https://lore.kernel.org/linux-trace-kernel/20240312115641.6aa8ba08@gandalf.local.home

Cc: stable@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fixes: 42fb0a1e84ff5 ("tracing/ring-buffer: Have polling block on watermark")
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:33 +02:00
Steven Rostedt (Google)
3d4873cf80 ring-buffer: Fix waking up ring buffer readers
[ Upstream commit b3594573681b53316ec0365332681a30463edfd6 ]

A task can wait on a ring buffer for when it fills up to a specific
watermark. The writer will check the minimum watermark that waiters are
waiting for and if the ring buffer is past that, it will wake up all the
waiters.

The waiters are in a wait loop, and will first check if a signal is
pending and then check if the ring buffer is at the desired level where it
should break out of the loop.

If a file that uses a ring buffer closes, and there's threads waiting on
the ring buffer, it needs to wake up those threads. To do this, a
"wait_index" was used.

Before entering the wait loop, the waiter will read the wait_index. On
wakeup, it will check if the wait_index is different than when it entered
the loop, and will exit the loop if it is. The waker will only need to
update the wait_index before waking up the waiters.

This had a couple of bugs. One trivial one and one broken by design.

The trivial bug was that the waiter checked the wait_index after the
schedule() call. It had to be checked between the prepare_to_wait() and
the schedule() which it was not.

The main bug is that the first check to set the default wait_index will
always be outside the prepare_to_wait() and the schedule(). That's because
the ring_buffer_wait() doesn't have enough context to know if it should
break out of the loop.

The loop itself is not needed, because all the callers to the
ring_buffer_wait() also has their own loop, as the callers have a better
sense of what the context is to decide whether to break out of the loop
or not.

Just have the ring_buffer_wait() block once, and if it gets woken up, exit
the function and let the callers decide what to do next.

Link: https://lore.kernel.org/all/CAHk-=whs5MdtNjzFkTyaUy=vHi=qwWgPi0JgTe6OYUYMNSRZfg@mail.gmail.com/
Link: https://lore.kernel.org/linux-trace-kernel/20240308202431.792933613@goodmis.org

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linke li <lilinke99@qq.com>
Cc: Rabin Vincent <rabin@rab.in>
Fixes: e30f53aad2 ("tracing: Do not busy wait in buffer splice")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Stable-dep-of: 761d9473e27f ("ring-buffer: Do not set shortest_full when full target is hit")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:33 +02:00
Peter Collingbourne
d7800338a2 serial: Lock console when calling into driver before registration
[ Upstream commit 801410b26a0e8b8a16f7915b2b55c9528b69ca87 ]

During the handoff from earlycon to the real console driver, we have
two separate drivers operating on the same device concurrently. In the
case of the 8250 driver these concurrent accesses cause problems due
to the driver's use of banked registers, controlled by LCR.DLAB. It is
possible for the setup(), config_port(), pm() and set_mctrl() callbacks
to set DLAB, which can cause the earlycon code that intends to access
TX to instead access DLL, leading to missed output and corruption on
the serial line due to unintended modifications to the baud rate.

In particular, for setup() we have:

univ8250_console_setup()
-> serial8250_console_setup()
-> uart_set_options()
-> serial8250_set_termios()
-> serial8250_do_set_termios()
-> serial8250_do_set_divisor()

For config_port() we have:

serial8250_config_port()
-> autoconfig()

For pm() we have:

serial8250_pm()
-> serial8250_do_pm()
-> serial8250_set_sleep()

For set_mctrl() we have (for some devices):

serial8250_set_mctrl()
-> omap8250_set_mctrl()
-> __omap8250_set_mctrl()

To avoid such problems, let's make it so that the console is locked
during pre-registration calls to these callbacks, which will prevent
the earlycon driver from running concurrently.

Remove the partial solution to this problem in the 8250 driver
that locked the console only during autoconfig_irq(), as this would
result in a deadlock with the new approach. The console continues
to be locked during autoconfig_irq() because it can only be called
through uart_configure_port().

Although this patch introduces more locking than strictly necessary
(and in particular it also locks during the call to rs485_config()
which is not affected by this issue as far as I can tell), it follows
the principle that it is the responsibility of the generic console
code to manage the earlycon handoff by ensuring that earlycon and real
console driver code cannot run concurrently, and not the individual
drivers.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Reviewed-by: John Ogness <john.ogness@linutronix.de>
Link: https://linux-review.googlesource.com/id/I7cf8124dcebf8618e6b2ee543fa5b25532de55d8
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240304214350.501253-1-pcc@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:20 +02:00
Petr Mladek
590326a5d4 printk/console: Split out code that enables default console
[ Upstream commit ed758b30d541e9bf713cd58612a4414e57dc6d73 ]

Put the code enabling a console by default into a separate function
called try_enable_default_console().

Rename try_enable_new_console() to try_enable_preferred_console() to
make the purpose of the different variants more clear.

It is a code refactoring without any functional change.

Signed-off-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Link: https://lore.kernel.org/r/20211122132649.12737-2-pmladek@suse.com
Stable-dep-of: 801410b26a0e ("serial: Lock console when calling into driver before registration")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:20 +02:00
Maulik Shah
0aa06ebe69 PM: suspend: Set mem_sleep_current during kernel command line setup
[ Upstream commit 9bc4ffd32ef8943f5c5a42c9637cfd04771d021b ]

psci_init_system_suspend() invokes suspend_set_ops() very early during
bootup even before kernel command line for mem_sleep_default is setup.
This leads to kernel command line mem_sleep_default=s2idle not working
as mem_sleep_current gets changed to deep via suspend_set_ops() and never
changes back to s2idle.

Set mem_sleep_current along with mem_sleep_default during kernel command
line setup as default suspend mode.

Fixes: faf7ec4a92 ("drivers: firmware: psci: add system suspend support")
CC: stable@vger.kernel.org # 5.4+
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:13 +02:00
Matthew Wilcox (Oracle)
83a2275f9d bounds: support non-power-of-two CONFIG_NR_CPUS
[ Upstream commit f2d5dcb48f7ba9e3ff249d58fc1fa963d374e66a ]

ilog2() rounds down, so for example when PowerPC 85xx sets CONFIG_NR_CPUS
to 24, we will only allocate 4 bits to store the number of CPUs instead of
5.  Use bits_per() instead, which rounds up.  Found by code inspection.
The effect of this would probably be a misaccounting when doing NUMA
balancing, so to a user, it would only be a performance penalty.  The
effects may be more wide-spread; it's hard to tell.

Link: https://lkml.kernel.org/r/20231010145549.1244748-1-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Fixes: 90572890d2 ("mm: numa: Change page last {nid,pid} into {cpu,pid}")
Reviewed-by: Rik van Riel <riel@surriel.com>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:58:08 +02:00
Thomas Gleixner
d8166e8adb timers: Rename del_timer_sync() to timer_delete_sync()
[ Upstream commit 9b13df3fb64ee95e2397585404e442afee2c7d4f ]

The timer related functions do not have a strict timer_ prefixed namespace
which is really annoying.

Rename del_timer_sync() to timer_delete_sync() and provide del_timer_sync()
as a wrapper. Document that del_timer_sync() is not for new code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Link: https://lore.kernel.org/r/20221123201624.954785441@linutronix.de
Stable-dep-of: 0f7352557a35 ("wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:57:58 +02:00
Thomas Gleixner
fa576cdd4d timers: Use del_timer_sync() even on UP
[ Upstream commit 168f6b6ffbeec0b9333f3582e4cf637300858db5 ]

del_timer_sync() is assumed to be pointless on uniprocessor systems and can
be mapped to del_timer() because in theory del_timer() can never be invoked
while the timer callback function is executed.

This is not entirely true because del_timer() can be invoked from interrupt
context and therefore hit in the middle of a running timer callback.

Contrary to that del_timer_sync() is not allowed to be invoked from
interrupt context unless the affected timer is marked with TIMER_IRQSAFE.
del_timer_sync() has proper checks in place to detect such a situation.

Give up on the UP optimization and make del_timer_sync() unconditionally
available.

Co-developed-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Link: https://lore.kernel.org/all/20220407161745.7d6754b3@gandalf.local.home
Link: https://lore.kernel.org/all/20221110064101.429013735@goodmis.org
Link: https://lore.kernel.org/r/20221123201624.888306160@linutronix.de
Stable-dep-of: 0f7352557a35 ("wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:57:57 +02:00
Thomas Gleixner
127dbb3d8b timers: Update kernel-doc for various functions
[ Upstream commit 14f043f1340bf30bc60af127bff39f55889fef26 ]

The kernel-doc of timer related functions is partially uncomprehensible
word salad. Rewrite it to make it useful.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Link: https://lore.kernel.org/r/20221123201624.828703870@linutronix.de
Stable-dep-of: 0f7352557a35 ("wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:57:57 +02:00
Greg Kroah-Hartman
66e91da883 Merge 5.10.210 into android12-5.10-lts
Changes in 5.10.210
	usb: cdns3: Fixes for sparse warnings
	usb: cdns3: fix uvc failure work since sg support enabled
	usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config
	usb: cdns3: fix iso transfer error when mult is not zero
	usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled
	PCI: mediatek: Clear interrupt status before dispatching handler
	units: change from 'L' to 'UL'
	units: add the HZ macros
	serial: sc16is7xx: set safe default SPI clock frequency
	spi: introduce SPI_MODE_X_MASK macro
	serial: sc16is7xx: add check for unsupported SPI modes during probe
	iio: adc: ad7091r: Set alert bit in config register
	iio: adc: ad7091r: Allow users to configure device events
	iio: adc: ad7091r: Enable internal vref if external vref is not supplied
	dmaengine: fix NULL pointer in channel unregistration function
	iio:adc:ad7091r: Move exports into IIO_AD7091R namespace.
	ext4: allow for the last group to be marked as trimmed
	crypto: api - Disallow identical driver names
	PM: hibernate: Enforce ordering during image compression/decompression
	hwrng: core - Fix page fault dead lock on mmap-ed hwrng
	crypto: s390/aes - Fix buffer overread in CTR mode
	rpmsg: virtio: Free driver_override when rpmsg_remove()
	bus: mhi: host: Drop chan lock before queuing buffers
	parisc/firmware: Fix F-extend for PDC addresses
	async: Split async_schedule_node_domain()
	async: Introduce async_schedule_dev_nocall()
	arm64: dts: qcom: sdm845: fix USB wakeup interrupt types
	arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts
	lsm: new security_file_ioctl_compat() hook
	scripts/get_abi: fix source path leak
	mmc: core: Use mrq.sbc in close-ended ffu
	mmc: mmc_spi: remove custom DMA mapped buffers
	rtc: Adjust failure return code for cmos_set_alarm()
	nouveau/vmm: don't set addr on the fail path to avoid warning
	ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
	rename(): fix the locking of subdirectories
	block: Remove special-casing of compound pages
	stddef: Introduce DECLARE_FLEX_ARRAY() helper
	smb3: Replace smb2pdu 1-element arrays with flex-arrays
	mm: vmalloc: introduce array allocation functions
	KVM: use __vcalloc for very large allocations
	net/smc: fix illegal rmb_desc access in SMC-D connection dump
	tcp: make sure init the accept_queue's spinlocks once
	bnxt_en: Wait for FLR to complete during probe
	vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING
	llc: make llc_ui_sendmsg() more robust against bonding changes
	llc: Drop support for ETH_P_TR_802_2.
	net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv
	tracing: Ensure visibility when inserting an element into tracing_map
	afs: Hide silly-rename files from userspace
	tcp: Add memory barrier to tcp_push()
	netlink: fix potential sleeping issue in mqueue_flush_file
	ipv6: init the accept_queue's spinlocks in inet6_create
	net/mlx5: DR, Use the right GVMI number for drop action
	net/mlx5e: fix a double-free in arfs_create_groups
	netfilter: nf_tables: restrict anonymous set and map names to 16 bytes
	netfilter: nf_tables: validate NFPROTO_* family
	net: mvpp2: clear BM pool before initialization
	selftests: netdevsim: fix the udp_tunnel_nic test
	fjes: fix memleaks in fjes_hw_setup
	net: fec: fix the unhandled context fault from smmu
	btrfs: ref-verify: free ref cache before clearing mount opt
	btrfs: tree-checker: fix inline ref size in error messages
	btrfs: don't warn if discard range is not aligned to sector
	btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args
	btrfs: don't abort filesystem when attempting to snapshot deleted subvolume
	rbd: don't move requests to the running list on errors
	exec: Fix error handling in begin_new_exec()
	wifi: iwlwifi: fix a memory corruption
	netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain
	netfilter: nf_tables: reject QUEUE/DROP verdict parameters
	gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04
	drm: Don't unref the same fb many times by mistake due to deadlock handling
	drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking
	drm/tidss: Fix atomic_flush check
	drm/bridge: nxp-ptn3460: simplify some error checking
	PM: sleep: Use dev_printk() when possible
	PM: sleep: Avoid calling put_device() under dpm_list_mtx
	PM: core: Remove unnecessary (void *) conversions
	PM: sleep: Fix possible deadlocks in core system-wide PM code
	fs/pipe: move check to pipe_has_watch_queue()
	pipe: wakeup wr_wait after setting max_usage
	ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12
	arm64: dts: qcom: sc7180: Use pdc interrupts for USB instead of GIC interrupts
	arm64: dts: qcom: sc7180: fix USB wakeup interrupt types
	media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run
	mm: use __pfn_to_section() instead of open coding it
	mm/sparsemem: fix race in accessing memory_section->usage
	btrfs: remove err variable from btrfs_delete_subvolume
	btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted
	drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33]
	drm/exynos: fix accidental on-stack copy of exynos_drm_plane
	drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
	gpio: eic-sprd: Clear interrupt after set the interrupt type
	spi: bcm-qspi: fix SFDP BFPT read by usig mspi read
	mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan
	tick/sched: Preserve number of idle sleeps across CPU hotplug events
	x86/entry/ia32: Ensure s32 is sign extended to s64
	powerpc/mm: Fix null-pointer dereference in pgtable_cache_add
	drivers/perf: pmuv3: don't expose SW_INCR event in sysfs
	powerpc: Fix build error due to is_valid_bugaddr()
	powerpc/mm: Fix build failures due to arch_reserved_kernel_pages()
	x86/boot: Ignore NMIs during very early boot
	powerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE
	powerpc/lib: Validate size for vector operations
	x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel
	perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file
	debugobjects: Stop accessing objects after releasing hash bucket lock
	regulator: core: Only increment use_count when enable_count changes
	audit: Send netlink ACK before setting connection in auditd_set
	ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop
	PNP: ACPI: fix fortify warning
	ACPI: extlog: fix NULL pointer dereference check
	PM / devfreq: Synchronize devfreq_monitor_[start/stop]
	ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events
	FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree
	UBSAN: array-index-out-of-bounds in dtSplitRoot
	jfs: fix slab-out-of-bounds Read in dtSearch
	jfs: fix array-index-out-of-bounds in dbAdjTree
	jfs: fix uaf in jfs_evict_inode
	pstore/ram: Fix crash when setting number of cpus to an odd number
	crypto: stm32/crc32 - fix parsing list of devices
	afs: fix the usage of read_seqbegin_or_lock() in afs_lookup_volume_rcu()
	afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()
	rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock()
	jfs: fix array-index-out-of-bounds in diNewExt
	s390/ptrace: handle setting of fpc register correctly
	KVM: s390: fix setting of fpc register
	SUNRPC: Fix a suspicious RCU usage warning
	ecryptfs: Reject casefold directory inodes
	ext4: fix inconsistent between segment fstrim and full fstrim
	ext4: unify the type of flexbg_size to unsigned int
	ext4: remove unnecessary check from alloc_flex_gd()
	ext4: avoid online resizing failures due to oversized flex bg
	wifi: rt2x00: restart beacon queue when hardware reset
	selftests/bpf: satisfy compiler by having explicit return in btf test
	selftests/bpf: Fix pyperf180 compilation failure with clang18
	scsi: lpfc: Fix possible file string name overflow when updating firmware
	PCI: Add no PM reset quirk for NVIDIA Spectrum devices
	bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk
	scsi: arcmsr: Support new PCI device IDs 1883 and 1886
	ARM: dts: imx7d: Fix coresight funnel ports
	ARM: dts: imx7s: Fix lcdif compatible
	ARM: dts: imx7s: Fix nand-controller #size-cells
	wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()
	bpf: Add map and need_defer parameters to .map_fd_put_ptr()
	scsi: libfc: Don't schedule abort twice
	scsi: libfc: Fix up timeout error in fc_fcp_rec_error()
	bpf: Set uattr->batch.count as zero before batched update or deletion
	ARM: dts: rockchip: fix rk3036 hdmi ports node
	ARM: dts: imx25/27-eukrea: Fix RTC node name
	ARM: dts: imx: Use flash@0,0 pattern
	ARM: dts: imx27: Fix sram node
	ARM: dts: imx1: Fix sram node
	ionic: pass opcode to devcmd_wait
	block/rnbd-srv: Check for unlikely string overflow
	ARM: dts: imx25: Fix the iim compatible string
	ARM: dts: imx25/27: Pass timing0
	ARM: dts: imx27-apf27dev: Fix LED name
	ARM: dts: imx23-sansa: Use preferred i2c-gpios properties
	ARM: dts: imx23/28: Fix the DMA controller node name
	net: dsa: mv88e6xxx: Fix mv88e6352_serdes_get_stats error path
	block: prevent an integer overflow in bvec_try_merge_hw_page
	md: Whenassemble the array, consult the superblock of the freshest device
	arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
	arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property
	wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices
	wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift()
	wifi: cfg80211: free beacon_ies when overridden from hidden BSS
	Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066
	Bluetooth: L2CAP: Fix possible multiple reject send
	i40e: Fix VF disable behavior to block all traffic
	f2fs: fix to check return value of f2fs_reserve_new_block()
	ALSA: hda: Refer to correct stream index at loops
	ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument
	fast_dput(): handle underflows gracefully
	RDMA/IPoIB: Fix error code return in ipoib_mcast_join
	drm/amd/display: Fix tiled display misalignment
	f2fs: fix write pointers on zoned device after roll forward
	drm/drm_file: fix use of uninitialized variable
	drm/framebuffer: Fix use of uninitialized variable
	drm/mipi-dsi: Fix detach call without attach
	media: stk1160: Fixed high volume of stk1160_dbg messages
	media: rockchip: rga: fix swizzling for RGB formats
	PCI: add INTEL_HDA_ARL to pci_ids.h
	ALSA: hda: Intel: add HDA_ARL PCI ID support
	ALSA: hda: intel-dspcfg: add filters for ARL-S and ARL
	drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time
	IB/ipoib: Fix mcast list locking
	media: ddbridge: fix an error code problem in ddb_probe
	drm/msm/dpu: Ratelimit framedone timeout msgs
	clk: hi3620: Fix memory leak in hi3620_mmc_clk_init()
	clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
	watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786
	drm/amdgpu: Let KFD sync with VM fences
	drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()'
	leds: trigger: panic: Don't register panic notifier if creating the trigger failed
	um: Fix naming clash between UML and scheduler
	um: Don't use vfprintf() for os_info()
	um: net: Fix return type of uml_net_start_xmit()
	i3c: master: cdns: Update maximum prescaler value for i2c clock
	xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import
	mfd: ti_am335x_tscadc: Fix TI SoC dependencies
	PCI: Only override AMD USB controller if required
	PCI: switchtec: Fix stdev_release() crash after surprise hot remove
	usb: hub: Replace hardcoded quirk value with BIT() macro
	tty: allow TIOCSLCKTRMIOS with CAP_CHECKPOINT_RESTORE
	fs/kernfs/dir: obey S_ISGID
	PCI/AER: Decode Requester ID when no error info found
	libsubcmd: Fix memory leak in uniq()
	virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings
	blk-mq: fix IO hang from sbitmap wakeup race
	ceph: fix deadlock or deadcode of misusing dget()
	drm/amd/powerplay: Fix kzalloc parameter 'ATOM_Tonga_PPM_Table' in 'get_platform_power_management_table()'
	drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()'
	perf: Fix the nr_addr_filters fix
	wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update
	drm: using mul_u32_u32() requires linux/math64.h
	scsi: isci: Fix an error code problem in isci_io_request_build()
	scsi: core: Introduce enum scsi_disposition
	scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler
	ip6_tunnel: use dev_sw_netstats_rx_add()
	ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()
	net-zerocopy: Refactor frag-is-remappable test.
	tcp: add sanity checks to rx zerocopy
	ixgbe: Remove non-inclusive language
	ixgbe: Refactor returning internal error codes
	ixgbe: Refactor overtemp event handling
	ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550()
	ipv6: Ensure natural alignment of const ipv6 loopback and router addresses
	llc: call sock_orphan() at release time
	netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
	netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations
	net: ipv4: fix a memleak in ip_setup_cork
	af_unix: fix lockdep positive in sk_diag_dump_icons()
	net: sysfs: Fix /sys/class/net/<iface> path
	HID: apple: Add support for the 2021 Magic Keyboard
	HID: apple: Add 2021 magic keyboard FN key mapping
	bonding: remove print in bond_verify_device_path
	uapi: stddef.h: Fix __DECLARE_FLEX_ARRAY for C++
	PM: sleep: Fix error handling in dpm_prepare()
	dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools
	dmaengine: ti: k3-udma: Report short packet errors
	dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA
	dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
	phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
	dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
	phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
	drm/msm/dp: return correct Colorimetry for DP_TEST_DYNAMIC_RANGE_CEA case
	net: stmmac: xgmac: fix handling of DPP safety error for DMA channels
	selftests: net: avoid just another constant wait
	tunnels: fix out of bounds access when building IPv6 PMTU error
	atm: idt77252: fix a memleak in open_card_ubr0
	hwmon: (aspeed-pwm-tacho) mutex for tach reading
	hwmon: (coretemp) Fix out-of-bounds memory access
	hwmon: (coretemp) Fix bogus core_id to attr name mapping
	inet: read sk->sk_family once in inet_recv_error()
	rxrpc: Fix response to PING RESPONSE ACKs to a dead call
	tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()
	ppp_async: limit MRU to 64K
	netfilter: nft_compat: reject unused compat flag
	netfilter: nft_compat: restrict match/target protocol to u16
	netfilter: nft_ct: reject direction for ct id
	netfilter: nft_set_pipapo: store index in scratch maps
	netfilter: nft_set_pipapo: add helper to release pcpu scratch area
	netfilter: nft_set_pipapo: remove scratch_aligned pointer
	scsi: core: Move scsi_host_busy() out of host lock if it is for per-command
	blk-iocost: Fix an UBSAN shift-out-of-bounds warning
	net/af_iucv: clean up a try_then_request_module()
	USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
	USB: serial: option: add Fibocom FM101-GL variant
	USB: serial: cp210x: add ID for IMST iM871A-USB
	usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK
	hrtimer: Report offline hrtimer enqueue
	Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
	Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
	vhost: use kzalloc() instead of kmalloc() followed by memset()
	clocksource: Skip watchdog check for large watchdog intervals
	net: stmmac: xgmac: use #define for string constants
	net: stmmac: xgmac: fix a typo of register name in DPP safety handling
	netfilter: nft_set_rbtree: skip end interval element from gc
	btrfs: forbid creating subvol qgroups
	btrfs: do not ASSERT() if the newly created subvolume already got read
	btrfs: forbid deleting live subvol qgroup
	btrfs: send: return EOPNOTSUPP on unknown flags
	of: unittest: Fix compile in the non-dynamic case
	net: openvswitch: limit the number of recursions from action sets
	spi: ppc4xx: Drop write-only variable
	ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()
	net: sysfs: Fix /sys/class/net/<iface> path for statistics
	MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
	i40e: Fix waiting for queues of all VSIs to be disabled
	tracing/trigger: Fix to return error if failed to alloc snapshot
	mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again
	ALSA: hda/realtek: Fix the external mic not being recognised for Acer Swift 1 SF114-32
	ALSA: hda/realtek: Enable Mute LED on HP Laptop 14-fq0xxx
	HID: wacom: generic: Avoid reporting a serial of '0' to userspace
	HID: wacom: Do not register input devices until after hid_hw_start
	usb: ucsi_acpi: Fix command completion handling
	USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
	usb: f_mass_storage: forbid async queue when shutdown happen
	media: ir_toy: fix a memleak in irtoy_tx
	powerpc/kasan: Fix addr error caused by page alignment
	i2c: i801: Remove i801_set_block_buffer_mode
	i2c: i801: Fix block process call transactions
	modpost: trim leading spaces when processing source files list
	scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
	lsm: fix the logic in security_inode_getsecctx()
	firewire: core: correct documentation of fw_csr_string() kernel API
	kbuild: Fix changing ELF file type for output of gen_btf for big endian
	nfc: nci: free rx_data_reassembly skb on NCI device cleanup
	net: hsr: remove WARN_ONCE() in send_hsr_supervision_frame()
	xen-netback: properly sync TX responses
	ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL
	binder: signal epoll threads of self-work
	misc: fastrpc: Mark all sessions as invalid in cb_remove
	ext4: fix double-free of blocks due to wrong extents moved_len
	tracing: Fix wasted memory in saved_cmdlines logic
	staging: iio: ad5933: fix type mismatch regression
	iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC
	iio: accel: bma400: Fix a compilation problem
	media: rc: bpf attach/detach requires write permission
	hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove
	ring-buffer: Clean ring_buffer_poll_wait() error return
	serial: max310x: set default value when reading clock ready bit
	serial: max310x: improve crystal stable clock detection
	x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6
	x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
	mmc: slot-gpio: Allow non-sleeping GPIO ro
	ALSA: hda/conexant: Add quirk for SWS JS201D
	nilfs2: fix data corruption in dsync block recovery for small block sizes
	nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
	crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked
	nfp: use correct macro for LengthSelect in BAR config
	nfp: flower: prevent re-adding mac index for bonded port
	wifi: mac80211: reload info pointer in ieee80211_tx_dequeue()
	irqchip/irq-brcmstb-l2: Add write memory barrier before exit
	irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
	s390/qeth: Fix potential loss of L3-IP@ in case of network issues
	ceph: prevent use-after-free in encode_cap_msg()
	of: property: fix typo in io-channels
	can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)
	pmdomain: core: Move the unused cleanup to a _sync initcall
	tracing: Inform kmemleak of saved_cmdlines allocation
	Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
	bus: moxtet: Add spi device table
	PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support
	mips: Fix max_mapnr being uninitialized on early stages
	crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init
	serial: Add rs485_supported to uart_port
	serial: 8250_exar: Fill in rs485_supported
	serial: 8250_exar: Set missing rs485_supported flag
	scripts/decode_stacktrace.sh: silence stderr messages from addr2line/nm
	scripts/decode_stacktrace.sh: support old bash version
	scripts: decode_stacktrace: demangle Rust symbols
	scripts/decode_stacktrace.sh: optionally use LLVM utilities
	netfilter: ipset: fix performance regression in swap operation
	netfilter: ipset: Missing gc cancellations fixed
	hrtimer: Ignore slack time for RT tasks in schedule_hrtimeout_range()
	Revert "arm64: Stash shadow stack pointer in the task struct on interrupt"
	net: prevent mss overflow in skb_segment()
	sched/membarrier: reduce the ability to hammer on sys_membarrier
	nilfs2: fix potential bug in end_buffer_async_write
	nilfs2: replace WARN_ONs for invalid DAT metadata block requests
	dm: limit the number of targets and parameter size area
	PM: runtime: add devm_pm_runtime_enable helper
	PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
	drm/msm/dsi: Enable runtime PM
	netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval()
	net: bcmgenet: Fix EEE implementation
	PCI: dwc: Fix a 64bit bug in dw_pcie_ep_raise_msix_irq()
	Linux 5.10.210

Change-Id: I5e7327f58dd6abd26ac2b1e328a81c1010d1147c
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-10 07:10:03 +00:00
Greg Kroah-Hartman
17d3242550 Merge tag 'android12-5.10.209_r00' into android12-5.10
This merges up to the 5.10.209 LTS release into the android12-5.10
branch.  included in here are the following commits:

* f5f23fd864 ANDROID: GKI: db845c: Update symbols list and ABI
*   717f23122d Merge "Merge branch 'android12-5.10' into branch 'android12-5.10-lts'" into android12-5.10-lts
|\
| * 10896fff34 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
* | 6f5d6d6de5 UPSTREAM: drm/msm/dsi: Enable runtime PM
* | 5a2e61dcbd UPSTREAM: PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
* | cb06375abb UPSTREAM: PM: runtime: add devm_pm_runtime_enable helper
|/
* 7edcfba384 Revert "clk: fixed-rate: add devm_clk_hw_register_fixed_rate"
* a8a9ceb11a Revert "clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw"
*   7e6944b050 Merge 5.10.209 into android12-5.10-lts
|\
| * 16ad71c250 Linux 5.10.209
| * 66e4f4a847 arm64: dts: armada-3720-turris-mox: set irq type for RTC
| * 2e23761beb i2c: s3c24xx: fix transferring more than one message in polling mode
| * da60686bab i2c: s3c24xx: fix read transfers in polling mode
| * 8ba74e9016 selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes
| * 3e1ca80659 selftests: mlxsw: qos_pfc: Convert to iproute2 dcb
| * 56750ea5d1 mlxsw: spectrum_acl_tcam: Fix stack corruption
| * a9b233b287 mlxsw: spectrum_acl_tcam: Reorder functions to avoid forward declarations
| * d3669ebc4c mlxsw: spectrum_acl_tcam: Make fini symmetric to init
| * a557dbda64 mlxsw: spectrum_acl_tcam: Add missing mutex_destroy()
| * 936d06d699 mlxsw: spectrum: Use 'bitmap_zalloc()' when applicable
| * e8bfdf6301 mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure
| * f90b1cebc4 ethtool: netlink: Add missing ethnl_ops_begin/complete
| * b44e1aec80 kdb: Fix a potential buffer overflow in kdb_local()
| * 977c2cf563 ipvs: avoid stat macros calls from preemptible context
| * 00a86f81c8 netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description
| * 9a4d25267d netfilter: nf_tables: skip dead set elements in netlink dump
| * 2d4c0798a1 netfilter: nf_tables: do not allow mismatch field size and set key length
| * b099b495e1 net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe
| * 6c8a5bbca6 net: ravb: Fix dma_addr_t truncation in error case
| * ba77c8b4e1 net: phy: micrel: populate .soft_reset for KSZ9131
| * 1658d7a7a2 net: ethernet: ti: am65-cpsw: Fix max mtu to fit ethernet frames
| * 2295c22348 net: qualcomm: rmnet: fix global oob in rmnet_policy
| * b55808b96e s390/pci: fix max size calculation in zpci_memcpy_toio()
| * 178b437344 PCI: keystone: Fix race condition when initializing PHYs
| * 0de2e62067 nvmet-tcp: Fix the H2C expected PDU len calculation
| * 172276460a serial: imx: Correct clock error message in function probe()
| * 5ff00408e5 apparmor: avoid crash when parsed profile name is empty
| * 866d32bff0 perf env: Avoid recursively taking env->bpf_progs.lock
| * 39669fae69 nvmet-tcp: fix a crash in nvmet_req_complete()
| * f775f2621c nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length
| * 1550b870ae usb: cdc-acm: return correct error code on unsupported break
| * d7c74b010a tty: use 'if' in send_break() instead of 'goto'
| * 3483ca0390 tty: don't check for signal_pending() in send_break()
| * 2cf81d3440 tty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK
| * 4e76dbd7c3 tty: change tty_write_lock()'s ndelay parameter to bool
| * abcc25a237 perf genelf: Set ELF program header addresses properly
| * 1e17feb4ad iio: adc: ad9467: fix scale setting
| * a3167e5ab5 iio: adc: ad9467: don't ignore error codes
| * 00e916d998 iio: adc: ad9467: fix reset gpio handling
| * 8083d68401 iio: adc: ad9467: Benefit from devm_clk_get_enabled() to simplify
| * 6e04a9d305 serial: imx: fix tx statemachine deadlock
| * 6746f3e893 software node: Let args be NULL in software_node_get_reference_args
| * 381bea33a8 acpi: property: Let args be NULL in __acpi_node_get_property_reference
| * 7166e8e913 libapi: Add missing linux/types.h header to get the __u64 type on io.h
| * bc57f3ef8a serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed
| * 89b97e6b19 power: supply: cw2015: correct time_to_empty units in sysfs
| * 5e3995ec39 MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
| * c3ed63f6a1 MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
| * 9995dee8b9 mips: Fix incorrect max_low_pfn adjustment
| * 5cdda6239c mips: dmi: Fix early remap on MIPS32
| * b152868773 leds: aw2013: Select missing dependency REGMAP_I2C
| * 927626a207 mfd: syscon: Fix null pointer dereference in of_syscon_register()
| * c964a0597b HID: wacom: Correct behavior when processing some confidence == false touches
| * c7883c9f83 iio: adc: ad7091r: Pass iio_dev to event handler
| * ba7be66674 KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache
| * 9b5a278594 KVM: arm64: vgic-v4: Restore pending state on host userspace write
| * 7521ea8f62 x86/kvm: Do not try to disable kvmclock if it was not enabled
| * 322c5fe40f wifi: mwifiex: configure BSSID consistently when starting AP
| * ba8a4fba62 wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors
| * 3dc3122b0b wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
| * 5e9142b6a2 iommu/arm-smmu-qcom: Add missing GMU entry to match table
| * 394c6c0b6d Bluetooth: Fix atomicity violation in {min,max}_key_size_set
| * 3b8d7a1b85 rootfs: Fix support for rootfstype= when root= is given
| * 8c0b563e9b io_uring/rw: ensure io->bytes_done is always initialized
| * daa61bacd3 pwm: jz4740: Don't use dev_err_probe() in .request()
| * a7d4ec5672 fbdev: flush deferred work in fb_deferred_io_fsync()
| * ff2d54d9cc ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq2xxx
| * b5c2a32621 ALSA: oxygen: Fix right channel of capture volume mixer
| * 57f34589e9 serial: imx: Ensure that imx_uart_rs485_config() is called with enabled clock
| * b7747ca58e usb: mon: Fix atomicity violation in mon_bin_vma_fault
| * 5e5ab50eff usb: typec: class: fix typec_altmode_put_partner to put plugs
| * baaa6d8e3f Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"
| * f5c09e1d6e usb: chipidea: wait controller resume finished for wakeup irq
| * 084de4c659 Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only"
| * 1af0423587 Revert "usb: dwc3: Soft reset phy on probe for host"
| * 3253888660 usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart
| * e70b17282a usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host()
| * d65cade544 tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug
| * 7e7a0d8654 binder: fix race between mmput() and do_exit()
| * cce8ba6fa4 xen-netback: don't produce zero-size SKB frags
| * d1e68ad279 net: ethernet: mtk_eth_soc: remove duplicate if statements
| * 8a29463915 kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list
| * c02cdc2c5e Revert "ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek"
| * 79026a2d0a virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session()
| * dfdb686d1b virtio-crypto: fix memory-leak
| * c3b3389ad0 dma-mapping: Fix build error unused-value
| * 0dfe57f1f2 Input: atkbd - use ab83 as id when skipping the getid command
| * c8c1158ffb binder: fix use-after-free in shinker's callback
| * abbb909287 binder: fix unused alloc->free_async_space
| * fa62c9050e binder: fix async space check for 0-sized buffers
| * 4533e7623e keys, dns: Fix size check of V1 server-list header
| * 9e8a31c1aa of: unittest: Fix of_count_phandle_with_args() expected value message
| * d5f490343c of: Fix double free in of_parse_phandle_with_args_map
| * c9ee325bae IB/iser: Prevent invalidating wrong MR
| * bedecbb5a5 mmc: sdhci_omap: Fix TI SoC dependencies
| * 613af7d576 mmc: sdhci_am654: Fix TI SoC dependencies
| * 8da3a51f74 pwm: stm32: Fix enable count for clk in .probe()
| * e33e1bdbe6 pwm: stm32: Use hweight32 in stm32_pwm_detect_channels
| * 5af4ce2a54 pwm: stm32: Use regmap_clear_bits and regmap_set_bits where applicable
| * bed5ec2a59 clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw
| * 764b78b927 clk: fixed-rate: add devm_clk_hw_register_fixed_rate
| * e5236e58cc clk: si5341: fix an error code problem in si5341_output_clk_set_rate
| * 428381fbcb watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused
| * d83662bb90 watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
| * 6c93290da9 watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO
| * cbc15095d1 watchdog: set cdev owner before adding
| * e4f4a2cb74 drivers: clk: zynqmp: update divider round rate logic
| * af0b86199b clk: zynqmp: Add a check for NULL pointer
| * 45b4ea38c9 clk: zynqmp: make bestdiv unsigned
| * 7fdcd873c0 drivers: clk: zynqmp: calculate closest mux rate
| * 6cccbfafc0 clk: qcom: videocc-sm8150: Add missing PLL config property
| * 84ee04572f clk: qcom: videocc-sm8150: Update the videocc resets
| * 74bbdacf1b dt-bindings: clock: Update the videocc resets for sm8150
| * 0c8ba6937a gpu/drm/radeon: fix two memleaks in radeon_vm_init
| * 520e213a0b drivers/amd/pm: fix a use-after-free in kv_parse_power_table
| * aeed2b4e4a drm/amd/pm: fix a double-free in si_dpm_init
| * d53fee9e34 drm/amdgpu/debugfs: fix error code when smc register accessors are NULL
| * 56a79c68b5 media: dvb-frontends: m88ds3103: Fix a memory leak in an error handling path of m88ds3103_probe()
| * b5ebb9b4c1 media: dvbdev: drop refcount on error path in dvb_device_open()
| * 9284f409e4 f2fs: fix to update iostat correctly in f2fs_filemap_fault()
| * 40d36882c7 f2fs: fix to check compress file in f2fs_move_file_range()
| * b864287581 media: rkisp1: Disable runtime PM in probe error path
| * 962b35733b clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config
| * 21a30b5969 media: cx231xx: fix a memleak in cx231xx_init_isoc
| * abd50cebf9 drm/bridge: tc358767: Fix return value on error case
| * 3f6932b5ba drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table
| * e646308eda drm/radeon/dpm: fix a memleak in sumo_parse_power_table
| * 57ca798480 drm/radeon: check the alloc_workqueue return value in radeon_crtc_init()
| * c20a6aa0a3 drm/drv: propagate errors from drm_modeset_register_all()
| * da5e0feb12 drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks
| * b704eabe87 drm/msm/mdp4: flush vblank event on disable
| * 96f5856867 ASoC: cs35l34: Fix GPIO name and drop legacy include
| * defe0327f5 ASoC: cs35l33: Fix GPIO name and drop legacy include
| * 1421b06618 drm/radeon: check return value of radeon_ring_lock()
| * 9924469212 drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check()
| * ca267f79a5 drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg()
| * 6f866885e1 f2fs: fix to avoid dirent corruption
| * 13ea8af957 drm/bridge: Fix typo in post_disable() description
| * 3233d8bf78 media: pvrusb2: fix use after free on context disconnection
| * 53926e2a39 drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function
| * 1eb7ceae48 drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer
| * b1a07165be rcu: Create an unrcu_pointer() to remove __rcu from a pointer
| * 1d1d5b90ea drm/panel-elida-kd35t133: hold panel in reset for unprepare
| * 7794c14812 RDMA/usnic: Silence uninitialized symbol smatch warnings
| * d807f4ef22 ARM: davinci: always select CONFIG_CPU_ARM926T
| * da23bd709b ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()
| * 4e09df9b24 Bluetooth: btmtkuart: fix recv_buf() return value
| * fd54d16613 Bluetooth: Fix bogus check for re-auth no supported with non-ssp
| * 15be96e1a6 netfilter: nf_tables: mark newset as dead on transaction abort
| * 6f39bea662 wifi: rtlwifi: rtl8192se: using calculate_bit_shift()
| * c713826653 wifi: rtlwifi: rtl8192ee: using calculate_bit_shift()
| * 99f56c3f7c wifi: rtlwifi: rtl8192de: using calculate_bit_shift()
| * b75b68dde5 rtlwifi: rtl8192de: make arrays static const, makes object smaller
| * df14e43219 wifi: rtlwifi: rtl8192ce: using calculate_bit_shift()
| * 016781c16e wifi: rtlwifi: rtl8192cu: using calculate_bit_shift()
| * bf277a76d3 wifi: rtlwifi: rtl8192c: using calculate_bit_shift()
| * 483c975e40 wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift()
| * 31b651a7a1 wifi: rtlwifi: add calculate_bit_shift()
| * 64299791d0 dma-mapping: clear dev->dma_mem to NULL after freeing it
| * a6dd109564 dma-mapping: Add dma_release_coherent_memory to DMA API
| * ad43344ab4 virtio/vsock: fix logic which reduces credit update messages
| * 30ae0c6631 selftests/net: fix grep checking for fib_nexthop_multiprefix
| * 7a0f8295e7 scsi: hisi_sas: Replace with standard error code return value
| * afea95d319 bpf: Fix verification of indirect var-off stack access
| * 419ab8f74a arm64: dts: qcom: sdm845-db845c: correct LED panic indicator
| * 812cebdc5f arm64: dts: qcom: qrb5165-rb5: correct LED panic indicator
| * ba31bb08c1 scsi: fnic: Return error if vmalloc() failed
| * 2757f17972 bpf: fix check for attempt to corrupt spilled pointer
| * 7e98bbeb07 arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type
| * d49863ed28 wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
| * 2799324d92 firmware: meson_sm: populate platform devices from sm device tree data
| * 3959dbb375 firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
| * 01f9feb5ed net/ncsi: Fix netlink major/minor version numbers
| * 7bcddd12a9 ncsi: internal.h: Fix a spello
| * ae98b7f7bb ARM: dts: qcom: apq8064: correct XOADC register address
| * 4675cacd6b wifi: libertas: stop selecting wext
| * 24d8aef5d9 wifi: ath11k: Defer on rproc_get failure
| * 91f3111558 bpf: Add crosstask check to __bpf_get_stack
| * d5d181df8d bpf, lpm: Fix check prefixlen before walking trie
| * eb0eac5736 wifi: rtw88: fix RX filter in FIF_ALLMULTI flag
| * d8caf15ab1 NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT
| * 722c700dd8 blocklayoutdriver: Fix reference leak of pnfs_device_node
| * 4518dc468c crypto: scomp - fix req->dst buffer overflow
| * 1798c8fd00 crypto: sahara - do not resize req->src when doing hash operations
| * 67ae336f3b crypto: sahara - fix processing hash requests with req->nbytes < sg->length
| * b3287c8a7e crypto: sahara - improve error handling in sahara_sha_process()
| * 98985edab6 crypto: sahara - fix wait_for_completion_timeout() error handling
| * 69451bf97c crypto: sahara - fix ahash reqsize
| * d8d9580831 crypto: sahara - handle zero-length aes requests
| * b839648d05 crypto: sahara - avoid skcipher fallback code duplication
| * 14f57a013a crypto: virtio - Wait for tasklet to complete on device remove
| * 5c28478af3 gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump
| * 57c7b331f0 gfs2: Also reflect single-block allocations in rgd->rd_extfail_pt
| * 22f63f9bc8 Revert "gfs2: Don't reject a supposedly full bitmap if we have blocks reserved"
| * cd48d2a8e6 fs: indicate request originates from old mount API
| * acd413da3e pstore: ram_core: fix possible overflow in persistent_ram_init_ecc()
| * c60fd7a663 crypto: sahara - fix error handling in sahara_hw_descriptor_create()
| * 25b7ca747b crypto: sahara - fix processing requests with cryptlen < sg->length
| * fc91d32c7d crypto: sahara - fix ahash selftest failure
| * 4f4786b818 crypto: sahara - fix cbc selftest failure
| * ccdb86c339 crypto: sahara - remove FLAGS_NEW_KEY logic
| * 7f807dc073 crypto: af_alg - Disallow multiple in-flight AIO requests
| * 97f9d0455b crypto: ccp - fix memleak in ccp_init_dm_workarea
| * 95586bb74b crypto: sa2ul - Return crypto_aead_setkey to transfer the error
| * 0eb69890e8 crypto: virtio - Handle dataq logic with tasklet
| * 0dee72f9b7 virtio-crypto: wait ctrl queue instead of busy polling
| * 4ee475e76b virtio-crypto: use private buffer for control request
| * 7d386768ef virtio-crypto: change code style
| * 1ff5742889 virtio-crypto: implement RSA algorithm
| * f32dfee5a6 virtio-crypto: introduce akcipher service
| * b2092cdcda virtio_crypto: Introduce VIRTIO_CRYPTO_NOSPC
| * 1bc7a682ed selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket
| * 001a3f59d8 mtd: Fix gluebi NULL pointer dereference caused by ftl notifier
| * 1d7b39c842 ACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error
| * 46e3dc02a4 spi: sh-msiof: Enforce fixed DTDL for R-Car H3
| * 94c742324e efivarfs: force RO when remounting if SetVariable is not supported
| * 44a88650ba calipso: fix memory leak in netlbl_calipso_add_pass()
| * 5ac84b01a0 netlabel: remove unused parameter in netlbl_netlink_auditinfo()
| * 47210a5754 net: netlabel: Fix kerneldoc warnings
| * d5ce66bdf6 cpufreq: scmi: process the result of devm_of_clk_add_hw_provider()
| * fda1309205 cpufreq: Use of_property_present() for testing DT property presence
| * ba7c7e3530 of: Add of_property_present() helper
| * ded221bf4c of: property: define of_property_read_u{8,16,32,64}_array() unconditionally
| * f39c3d578c ACPI: LPIT: Avoid u32 multiplication overflow
| * c4e1a0ef0b ACPI: video: check for error while searching for backlight device parent
| * 11ac297aba mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response
| * f8df7c9886 spi: spi-zynqmp-gqspi: fix driver kconfig dependencies
| * 5a669f3511 powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
| * a67a04ad05 powerpc/powernv: Add a null pointer check in opal_powercap_init()
| * e6ad05e3ae powerpc/powernv: Add a null pointer check in opal_event_init()
| * 1eefa93faf powerpc/powernv: Add a null pointer check to scom_debug_init_one()
| * 428ab6a9dd selftests/powerpc: Fix error handling in FPU/VMX preemption tests
| * b582aa1f66 powerpc/pseries/memhp: Fix access beyond end of drmem array
| * f2ec41874b powerpc/pseries/memhotplug: Quieten some DLPAR operations
| * 81dce186f1 powerpc/44x: select I2C for CURRITUCK
| * d67339e9c8 powerpc: Remove in_kernel_text()
| * ecbbd90e70 powerpc: add crtsavres.o to always-y instead of extra-y
| * 6aa7865ba7 EDAC/thunderx: Fix possible out-of-bounds string access
| * 36dbbfff28 x86/lib: Fix overflow when counting digits
| * 83da4fc5aa coresight: etm4x: Fix width of CCITMIN field
| * 67d3d17e31 PCI: Add ACS quirk for more Zhaoxin Root Ports
| * e5457b54ad parport: parport_serial: Add Brainboxes device IDs and geometry
| * 937293ff64 parport: parport_serial: Add Brainboxes BAR details
| * 5e0be1229a uio: Fix use-after-free in uio_open
| * 214aac202d binder: fix comment on binder_alloc_new_buf() return value
| * 689f13128f binder: fix trivial typo of binder_free_buf_locked()
| * e18d60757b binder: use EPOLLERR from eventpoll.h
| * 19d949b37e ACPI: resource: Add another DMI match for the TongFang GMxXGxx
| * f138fb6e64 drm/crtc: fix uninitialized variable use
| * 7ba78e0823 ARM: sun9i: smp: fix return code check of of_property_match_string
| * 01d8918415 net: qrtr: ns: Return 0 if server port is not present
| * dbf8b0d938 ida: Fix crash in ida_free when the bitmap is empty
| * d8a07ba130 i2c: rk3x: fix potential spinlock recursion on poll
| * a57c59c85c Input: xpad - add Razer Wolverine V2 support
| * 86e4e2eea4 ARC: fix spare error
| * 9700ff5a4f s390/scm: fix virtual vs physical address confusion
| * 6e17155869 Input: i8042 - add nomux quirk for Acer P459-G2-M
| * b0e82ef611 Input: atkbd - skip ATKBD_CMD_GETID in translated mode
| * 6f1614080f reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
| * 8d6913d050 ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI
| * 439f3bbf75 tracing: Add size check when printing trace_marker output
| * bc6619c9aa tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing
| * c0f1db7380 jbd2: fix soft lockup in journal_finish_inode_data_buffers()
| * cd94f81f77 neighbour: Don't let neigh_forced_gc() disable preemption for long
| * 3887ba7198 drm/crtc: Fix uninit-value bug in drm_mode_setcrtc
| * 956b740f3e jbd2: correct the printing of write_flags in jbd2_write_superblock()
| * 656d684109 clk: rockchip: rk3128: Fix HCLK_OTG gate register
| * 05644e6365 drm/exynos: fix a wrong error checking
| * 0fc35b0d9f drm/exynos: fix a potential error pointer dereference
| * fb2f34d939 nvme: introduce helper function to get ctrl state
| * a8b1ddeeac ASoC: da7219: Support low DC impedance headset
| * 1059aa41c5 net/tg3: fix race condition in tg3_reset_task()
| * 44ad1b9eb3 nouveau/tu102: flush all pdbs on vmm flush
| * ffe13302b8 ASoC: rt5650: add mutex to avoid the jack detection failure
| * 8b50b177bf ASoC: cs43130: Fix incorrect frame delay configuration
| * 921ff9f2b1 ASoC: cs43130: Fix the position of const qualifier
| * 304529d564 ASoC: Intel: Skylake: mem leak in skl register function
| * 1e31b47b2e ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16
| * 9c89777c7d ASoC: Intel: Skylake: Fix mem leak in few functions
| * c78083013b ASoC: wm8974: Correct boost mixer inputs
| * 06a33eec1d nvme-core: check for too small lba shift
| * 974f127fcf drm/amdgpu: Fix cat debugfs amdgpu_regs_didt causes kernel null pointer
| * 52a33dbeac debugfs: fix automount d_fsdata usage
| * 65bde47aad mptcp: fix uninit-value in mptcp_incoming_options
| * 6b00598b64 ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro
| * 94e192054f pinctrl: lochnagar: Don't build on MIPS
| * 3e47740091 f2fs: explicitly null-terminate the xattr list
* | 62f62d810d Revert "ipv6: remove max_size check inline with ipv4"
* |   08731a14db Merge "Merge 5.10.208 into android12-5.10-lts" into android12-5.10-lts
|\ \
| * | 680475ab46 Merge 5.10.208 into android12-5.10-lts
| |\|
| | * 3fee45ee55 Linux 5.10.208
| | * 929ba86476 Revert "nvme: use command_id instead of req->tag in trace_nvme_complete_rq()"
| | * 8a10841c1a PCI: Disable ATS for specific Intel IPU E2000 devices
| | * b74a0c4ddf PCI: Extract ATS disabling to a helper function
| | * 25d1e7be85 netfilter: nf_tables: Reject tables of unsupported family
| | * 03585b18b7 drm/qxl: fix UAF on handle creation
| | * dd56c5790d ipv6: remove max_size check inline with ipv4
| | * c6b2a6b827 net: tls, update curr on splice as well
| | * d36b6b152f powerpc: update ppc_save_regs to save current r1 in pt_regs
| | * ae64985e0e mmc: sdhci-sprd: Fix eMMC init failure after hw reset
| | * f7796d76bd mmc: core: Cancel delayed work before releasing host
| | * c29da60e1f mmc: rpmb: fixes pause retune on all RPMB partitions.
| | * c82efcaad2 mmc: meson-mx-sdhc: Fix initialization frozen issue
| | * 73704c6b35 mm: fix unmap_mapping_range high bits shift bug
| | * 4aca0af447 i2c: core: Fix atomic xfer check for non-preempt config
| | * 0ba8c7ef19 x86/kprobes: fix incorrect return address calculation in kprobe_emulate_call_indirect
| | * 23c006a760 firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards
| | * 70168fdc74 mm/memory-failure: check the mapcount of the precise page
| | * 18203c4484 net: Implement missing SO_TIMESTAMPING_NEW cmsg support
| | * 701b03fc14 bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters()
| | * cfbf618e9a asix: Add check for usbnet_get_endpoints
| | * 0fc5fe6e41 net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues
| | * c492f9c7d3 net/qla3xxx: switch from 'pci_' to 'dma_' API
| | * 53e92564c5 i40e: Restore VF MSI-X state during PCI reset
| | * 6d3465c3dd ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux
| | * e08399e812 ASoC: meson: g12a-toacodec: Fix event generation
| | * 51e88b2cef ASoC: meson: g12a-tohdmitx: Validate written enum values
| | * 85f8d007de ASoC: meson: g12a-toacodec: Validate written enum values
| | * 21ecce2456 i40e: fix use-after-free in i40e_aqc_add_filters()
| | * f8c03fd826 net: Save and restore msg_namelen in sock_sendmsg
| | * 06ce3b8ec4 netfilter: nft_immediate: drop chain reference counter on error
| | * cf3c516dec netfilter: nftables: add loop check helper function
| | * 4366b7e1f5 net: bcmgenet: Fix FCS generation for fragmented skbuffs
| | * d1eb795385 sfc: fix a double-free bug in efx_probe_filters
| | * cb69cad457 ARM: sun9i: smp: Fix array-index-out-of-bounds read in sunxi_mc_smp_init
| | * 8abb7ab7cf net: sched: em_text: fix possible memory leak in em_text_destroy()
| | * ecdfb0970c i40e: Fix filter input checks to prevent config with invalid values
| | * 8d4ae760c7 drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern
| | * 3ff482518b octeontx2-af: Fix marking couple of structure as __packed
| | * 6adeb15cb6 nfc: llcp_core: Hold a ref to llcp_local->dev when holding a ref to llcp_local
| | * 74c9135d16 ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP ProBook 440 G6
| | * 132ba71b4e block: Don't invalidate pagecache for invalid falloc modes
| | * ef1d1d7c10 keys, dns: Fix missing size check of V1 server-list header
* | | 274aa12c42 ANDROID: db845c: Enable device tree overlay support
|/ /
* | c925f18af7 Merge 5.10.207 into android12-5.10-lts
|\|
| * 03a0e87f70 Linux 5.10.207
| * a7fd5c7ba4 scsi: core: Always send batch on reset or error handling command
| * e30419672e Revert "scsi: core: Add scsi_prot_ref_tag() helper"
| * f60f60e1de Revert "scsi: core: Introduce scsi_get_sector()"
| * a5edb40702 Revert "scsi: core: Make scsi_get_lba() return the LBA"
| * 2129297760 Revert "scsi: core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request"
| * cea19678bf Revert "scsi: core: Use a structure member to track the SCSI command submitter"
| * 6963d049a4 Revert "scsi: core: Always send batch on reset or error handling command"
* | 3d0828af52 Revert "ANDROID: GKI: Fix abi break in struct scsi_cmd"
* | ffc061ba7d ANDROID: GKI: Fix abi break in struct scsi_cmd
* | 8a9d593fd6 Merge 5.10.206 into android12-5.10-lts
|/
* cf13ba74e8 Linux 5.10.206
* 2df1e1887c spi: atmel: Fix PDC transfer setup bug
* 2a0a658ed6 Bluetooth: SMP: Fix crash when receiving new connection when debug is enabled
* ecd50f820d Revert "MIPS: Loongson64: Enable DMA noncoherent support"
* 9175341bd8 dm-integrity: don't modify bio's immutable bio_vec in integrity_metadata()
* 73117ea033 netfilter: nf_tables: skip set commit for deleted/destroyed sets
* 8bf79dec73 tracing: Fix blocked reader of snapshot buffer
* 0afe420228 ring-buffer: Fix wake ups when buffer_percent is set to 100
* 9db5239d75 scsi: core: Always send batch on reset or error handling command
* f2d30198c0 scsi: core: Use a structure member to track the SCSI command submitter
* df83ca8e98 scsi: core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
* d054858a9c scsi: core: Make scsi_get_lba() return the LBA
* f230e6d424 scsi: core: Introduce scsi_get_sector()
* 294d66c35a scsi: core: Add scsi_prot_ref_tag() helper
* 929f475eba spi: atmel: Fix CS and initialization bug
* 23d9267c54 spi: atmel: Switch to transfer_one transfer method
* db1b14eec8 Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg
* 0c54b79d1d smb: client: fix OOB in smbCalcSize()
* 203a412e52 smb: client: fix OOB in SMB2_query_info_init()
* 79e158ddc3 usb: fotg210-hcd: delete an incorrect bounds test
* da448f145f Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE
* 4bc912140b Bluetooth: use inclusive language in SMP
* e219c3110a Bluetooth: SMP: Convert BT_ERR/BT_DBG to bt_dev_err/bt_dev_dbg
* cdbc4a1115 ARM: dts: Fix occasional boot hang for am3 usb
* 1e2db0124c 9p/net: fix possible memory leak in p9_check_errors()
* c4a22227f7 x86/alternatives: Sync core before enabling interrupts
* 7d407ef183 lib/vsprintf: Fix %pfwf when current node refcount == 0
* 565fadc3ea bus: ti-sysc: Flush posted write only after srst_udelay
* e50cfb5447 tracing / synthetic: Disable events after testing in synth_event_gen_test_init()
* cd6e41593e dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp
* 786788bb13 net: ks8851: Fix TX stall caused by TX buffer overrun
* 391c1019a0 net: rfkill: gpio: set GPIO direction
* 6d7b8e5a6d net: 9p: avoid freeing uninit memory in p9pdu_vreadf
* 45b63f09ba Input: soc_button_array - add mapping for airplane mode button
* 2aa744ad0e Bluetooth: L2CAP: Send reject on command corrupted request
* 25a6fdd26d Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent
* 71e1c76540 USB: serial: option: add Quectel RM500Q R13 firmware support
* d521896bcc USB: serial: option: add Foxconn T99W265 with new baseline
* d0cf8a4bee USB: serial: option: add Quectel EG912Y module support
* f41f44cea9 USB: serial: ftdi_sio: update Actisense PIDs constant names
* 20d84a1946 wifi: cfg80211: fix certs build to not depend on file order
* 7a0a5cbfea wifi: cfg80211: Add my certificate
* 9dcf50da59 iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma()
* abbebddb19 iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table
* c40db29812 scsi: bnx2fc: Fix skb double free in bnx2fc_rcv()
* e3749f85fd Input: ipaq-micro-keys - add error handling for devm_kmemdup
* b5f67cea27 iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw
* 505df1c0ab interconnect: Treat xlate() returning NULL node as an error
* cc5eec86a4 btrfs: do not allow non subvolume root targets for snapshot
* bd267af18f smb: client: fix NULL deref in asn1_ber_decoder()
* 41350e813a ALSA: hda/hdmi: add force-connect quirk for NUC5CPYB
* a4692c38cd ALSA: hda/hdmi: Add quirk to force pin connectivity on NUC10
* e032ddb0e3 pinctrl: at91-pio4: use dedicated lock class for IRQ
* 0b85149a9d i2c: aspeed: Handle the coalesced stop conditions with the start conditions.
* 3dce7a52b2 afs: Fix overwriting of result of DNS query
* 97be1e865e keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry
* 9e0d18f946 net: check dev->gso_max_size in gso_features_check()
* 59dc16ce09 net: warn if gso_type isn't set for a GSO SKB
* 63ad66d484 afs: Fix dynamic root lookup DNS check
* 65d2c287fc afs: Fix the dynamic root's d_delete to always delete unused dentries
* a3218319ee net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev()
* 12e5a4719c net/rose: fix races in rose_kill_by_device()
* be0988c9b0 ethernet: atheros: fix a memleak in atl1e_setup_ring_resources
* 8b6f8bfe3a net: sched: ife: fix potential use-after-free
* f245312e9f net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors
* e8ba688a64 net/mlx5: Fix fw tracer first block check
* fc4c53f8e9 net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list()
* 50aa92e699 Revert "net/mlx5e: fix double free of encap_header"
* b851889e91 wifi: mac80211: mesh_plink: fix matches_local logic
* 717f08fb51 s390/vx: fix save/restore of fpu kernel context
* c48219fad1 reset: Fix crash when freeing non-existent optional resets
* c999682ce8 ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init
* dbc8edb80f smb: client: fix OOB in smb2_query_reparse_point()
* bc3c57493b ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE

Updates the .xml file to track the new symbol that is required:

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

1 Added function:

  [A] 'function int devm_pm_runtime_enable(device*)'

Change-Id: I68d1c499f716926e1e84a98895170b9d192019e8
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-03-28 10:29:56 +00:00
Yan Zhai
6c46d680e4 bpf: report RCU QS in cpumap kthread
[ Upstream commit 00bf63122459e87193ee7f1bc6161c83a525569f ]

When there are heavy load, cpumap kernel threads can be busy polling
packets from redirect queues and block out RCU tasks from reaching
quiescent states. It is insufficient to just call cond_resched() in such
context. Periodically raise a consolidated RCU QS before cond_resched
fixes the problem.

Fixes: 6710e11269 ("bpf: introduce new bpf cpu map type BPF_MAP_TYPE_CPUMAP")
Reviewed-by: Jesper Dangaard Brouer <hawk@kernel.org>
Signed-off-by: Yan Zhai <yan@cloudflare.com>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
Link: https://lore.kernel.org/r/c17b9f1517e19d813da3ede5ed33ee18496bb5d8.1710877680.git.yan@cloudflare.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:22:04 -04:00
Toke Høiland-Jørgensen
15641007df bpf: Fix stackmap overflow check on 32-bit arches
[ Upstream commit 7a4b21250bf79eef26543d35bd390448646c536b ]

The stackmap code relies on roundup_pow_of_two() to compute the number
of hash buckets, and contains an overflow check by checking if the
resulting value is 0. However, on 32-bit arches, the roundup code itself
can overflow by doing a 32-bit left-shift of an unsigned long value,
which is undefined behaviour, so it is not guaranteed to truncate
neatly. This was triggered by syzbot on the DEVMAP_HASH type, which
contains the same check, copied from the hashtab code.

The commit in the fixes tag actually attempted to fix this, but the fix
did not account for the UB, so the fix only works on CPUs where an
overflow does result in a neat truncation to zero, which is not
guaranteed. Checking the value before rounding does not have this
problem.

Fixes: 6183f4d3a0a2 ("bpf: Check for integer overflow when using roundup_pow_of_two()")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Reviewed-by: Bui Quang Minh <minhquangbui99@gmail.com>
Message-ID: <20240307120340.99577-4-toke@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:21:52 -04:00
Toke Høiland-Jørgensen
64f00b4df0 bpf: Fix hashtab overflow check on 32-bit arches
[ Upstream commit 6787d916c2cf9850c97a0a3f73e08c43e7d973b1 ]

The hashtab code relies on roundup_pow_of_two() to compute the number of
hash buckets, and contains an overflow check by checking if the
resulting value is 0. However, on 32-bit arches, the roundup code itself
can overflow by doing a 32-bit left-shift of an unsigned long value,
which is undefined behaviour, so it is not guaranteed to truncate
neatly. This was triggered by syzbot on the DEVMAP_HASH type, which
contains the same check, copied from the hashtab code. So apply the same
fix to hashtab, by moving the overflow check to before the roundup.

Fixes: daaf427c6a ("bpf: fix arraymap NULL deref and missing overflow and zero size checks")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Message-ID: <20240307120340.99577-3-toke@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:21:52 -04:00