Commit Graph

995675 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
df23049a96 This is the 5.10.176 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmQa9NgACgkQONu9yGCS
 aT4Iew//X/3+Bpiu+FyaYe0NZ4I95rQvNh4fG6wXCFd/PVbCRpxVOAKQ91GnkU+D
 iMeuGBPqkpPhHvesRybsq0u8GmJ+fJj58+fgy1ABI7UzkWihzNDu1n2RntYmuRvl
 TEEsAIS+6/lhVKosDhyYcXAL5eT8F06zFOI9HspWRe+lYoRBIQyykcLgZQwt5mBX
 qyKAFkvhH0Z77ATiID5alRkVArgi/t3qBUANTrJ7LqOlhtY42EOS0Sp7wpZWskqI
 7Mpb6pfODsOq5d+6zNvZzdrtMaKRBal0Inxj2+zLEYdSv+xbTqp4Cb6UI18gJTA7
 zsvItAzTRxp+7KiZVS2HP3uMRRV4lQ5HxgMJhSsONHSSRh7ndhkW7NQq/o/dRFm2
 IgVf1beHk2pE+LN0Plf2oQCOMV8h/vQRZLCejoQEbFy6oNQ6bA4btJaXZnfluqDb
 KXONyDqXZ3uX3DSrKO4pCNCTsm5JhinkFHhO125kjSkPp/k2YWXdnBftQT1mWPYf
 dbWu1z/E+3qvObedwNn+icuu/MUznZMTYwDOD31tJp+1iEBgeBQWI+IRaIaWbDyD
 dxSoV8cScNZz+X4M70EFlwJMYL/VcIzDljeH2EA3CImDycDH0tspo6z8Z+xFhsrg
 D1wshmaT9XkSEJ92xDMw82B/1noOati75HpkUW1W/PKTqvjH/uU=
 =/t/A
 -----END PGP SIGNATURE-----

Merge 5.10.176 into android12-5.10-lts

Changes in 5.10.176
	xfrm: Allow transport-mode states with AF_UNSPEC selector
	drm/panfrost: Don't sync rpm suspension after mmu flushing
	cifs: Move the in_send statistic to __smb_send_rqst()
	drm/meson: fix 1px pink line on GXM when scaling video overlay
	clk: HI655X: select REGMAP instead of depending on it
	docs: Correct missing "d_" prefix for dentry_operations member d_weak_revalidate
	scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add()
	ALSA: hda: Match only Intel devices with CONTROLLER_IN_GPU()
	netfilter: nft_nat: correct length for loading protocol registers
	netfilter: nft_masq: correct length for loading protocol registers
	netfilter: nft_redir: correct length for loading protocol registers
	netfilter: nft_redir: correct value of inet type `.maxattrs`
	scsi: core: Fix a comment in function scsi_host_dev_release()
	scsi: core: Fix a procfs host directory removal regression
	tcp: tcp_make_synack() can be called from process context
	nfc: pn533: initialize struct pn533_out_arg properly
	ipvlan: Make skb->skb_iif track skb->dev for l3s mode
	i40e: Fix kernel crash during reboot when adapter is in recovery mode
	net/smc: fix NULL sndbuf_desc in smc_cdc_tx_handler()
	qed/qed_dev: guard against a possible division by zero
	net: tunnels: annotate lockless accesses to dev->needed_headroom
	net: phy: smsc: bail out in lan87xx_read_status if genphy_read_status fails
	nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition
	net/smc: fix deadlock triggered by cancel_delayed_work_syn()
	net: usb: smsc75xx: Limit packet length to skb->len
	drm/bridge: Fix returned array size name for atomic_get_input_bus_fmts kdoc
	null_blk: Move driver into its own directory
	block: null_blk: Fix handling of fake timeout request
	nvme: fix handling single range discard request
	nvmet: avoid potential UAF in nvmet_req_complete()
	block: sunvdc: add check for mdesc_grab() returning NULL
	ice: xsk: disable txq irq before flushing hw
	net: dsa: mv88e6xxx: fix max_mtu of 1492 on 6165, 6191, 6220, 6250, 6290
	ipv4: Fix incorrect table ID in IOCTL path
	net: usb: smsc75xx: Move packet length check to prevent kernel panic in skb_pull
	net/iucv: Fix size of interrupt data
	selftests: net: devlink_port_split.py: skip test if no suitable device available
	qed/qed_mng_tlv: correctly zero out ->min instead of ->hour
	ethernet: sun: add check for the mdesc_grab()
	hwmon: (adt7475) Display smoothing attributes in correct order
	hwmon: (adt7475) Fix masking of hysteresis registers
	hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition
	hwmon: (ina3221) return prober error code
	hwmon: (ucd90320) Add minimum delay between bus accesses
	hwmon: tmp512: drop of_match_ptr for ID table
	hwmon: (adm1266) Set `can_sleep` flag for GPIO chip
	media: m5mols: fix off-by-one loop termination error
	mmc: atmel-mci: fix race between stop command and start of next command
	jffs2: correct logic when creating a hole in jffs2_write_begin
	ext4: fail ext4_iget if special inode unallocated
	ext4: fix task hung in ext4_xattr_delete_inode
	drm/amdkfd: Fix an illegal memory access
	sh: intc: Avoid spurious sizeof-pointer-div warning
	drm/amd/display: fix shift-out-of-bounds in CalculateVMAndRowBytes
	ext4: fix possible double unlock when moving a directory
	tty: serial: fsl_lpuart: skip waiting for transmission complete when UARTCTRL_SBK is asserted
	serial: 8250_em: Fix UART port type
	firmware: xilinx: don't make a sleepable memory allocation from an atomic context
	interconnect: fix mem leak when freeing nodes
	tracing: Make splice_read available again
	tracing: Check field value in hist_field_name()
	tracing: Make tracepoint lockdep check actually test something
	cifs: Fix smb2_set_path_size()
	KVM: nVMX: add missing consistency checks for CR0 and CR4
	ALSA: hda: intel-dsp-config: add MTL PCI id
	ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro
	drm/shmem-helper: Remove another errant put in error path
	mptcp: avoid setting TCP_CLOSE state twice
	ftrace: Fix invalid address access in lookup_rec() when index is 0
	mm/userfaultfd: propagate uffd-wp bit when PTE-mapping the huge zeropage
	mmc: sdhci_am654: lower power-on failed message severity
	fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
	cpuidle: psci: Iterate backwards over list in psci_pd_remove()
	x86/mce: Make sure logged MCEs are processed after sysfs update
	x86/mm: Fix use of uninitialized buffer in sme_enable()
	drm/i915: Don't use stolen memory for ring buffers with LLC
	drm/i915/active: Fix misuse of non-idle barriers as fence trackers
	io_uring: avoid null-ptr-deref in io_arm_poll_handler
	s390/ipl: add missing intersection check to ipl_report handling
	PCI: Unify delay handling for reset and resume
	PCI/DPC: Await readiness of secondary bus after reset
	xfs: don't assert fail on perag references on teardown
	xfs: purge dquots after inode walk fails during quotacheck
	xfs: don't leak btree cursor when insrec fails after a split
	xfs: remove XFS_PREALLOC_SYNC
	xfs: fallocate() should call file_modified()
	xfs: set prealloc flag in xfs_alloc_file_space()
	xfs: use setattr_copy to set vfs inode attributes
	fs: add mode_strip_sgid() helper
	fs: move S_ISGID stripping into the vfs_*() helpers
	attr: add in_group_or_capable()
	fs: move should_remove_suid()
	attr: add setattr_should_drop_sgid()
	attr: use consistent sgid stripping checks
	fs: use consistent setgid checks in is_sxid()
	xfs: remove xfs_setattr_time() declaration
	HID: core: Provide new max_buffer_size attribute to over-ride the default
	HID: uhid: Over-ride the default maximum data buffer value with our own
	Linux 5.10.176

Change-Id: Icd45189f4182c749d1758c13e18705abb4ea9c5a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-24 16:03:04 +00:00
Greg Kroah-Hartman
9b0fcb1986 ANDROID: preserve CRC for __irq_domain_add()
The __irq_domain_add() function changed in commit bb7597777c
("irqdomain: Change the type of 'size' in __irq_domain_add() to be
consistent") in order to make later commits in the series able to be
applied easier.  The commit does not actually change any functionality,
but the CRC is now changed, so trick the CRC tools to think all is still
the same.

function symbol changed from 'struct irq_domain * __irq_domain_add(struct fwnode_handle *, int, irq_hw_number_t, int, const struct irq_domain_ops *, void *)' to 'struct irq_domain * __irq_domain_add(struct fwnode_handle *, unsigned int, irq_hw_number_t, int, const struct irq_domain_ops *, void *)'
  type changed from 'struct irq_domain *(struct fwnode_handle *, int, irq_hw_number_t, int, const struct irq_domain_ops *, void *)' to 'struct irq_domain *(struct fwnode_handle *, unsigned int, irq_hw_number_t, int, const struct irq_domain_ops *, void *)'
    parameter 2 ('size') type changed from 'int' to 'unsigned int'
      encoding changed from signed integer to unsigned integer

Bug: 161946584
Fixes: bb7597777c ("irqdomain: Change the type of 'size' in __irq_domain_add() to be consistent")
Change-Id: I3065753600072c4ab4def2c3b1d6420e1946bdeb
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-24 16:00:51 +00:00
Greg Kroah-Hartman
87cdb8101e This is the 5.10.175 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmQUGpYACgkQONu9yGCS
 aT6Tvw/6ArxWVYpls1upkabuByNmK0vvbDD5uyBzJpJUf1sbKQqG6myLaPSuq0gp
 L/xJrdtP6Nk6hrqPgEfI4bNvX2ycBJZyQQdfTAf99bRiA+iZG1C6Opg7GUj5uJbM
 56w0/Gr+SjaDWw2f0j0yJRYIBn4PzJ6RyxYHaVA+s8jQ8n0wzRRdT3UXA2dNOid/
 5YSCIm9bvBchLBVHqtVk49wzo21kRPKGHxu0tYMdsLfMMmnp+guozvGbcn/JRK0g
 CHQF4UNy8wgtkUOYHPJl5IdWqaHxc6wrJ+NBMgrhF30RFshIA4ZC5+3EVD0fPO1i
 WyxUwnGPMXKHN84lr/vGrwVRUrrF0sbtUmashGI8Eo4t9fm4O0f/zG4d5MHKfRVq
 lXqRDu/uqe29IIXQJCpDTA8VChXSMWgNpN8KTatd1MaV5MZaqkspvXp/8Jg9rwrf
 IoE/0zDtp/QuIianJ684bQ7VvK0dzPc0KIYlRsntrJlMw0ZCwFWuhSoSDDhcvsU8
 eydVpncw+Z5/whuB6ilGQM8C7XnUjcOViDh8ppz8jIIwP6CErBUTPv35iRkimSKQ
 JBQVVSuGWd02jRYNXgarlMQ1z/5A1puHHEOieuIUP7z8eTUkPUIxRnHt65CozdbG
 tFNpv0MuLkOqUTN3+YIV6uz0UyemJIID6qgY68FRKfjwBhyEFik=
 =yaay
 -----END PGP SIGNATURE-----

Merge 5.10.175 into android12-5.10-lts

Changes in 5.10.175
	fs: prevent out-of-bounds array speculation when closing a file descriptor
	fork: allow CLONE_NEWTIME in clone3 flags
	x86/CPU/AMD: Disable XSAVES on AMD family 0x17
	drm/amdgpu: fix error checking in amdgpu_read_mm_registers for soc15
	drm/connector: print max_requested_bpc in state debugfs
	ext4: fix cgroup writeback accounting with fs-layer encryption
	ext4: fix RENAME_WHITEOUT handling for inline directories
	ext4: fix another off-by-one fsmap error on 1k block filesystems
	ext4: move where set the MAY_INLINE_DATA flag is set
	ext4: fix WARNING in ext4_update_inline_data
	ext4: zero i_disksize when initializing the bootloader inode
	nfc: change order inside nfc_se_io error path
	udf: Fix off-by-one error when discarding preallocation
	irq: Fix typos in comments
	irqdomain: Look for existing mapping only once
	irqdomain: Refactor __irq_domain_alloc_irqs()
	irqdomain: Fix mapping-creation race
	irqdomain: Change the type of 'size' in __irq_domain_add() to be consistent
	irqdomain: Fix domain registration race
	iommu/vt-d: Fix lockdep splat in intel_pasid_get_entry()
	iommu/vt-d: Fix PASID directory pointer coherency
	arm64: efi: Make efi_rt_lock a raw_spinlock
	RISC-V: Avoid dereferening NULL regs in die()
	riscv: Avoid enabling interrupts in die()
	riscv: Add header include guards to insn.h
	scsi: core: Remove the /proc/scsi/${proc_name} directory earlier
	ext4: Fix possible corruption when moving a directory
	drm/nouveau/kms/nv50-: remove unused functions
	drm/nouveau/kms/nv50: fix nv50_wndw_new_ prototype
	drm/msm: Fix potential invalid ptr free
	drm/msm/a5xx: fix setting of the CP_PREEMPT_ENABLE_LOCAL register
	drm/msm: Document and rename preempt_lock
	drm/msm/a5xx: fix the emptyness check in the preempt code
	drm/msm/a5xx: fix context faults during ring switch
	bgmac: fix *initial* chip reset to support BCM5358
	nfc: fdp: add null check of devm_kmalloc_array in fdp_nci_i2c_read_device_properties
	powerpc: dts: t1040rdb: fix compatible string for Rev A boards
	ila: do not generate empty messages in ila_xlat_nl_cmd_get_mapping()
	selftests: nft_nat: ensuring the listening side is up before starting the client
	net: usb: lan78xx: Remove lots of set but unused 'ret' variables
	net: lan78xx: fix accessing the LAN7800's internal phy specific registers from the MAC driver
	net: caif: Fix use-after-free in cfusbl_device_notify()
	net: stmmac: add to set device wake up flag when stmmac init phy
	net: phylib: get rid of unnecessary locking
	bnxt_en: Avoid order-5 memory allocation for TPA data
	netfilter: ctnetlink: revert to dumping mark regardless of event type
	netfilter: tproxy: fix deadlock due to missing BH disable
	btf: fix resolving BTF_KIND_VAR after ARRAY, STRUCT, UNION, PTR
	net: ethernet: mtk_eth_soc: fix RX data corruption issue
	scsi: megaraid_sas: Update max supported LD IDs to 240
	platform: x86: MLX_PLATFORM: select REGMAP instead of depending on it
	net/smc: fix fallback failed while sendmsg with fastopen
	SUNRPC: Fix a server shutdown leak
	riscv: Use READ_ONCE_NOCHECK in imprecise unwinding stack mode
	RISC-V: Don't check text_mutex during stop_machine
	ext4: Fix deadlock during directory rename
	iommu/amd: Add a length limitation for the ivrs_acpihid command-line parameter
	watch_queue: fix IOC_WATCH_QUEUE_SET_SIZE alloc error paths
	tpm/eventlog: Don't abort tpm_read_log on faulty ACPI address
	block, bfq: fix possible uaf for 'bfqq->bic'
	block, bfq: fix uaf for bfqq in bfq_exit_icq_bfqq
	block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"
	block, bfq: replace 0/1 with false/true in bic apis
	block, bfq: fix uaf for bfqq in bic_set_bfqq()
	MIPS: Fix a compilation issue
	powerpc/kcsan: Exclude udelay to prevent recursive instrumentation
	alpha: fix R_ALPHA_LITERAL reloc for large modules
	macintosh: windfarm: Use unsigned type for 1-bit bitfields
	PCI: Add SolidRun vendor ID
	scripts: handle BrokenPipeError for python scripts
	media: ov5640: Fix analogue gain control
	media: rc: gpio-ir-recv: add remove function
	ipmi/watchdog: replace atomic_add() and atomic_sub()
	ipmi:watchdog: Set panic count to proper value on a panic
	skbuff: Fix nfct leak on napi stolen
	drm/i915: Don't use BAR mappings for ring buffers with LLC
	ext4: refactor ext4_free_blocks() to pull out ext4_mb_clear_bb()
	ext4: add ext4_sb_block_valid() refactored out of ext4_inode_block_valid()
	ext4: add strict range checks while freeing blocks
	ext4: block range must be validated before use in ext4_mb_clear_bb()
	arch: fix broken BuildID for arm64 and riscv
	powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
	powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
	s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
	sh: define RUNTIME_DISCARD_EXIT
	UML: define RUNTIME_DISCARD_EXIT
	KVM: nVMX: Don't use Enlightened MSR Bitmap for L3
	KVM: VMX: Introduce vmx_msr_bitmap_l01_changed() helper
	KVM: VMX: Fix crash due to uninitialized current_vmcs
	s390/dasd: add missing discipline function
	Linux 5.10.175

Change-Id: Ia88bd3919a9280f6aa87c2a048ad156d7f3f2e1d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-24 14:42:30 +00:00
Greg Kroah-Hartman
1baa036104 Merge 5.10.174 into android12-5.10-lts
Changes in 5.10.174
	wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext"
	staging: rtl8192e: Remove function ..dm_check_ac_dc_power calling a script
	staging: rtl8192e: Remove call_usermodehelper starting RadioPower.sh
	Linux 5.10.174

Change-Id: Ia794e92ff18af212189321d9e505987f135da5d1
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-24 14:38:51 +00:00
Greg Kroah-Hartman
fe51d37c6c Merge branch 'android12-5.10' into android12-5.10-lts
Sync up with android12-5.10 for the following commits:

976d98e9aa ANDROID: ABI: Add page_pinner_inited into symbols list
16c2b1d94f ANDROID: page_pinner: prevent pp_buffer access before initialization
cd1d9c42a2 UPSTREAM: hwrng: virtio - add an internal buffer
05fa7d8eee ANDROID: fix ABI by undoing atomic64_t -> u64 type conversion
cda90416c0 UPSTREAM: net: retrieve netns cookie via getsocketopt
78a559e2a9 UPSTREAM: net: initialize net->net_cookie at netns setup
fb0cece721 Merge tag 'android12-5.10.168_r00' into android12-5.10
989d4c69a9 UPSTREAM: ext4: fix another off-by-one fsmap error on 1k block filesystems
b0d829f27f UPSTREAM: ext4: block range must be validated before use in ext4_mb_clear_bb()
0301fe419a UPSTREAM: ext4: add strict range checks while freeing blocks
1d4b2a4ad7 UPSTREAM: ext4: add ext4_sb_block_valid() refactored out of ext4_inode_block_valid()
8ddbd3df93 UPSTREAM: ext4: refactor ext4_free_blocks() to pull out ext4_mb_clear_bb()
370cb1c270 UPSTREAM: usb: dwc3: core: do not use 3.0 clock when operating in 2.0 mode
eb53a59b4d ANDROID: GKI: rockchip: Add symbols for clk api
a13e8447e8 BACKPORT: arm64: mte: move register initialization to C
eddac45546 UPSTREAM: rcu: Remove __read_mostly annotations from rcu_scheduler_active externs
afff17f583 ANDROID: GKI: Update symbol list for mtk
62f5fae173 UPSTREAM: ext4: refuse to create ea block when umounted
33245a0eac UPSTREAM: ext4: optimize ea_inode block expansion
09e5cc649d UPSTREAM: ext4: allocate extended attribute value in vmalloc area
8926771f7e UPSTREAM: usb: gadget: composite: Draw 100mA current if not configured
87a065fb94 UPSTREAM: usb: dwc3: gadget: Change condition for processing suspend event
26638f8e54 ANDROID: GKI: update xiaomi symbol list
193b312b2f UPSTREAM: net/sched: tcindex: update imperfect hash filters respecting rcu
9a1be9a472 FROMGIT: KVM: arm64: Ignore kvm-arm.mode if !is_hyp_mode_available()
dbcd8cb535 UPSTREAM: KVM: arm64: Allow KVM to be disabled from the command line
631630d75f ANDROID: ABI: Cuttlefish Symbol update
278dfb09d7 Revert "ANDROID: dma-ops: Add restricted vendor hook"
c2e3f757d3 UPSTREAM: io_uring: ensure that io_init_req() passes in the right issue_flags
9abdacf47f FROMGIT: usb: gadget: configfs: Restrict symlink creation is UDC already binded
d415c6e56f UPSTREAM: io_uring: add missing lock in io_get_file_fixed
52cc662810 ANDROID: ABI: Update oplus symbol list
d01f7e1269 ANDROID: vendor_hooks: Add hooks for mutex and rwsem optimistic spin
d4d05c6e6e ANDROID: dma-buf: heaps: Don't lock unused dmabuf_page_pool mutex
1d05213028 ANDROID: mm/filemap: Fix missing put_page() for speculative page fault
fda8a58faa UPSTREAM: KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS
5692e2bb4e UPSTREAM: net: qrtr: combine nameservice into main module
4b9d11ae5f ANDROID: GKI: Update symbol list for mtk
b086cc7361 FROMLIST: rcu-tasks: Fix build error
7fd4fbe615 ANDROID: incremental fs: Move throttling to outside page lock
5d9b0e83e3 ANDROID: incremental fs: Fix race between truncate and write last block
6a8037d4eb UPSTREAM: usb: gadget: u_serial: Add null pointer check in gserial_resume
f0be4b9779 Revert "ANDROID: GKI: loadavg: Export for get_avenrun"
781e1c83ef ANDROID: ABI: Update allowed list for QCOM
579f8bf863 ANDROID: Update symbol list for mtk
80b27def69 UPSTREAM: ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
a4d6d4d1e7 UPSTREAM: net_sched: reject TCF_EM_SIMPLE case for complex ematch module
fb952695c8 UPSTREAM: io_uring/rw: remove leftover debug statement
ca331f289a UPSTREAM: io_uring/rw: ensure kiocb_end_write() is always called
d54d41716d UPSTREAM: io_uring: fix double poll leak on repolling
fc978be7b2 UPSTREAM: io_uring: Clean up a false-positive warning from GCC 9.3.0
827f8fcb29 UPSTREAM: io_uring/net: fix fast_iov assignment in io_setup_async_msg()
403642c036 UPSTREAM: io_uring: io_kiocb_update_pos() should not touch file for non -1 offset
0c50a117bf UPSTREAM: io_uring/rw: defer fsnotify calls to task context
b29c357309 UPSTREAM: io_uring: do not recalculate ppos unnecessarily
84e34d2ef5 UPSTREAM: io_uring: update kiocb->ki_pos at execution time
b543e0d210 UPSTREAM: io_uring: remove duplicated calls to io_kiocb_ppos
9166f5418a UPSTREAM: io_uring: ensure that cached task references are always put on exit
fee5372abf UPSTREAM: io_uring: fix CQ waiting timeout handling
a4d056e350 UPSTREAM: io_uring: lock overflowing for IOPOLL
0dfe72e890 UPSTREAM: io_uring: check for valid register opcode earlier
1b735b5eb2 UPSTREAM: io_uring: fix async accept on O_NONBLOCK sockets
63bf975936 UPSTREAM: io_uring: allow re-poll if we made progress
a64d6ea01b UPSTREAM: io_uring: support MSG_WAITALL for IORING_OP_SEND(MSG)
cf7ef78842 UPSTREAM: io_uring: add flag for disabling provided buffer recycling
45b2a34e21 UPSTREAM: io_uring: ensure recv and recvmsg handle MSG_WAITALL correctly
4b912a635e UPSTREAM: io_uring: improve send/recv error handling
ef0c71d0f1 UPSTREAM: io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL
1531e1fb8d BACKPORT: iommu: Avoid races around device probe
60944bdddc UPSTREAM: io_uring/io-wq: only free worker if it was allocated for creation
ac06912075 UPSTREAM: io_uring/io-wq: free worker if task_work creation is canceled
98a15feed0 UPSTREAM: io_uring: Fix unsigned 'res' comparison with zero in io_fixup_rw_res()
a234cc4e55 UPSTREAM: um: Increase stack frame size threshold for signal.c
d40d310e5e ANDROID: GKI: Enable ARM64_ERRATUM_2454944
9d2ec2e0b6 ANDROID: dma-ops: Add restricted vendor hook
3c75a6fb7f ANDROID: arm64: Work around Cortex-A510 erratum 2454944
865f370bf9 ANDROID: mm/vmalloc: Add override for lazy vunmap
1eb5992d60 ANDROID: cpuidle-psci: Fix suspicious RCU usage
d6b2899ce6 ANDROID: ABI: update allowed list for galaxy
3fcc69ca4d FROMGIT: f2fs: add sysfs nodes to set last_age_weight
899476c3af FROMGIT: f2fs: fix wrong calculation of block age
d0f788b8fa ANDROID: struct io_uring ABI preservation hack for 5.10.162 changes
fef924db72 ANDROID: fix up struct task_struct ABI change in 5.10.162
d369ac0b2a ANDROID: add flags variable back to struct proto_ops
5756328b3f UPSTREAM: io_uring: pass in EPOLL_URING_WAKE for eventfd signaling and wakeups
72d1c48675 UPSTREAM: eventfd: provide a eventfd_signal_mask() helper
d7a47b29d5 UPSTREAM: eventpoll: add EPOLL_URING_WAKE poll wakeup flag
7c9f38c09b UPSTREAM: Revert "proc: don't allow async path resolution of /proc/self components"
498b35b3c4 UPSTREAM: Revert "proc: don't allow async path resolution of /proc/thread-self components"
4b17dea786 UPSTREAM: net: remove cmsg restriction from io_uring based send/recvmsg calls
d10f30da0d UPSTREAM: task_work: unconditionally run task_work from get_signal()
62822bf630 UPSTREAM: signal: kill JOBCTL_TASK_WORK
5e6347b586 UPSTREAM: io_uring: import 5.15-stable io_uring
518e02ed06 UPSTREAM: task_work: add helper for more targeted task_work canceling
86acb6a529 UPSTREAM: kernel: don't call do_exit() for PF_IO_WORKER threads
52f564e57b UPSTREAM: kernel: stop masking signals in create_io_thread()
bcb749b0b1 UPSTREAM: x86/process: setup io_threads more like normal user space threads
1f4eb35546 UPSTREAM: arch: ensure parisc/powerpc handle PF_IO_WORKER in copy_thread()
150dea15cb UPSTREAM: arch: setup PF_IO_WORKER threads like PF_KTHREAD
cf487d3c6a UPSTREAM: entry/kvm: Exit to user mode when TIF_NOTIFY_SIGNAL is set
6e4362caf9 UPSTREAM: kernel: allow fork with TIF_NOTIFY_SIGNAL pending
b25b8c55ba UPSTREAM: coredump: Limit what can interrupt coredumps
723de95c0c UPSTREAM: kernel: remove checking for TIF_NOTIFY_SIGNAL
8492c5dd3b UPSTREAM: task_work: remove legacy TWA_SIGNAL path
1987566815 UPSTREAM: alpha: fix TIF_NOTIFY_SIGNAL handling
ad4ba3038a UPSTREAM: ARC: unbork 5.11 bootup: fix snafu in _TIF_NOTIFY_SIGNAL handling
bb855b51a9 UPSTREAM: ia64: don't call handle_signal() unless there's actually a signal queued
7140fddd84 UPSTREAM: sparc: add support for TIF_NOTIFY_SIGNAL
c9c70c8cb6 UPSTREAM: riscv: add support for TIF_NOTIFY_SIGNAL
52a756bf17 UPSTREAM: nds32: add support for TIF_NOTIFY_SIGNAL
6eaa6653e4 UPSTREAM: ia64: add support for TIF_NOTIFY_SIGNAL
1dcd12493b UPSTREAM: h8300: add support for TIF_NOTIFY_SIGNAL
b265cdb085 UPSTREAM: c6x: add support for TIF_NOTIFY_SIGNAL
f4ece56973 UPSTREAM: alpha: add support for TIF_NOTIFY_SIGNAL
01af0730c9 UPSTREAM: xtensa: add support for TIF_NOTIFY_SIGNAL
29420dc96b UPSTREAM: arm: add support for TIF_NOTIFY_SIGNAL
6c3e852b4f UPSTREAM: microblaze: add support for TIF_NOTIFY_SIGNAL
8c81f539a0 UPSTREAM: hexagon: add support for TIF_NOTIFY_SIGNAL
175cc59b9c UPSTREAM: csky: add support for TIF_NOTIFY_SIGNAL
2b94543d45 UPSTREAM: openrisc: add support for TIF_NOTIFY_SIGNAL
e2e4fbbceb UPSTREAM: sh: add support for TIF_NOTIFY_SIGNAL
8548375354 UPSTREAM: um: add support for TIF_NOTIFY_SIGNAL
eae40ee91c UPSTREAM: s390: add support for TIF_NOTIFY_SIGNAL
8489c86344 UPSTREAM: mips: add support for TIF_NOTIFY_SIGNAL
b1f0e1159f UPSTREAM: powerpc: add support for TIF_NOTIFY_SIGNAL
98031aa870 UPSTREAM: parisc: add support for TIF_NOTIFY_SIGNAL
470c17bd71 UPSTREAM: nios32: add support for TIF_NOTIFY_SIGNAL
c5825095c4 UPSTREAM: m68k: add support for TIF_NOTIFY_SIGNAL
fcf75a019e UPSTREAM: arm64: add support for TIF_NOTIFY_SIGNAL
d6b63ac444 UPSTREAM: arc: add support for TIF_NOTIFY_SIGNAL
109ccff96d UPSTREAM: x86: Wire up TIF_NOTIFY_SIGNAL
862aa233e7 UPSTREAM: task_work: Use TIF_NOTIFY_SIGNAL if available
a14b028722 UPSTREAM: entry: Add support for TIF_NOTIFY_SIGNAL
00af4b88ad UPSTREAM: fs: provide locked helper variant of close_fd_get_file()
82c3becbef UPSTREAM: file: Rename __close_fd_get_file close_fd_get_file
98006a0a15 UPSTREAM: fs: make do_renameat2() take struct filename
661bc0f679 UPSTREAM: signal: Add task_sigpending() helper
13f03f5275 UPSTREAM: net: add accept helper not installing fd
af091af9db UPSTREAM: net: provide __sys_shutdown_sock() that takes a socket
9505ff1a81 UPSTREAM: tools headers UAPI: Sync openat2.h with the kernel sources
2507b99d9a UPSTREAM: fs: expose LOOKUP_CACHED through openat2() RESOLVE_CACHED
6b92128557 UPSTREAM: Make sure nd->path.mnt and nd->path.dentry are always valid pointers
eaf736aa71 UPSTREAM: fix handling of nd->depth on LOOKUP_CACHED failures in try_to_unlazy*
7928a1689b UPSTREAM: fs: add support for LOOKUP_CACHED
72d2f4c1cd UPSTREAM: saner calling conventions for unlazy_child()
ee44bd07c4 UPSTREAM: iov_iter: add helper to save iov_iter state
463a74a83b UPSTREAM: kernel: provide create_io_thread() helper
8e993eabeb UPSTREAM: net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
4373e5def3 UPSTREAM: Bluetooth: L2CAP: Fix u8 overflow
5278199031 UPSTREAM: HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk
fa335f5bb9 UPSTREAM: HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10
784df646aa UPSTREAM: HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E
29cde746b8 UPSTREAM: HID: ite: Add support for Acer S1002 keyboard-dock
228253f43f UPSTREAM: igb: Initialize mailbox message for VF reset
001a013e84 UPSTREAM: xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N
4fa772e757 UPSTREAM: USB: serial: f81534: fix division by zero on line-speed change
d81b6e6e88 UPSTREAM: USB: serial: f81232: fix division by zero on line-speed change
190b01ac50 UPSTREAM: USB: serial: cp210x: add Kamstrup RF sniffer PIDs
34d4848ba3 UPSTREAM: USB: serial: option: add Quectel EM05-G modem
9e620f2b54 UPSTREAM: usb: gadget: uvc: Prevent buffer overflow in setup handler
a20fd832a4 BACKPORT: f2fs: do not allow to decompress files have FI_COMPRESS_RELEASED
16996773d6 BACKPORT: f2fs: handle decompress only post processing in softirq
ce72626280 BACKPORT: f2fs: introduce memory mode
246a996565 BACKPORT: f2fs: allow compression for mmap files in compress_mode=user
f069ba2b3d UPSTREAM: iommu/iova: Fix alloc iova overflows issue
a1806694fc UPSTREAM: media: dvb-core: Fix UAF due to refcount races at releasing
5f30de1dff ANDROID: GKI: Add Tuxera symbol list
e3a5b60c60 UPSTREAM: usb: dwc3: gadget: Skip waiting for CMDACT cleared during endxfer
6b23440751 UPSTREAM: usb: dwc3: Increase DWC3 controller halt timeout
4091dff1ff UPSTREAM: usb: dwc3: Remove DWC3 locking during gadget suspend/resume
4fc3932857 UPSTREAM: usb: dwc3: Avoid unmapping USB requests if endxfer is not complete
19803140c0 UPSTREAM: usb: dwc3: gadget: Continue handling EP0 xfercomplete events
0bbc89c346 UPSTREAM: usb: dwc3: gadget: Synchronize IRQ between soft connect/disconnect
35cb147c38 UPSTREAM: usb: dwc3: gadget: Force sending delayed status during soft disconnect
5dc06419d8 UPSTREAM: usb: dwc3: Do not service EP0 and conndone events if soft disconnected
dd8418a59a UPSTREAM: efi: rt-wrapper: Add missing include
67884a649c UPSTREAM: arm64: efi: Execute runtime services from a dedicated stack
6bd9415d98 ANDROID: cpu: correct dl_cpu_busy() calls
9e2b4cc230 UPSTREAM: ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
80cad52515 UPSTREAM: firmware: tegra: Reduce stack usage
79c4f55c94 UPSTREAM: scsi: bfa: Move a large struct from the stack onto the heap
e096145ac3 ANDROID: mm: page_pinner: ensure do_div() arguments matches with respect to type
e427004fad ANDROID: Revert "ANDROID: allmodconfig: disable WERROR"
8cf3c25495 FROMGIT: scsi: ufs: Modify Tactive time setting conditions
fc1490c621 UPSTREAM: remoteproc: core: Fix rproc->firmware free in rproc_set_firmware()
869cae6f25 UPSTREAM: usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
56c8a40436 UPSTREAM: usb: gadget: f_hid: fix f_hidg lifetime vs cdev
e973de77ad UPSTREAM: usb: gadget: f_hid: optional SETUP/SET_REPORT mode
283eb356fd ANDROID: GKI: add symbol list file for honor
d30de90932 ANDROID: add TEST_MAPPING for net/, include/net
75d0665639 BACKPORT: arm64/bpf: Remove 128MB limit for BPF JIT programs

Change-Id: I111e3dafc40d4f06832e374fd10ae5984921dff5
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-24 10:32:49 +00:00
Suren Baghdasaryan
976d98e9aa ANDROID: ABI: Add page_pinner_inited into symbols list
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

1 Added variable:

  [A] 'static_key_false page_pinner_inited'

Bug: 273138535
Change-Id: I0de904601a8b99029b6deb06833fd1570860031d
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-03-23 14:09:02 -07:00
Suren Baghdasaryan
16c2b1d94f ANDROID: page_pinner: prevent pp_buffer access before initialization
If page_pinner is configured with page_pinner_enabled=false and
failure_tracking=true, pp_buffer will be accessed without being
initialized. Prevent this by adding page_pinner_inited checks in
functions that access it.

Fixes: 898cfbf094a2 ("ANDROID: mm: introduce page_pinner")
Bug: 259024332
Bug: 260179017
Change-Id: I8f612cae3e74d36e8a4eee5edec25281246cbe5e
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
(cherry picked from commit 23fb3111f63e5fe239a769668275c20493a5849c)
2023-03-23 13:28:36 -07:00
Laurent Vivier
cd1d9c42a2 UPSTREAM: hwrng: virtio - add an internal buffer
hwrng core uses two buffers that can be mixed in the
virtio-rng queue.

If the buffer is provided with wait=0 it is enqueued in the
virtio-rng queue but unused by the caller.
On the next call, core provides another buffer but the
first one is filled instead and the new one queued.
And the caller reads the data from the new one that is not
updated, and the data in the first one are lost.

To avoid this mix, virtio-rng needs to use its own unique
internal buffer at a cost of a data copy to the caller buffer.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Link: https://lore.kernel.org/r/20211028101111.128049-2-lvivier@redhat.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit bf3175bc50a3754dc427e2f5046e17a9fafc8be7)
Bug: 249566340
Change-Id: Ica2fd680de4bb359923b94dae48c00f6207a6876
Signed-off-by: Alistair Delva <adelva@google.com>
2023-03-23 16:31:19 +00:00
Maciej Żenczykowski
05fa7d8eee ANDROID: fix ABI by undoing atomic64_t -> u64 type conversion
This is pretty much a no-op, but avoids changing struct net ABI.

Bug: 274789652
Test: builds, net_test
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia744bdf0a026adccaef8382aaecc771a8d0763a6
2023-03-23 15:42:38 +00:00
Martynas Pumputis
cda90416c0 UPSTREAM: net: retrieve netns cookie via getsocketopt
It's getting more common to run nested container environments for
testing cloud software. One of such examples is Kind [1] which runs a
Kubernetes cluster in Docker containers on a single host. Each container
acts as a Kubernetes node, and thus can run any Pod (aka container)
inside the former. This approach simplifies testing a lot, as it
eliminates complicated VM setups.

Unfortunately, such a setup breaks some functionality when cgroupv2 BPF
programs are used for load-balancing. The load-balancer BPF program
needs to detect whether a request originates from the host netns or a
container netns in order to allow some access, e.g. to a service via a
loopback IP address. Typically, the programs detect this by comparing
netns cookies with the one of the init ns via a call to
bpf_get_netns_cookie(NULL). However, in nested environments the latter
cannot be used given the Kubernetes node's netns is outside the init ns.
To fix this, we need to pass the Kubernetes node netns cookie to the
program in a different way: by extending getsockopt() with a
SO_NETNS_COOKIE option, the orchestrator which runs in the Kubernetes
node netns can retrieve the cookie and pass it to the program instead.

Thus, this is following up on Eric's commit 3d368ab87cf6 ("net:
initialize net->net_cookie at netns setup") to allow retrieval via
SO_NETNS_COOKIE.  This is also in line in how we retrieve socket cookie
via SO_COOKIE.

  [1] https://kind.sigs.k8s.io/

Signed-off-by: Lorenz Bauer <lmb@cloudflare.com>
Signed-off-by: Martynas Pumputis <m@lambda.lt>
Cc: Eric Dumazet <edumazet@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit e8b9eab99232c4e62ada9d7976c80fd5e8118289)
Bug: 274789652
Tested: builds, net_test passes
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: If784a592450af38d70f16da61e36cbbaff80ebca
2023-03-23 15:42:38 +00:00
Eric Dumazet
78a559e2a9 UPSTREAM: net: initialize net->net_cookie at netns setup
It is simpler to make net->net_cookie a plain u64
written once in setup_net() instead of looping
and using atomic64 helpers.

Lorenz Bauer wants to add SO_NETNS_COOKIE socket option
and this patch would makes his patch series simpler.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Lorenz Bauer <lmb@cloudflare.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Tested-by: Lorenz Bauer <lmb@cloudflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 3d368ab87cf6681f928de1ddf804d69600671bb2)
Bug: 274789652
Tested: builds, net_test passes
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia4d018b37af2792f0a21de028f724193797c5138
2023-03-23 15:42:38 +00:00
Greg Kroah-Hartman
04d892b616 Revert "PCI: loongson: Prevent LS7A MRRS increases"
This reverts commit 654ae53925 which is
commit 8b3517f88ff2983f52698893519227c10aac90b2 upstream.

It breaks the Android kernel abi and it not needed for any Android
devices at this time.  If it is needed, it can be brought back in an
ABI-safe way.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8543def5fb03133f4772ba1976f882d182bba677
2023-03-23 14:44:08 +00:00
Greg Kroah-Hartman
1aaaa18b4a Revert "PCI: loongson: Add more devices that need MRRS quirk"
This reverts commit faa050d2ff which is
commit c768f8c5f40fcdc6f058cc2f02592163d6c6716c upstream.

It breaks the Android kernel abi and it not needed for any Android
devices at this time.  If it is needed, it can be brought back in an
ABI-safe way.

Bug: 161946584
Change-Id: I0d81c2395d7e4e42c81631040b40e936f2ccdf6a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-23 14:43:56 +00:00
Greg Kroah-Hartman
fb0cece721 Merge tag 'android12-5.10.168_r00' into android12-5.10
This is the merge of the upstream LTS release of 5.10.168 into the
android12-5.10 branch.

It contains the following commits:

* b34e092097 Revert "nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property"
*   570621d64f Merge 5.10.168 into android12-5.10-lts
|\
| * 707c48210a Linux 5.10.168
| * 0a626e27f9 Fix page corruption caused by racy check in __free_pages
| * 0ef2490a87 arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
| * 5bfc8f0961 arm64: dts: meson-g12-common: Make mmc host controller interrupts level-sensitive
| * 809f4acb7f arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
| * 8eee3521bc riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte
| * 6ff8b48253 ceph: flush cap releases when the session is flushed
| * 4f518a4a79 usb: typec: altmodes/displayport: Fix probe pin assign check
| * f25fa93e52 usb: core: add quirk for Alcor Link AK9563 smartcard reader
| * dd965ad39d btrfs: free device in btrfs_close_devices for a single device filesystem
| * 1be271c52b net: USB: Fix wrong-direction WARNING in plusb.c
| * 2b693fe3f7 cifs: Fix use-after-free in rdata->read_into_pages()
| * bbc8509044 pinctrl: intel: Restore the pins that used to be in Direct IRQ mode
| * 4863f46dda spi: dw: Fix wrong FIFO level setting for long xfers
| * 6e2a0521e4 pinctrl: single: fix potential NULL dereference
| * 61f8a493c0 pinctrl: aspeed: Fix confusing types in return value
| * ef3edede7b ALSA: pci: lx6464es: fix a debug loop
| * 3914b71dad selftests: forwarding: lib: quote the sysctl values
| * c53f34ec3f rds: rds_rm_zerocopy_callback() use list_first_entry()
| * 3eb04ef278 net/mlx5: fw_tracer, Zero consumer index when reloading the tracer
| * fac1fb8008 net/mlx5: fw_tracer, Clear load bit when freeing string DBs buffers
| * 703c3efa4b net/mlx5e: IPoIB, Show unknown speed instead of error
| * 896bd85688 net: mscc: ocelot: fix VCAP filters not matching on MAC with "protocol 802.1Q"
| * 1ad4112c9f ice: Do not use WQ_MEM_RECLAIM flag for workqueue
| * 34a5af788e uapi: add missing ip/ipv6 header dependencies for linux/stddef.h
| * 4259a40827 ionic: clean interrupt before enabling queue to avoid credit race
| * 07097ad30b net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY
| * cafa2ad4f1 bonding: fix error checking in bond_debug_reregister()
| * 30fdf66035 xfrm: fix bug with DSCP copy to v6 from v4 tunnel
| * 491b7a5fc8 RDMA/usnic: use iommu_map_atomic() under spin_lock()
| * b1afb666c3 IB/IPoIB: Fix legacy IPoIB due to wrong number of queues
| * a893cc6448 xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr()
| * 79b595d959 IB/hfi1: Restore allocated resources on failed copyout
| * 3797e94c19 xfrm: compat: change expression for switch in xfrm_xlate64
| * bc9771cd63 can: j1939: do not wait 250 ms if the same addr was already claimed
| * edaf5c7183 of/address: Return an error when no valid dma-ranges are found
| * b7d5fa8052 tracing: Fix poll() and select() do not work on per_cpu trace_pipe and trace_pipe_raw
| * 35452bf986 ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro 360
| * e1646e2be9 ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control()
| * 1c65762399 ALSA: hda/realtek: Add Positivo N14KP6-TG
| * f1fd16cd97 btrfs: zlib: zero-initialize zlib workspace
| * a1406d5aa3 btrfs: limit device extents to the device size
| * dbe5a11954 migrate: hugetlb: check for hugetlb shared PMD in node migration
| * 97a5104d64 mm/migration: return errno when isolate_huge_page failed
| * 91ad3104b2 iio:adc:twl6030: Enable measurement of VAC
| * e4c3ea9b60 bpf: Do not reject when the stack read size is different from the tracked scalar size
| * 34ec4c7831 nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property
| * b2e4128795 wifi: brcmfmac: Check the count value of channel spec to prevent out-of-bounds reads
| * 914e38f02a f2fs: fix to do sanity check on i_extra_isize in is_alive()
| * 3931014367 fbdev: smscufx: fix error handling code in ufx_usb_probe
| * 6c8a2c67a9 serial: 8250_dma: Fix DMA Rx rearm race
| * 967e726e57 serial: 8250_dma: Fix DMA Rx completion race
| * 1fd7a6a579 nvmem: core: fix cell removal on error
| * bb875f0a34 nvmem: core: initialise nvmem->id early
| * b591abac78 drm/i915: Fix potential bit_17 double-free
| * 5c4d4a83bf Squashfs: fix handling and sanity checking of xattr_ids count
| * 30187be290 mm/swapfile: add cond_resched() in get_swap_pages()
| * 639b40007a fpga: stratix10-soc: Fix return value check in s10_ops_write_init()
| * 0139d61d28 x86/debug: Fix stack recursion caused by wrongly ordered DR7 accesses
| * 556959327b mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps
| * 50d31309c9 riscv: disable generation of unwind tables
| * 71a4f39f99 parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case
| * 2982b473d7 parisc: Fix return code of pdc_iodc_print()
| * 170e1cc3c0 nvmem: qcom-spmi-sdam: fix module autoloading
| * f11330b7ba iio: imu: fxos8700: fix MAGN sensor scale and unit
| * 5b30998c7f iio: imu: fxos8700: remove definition FXOS8700_CTRL_ODR_MIN
| * 42e34a0839 iio: imu: fxos8700: fix failed initialization ODR mode assignment
| * ab976ecd04 iio: imu: fxos8700: fix incorrect ODR mode readback
| * 9d6502ed63 iio: imu: fxos8700: fix swapped ACCEL and MAGN channels readback
| * aff4add609 iio: imu: fxos8700: fix map label of channel type to MAGN sensor
| * 9545ce720a iio: imu: fxos8700: fix IMU data bits returned to user space
| * 6d43eddc56 iio: imu: fxos8700: fix incomplete ACCEL and MAGN channels readback
| * f7d996c953 iio: imu: fxos8700: fix ACCEL measurement range selection
| * 11ac43f763 iio:adc:twl6030: Enable measurements of VUSB, VBAT and others
| * 5602f6a244 iio: adc: berlin2-adc: Add missing of_node_put() in error path
| * 33483172b3 iio: hid: fix the retval in accel_3d_capture_sample
| * 55cf65461b efi: Accept version 2 of memory attributes table
| * 8fb515c8b1 ALSA: hda/realtek: Add Acer Predator PH315-54
| * 192fd121d0 watchdog: diag288_wdt: fix __diag288() inline assembly
| * 5bcdcf437d watchdog: diag288_wdt: do not use stack buffers for hardware data
| * 0c76eddc1f net: qrtr: free memory on error path in radix_tree_insert()
| * 28d190882b fbcon: Check font dimension limits
| * 658e0d99db Input: i8042 - add Clevo PCX0DX to i8042 quirk table
| * a82d493604 Input: i8042 - add TUXEDO devices to i8042 quirk tables
| * 04d99a0a96 Input: i8042 - merge quirk tables
| * ab85074c30 Input: i8042 - move __initconst to fix code styling warning
| * 55515d7d87 vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
| * 434a36ed64 usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
| * 6e5565aa00 usb: dwc3: qcom: enable vbus override when in OTG dr-mode
| * 1ca8629505 usb: dwc3: dwc3-qcom: Fix typo in the dwc3 vbus override API
| * 30d0e2cf99 iio: adc: stm32-dfsdm: fill module aliases
| * 4bbc34401d net/x25: Fix to not accept on connected socket
| * 2b1e8e20b9 platform/x86: dell-wmi: Add a keymap for KEY_MUTE in type 0x0010 table
| * ac4d9c86e9 i2c: rk3x: fix a bunch of kernel-doc warnings
| * 9758ffe1c0 scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress
| * 1b28bf868f scsi: target: core: Fix warning on RT kernels
| * 4e66ba3cfb i2c: mxs: suppress probe-deferral error message
| * d09b0bf9ff qede: execute xdp_do_flush() before napi_complete_done()
| * 8aba483f70 qede: add netpoll support for qede driver
| * 87d4ff1873 efi: fix potential NULL deref in efi_mem_reserve_persistent
| * 70154489f5 net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
| * 4fb430c698 virtio-net: Keep stop() to follow mirror sequence of open()
| * 812236bb6a selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking
| * 9e7e2887cc selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs
| * 4babbd1f59 selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided
| * a4a493e599 selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning
| * 4d9c962716 ata: libata: Fix sata_down_spd_limit() when no link speed is reported
| * b6d4407211 can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate
| * 6362b86170 igc: return an error if the mac type is unknown in igc_ptp_systim_to_hwtstamp()
| * 98c93a0160 net: phy: meson-gxl: Add generic dummy stubs for MMD register access
| * de2785aa34 squashfs: harden sanity check in squashfs_read_xattr_id_table
| * f53c6e7e77 netfilter: br_netfilter: disable sabotage_in hook after first suppression
| * dd6991251a netrom: Fix use-after-free caused by accept on already connected socket
| * 362a2f5531 net: phy: dp83822: Fix null pointer access on DP83825/DP83826 devices
| * 6824169e74 sfc: correctly advertise tunneled IPv6 segmentation
| * 539fc3ef51 virtio-net: execute xdp_do_flush() before napi_complete_done()
| * 63d1c4edbf fix "direction" argument of iov_iter_kvec()
| * 0c67fb7775 fix iov_iter_bvec() "direction" argument
| * b5437e0ba9 READ is "data destination", not source...
| * fefb47a833 WRITE is "data source", not destination...
| * f9815b303e vhost/net: Clear the pending messages when the backend is removed
| * de990d1571 scsi: Revert "scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT"
| * d08a9b0ad2 drm/vc4: hdmi: make CEC adapter name unique
| * 8c6b46d426 arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX
| * 9bd6074e18 bpf, sockmap: Check for any of tcp_bpf_prots when cloning a listener
| * 36dbb8daf0 bpf: Fix to preserve reg parent/live fields when copying range info
| * 8de8c4a25e bpf: Support <8-byte scalar spill and refill
| * 2b557fa635 ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
| * 1b1f56cc0e bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers
| * 2d0f276d50 powerpc/imc-pmu: Revert nest_init_lock to being a mutex
| * 9ff2bebc2c bpf: Fix incorrect state pruning for <8B spill/fill
| * 60c27e0e37 bus: sunxi-rsb: Fix error handling in sunxi_rsb_init()
| * d5a2dcee53 firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region
* | b405332f4b Merge 5.10.167 into android12-5.10-lts
|\|
| * a5acb54d40 Linux 5.10.167
| * 6446369fb9 net: fix NULL pointer in skb_segment_list
| * 0f9db1209f Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt
| * d744c03c04 ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel systems
| * bd0050b7ff dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
| * 19c9a2ba46 blk-cgroup: fix missing pd_online_fn() while activating policy
| * a1c0263f1e bpf: Skip task with pid=1 in send_signal_common()
| * f185468631 arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI
| * a26cef0041 ARM: dts: vf610: Fix pca9548 i2c-mux node names
| * 67a8beb854 ARM: dts: imx: Fix pca9547 i2c-mux node name
* | 0ddb73d446 Merge 5.10.166 into android12-5.10-lts
|\|
| * 8d823aaa22 Linux 5.10.166
| * 19f1f99be3 clk: Fix pointer casting to prevent oops in devm_clk_release()
| * f84c9b72fb perf/x86/amd: fix potential integer overflow on shift of a int
| * 743435cd17 netfilter: conntrack: unify established states for SCTP paths
| * e284c273db x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
| * 2eca102b35 block: fix and cleanup bio_check_ro
| * 7fe4fab870 Revert "selftests/ftrace: Update synthetic event syntax errors"
| * 032a7d5ff5 nfsd: Ensure knfsd shuts down when the "nfsd" pseudofs is unmounted
| * 8fe3e574b3 nouveau: explicitly wait on the fence in nouveau_bo_move_m2mf
| * 9f3dd454fe Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"
| * 230be65a18 tools: gpio: fix -c option of gpio-event-mon
| * 7ff8128bb1 net: mdio-mux-meson-g12a: force internal PHY off on mux switch
| * 62a0806eb4 net/tg3: resolve deadlock in tg3_reset_task() during EEH
| * e9c1b1e1a0 thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type()
| * 3af20f6321 net: ravb: Fix possible hang if RIS2_QFF1 happen
| * 6ef652f35d sctp: fail if no bound addresses can be used for a given scope
| * cf9a2ce038 net/sched: sch_taprio: do not schedule in taprio_reset()
| * 7de16d75b2 netrom: Fix use-after-free of a listening socket.
| * 498584ccf4 netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
| * 7f9828fb1f ipv4: prevent potential spectre v1 gadget in fib_metrics_match()
| * 34c6142f0d ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
| * 870a565bd6 netlink: annotate data races around sk_state
| * 8583f52c23 netlink: annotate data races around dst_portid and dst_group
| * eccb532ada netlink: annotate data races around nlk->portid
| * 0308b7dfea netfilter: nft_set_rbtree: skip elements in transaction from garbage collection
| * 4aacf3d784 netfilter: nft_set_rbtree: Switch to node list walk for overlap detection
| * d4c008f3b7 net: fix UaF in netns ops registration error path
| * 539ca5dcbc netlink: prevent potential spectre v1 gadgets
| * ed173f77fd i2c: designware: use casting of u64 in clock multiplication to avoid overflow
| * 8949ef3a7a i2c: designware: Use DIV_ROUND_CLOSEST() macro
| * 8ebc2efcb6 units: Add SI metric prefix definitions
| * 974aaf1180 units: Add Watt units
| * 76d9ebb7f0 EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info
| * 511f6c7c40 EDAC/device: Respect any driver-supplied workqueue polling value
| * 0cb922cef7 ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment
| * 98d85586aa thermal: intel: int340x: Protect trip temperature from concurrent updates
| * 76c5640737 KVM: x86/vmx: Do not skip segment attributes if unusable bit is set
| * e037baee16 cifs: Fix oops due to uncleared server->smbd_conn in reconnect
| * c42a6e6870 ftrace/scripts: Update the instructions for ftrace-bisect.sh
| * 886aa44923 trace_events_hist: add check for return value of 'create_hist_field'
| * de3930a488 tracing: Make sure trace_printk() can output as soon as it can be used
| * 083b3dda86 module: Don't wait for GOING modules
| * ce3aa76946 scsi: hpsa: Fix allocation size for scsi_host_alloc()
| * 6da7055826 xhci: Set HCD flag to defer primary roothub registration
| * 1d580d3e13 Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
| * b98a8b731b exit: Use READ_ONCE() for all oops/warn limit reads
| * 53f177b504 docs: Fix path paste-o for /sys/kernel/warn_count
| * b0bd5dcfa6 panic: Expose "warn_count" to sysfs
| * 8c99d4c4c1 panic: Introduce warn_limit
| * 55eba18262 panic: Consolidate open-coded panic_on_warn checks
| * 530cdae5c2 exit: Allow oops_limit to be disabled
| * 7cffbcd68f exit: Expose "oops_count" to sysfs
| * de586785b9 exit: Put an upper limit on how often we can oops
| * 191a3b17dd panic: Separate sysctl logic from CONFIG_SMP
| * 1b9a33a94b ia64: make IA64_MCA_RECOVERY bool instead of tristate
| * 6d971830da csky: Fix function name in csky_alignment() and die()
| * 648d8b8c49 h8300: Fix build errors from do_exit() to make_task_dead() transition
| * 63d77c5596 hexagon: Fix function name in die()
| * b2c178f311 objtool: Add a missing comma to avoid string concatenation
| * d9c740c765 exit: Add and use make_task_dead.
| * 715a63588f kasan: no need to unset panic_on_warn in end_report()
| * b857b42a8c ubsan: no need to unset panic_on_warn in ubsan_epilogue()
| * 590ba6fee0 panic: unset panic_on_warn inside panic()
| * e97ec099d7 kernel/panic: move panic sysctls to its own file
| * e6226917f4 sysctl: add a new register_sysctl_init() interface
| * c4097e844a fs: reiserfs: remove useless new_opts in reiserfs_remount
| * 1f6768143b x86: ACPI: cstate: Optimize C3 entry on AMD CPUs
| * 5fb884d748 netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state
| * a7345145e7 Revert "selftests/bpf: check null propagation only neither reg is PTR_TO_BTF_ID"
| * 20a02bc845 lockref: stop doing cpu_relax in the cmpxchg loop
| * f8ddf7dbf5 platform/x86: asus-nb-wmi: Add alternate mapping for KEY_SCREENLOCK
| * 9968f9a862 platform/x86: touchscreen_dmi: Add info for the CSL Panther Tab HD
| * 52249c2168 scsi: hisi_sas: Set a port invalid only if there are no devices attached when refreshing port id
| * 71bd134c4e KVM: s390: interrupt: use READ_ONCE() before cmpxchg()
| * 300da569a1 spi: spidev: remove debug messages that access spidev->spi without locking
| * a84def9b10 ASoC: fsl-asoc-card: Fix naming of AC'97 CODEC widgets
| * d9a0752a6a ASoC: fsl_ssi: Rename AC'97 streams to avoid collisions with AC'97 CODEC
| * 00f2301611 cpufreq: armada-37xx: stop using 0 as NULL pointer
| * 2ca345d19c s390/debug: add _ASM_S390_ prefix to header guard
| * ae108a5fc9 drm: Add orientation quirk for Lenovo ideapad D330-10IGL
| * 96f4899a38 ASoC: fsl_micfil: Correct the number of steps on SX controls
| * 3b154d5204 kcsan: test: don't put the expect array on the stack
| * b75e9fc402 cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist
| * 6bc564f3fe scsi: iscsi: Fix multiple iSCSI session unbind events sent to userspace
| * d79e700680 tcp: fix rate_app_limited to default to 1
| * a84240df70 net: dsa: microchip: ksz9477: port map correction in ALU table entry register
| * 704a423c93 driver core: Fix test_async_probe_init saves device in wrong array
| * 216f35db6e w1: fix WARNING after calling w1_process()
| * 8e5be0ae55 w1: fix deadloop in __w1_remove_master_device()
| * ddf16dae65 tcp: avoid the lookup process failing to get sk in ehash table
| * 5f10f7efe0 nvme-pci: fix timeout request state check
| * 98519ed691 dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
| * 28fc6095da HID: betop: check shape of output reports
| * 16791d5a7a l2tp: prevent lockdep issue in l2tp_tunnel_register()
| * f96b2f6908 net: macb: fix PTP TX timestamp failure due to packet padding
| * 42ecd72f02 dmaengine: Fix double increment of client_count in dma_chan_get()
| * 1e97e2e08e drm/panfrost: fix GENERIC_ATOMIC64 dependency
| * 31f63c62a8 net: mlx5: eliminate anonymous module_init & module_exit
| * 4b3b5cc1a7 usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
| * 6dd9ea0553 usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
| * 55be77aa89 HID: revert CHERRY_MOUSE_000C quirk
| * 34f1194993 net: stmmac: fix invalid call to mdiobus_get_phy()
| * 20fd459876 HID: check empty report_list in bigben_probe()
| * 5dc3469a11 HID: check empty report_list in hid_validate_values()
| * 4bc5f1f6bc net: mdio: validate parameter addr in mdiobus_get_phy()
| * 67866b1e0a net: usb: sr9700: Handle negative len
| * 2d77e5c0ad l2tp: close all race conditions in l2tp_tunnel_register()
| * 76c640d6a1 l2tp: convert l2tp_tunnel_list to idr
| * 5b209b8c99 l2tp: Don't sleep and disable BH under writer-side sk_callback_lock
| * e34a965f77 l2tp: Serialize access to sk_user_data with sk_callback_lock
| * c60fe70078 net/sched: sch_taprio: fix possible use-after-free
| * 802fd7623e wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
| * 1af8071bd0 gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode
| * 613020d048 net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs
| * ad1baab3a5 net: nfc: Fix use-after-free in local_cleanup()
| * 2a0156a4aa phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
| * da75dec7c6 bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation
| * f351af45e2 amd-xgbe: Delay AN timeout during KR training
| * a65a8727a2 amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
| * aa8b584cec ARM: dts: at91: sam9x60: fix the ddr clock for sam9x60
| * fa566549a1 phy: ti: fix Kconfig warning and operator precedence
| * b18490138d PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe()
| * 39ab0fc498 affs: initialize fsdata in affs_truncate()
| * f6fa12fbb1 IB/hfi1: Remove user expected buffer invalidate race
| * 6ce4382bd1 IB/hfi1: Immediately remove invalid memory from hardware
| * 6dd8136fd1 IB/hfi1: Fix expected receive setup error exit issues
| * ee474dd66e IB/hfi1: Reserve user expected TIDs
| * 73e5666bf3 IB/hfi1: Reject a zero-length user expected buffer
| * d66c1d4178 RDMA/core: Fix ib block iterator counter overflow
| * eab7a92037 tomoyo: fix broken dependency on *.conf.default
| * 6813d8ba7d firmware: arm_scmi: Harden shared memory access in fetch_notification
| * e85df1db28 firmware: arm_scmi: Harden shared memory access in fetch_response
| * 329fbd2603 EDAC/highbank: Fix memory leak in highbank_mc_probe()
| * 7b4516ba56 HID: intel_ish-hid: Add check for ishtp_dma_tx_map
| * d775671dcc ARM: imx: add missing of_node_put()
| * 5c1dcedd52 arm64: dts: imx8mm-beacon: Fix ecspi2 pinmux
| * cccb0aea9c ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'
| * 6805e392f5 ARM: dts: imx7d-pico: Use 'clock-frequency'
| * 2a3c3a01e2 ARM: dts: imx6ul-pico-dwarf: Use 'clock-frequency'
| * e57ea0c6ba memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe()
| * 53f55d6e07 memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe()
| * 935ec78de5 clk: Provide new devm_clk helpers for prepared and enabled clocks
| * 0b8b21c0b3 clk: generalize devm_clk_get() a bit
* | e5ea3c44c8 Revert "xhci: Add update_hub_device override for PCI xHCI hosts"
* | a73c1dbdd5 Revert "xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables"
* | fa89210a0e Revert "xhci: Add a flag to disable USB3 lpm on a xhci root port level."
* | 78da590924 Merge 5.10.165 into android12-5.10-lts
|\|
| * 179624a57b Linux 5.10.165
| * e699cce29a io_uring/rw: remove leftover debug statement
| * 3d5f181bda io_uring/rw: ensure kiocb_end_write() is always called
| * c1a279d79e io_uring: fix double poll leak on repolling
| * ddaaadf22b io_uring: Clean up a false-positive warning from GCC 9.3.0
| * 8bc72b4952 mm/khugepaged: fix collapse_pte_mapped_thp() to allow anon_vma
| * 217721b763 Bluetooth: hci_qca: Fixed issue during suspend
| * c208f1e84a Bluetooth: hci_qca: check for SSR triggered flag while suspend
| * ef11bc4bb9 Bluetooth: hci_qca: Wait for SSR completion during suspend
| * c392c350a0 soc: qcom: apr: Make qcom,protection-domain optional again
| * 71e5cd1018 Revert "wifi: mac80211: fix memory leak in ieee80211_if_add()"
| * be1067427a net/mlx5: fix missing mutex_unlock in mlx5_fw_fatal_reporter_err_work()
| * f6c201b438 net/ulp: use consistent error code when blocking ULP
| * fc2491562a io_uring/net: fix fast_iov assignment in io_setup_async_msg()
| * 89a77271d2 io_uring: io_kiocb_update_pos() should not touch file for non -1 offset
| * c6e3c12ff9 tracing: Use alignof__(struct {type b;}) instead of offsetof()
| * 03ba86bb38 x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN
| * 2f45b20c39 Revert "drm/amdgpu: make display pinning more flexible (v2)"
| * d6544bccc1 efi: rt-wrapper: Add missing include
| * 4012603cbd arm64: efi: Execute runtime services from a dedicated stack
| * bf1d287c14 drm/amd/display: Fix COLOR_SPACE_YCBCR2020_TYPE matrix
| * 75105d943d drm/amd/display: Calculate output_color_space after pixel encoding adjustment
| * a3ef532483 drm/amd/display: Fix set scaling doesn's work
| * 59590f50ec drm/i915: re-disable RC6p on Sandy Bridge
| * d960fff8e2 mei: me: add meteor lake point M DID
| * ae2a9dcc8c gsmi: fix null-deref in gsmi_get_variable
| * a75e80d118 serial: atmel: fix incorrect baudrate setup
| * 5a7a040795 dmaengine: tegra210-adma: fix global intr clear
| * c9da2cb968 serial: pch_uart: Pass correct sg to dma_unmap_sg()
| * e924f79e67 dt-bindings: phy: g12a-usb3-pcie-phy: fix compatible string documentation
| * 31132df12a dt-bindings: phy: g12a-usb2-phy: fix compatible string documentation
| * a9f2658a01 usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
| * e92c700591 usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
| * 06600ae7e0 usb: gadget: g_webcam: Send color matching descriptor per frame
| * 6107a8f15c usb: typec: altmodes/displayport: Fix pin assignment calculation
| * d26f38d16f usb: typec: altmodes/displayport: Add pin assignment helper
| * 9c58f1e9e6 usb: host: ehci-fsl: Fix module alias
| * 3dc896db02 USB: serial: cp210x: add SCALANCE LPE-9000 device id
| * 856e4b5e53 USB: gadgetfs: Fix race between mounting and unmounting
| * 894681682d tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer
| * c4ab24e333 thunderbolt: Use correct function to calculate maximum USB3 link rate
| * 531268a875 cifs: do not include page data when checking signature
| * 3bd4337485 btrfs: fix race between quota rescan and disable leading to NULL pointer deref
| * 6ee8feca91 mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting
| * 79819909c2 mmc: sunxi-mmc: Fix clock refcount imbalance during unbind
| * 2eed23765b comedi: adv_pci1760: Fix PWM instruction handling
| * 7efeed828c usb: core: hub: disable autosuspend for TI TUSB8041
| * b171d0d2cf misc: fastrpc: Fix use-after-free race condition for maps
| * 193cd85314 misc: fastrpc: Don't remove map on creater_process and device_release
| * e0db5d44bc USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
| * 20d0dedc7a staging: vchiq_arm: fix enum vchiq_status return types
| * a06e9ec5ab USB: serial: option: add Quectel EM05CN modem
| * 2f44c60bb8 USB: serial: option: add Quectel EM05CN (SG) modem
| * fcd49b2309 USB: serial: option: add Quectel EC200U modem
| * 21c5b61812 USB: serial: option: add Quectel EM05-G (RS) modem
| * 46b898f934 USB: serial: option: add Quectel EM05-G (CS) modem
| * 3774654f7a USB: serial: option: add Quectel EM05-G (GR) modem
| * 9f8e45720e prlimit: do_prlimit needs to have a speculation check
| * 96562a23cf xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables
| * 2551f8cbf2 usb: acpi: add helper to check port lpm capability using acpi _DSM
| * 4d70a8a9ab xhci: Add a flag to disable USB3 lpm on a xhci root port level.
| * 83e3a5be74 xhci: Add update_hub_device override for PCI xHCI hosts
| * 081105213f xhci: Fix null pointer dereference when host dies
| * 66fc160085 usb: xhci: Check endpoint is valid before dereferencing it
| * 8ca60d59b9 xhci-pci: set the dma max_seg_size
| * ea2e6286e3 io_uring/rw: defer fsnotify calls to task context
| * e90cfb9699 io_uring: do not recalculate ppos unnecessarily
| * ea528ecac3 io_uring: update kiocb->ki_pos at execution time
| * 076f872314 io_uring: remove duplicated calls to io_kiocb_ppos
| * e9c6556708 io_uring: ensure that cached task references are always put on exit
| * e0140e9da3 io_uring: fix CQ waiting timeout handling
| * de77faee28 io_uring: lock overflowing for IOPOLL
| * 78e8151f04 io_uring: check for valid register opcode earlier
| * aa4c9b3e45 io_uring: fix async accept on O_NONBLOCK sockets
| * 4bc17e6381 io_uring: allow re-poll if we made progress
| * f901b4bfd0 io_uring: support MSG_WAITALL for IORING_OP_SEND(MSG)
| * 96ccba4a1a io_uring: add flag for disabling provided buffer recycling
| * aadd9b0930 io_uring: ensure recv and recvmsg handle MSG_WAITALL correctly
| * abdc16c836 io_uring: improve send/recv error handling
| * 2fd232bbd6 io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL
| * e84ec6e25d Bluetooth: hci_qca: Fix driver shutdown on closed serdev
| * 1ab0098333 Bluetooth: hci_qca: Wait for timeout during suspend
| * 413638f615 drm/i915/gt: Reset twice
| * cab2123567 ALSA: hda/realtek - Turn on power early
| * 5822baf950 efi: fix userspace infinite retry read efivars after EFI runtime services page fault
| * 712bd74ecc nilfs2: fix general protection fault in nilfs_btree_insert()
| * 03bf73e09a zonefs: Detect append writes at invalid locations
| * 20d0a6d17e Add exception protection processing for vd in axi_chan_handle_err function
| * 187523fa7c wifi: mac80211: sdata can be NULL during AMPDU start
| * 2d1fd99e8e wifi: brcmfmac: fix regression for Broadcom PCIe wifi devices
| * 72009139a6 f2fs: let's avoid panic if extent_tree is not created
| * bf6c7f1801 x86/asm: Fix an assembler warning with current binutils
| * 18bd1c9c02 btrfs: always report error in run_one_delayed_ref()
| * 936b8b15a2 RDMA/srp: Move large values to a new enum for gcc13
| * 0040e48492 net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats
| * f7845de23f tools/virtio: initialize spinlocks in vring_test.c
| * 3093027183 selftests/bpf: check null propagation only neither reg is PTR_TO_BTF_ID
| * c7c36bb6ea pNFS/filelayout: Fix coalescing test for single DS
| * 2cbd815970 btrfs: fix trace event name typo for FLUSH_DELAYED_REFS
* | 1e32d1c96a Revert "xhci: Prevent infinite loop in transaction errors recovery for streams"
* | b0d4a37a43 Merge 5.10.164 into android12-5.10-lts
|\|
| * 3a9f1b907b Linux 5.10.164
| * 74985c5757 Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"
| * a88a0d16e1 io_uring/io-wq: only free worker if it was allocated for creation
| * b912ed1363 io_uring/io-wq: free worker if task_work creation is canceled
| * 68bcd06385 drm/virtio: Fix GEM handle creation UAF
| * 4ca71bc0e1 efi: fix NULL-deref in init error path
| * 057f5ddfbc arm64: cmpxchg_double*: hazard against entire exchange variable
| * 9a5fd0844e arm64: atomics: remove LL/SC trampolines
| * 28840e46ea arm64: atomics: format whitespace consistently
| * 5dac4c7212 x86/resctrl: Fix task CLOSID/RMID update race
| * 446c7251f0 x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI
| * 196c6f0c3e KVM: x86: Do not return host topology information from KVM_GET_SUPPORTED_CPUID
| * 0027164b24 Documentation: KVM: add API issues section
| * caaea2ab6b iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
| * cf38e76241 iommu/mediatek-v1: Add error handle for mtk_iommu_probe
| * 60806adc9b mm: Always release pages to the buddy allocator in memblock_free_late().
| * 092f0c2d1f net/mlx5e: Don't support encap rules with gbp option
| * b3d47227f0 net/mlx5: Fix ptp max frequency adjustment range
| * 453277feb4 net/sched: act_mpls: Fix warning during failed attribute validation
| * 0ca78c9965 nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
| * 92b30a27e4 hvc/xen: lock console list traversal
| * 14e72a56e1 octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable
| * 8e2bfcfaab octeontx2-af: Map NIX block from CGX connection
| * d9be5b57ab octeontx2-af: Update get/set resource count functions
| * 0d0675bc33 tipc: fix unexpected link reset due to discovery messages
| * d83cac6c00 ASoC: wm8904: fix wrong outputs volume after power reactivation
| * d4aa749e04 regulator: da9211: Use irq handler when ready
| * 3ca8ef4d91 EDAC/device: Fix period calculation in edac_device_reset_delay_period()
| * 28b9a0e216 x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
| * 8cbeb60320 powerpc/imc-pmu: Fix use of mutex in IRQs disabled section
| * 4e6a70fd84 netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.
| * a3a1114aa6 xfrm: fix rcu lock in xfrm_notify_userpolicy()
| * 091f85db4c ext4: fix uninititialized value in 'ext4_evict_inode'
| * 98407a4ae3 usb: ulpi: defer ulpi_register on ulpi_read_id timeout
| * 3d13818a99 xhci: Prevent infinite loop in transaction errors recovery for streams
| * 2f90fcedc5 xhci: move and rename xhci_cleanup_halted_endpoint()
| * cad965cedb xhci: store TD status in the td struct instead of passing it along
| * 9b63a80c45 xhci: move xhci_td_cleanup so it can be called by more functions
| * 44c635c60f xhci: Add xhci_reset_halted_ep() helper function
| * 10287d18f5 xhci: adjust parameters passed to cleanup_halted_endpoint()
| * aaaa7cc4ab xhci: get isochronous ring directly from endpoint structure
| * a81ace0656 xhci: Avoid parsing transfer events several times
| * ba20d6056b clk: imx: imx8mp: add shared clk gate for usb suspend clk
| * 2b331d2137 dt-bindings: clocks: imx8mp: Add ID for usb suspend clock
| * cb769960ef clk: imx8mp: add clkout1/2 support
| * 85eaaa17c0 clk: imx8mp: Add DISP2 pixel clock
| * 6b21077146 iommu/amd: Fix ill-formed ivrs_ioapic, ivrs_hpet and ivrs_acpihid options
| * 5badda810f iommu/amd: Add PCI segment support for ivrs_[ioapic/hpet/acpihid] commands
| * ab9bb65b85 bus: mhi: host: Fix race between channel preparation and M0 event
| * 6c9e2c11c3 ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
| * 112df4cd2b ixgbe: fix pci device refcount leak
| * f401062d8d platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe
| * 785607e5e6 drm/msm/dp: do not complete dp_aux_cmd_fifo_tx() if irq is not for aux transfer
| * 8c71777b6a drm/msm/adreno: Make adreno quirks not overwrite each other
| * afb6063aa8 cifs: Fix uninitialized memory read for smb311 posix symlink create
| * 51dbedee2f s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
| * bddb355267 s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops
| * 2adc64f3e6 ASoC: qcom: lpass-cpu: Fix fallback SD line index handling
| * 5ee3083307 s390/kexec: fix ipl report address for kdump
| * d1725dbf23 perf auxtrace: Fix address filter duplicate symbol selection
| * eaabceae1b docs: Fix the docs build with Sphinx 6.0
| * 38c4a17c6b efi: tpm: Avoid READ_ONCE() for accessing the event log
| * c47883105c KVM: arm64: Fix S1PTW handling on RO memslots
| * 443b390f2c ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx
| * 550efeff98 netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits
* | 2702f09758 Revert "ASoC/SoundWire: dai: expand 'stream' concept beyond SoundWire"
* | 5417a09eec Revert "ASoC: Intel/SOF: use set_stream() instead of set_tdm_slots() for HDAudio"
* | c35badfe0d Revert "net: add atomic_long_t to net_device_stats fields"
* | f1242cd146 Revert "PM/devfreq: governor: Add a private governor_data for governor"
* | 4922049993 Merge 5.10.163 into android12-5.10-lts
|\|
| * 19ff2d645f Linux 5.10.163
| * de4a20e148 ALSA: hda - Enable headset mic on another Dell laptop with ALC3254
| * 0ad275c139 ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list
| * df02234e6b ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
| * f8ed0a93b5 net/ulp: prevent ULP without clone op from entering the LISTEN status
| * 9f7bc28a6b net: sched: disallow noqueue for qdisc classes
| * 6eb02c596e mptcp: use proper req destructor for IPv6
| * f4c7afa951 mptcp: dedicated request sock for subflow in v6
| * 31472f94c6 mptcp: remove MPTCP 'ifdef' in TCP SYN cookies
| * 5aa15a8400 mptcp: mark ops structures as ro_after_init
| * f5ef26276b serial: fixup backport of "serial: Deassert Transmit Enable on probe in driver-specific way"
| * 2ecf0819e4 fsl_lpuart: Don't enable interrupts too early
| * 23ad034760 ext4: don't set up encryption key during jbd2 transaction
| * d9ff5ad203 ext4: disable fast-commit of encrypted dir operations
| * 5b700b9c04 parisc: Align parisc MADV_XXX constants with all other architectures
| * 07b3672c40 io_uring: Fix unsigned 'res' comparison with zero in io_fixup_rw_res()
| * b57d7b1dcd efi: random: combine bootloader provided RNG seed with RNG protocol output
| * da20f56a35 mbcache: Avoid nesting of cache->c_list_lock under bit locks
| * be01f35efa hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling
| * 1f881d9201 hfs/hfsplus: use WARN_ON for sanity check
| * 434909edca selftests: set the BUILD variable to absolute path
| * a41d63f204 ext4: don't allow journal inode to have encrypt flag
| * af90f8b36d drm/i915/gvt: fix vgpu debugfs clean in remove
| * bb7c7b2c89 drm/i915/gvt: fix gvt debugfs destroy
| * bc847857fb riscv: uaccess: fix type of 0 variable on error in get_user()
| * f64e56fb28 fbdev: matroxfb: G200eW: Increase max memory from 1 MB to 16 MB
| * d0c46b55d6 nfsd: fix handling of readdir in v4root vs. mount upcall timeout
| * 67e39c4f4c x86/bugs: Flush IBP in ib_prctl_set()
| * f13301a69a nvme: fix multipath crash caused by flush request when blktrace is enabled
| * 3f257a98e5 ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet
| * 6df376e245 udf: Fix extension of the last extent in the file
| * 84b2cc7b36 caif: fix memory leak in cfctrl_linkup_request()
| * e5a0583744 drm/i915: unpin on error in intel_vgpu_shadow_mm_pin()
| * 232ef345e5 usb: rndis_host: Secure rndis_query check against int overflow
| * 2a9ee7c24b drivers/net/bonding/bond_3ad: return when there's no aggregator
| * bc6a0993bf perf tools: Fix resources leak in perf_data__open_dir()
| * ee756980e4 netfilter: ipset: Rework long task execution when adding/deleting entries
| * ba5d279097 netfilter: ipset: fix hash:net,port,net hang with /0 subnet
| * b2c917e510 net: sched: cbq: dont intepret cls results when asked to drop
| * 5f65f48516 net: sched: atm: dont intepret cls results when asked to drop
| * f4a2ad1002 gpio: sifive: Fix refcount leak in sifive_gpio_probe
| * 7ec369e215 ceph: switch to vfs_inode_has_locks() to fix file lock bug
| * 407710427d filelock: new helper: vfs_inode_has_locks
| * 9f0ff5de3e drm/meson: Reduce the FIFO lines held when AFBC is not used
| * ae2639cd2c RDMA/mlx5: Fix validation of max_rd_atomic caps for DC
| * 106d0d33c9 net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe
| * 398e14bb73 net: amd-xgbe: add missed tasklet_kill
| * e3d90ca906 net/mlx5e: Fix hw mtu initializing at XDP SQ allocation
| * 6d655a9d82 net/mlx5e: IPoIB, Don't allow CQE compression to be turned on by default
| * 670b206173 net/mlx5: Avoid recovery in probe flows
| * 66b92b80c9 net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path
| * b6c74d2376 vhost: fix range used in translate_desc()
| * 264fb6dcbf vringh: fix range used in iotlb_translate()
| * eabb3ceb04 vhost/vsock: Fix error handling in vhost_vsock_init()
| * e0f5c962c0 nfc: Fix potential resource leaks
| * 513787ff9a qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure
| * b314f6c351 net: sched: fix memory leak in tcindex_set_parms
| * 4226ce95a9 net: hns3: add interrupts re-initialization while doing VF FLR
| * 998ebbdc3b nfsd: shut down the NFSv4 state objects before the filecache
| * 69d896b609 veth: Fix race with AF_XDP exposing old or uninitialized descriptors
| * 5f41212dc2 vmxnet3: correctly report csum_level for encapsulated packet
| * 0b70f6ea4d drm/panfrost: Fix GEM handle creation ref-counting
| * e68e088d0d bpf: pull before calling skb_postpull_rcsum()
| * cb0d627bc7 SUNRPC: ensure the matching upcall is in-flight upon downcall
| * 1be16a0c2f ext4: fix deadlock due to mbcache entry corruption
| * 0da99012d3 mbcache: automatically delete entries from cache on freeing
| * 1a56cd972c ext4: fix race when reusing xattr blocks
| * 4cc218e217 ext4: unindent codeblock in ext4_xattr_block_set()
| * 0e6fbc566f ext4: remove EA inode entry from mbcache on inode eviction
| * 27c0867397 mbcache: add functions to delete entry if unused
| * fb59d12ae7 mbcache: don't reclaim used entries
| * 4c363e2961 ext4: use kmemdup() to replace kmalloc + memcpy
| * b8b7922374 ext4: fix leaking uninitialized memory in fast-commit journal
| * a5584ba9b3 ext4: fix various seppling typos
| * adfefe804b ext4: simplify ext4 error translation
| * 95eaa8a953 ext4: move functions in super.c
| * 769469f8f1 fs: ext4: initialize fsdata in pagecache_write()
| * b33e42d65e ext4: use memcpy_to_page() in pagecache_write()
| * 60d4383c1b mm/highmem: Lift memcpy_[to|from]_page to core
| * f86d3338c8 ext4: correct inconsistent error msg in nojournal mode
| * 99017eb3de ext4: goto right label 'failed_mount3a'
| * 56d87959c6 riscv: stacktrace: Fixup ftrace_graph_ret_addr retp argument
| * ecb8e8b2e5 riscv/stacktrace: Fix stack output without ra on the stack top
| * b5c75efd0a ravb: Fix "failed to switch device to config mode" message during unbind
| * 5451efb2ca staging: media: tegra-video: fix device_node use after free
| * f899baf6cb x86/kprobes: Fix optprobe optimization check with CONFIG_RETHUNK
| * 5d112deb2a x86/kprobes: Convert to insn_decode()
| * a1766efc5b perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
| * b5d0f7c240 perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
| * c0a3d21584 media: s5p-mfc: Fix in register read and write for H264
| * 8ff64edf9d media: s5p-mfc: Clear workbit to handle error condition
| * dcd1a4ade5 media: s5p-mfc: Fix to handle reference queue during finishing
| * 97e7896000 x86/MCE/AMD: Clear DFR errors found in THR handler
| * ec75bc4368 x86/mce: Get rid of msr_ops
| * 58de7a95f0 btrfs: replace strncpy() with strscpy()
| * 7a04f85009 perf/x86/intel/uncore: Clear attr_update properly
| * 53d24a9592 perf/x86/intel/uncore: Generalize I/O stacks to PMON mapping procedure
| * 9620f8a5c7 ARM: renumber bits related to _TIF_WORK_MASK
| * 6302709784 drm/amdgpu: make display pinning more flexible (v2)
| * dfc01905b8 drm/amdgpu: handle polaris10/11 overlap asics (v2)
| * 30e95fdc96 ext4: allocate extended attribute value in vmalloc area
| * 8d3e87d43c ext4: avoid unaccounted block allocation when expanding inode
| * 15d0cf84df ext4: initialize quota before expanding inode in setproject ioctl
| * 9882601ee6 ext4: fix inode leak in ext4_xattr_inode_create() on an error path
| * 407f47728c ext4: avoid BUG_ON when creating xattrs
| * 00092b218d ext4: fix error code return to user-space in ext4_get_branch()
| * f06c980287 ext4: fix corruption when online resizing a 1K bigalloc fs
| * 9404839e0c ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
| * 84a2f2ed49 ext4: init quota for 'old.inode' in 'ext4_rename'
| * 71e99ec131 ext4: fix bug_on in __es_tree_search caused by bad boot loader inode
| * 9020f56a3c ext4: check and assert if marking an no_delete evicting inode dirty
| * 86c2a2ec4b ext4: fix reserved cluster accounting in __es_remove_extent()
| * 98004f926d ext4: fix bug_on in __es_tree_search caused by bad quota inode
| * 20af66617e ext4: add helper to check quota inums
| * c0a738875c ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode
| * f9cd698080 ext4: fix undefined behavior in bit shift for ext4_check_flag_values
| * 7223d5e75f ext4: fix use-after-free in ext4_orphan_cleanup
| * d6d18d6e2d ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
| * bdc698ce91 ext4: silence the warning when evicting inode with dioread_nolock
| * 68af1a4842 drm/ingenic: Fix missing platform_driver_unregister() call in ingenic_drm_init()
| * bf83a303f2 drm/i915/dsi: fix VBT send packet port selection for dual link DSI
| * 439cbbc151 drm/vmwgfx: Validate the box size for the snooped cursor
| * 0a0662d597 drm/connector: send hotplug uevent on connector cleanup
| * 21a773ec89 device_cgroup: Roll back to original exceptions after copy failure
| * 3505c187b8 parisc: led: Fix potential null-ptr-deref in start_task()
| * 2c7c487cd8 remoteproc: core: Do pm_relax when in RPROC_OFFLINE state
| * e291dea722 iommu/amd: Fix ivrs_acpihid cmdline parsing code
| * 28e71fd8d5 driver core: Fix bus_type.match() error handling in __driver_attach()
| * 772dbbfc20 crypto: n2 - add missing hash statesize
| * 7c44205748 PCI/sysfs: Fix double free in error path
| * 99ef6cc791 PCI: Fix pci_device_is_present() for VFs by checking PF
| * f29d127b37 ipmi: fix use after free in _ipmi_destroy_user()
| * bfe1e039a0 ima: Fix a potential NULL pointer access in ima_restore_measurement_list
| * 62307558e7 mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type()
| * 4e17819cb3 ipmi: fix long wait in unload when IPMI disconnect
| * 24bc27ea4e ASoC: jz4740-i2s: Handle independent FIFO flush bits
| * 652f1d66a8 wifi: wilc1000: sdio: fix module autoloading
| * d9f6614a73 efi: Add iMac Pro 2017 to uefi skip cert quirk
| * ffcf71676d md/bitmap: Fix bitmap chunk size overflow issues
| * e94443252b rtc: ds1347: fix value written to century register
| * 6155aed476 cifs: fix missing display of three mount options
| * 8c82733e24 cifs: fix confusing debug message
| * 3df07728ab media: dvb-core: Fix UAF due to refcount races at releasing
| * 7dd5a68cdb media: dvb-core: Fix double free in dvb_register_device()
| * 1032520b21 ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod
| * 1306614412 staging: media: tegra-video: fix chan->mipi value on error
| * 52c0622e53 tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
| * b838b1b9ca tracing/hist: Fix wrong return value in parse_action_params()
| * ff3dd2c1be x86/kprobes: Fix kprobes instruction boudary check with CONFIG_RETHUNK
| * 362495bf45 ftrace/x86: Add back ftrace_expected for ftrace bug reports
| * b677629cae x86/microcode/intel: Do not retry microcode reloading on the APs
| * 43dd254853 KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails
| * e61eacf993 perf/core: Call LSM hook after copying perf_event_attr
| * 0cb31bd883 tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx'
| * 18a489a3fd dm cache: set needs_check flag after aborting metadata
| * 2b17026685 dm cache: Fix UAF in destroy()
| * 342cfd8426 dm clone: Fix UAF in clone_dtr()
| * a506b5c927 dm integrity: Fix UAF in dm_integrity_dtr()
| * 34fe9c2251 dm thin: Fix UAF in run_timer_softirq()
| * c84d1ca228 dm thin: resume even if in FAIL mode
| * 94f01ecc2a dm thin: Use last transaction's pmd->root when commit failed
| * 7e37578069 dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata
| * b45e77b792 dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
| * d9fa243ab2 ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops
| * 2437b06223 ALSA: patch_realtek: Fix Dell Inspiron Plus 16
| * e379b88a8f cpufreq: Init completion before kobject_init_and_add()
| * cea018aaf7 PM/devfreq: governor: Add a private governor_data for governor
| * d1d73c3034 selftests: Use optional USERCFLAGS and USERLDFLAGS
| * 12576d2ebf arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength
| * 8546f11c42 ARM: ux500: do not directly dereference __iomem
| * 0061ab5153 btrfs: fix resolving backrefs for inline extent followed by prealloc
| * c0aa6e6ab0 mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K
| * e918762f8a arm64: dts: qcom: sdm845-db845c: correct SPI2 pins drive strength
| * c023597bae jbd2: use the correct print format
| * 8c444b3061 ktest.pl minconfig: Unset configs instead of just removing them
| * 5148dfceab kest.pl: Fix grub2 menu handling for rebooting
| * 780297af3c soc: qcom: Select REMAP_MMIO for LLCC driver
| * d5db9aaf1b media: stv0288: use explicitly signed char
| * 25dbd87379 net/af_packet: make sure to pull mac header
| * c2137d565c net/af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO
| * 7c15d7ecce rcu: Prevent lockdep-RCU splats on lock acquisition/release
| * 4c57f612f4 torture: Exclude "NOHZ tick-stop error" from fatal errors
| * 289f512d08 wifi: rtlwifi: 8192de: correct checking of IQK reload
| * 0f6d6974b0 wifi: rtlwifi: remove always-true condition pointed out by GCC 12
| * 40b844796b net/mlx5e: Fix nullptr in mlx5e_tc_add_fdb_flow()
| * 8b20aab8cf ASoC/SoundWire: dai: expand 'stream' concept beyond SoundWire
| * 185c141946 ASoC: Intel/SOF: use set_stream() instead of set_tdm_slots() for HDAudio
| * 7b3631a2e1 kcsan: Instrument memcpy/memset/memmove with newer Clang
| * 2cd6026e25 SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
| * 3b6c822238 tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak
| * 0bd9b4be72 tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
| * 8ddc48068a tpm: acpi: Call acpi_put_table() to fix memory leak
| * b51d5fed9f mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
| * 252a720882 f2fs: should put a page when checking the summary info
| * 882734bbc5 mm, compaction: fix fast_isolate_around() to stay within boundaries
| * ae77930277 md: fix a crash in mempool_free
| * b591b2919d pnode: terminate at peers of source
| * 66f359ad66 ALSA: line6: fix stack overflow in line6_midi_transmit
| * 5e79f77ea4 ALSA: line6: correct midi status byte when receiving data from podxt
| * 56abf8046b ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
| * c3e8bbcbaa binfmt: Fix error return code in load_elf_fdpic_binary()
| * 12407462d3 hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount
| * 44cf50587e pstore/zone: Use GFP_ATOMIC to allocate zone buffer
| * 0d992c044c HID: plantronics: Additional PIDs for double volume key presses quirk
| * eaf0b78226 HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint
| * 6f7e2fcab7 powerpc/rtas: avoid scheduling in rtas_os_term()
| * f2167f10fc powerpc/rtas: avoid device tree lookups in rtas_os_term()
| * 0af0e115ff objtool: Fix SEGFAULT
| * 57ae492f62 nvmet: don't defer passthrough commands with trivial effects to the workqueue
| * 4b3282a977 nvme: fix the NVME_CMD_EFFECTS_CSE_MASK definition
| * ab711f3eda ata: ahci: Fix PCS quirk application for suspend
| * cc512539c4 nvme-pci: fix page size checks
| * dfb6d54893 nvme-pci: fix mempool alloc size
| * f5d8738fbe nvme-pci: fix doorbell buffer value endianness
| * fe6ea044c4 cifs: fix oops during encryption
| * f9089b9554 usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init
| * ce2462bcf3 pwm: tegra: Fix 32 bit build
| * a8be7c2787 media: dvbdev: fix refcnt bug
| * 153319671a media: dvbdev: fix build warning due to comments
| * 740c537f52 ovl: fix use inode directly in rcu-walk mode
| * f24474d12e gcov: add support for checksum field
| * 36be7afca1 regulator: core: fix deadlock on regulator enable
| * e12f4c3212 iio: adc128s052: add proper .data members in adc128_of_match table
| * 9f604702b7 iio: adc: ad_sigma_delta: do not use internal iio_dev lock
| * 582f5fc2c5 reiserfs: Add missing calls to reiserfs_security_free()
| * 08371068ff HID: mcp2221: don't connect hidraw
| * 7a203471b9 HID: wacom: Ensure bootloader PID is usable in hidraw mode
| * 723ffde78a usb: dwc3: core: defer probe on ulpi_read_id timeout
| * d17c82aad6 usb: dwc3: Fix race between dwc3_set_mode and __dwc3_set_mode
| * 2b725b6fbb ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list
| * c863b67350 ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB
| * d3767082eb ALSA: usb-audio: add the quirk for KT0206 device
| * 7691fa4102 ima: Simplify ima_lsm_copy_rule
| * 1d8dcc3dad pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
| * 07b0ce902e afs: Fix lost servers_outstanding count
| * 1080729b9a perf debug: Set debug_peo_args and redirect_to_stderr variable to correct values in perf_quiet_option()
| * 1c7b03d00c pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
| * c3607ed7ed LoadPin: Ignore the "contents" argument of the LSM hooks
| * 4138e1b775 ASoC: rt5670: Remove unbalanced pm_runtime_put()
| * fd49dc17c3 ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
| * c0ae46693b ASoC: wm8994: Fix potential deadlock
| * e4a8573b04 ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
| * 06c9d468c0 ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link()
| * 812a18e48e ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
| * c2eb1a3877 ASoC: Intel: Skylake: Fix driver hang during shutdown
| * 72c0e552bc ALSA: hda: add snd_hdac_stop_streams() helper
| * d3a8925d6c ALSA/ASoC: hda: move/rename snd_hdac_ext_stop_streams to hdac_stream.c
| * 2727dbfe8d hwmon: (jc42) Fix missing unlock on error in jc42_write()
| * a076490b02 orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()
| * b8affa0c64 orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
| * 6e3c4d3fa5 drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
| * f3d3f3564e drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
| * dcd28191be hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param()
| * efd025f32f clk: st: Fix memory leak in st_of_quadfs_setup()
| * 1c6447d0fc media: si470x: Fix use-after-free in si470x_int_in_callback()
| * a63a1ae134 mmc: renesas_sdhi: better reset from HS400 mode
| * 58e21146c0 mmc: f-sdh30: Add quirks for broken timeout clock capability
| * 4b737246ff regulator: core: fix use_count leakage when handling boot-on
| * 17c2eb9ce8 libbpf: Avoid enum forward-declarations in public API in C++ mode
| * e8022da1fa blk-mq: fix possible memleak when register 'hctx' failed
| * 7d7ab25ead media: dvb-usb: fix memory leak in dvb_usb_adapter_init()
| * 2abd734338 media: dvbdev: adopts refcnt to avoid UAF
| * b42580c8d8 media: dvb-frontends: fix leak of memory fw
| * dd1e1bf916 ethtool: avoiding integer overflow in ethtool_phys_id()
| * 329a766355 bpf: Prevent decl_tag from being referenced in func_proto arg
| * 148dcbd3af ppp: associate skb with a device at tx
| * 755eb08792 mrp: introduce active flags to prevent UAF when applicant uninit
| * 037db10e3f net: add atomic_long_t to net_device_stats fields
| * e2d60023af drm/amd/display: fix array index out of bound error in bios parser
| * 10d713532f md/raid1: stop mdx_raid1 thread when raid1 array run failed
| * 100caacfa0 drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
| * 7d86851c30 drm/sti: Use drm_mode_copy()
| * dd31d73040 drm/rockchip: Use drm_mode_copy()
| * 4f238212c7 drm/msm: Use drm_mode_copy()
| * ebc3c77785 s390/lcs: Fix return type of lcs_start_xmit()
| * 3ac0217ca9 s390/netiucv: Fix return type of netiucv_tx()
| * eeb75f80bc s390/ctcm: Fix return type of ctc{mp,}m_tx()
| * 9606bbc271 drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback
| * a42a23bdae drm/amdgpu: Fix type of second parameter in trans_msg() callback
| * 3cb18dea11 igb: Do not free q_vector unless new one was allocated
| * 87792567d9 wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
| * e7aa8a4709 hamradio: baycom_epp: Fix return type of baycom_send_packet()
| * 5b0b6553bf net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
| * 6d935a0265 bpf: make sure skb->len != 0 when redirecting to a tunneling device
| * ebc2fb6afc qed (gcc13): use u16 for fid to be big enough
| * 648cdb8bf3 drm/amd/display: prevent memory leak
| * c69bc8e34d ipmi: fix memleak when unload ipmi driver
| * be4cd23cd3 ASoC: codecs: rt298: Add quirk for KBL-R RVP platform
| * 8af5249271 wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
| * 1824ccabee wifi: ath9k: verify the expected usb_endpoints are present
| * 2e8bb402b0 brcmfmac: return error when getting invalid max_flowrings from dongle
| * 6cd4865bb4 drm/etnaviv: add missing quirks for GC300
| * 4fd3a11804 hfs: fix OOB Read in __hfs_brec_find
| * 6edd0cdee5 acct: fix potential integer overflow in encode_comp_t()
| * ec93b5430e nilfs2: fix shift-out-of-bounds due to too large exponent of block size
| * d464b035c0 nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
| * b0b83d3f3f ACPICA: Fix error code path in acpi_ds_call_control_method()
| * 911999b193 fs: jfs: fix shift-out-of-bounds in dbDiscardAG
| * 40dba68d41 udf: Avoid double brelse() in udf_rename()
| * 3e997e4ce8 fs: jfs: fix shift-out-of-bounds in dbAllocAG
| * dcbc51d31d binfmt_misc: fix shift-out-of-bounds in check_special_flags
| * 22c1d8f24c x86/hyperv: Remove unregister syscore call from Hyper-V cleanup
| * 9b267051c8 video: hyperv_fb: Avoid taking busy spinlock on panic path
| * 0461a8c278 arm64: make is_ttbrX_addr() noinstr-safe
| * 5a52380b81 rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()
| * 9062493811 net: stream: purge sk_error_queue in sk_stream_kill_queues()
| * 7c3a20bfd2 myri10ge: Fix an error handling path in myri10ge_probe()
| * 3c97373690 rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
| * 5c544c7c6a net_sched: reject TCF_EM_SIMPLE case for complex ematch module
| * a39b4de080 mailbox: zynq-ipi: fix error handling while device_register() fails
| * 821be5a5ab skbuff: Account for tail adjustment during pull operations
| * 6736b61ecf openvswitch: Fix flow lookup to use unmasked key
| * ea14220031 selftests: devlink: fix the fd redirect in dummy_reporter_test
| * 57ce1a36c0 rtc: mxc_v2: Add missing clk_disable_unprepare()
| * 1e2a27dab1 igc: Set Qbv start_time and end_time to end_time if not being configured in GCL
| * edb995b5ec igc: Lift TAPRIO schedule restriction
| * b48d3db891 igc: recalculate Qbv end_time by considering cycle time
| * 3f2a944c23 igc: Add checking for basetime less than zero
| * a0e2295c2a igc: Use strict cycles for Qbv scheduling
| * 413fe82420 igc: Enhance Qbv scheduling by using first flag bit
| * a8f9698a05 net: add a helper to avoid issues with HW TX timestamping and SO_TXTIME
| * ae5d96bae3 net: igc: use skb_csum_is_sctp instead of protocol check
| * 4794d07fe6 net: add inline function skb_csum_is_sctp
| * 67349025f0 net: switch to storing KCOV handle directly in sk_buff
| * 3d5f83a62e r6040: Fix kmemleak in probe and remove
| * aea9e64dec nfc: pn533: Clear nfc_target before being used
| * 6939f84e53 mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
| * b58c871966 mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
| * 30e0a066b6 mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
| * 2a930b75bf net: macsec: fix net device access prior to holding a lock
| * c1207219a4 nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
| * 452e85cc3e NFSD: Remove spurious cb_setup_err tracepoint
| * 09c007e239 rtc: pcf85063: fix pcf85063_clkout_control
| * e9453c13ae rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe()
| * 34836c5923 rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
| * 8e65e70764 netfilter: flowtable: really fix NAT IPv6 offload
| * 1f5571cb1d powerpc/pseries/eeh: use correct API for error log size
| * 9dc96fee26 powerpc/eeh: Drop redundant spinlock initialization
| * 12654b7d8d remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region()
| * be5816b27b remoteproc: qcom_q6v5_pas: detach power domains on remove
| * 582dd58a18 remoteproc: qcom_q6v5_pas: disable wakeup on probe fail or remove
| * e4539eb5c0 remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev()
| * 6a65f4644b pwm: sifive: Call pwm_sifive_update_clock() while mutex is held
| * 57f215a231 iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY
| * dc02d8e59d selftests/powerpc: Fix resource leaks
| * 464506de9b powerpc/hv-gpci: Fix hv_gpci event list
| * 0abfe735be powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
| * da1a33795d powerpc/perf: callchain validate kernel stack pointer bounds
| * 8d2ff5b3e2 kbuild: refactor single builds of *.ko
| * e3bdda22b4 kbuild: unify modules(_install) for in-tree and external modules
| * e215512959 kbuild: remove unneeded mkdir for external modules_install
| * 195cb98861 powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
| * f0bd6504e5 powerpc/xmon: Fix -Wswitch-unreachable warning in bpt_cmds
| * 76957b6aed powerpc/xmon: Enable breakpoints on 8xx
| * 81c8bbf5b2 cxl: Fix refcount leak in cxl_calc_capp_routing
| * 40b4be399e powerpc/52xx: Fix a resource leak in an error handling path
| * 7fded04fbb macintosh/macio-adb: check the return value of ioremap()
| * 2ac0a7059b macintosh: fix possible memory leak in macio_add_one_device()
| * 0d240ac0e4 iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
| * 03f51c7299 iommu/amd: Fix pci device refcount leak in ppr_notifier()
| * 3929576f10 rtc: pcf85063: Fix reading alarm
| * aaed333e22 rtc: snvs: Allow a time difference on clock register read
| * f0c36ea424 rtc: cmos: Disable ACPI RTC event on removal
| * ca8cb20c22 rtc: cmos: Rename ACPI-related functions
| * 9f9923baa2 rtc: cmos: Eliminate forward declarations of some functions
| * 462db582e8 rtc: cmos: Call rtc_wake_setup() from cmos_do_probe()
| * 14ad1353c5 rtc: cmos: Call cmos_wake_setup() from cmos_do_probe()
| * 45b96601a6 rtc: cmos: fix build on non-ACPI platforms
| * f2ece2c722 rtc: cmos: Fix wake alarm breakage
| * 0bcfccb486 rtc: cmos: Fix event handler registration ordering issue
| * 5814d77e2f rtc: rtc-cmos: Do not check ACPI_FADT_LOW_POWER_S0
| * 490b233677 dmaengine: idxd: Fix crc_val field for completion record
| * a42e955475 pwm: tegra: Improve required rate calculation
| * ddd2bb08bd include/uapi/linux/swab: Fix potentially missing __always_inline
| * c2a9843342 phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices
| * ca31ad0932 iommu/sun50i: Fix flush size
| * 147af0c1e7 iommu/sun50i: Fix R/W permission check
| * 3a63c4ff57 iommu/sun50i: Consider all fault sources for reset
| * 160b92ab4a iommu/sun50i: Fix reset release
| * aeef93416c RDMA/siw: Fix pointer cast warning
| * 5beadb55f4 power: supply: fix null pointer dereferencing in power_supply_get_battery_info
| * 72283ecfdc HSI: omap_ssi_core: Fix error handling in ssi_init()
| * 73ca3b19d9 perf symbol: correction while adjusting symbol
| * c8e77bd749 perf trace: Handle failure when trace point folder is missed
| * bd29da5804 perf trace: Use macro RAW_SYSCALL_ARGS_NUM to replace number
| * 6364577ae2 perf trace: Return error if a system call doesn't exist
| * 1d6d90994a power: supply: fix residue sysfs file in error handle route of __power_supply_register()
| * ae2eb995ab HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
| * 6ba4b00f88 HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
| * ee13e2aec3 fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
| * 164857bc02 fbdev: vermilion: decrease reference count in error path
| * 71bca42bc4 fbdev: via: Fix error in via_core_init()
| * 3922415e4c fbdev: pm2fb: fix missing pci_disable_device()
| * f279a7af79 fbdev: ssd1307fb: Drop optional dependency
| * c56c1449cc thermal/drivers/imx8mm_thermal: Validate temperature range
| * 86fa7bb4e2 samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
| * 962f869b36 tracing/hist: Fix issue of losting command info in error_log
| * b7bf15aa19 usb: storage: Add check for kcalloc
| * 9ac541a089 i2c: ismt: Fix an out-of-bounds bug in ismt_access()
| * 61df25c41b i2c: mux: reg: check return value after calling platform_get_resource()
| * 6d79546622 gpiolib: cdev: fix NULL-pointer dereferences
| * aeee7ad089 gpiolib: Get rid of redundant 'else'
| * 37d3de40c1 vme: Fix error not catched in fake_init()
| * b9fa01fb31 staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
| * daa8045a99 staging: rtl8192u: Fix use after free in ieee80211_rx()
| * 46b3885c8c i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
| * c46db6088b chardev: fix error handling in cdev_device_add()
| * 7b289b791a mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
| * 0d1c2c8db2 drivers: mcb: fix resource leak in mcb_probe()
| * e88b89a096 usb: gadget: f_hid: fix refcount leak on error path
| * 1b6a53e447 usb: gadget: f_hid: fix f_hidg lifetime vs cdev
| * 52302c30b2 usb: gadget: f_hid: optional SETUP/SET_REPORT mode
| * c3767f8105 usb: roles: fix of node refcount leak in usb_role_switch_is_parent()
| * 07905a9249 counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update
| * bb5e9402b2 iio: adis: add '__adis_enable_irq()' implementation
| * 3feb8fd8bf iio:imu:adis: Move exports into IIO_ADISLIB namespace
| * 83e321a2ec iio: adis: stylistic changes
| * d1b73eebc7 iio: adis: handle devices that cannot unmask the drdy pin
| * 8eb2a679c6 iio:imu:adis: Use IRQF_NO_AUTOEN instead of irq request then disable
| * 50aaa6b174 genirq: Add IRQF_NO_AUTOEN for request_irq/nmi()
| * 6b22e715bb iio: temperature: ltc2983: make bulk write buffer DMA-safe
| * 0f63c0ddc2 cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
| * 170e8c2d2b cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
| * d34742245e firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe()
| * 0f67ed565f misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os
| * 57c857353d misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
| * a40e1b0a92 ocxl: fix pci device refcount leak when calling get_function_0()
| * 7525741cb3 misc: ocxl: fix possible name leak in ocxl_file_register_afu()
| * 0b5a89e8bc test_firmware: fix memory leak in test_firmware_init()
| * d7c4331c07 serial: sunsab: Fix error handling in sunsab_init()
| * a26b13d158 serial: altera_uart: fix locking in polling mode
| * 8ff88d007f tty: serial: altera_uart_{r,t}x_chars() need only uart_port
| * af320d1a3c tty: serial: clean up stop-tx part in altera_uart_tx_chars()
| * 07f4ca68b0 serial: pch: Fix PCI device refcount leak in pch_request_dma()
| * 46d08b0e0b serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
| * d5b16eb076 serial: amba-pl011: avoid SBSA UART accessing DMACR register
| * fab27438ab usb: typec: tipd: Fix spurious fwnode_handle_put in error path
| * d3b6c28a71 usb: typec: tcpci: fix of node refcount leak in tcpci_register_port()
| * 1ca02df871 usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
| * 5d2b286eb0 staging: vme_user: Fix possible UAF in tsi148_dma_list_add
| * 775a6f8bed usb: fotg210-udc: Fix ages old endianness issues
| * 2fcb7c7d52 uio: uio_dmem_genirq: Fix deadlock between irq config and handling
| * 9bf7a0b2b1 uio: uio_dmem_genirq: Fix missing unlock in irq configuration
| * 27b612bd09 vfio: platform: Do not pass return buffer to ACPI _RST method
| * 18a7200646 class: fix possible memory leak in __class_register()
| * 7e74868a38 serial: tegra: Read DMA status before terminating
| * fce9890e1b drivers: dio: fix possible memory leak in dio_init()
| * d217141345 IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
| * aa96aff394 hwrng: geode - Fix PCI device refcount leak
| * 5998e5c30e hwrng: amd - Fix PCI device refcount leak
| * 38da26c855 crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
| * 15ca148940 RDMA/hns: Fix page size cap from firmware
| * 83b2c33b53 RDMA/hns: Fix PBL page MTR find
| * 73ab1c956a orangefs: Fix sysfs not cleanup when dev init failed
| * 0c53bb661f RDMA/srp: Fix error return code in srp_parse_options()
| * 7cbf2fc276 RDMA/hfi1: Fix error return code in parse_platform_config()
| * 61c5b47c5b riscv/mm: add arch hook arch_clear_hugepage_flags
| * 09814c669d crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe()
| * 75c7b5d6b5 crypto: amlogic - Remove kcalloc without check
| * 357f3e1756 RDMA/nldev: Fix failure to send large messages
| * 25a8dabaab f2fs: avoid victim selection from previous victim section
| * d1b85d2883 RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps()
| * ad27f74e90 scsi: snic: Fix possible UAF in snic_tgt_create()
| * 22e8c7a56b scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
| * f4ba143b04 scsi: ipr: Fix WARNING in ipr_init()
| * b520a32796 scsi: scsi_debug: Fix possible name leak in sdebug_add_host_helper()
| * 9d0ad1e2ba scsi: fcoe: Fix possible name leak when device_register() fails
| * 2b142f6046 scsi: scsi_debug: Fix a warning in resp_report_zones()
| * eaa71cdae8 scsi: scsi_debug: Fix a warning in resp_verify()
| * ac5cfe8bbb scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
| * f671a3f286 scsi: hpsa: Fix error handling in hpsa_add_sas_host()
| * ce1a69cc85 scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add()
| * 7ccfc2bb58 padata: Fix list iterator in padata_do_serial()
| * 8e0681dd4e padata: Always leave BHs disabled when running ->parallel()
| * 4a99e6a104 crypto: tcrypt - Fix multibuffer skcipher speed test mem leak
| * c808edbf58 scsi: hpsa: Fix possible memory leak in hpsa_init_one()
| * 6bb5a62bfd RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
| * 164fa80330 RDMA/hns: fix memory leak in hns_roce_alloc_mr()
| * 3d47544ba0 crypto: ccree - Make cc_debugfs_global_fini() available for module init function
| * 34bab85c2e RDMA/hfi: Decrease PCI device reference count in error path
| * d8f2a0bc52 PCI: Check for alloc failure in pci_request_irq()
| * 8b5f1af335 RDMA/hns: Fix ext_sge num error when post send
| * cc5e915358 RDMA/hns: Repacing 'dseg_len' by macros in fill_ext_sge_inl_data()
| * ed97ade655 crypto: hisilicon/qm - add missing pci_dev_put() in q_num_set()
| * 2dfe1d221e crypto: cryptd - Use request context instead of stack for sub-request
| * 1ab9e15b14 crypto: ccree - Remove debugfs when platform_driver_register failed
| * 33260f4c3e scsi: scsi_debug: Fix a warning in resp_write_scat()
| * 917bf4c0a7 RDMA/siw: Set defined status for work completion with undefined status
| * 237a8936d6 RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
| * 75af03fdf3 RDMA/siw: Fix immediate work request flush to completion queue
| * ef8e236832 f2fs: fix normal discard process
| * 9a32aa87a2 apparmor: Fix memleak in alloc_ns()
| * 417ef568a7 crypto: rockchip - rework by using crypto_engine
| * 6cd8bbb089 crypto: rockchip - delete unneeded variable initialization
| * de041a2e70 crypto: rockchip - remove non-aligned handling
| * 0971bc99d1 crypto: rockchip - better handle cipher key
| * b0b9635f09 crypto: rockchip - add fallback for ahash
| * fbd5f112dc crypto: rockchip - add fallback for cipher
| * 86f1e7f46b crypto: rockchip - do not store mode globally
| * a13c0ff862 crypto: rockchip - do not do custom power management
| * f1acf7e693 f2fs: Fix the race condition of resize flag between resizefs
| * c42d8120bf PCI: pci-epf-test: Register notifier if only core_init_notifier is enabled
| * 16db9aaa41 RDMA/core: Fix order of nldev_exit call
| * 9784b01eb4 PCI: dwc: Fix n_fts[] array overrun
| * 6962f682d0 apparmor: Use pointer to struct aa_label for lbs_cred
| * f4c917a4b0 scsi: core: Fix a race between scsi_done() and scsi_timeout()
| * 3bebfa5f93 crypto: nitrox - avoid double free on error path in nitrox_sriov_init()
| * ee3cffc38e crypto: sun8i-ss - use dma_addr instead u32
| * bf4d7c66a1 apparmor: Fix abi check to include v8 abi
| * 78629ca972 apparmor: fix lockdep warning when removing a namespace
| * 935d86b290 apparmor: fix a memleak in multi_transaction_new()
| * f694e627c6 stmmac: fix potential division by 0
| * 815b961c71 Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
| * 4002180e07 Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
| * 82256faaeb Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
| * 33af776a8d Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
| * 5991402fe0 Bluetooth: hci_ll: don't call kfree_skb() under spin_lock_irqsave()
| * 0169acb41b Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
| * f7dc27702b Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
| * 214346a517 sctp: sysctl: make extra pointers netns aware
| * 13286ad1c7 ntb_netdev: Use dev_kfree_skb_any() in interrupt context
| * 4df544f592 net: lan9303: Fix read error execution path
| * 39b48a92ed can: tcan4x5x: Remove invalid write in clear_interrupts
| * 334c9fb892 net: amd-xgbe: Check only the minimum speed for active/passive cables
| * 03ea9ba5fd net: amd-xgbe: Fix logic around active and passive cables
| * 8eb5f8ae51 net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
| * ee3b1364af hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
| * b242358a27 net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
| * decede59ea net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
| * c43def060c net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
| * 0e23250149 net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
| * 91f09a776a net/tunnel: wait until all sk_user_data reader finish before releasing the sock
| * 51e2d1b84a net: farsync: Fix kmemleak when rmmods farsync
| * 0b3f452d0c ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
| * 2b4af99b44 of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop()
| * 14b349a15c drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
| * 787d1bae7f net: stmmac: selftests: fix potential memleak in stmmac_test_arpoffload()
| * 8ed9994457 net: defxx: Fix missing err handling in dfx_init()
| * e2227eee7a net: vmw_vsock: vmci: Check memcpy_from_msg()
| * 3e8fd1d0fa clk: socfpga: Fix memory leak in socfpga_gate_init()
| * 4b672ee71c clk: socfpga: use clk_hw_register for a5/c5
| * ae8190f19f clk: socfpga: clk-pll: Remove unused variable 'rc'
| * 782d0444ea blktrace: Fix output non-blktrace event when blk_classic option enabled
| * 2484f15964 wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
| * f89c0fbb8b wifi: rtl8xxxu: Fix the channel width reporting
| * d430037248 wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
| * 7f3b4fa482 spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode
| * da13355bb9 clk: samsung: Fix memory leak in _samsung_clk_register_pll()
| * d9b37ea886 media: coda: Add check for kmalloc
| * 35ddd00b36 media: coda: Add check for dcoda_iram_alloc
| * 6fdb8661b9 media: c8sectpfe: Add of_node_put() when breaking out of loop
| * 0b1e96d3fd mmc: mmci: fix return value check of mmc_add_host()
| * 1922def5cb mmc: wbsd: fix return value check of mmc_add_host()
| * 63400da6cd mmc: via-sdmmc: fix return value check of mmc_add_host()
| * 64b2c44117 mmc: meson-gx: fix return value check of mmc_add_host()
| * fb3d596267 mmc: omap_hsmmc: fix return value check of mmc_add_host()
| * 00ac0f5f95 mmc: atmel-mci: fix return value check of mmc_add_host()
| * 9bedf64dda mmc: wmt-sdmmc: fix return value check of mmc_add_host()
| * 3049a3b927 mmc: vub300: fix return value check of mmc_add_host()
| * aabbedcb6c mmc: toshsd: fix return value check of mmc_add_host()
| * 7fa922c7a3 mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
| * b896a9b7a0 mmc: pxamci: fix return value check of mmc_add_host()
| * 3904eb97bb mmc: mxcmmc: fix return value check of mmc_add_host()
| * 7c3b301ca8 mmc: moxart: fix return value check of mmc_add_host()
| * 4a6e5d0222 mmc: alcor: fix return value check of mmc_add_host()
| * 81ea3d964f NFSv4.x: Fail client initialisation if state manager thread can't run
| * 3fbc3c78fa SUNRPC: Fix missing release socket in rpc_sockname()
| * be7d90fc3a xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()
| * 0649129359 ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
| * 7df1fbe49b media: saa7164: fix missing pci_disable_device()
| * 46a9b31369 ALSA: pcm: Set missing stop_operating flag at undoing trigger start
| * be719496ae bpf, sockmap: fix race in sock_map_free()
| * 8c3ef38a0d hwmon: (jc42) Restore the min/max/critical temperatures on resume
| * e7720ef53b hwmon: (jc42) Convert register access and caching to regmap/regcache
| * 6a03c31d08 regulator: core: fix resource leak in regulator_register()
| * 74ac7c9ee2 configfs: fix possible memory leak in configfs_create_dir()
| * 0cf92d2356 hsr: Synchronize sequence number updates.
| * c671f2d10d hsr: Synchronize sending frames to have always incremented outgoing seq nr.
| * 28921ec555 hsr: Disable netpoll.
| * 8cee8543f0 net: hsr: generate supervision frame without HSR/PRP tag
| * 38d13a2a9e hsr: Add a rcu-read lock to hsr_forward_skb().
| * ee4425e81d clk: qcom: clk-krait: fix wrong div2 functions
| * 6f25402d8a regulator: core: fix module refcount leak in set_supply()
| * f532db69ab wifi: mt76: fix coverity overrun-call in mt76_get_txpower()
| * 4ecb7a6e61 wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
| * b2c0b94f48 wifi: mac80211: fix memory leak in ieee80211_if_add()
| * b0163248db spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE
| * ab19f402a1 bonding: uninitialized variable in bond_miimon_inspect()
| * c58df40e3e bpf, sockmap: Fix data loss caused by using apply_bytes on ingress redirect
| * 28e4a763cd bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data
| * 429a2a4258 netfilter: conntrack: set icmpv6 redirects as RELATED
| * cd0e9ee50c ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
| * 7c1ddf7c66 drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
| * 3991d98a8a drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
| * a012cdd4fd drm/amd/pm/smu11: BACO is supported when it's in BACO state
| * 57491967ad ASoC: mediatek: mt8173: Enable IRQ when pdata is ready
| * 52c9ad56c1 ASoC: mediatek: mt8173: Fix debugfs registration for components
| * ae966649f6 wifi: iwlwifi: mvm: fix double free on tx path.
| * ae66695aa1 ALSA: asihpi: fix missing pci_disable_device()
| * 5458bc0f9d NFS: Fix an Oops in nfs_d_automount()
| * bc60485b93 NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
| * d16d7870fd NFSv4.2: Fix initialisation of struct nfs4_label
| * 15feece7af NFSv4.2: Fix a memory stomp in decode_attr_security_label
| * 58a1023eb5 NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding
| * 193691ff5b ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd
| * 6013c3de95 ASoC: dt-bindings: wcd9335: fix reset line polarity in example
| * cf2cbca714 drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()
| * 54ab127600 media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC
| * 559891d430 media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
| * e34cf6cacc media: dvb-core: Fix ignored return value in dvb_register_frontend()
| * 05be5d56f7 pinctrl: pinconf-generic: add missing of_node_put()
| * 9916497a12 clk: imx: replace osc_hdmi with dummy
| * dabf7b675c media: imon: fix a race condition in send_packet()
| * 14d85b600b media: vimc: Fix wrong function called when vimc_init() fails
| * 4518d7cc38 ASoC: qcom: Add checks for devm_kcalloc
| * b73fac67f3 drbd: fix an invalid memory access caused by incorrect use of list iterator
| * 1d0c2b762d mtd: maps: pxa2xx-flash: fix memory leak in probe
| * 7d1e0d237c bonding: fix link recovery in mode 2 when updelay is nonzero
| * 3725a8f26b drm/amdgpu: fix pci device refcount leak
| * f4d70c139d clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
| * a065be0243 regulator: core: use kfree_const() to free space conditionally
| * d7198b63cb ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
| * 88550b4446 ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT
| * ad2d0a3dc2 HID: hid-sensor-custom: set fixed size for custom attributes
| * 0d6ae25da5 bpf: Move skb->len == 0 checks into __bpf_redirect
| * 9920e87a84 inet: add READ_ONCE(sk->sk_bound_dev_if) in inet_csk_bind_conflict()
| * 49aa080951 media: videobuf-dma-contig: use dma_mmap_coherent
| * 8470060019 media: platform: exynos4-is: Fix error handling in fimc_md_init()
| * 49060c0da5 media: solo6x10: fix possible memory leak in solo_sysfs_init()
| * 0369af6fe3 media: vidtv: Fix use-after-free in vidtv_bridge_dvb_init()
| * 3afd738e77 Input: elants_i2c - properly handle the reset GPIO when power is off
| * 0919982a17 mtd: lpddr2_nvm: Fix possible null-ptr-deref
| * effbf63616 wifi: ath10k: Fix return value in ath10k_pci_init()
| * adf03c3099 ima: Fix misuse of dereference of pointer in template_desc_init_fields()
| * 3bd737289c integrity: Fix memory leakage in keyring allocation error path
| * 102df01caf drm/fourcc: Fix vsub/hsub for Q410 and Q401
| * 6f6a99fb62 drm/fourcc: Add packed 10bit YUV 4:2:0 format
| * 85273b4a70 amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table()
| * f48c474efe regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
| * 21a1409e8c ASoC: pxa: fix null-pointer dereference in filter()
| * 698bbaf0b4 drm/mediatek: Modify dpi power on/off sequence.
| * b4b30f56ec drm/radeon: Add the missed acpi_put_table() to fix memory leak
| * cea79ae89b rxrpc: Fix ack.bufferSize to be 0 when generating an ack
| * 00fce49d14 net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
| * 3d5cab726e media: camss: Clean up received buffers on failed start of streaming
| * 61c96d99d4 wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
| * 624438195c Input: joystick - fix Kconfig warning for JOYSTICK_ADC
| * 330bc5533e mtd: Fix device name leak when register device failed in add_mtd_device()
| * 1a79539f4e clk: qcom: gcc-sm8250: Use retention mode for USB GDSCs
| * e1989d808b bpf: propagate precision across all frames, not just the last one
| * cdd73a5ed0 bpf: Check the other end of slot_type for STACK_SPILL
| * 42b2b7382a bpf: propagate precision in ALU/ALU64 operations
| * 7fc38327fd media: platform: exynos4-is: fix return value check in fimc_md_probe()
| * f9d19f3a04 media: vivid: fix compose size exceed boundary
| * 72e8d9c731 bpf: Fix slot type check in check_stack_write_var_off
| * d959ff7fa9 drm/msm/hdmi: drop unused GPIO support
| * b12f354fe6 drm/msm/hdmi: switch to drm_bridge_connector
| * c4b035b1f0 ima: Handle -ESTALE returned by ima_filter_rule_match()
| * d5b227f0d2 ima: Fix fall-through warnings for Clang
| * 576828e59a drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure
| * f1aa976857 spi: Update reference to struct spi_controller
| * dd958c7f3e clk: renesas: r9a06g032: Repair grave increment error
| * 110bf15825 drm/rockchip: lvds: fix PM usage counter unbalance in poweron
| * 1874f9143f can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming
| * 669bdf121f can: kvaser_usb: Add struct kvaser_usb_busparams
| * a50ad6772f can: kvaser_usb_leaf: Fix bogus restart events
| * cd56718e7c can: kvaser_usb_leaf: Fix wrong CAN state after stopping
| * f83742285f can: kvaser_usb_leaf: Fix improved state not being reported
| * fbd155fe14 can: kvaser_usb_leaf: Set Warning state even without bus errors
| * 96af45b1b4 can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
| * caea629409 can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
| * eafcf1b599 can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
| * cd50258e9c can: kvaser_usb: do not increase tx statistics when sending error message frames
| * 580c79fd57 media: exynos4-is: don't rely on the v4l2_async_subdev internals
| * c93cac58a7 media: exynos4-is: Use v4l2_async_notifier_add_fwnode_remote_subdev
| * 4882492ad3 venus: pm_helpers: Fix error check in vcodec_domains_get()
| * 86d531c1d7 media: i2c: ad5820: Fix error path
| * 83f7e3c988 media: coda: jpeg: Add check for kmalloc
| * 7e0ba56c7e pata_ipx4xx_cf: Fix unsigned comparison with less than zero
| * 85b297d798 libbpf: Fix null-pointer dereference in find_prog_by_sec_insn()
| * c61650b869 libbpf: Fix use-after-free in btf_dump_name_dups
| * 26ce3f0c8f drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge
| * 9b6851c182 wifi: rtl8xxxu: Fix reading the vendor of combo chips
| * 98d9172822 wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
| * c3fb3e9a2c wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
| * 53915ecc43 rapidio: devices: fix missing put_device in mport_cdev_open
| * cff9fefdfb hfs: Fix OOB Write in hfs_asc2mac
| * 93cdd12636 relay: fix type mismatch when allocating memory in relay_create_buf()
| * bbaa9ca063 eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
| * 5ee850645e rapidio: fix possible UAF when kfifo_alloc() fails
| * ad4842634d fs: sysv: Fix sysv_nblocks() returns wrong value
| * 6f8ef1de8c MIPS: OCTEON: warn only once if deprecated link status is being used
| * 7b88747d6d MIPS: BCM63xx: Add check for NULL for clk in clk_enable
| * d4c38ee665 platform/x86: intel_scu_ipc: fix possible name leak in __intel_scu_ipc_register()
| * 17cd8c46cb platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
| * f983afc432 PM: runtime: Do not call __rpm_callback() from rpm_idle()
| * 2cbbd78e08 PM: runtime: Improve path in rpm_idle() when no callback
| * 46026bb057 xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
| * 70e7f308d7 x86/xen: Fix memory leak in xen_init_lock_cpu()
| * fc134c355b x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
| * 95dbcb7e1c uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix
| * 02617006b5 ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
| * 7bc9c5ad52 clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in dmtimer_systimer_init_clock()
| * 270700e7df cpu/hotplug: Make target_store() a nop when target == state
| * fc89b8853a futex: Resend potentially swallowed owner death notification
| * 4750cac4df futex: Move to kernel/futex/
| * d8e7a44f48 clocksource/drivers/sh_cmt: Access registers according to spec
| * 0853787db2 clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
| * 97d9eb45ff rapidio: rio: fix possible name leak in rio_register_mport()
| * 88fa351b20 rapidio: fix possible name leaks when rio_add_device() fails
| * 2b7e59ed2e ocfs2: fix memory leak in ocfs2_mount_volume()
| * 45dabd8fe8 ocfs2: rewrite error handling of ocfs2_fill_super
| * e403024c83 ocfs2: ocfs2_mount_volume does cleanup job before return error
| * 81d26aa903 debugfs: fix error when writing negative value to atomic_t debugfs file
| * f649e18c9c docs: fault-injection: fix non-working usage of negative values
| * 869a37ad6f lib/notifier-error-inject: fix error when writing -errno to debugfs file
| * c39aa503f4 libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
| * 0080461624 cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
| * 9346517ed2 genirq/irqdesc: Don't try to remove non-existing sysfs files
| * d97e58f728 nfsd: don't call nfsd_file_put from client states seqfile display
| * 2db53c7059 EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper()
| * f870d5863e irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
| * 5c0cacdd35 platform/chrome: cros_usbpd_notify: Fix error handling in cros_usbpd_notify_init()
| * 0afcb759f6 perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box()
| * d2afced511 perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map()
| * c0539d5d47 perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
| * dac87e295c PNP: fix name memory leak in pnp_alloc_dev()
| * e1049bf0ca selftests/efivarfs: Add checking of the test return value
| * 911773f08c MIPS: vpe-cmp: fix possible memory leak while module exiting
| * 48d42f4464 MIPS: vpe-mt: fix possible memory leak while module exiting
| * f5f2682d3a ocfs2: fix memory leak in ocfs2_stack_glue_init()
| * c9a9aa02f0 lib/fonts: fix undefined behavior in bit shift for get_default_font
| * 9f6ea28f29 proc: fixup uptime selftest
| * d5bf025c5b timerqueue: Use rb_entry_safe() in timerqueue_getnext()
| * 2f2ae35c00 platform/x86: huawei-wmi: fix return value calculation
| * a1014fbc83 lib/debugobjects: fix stat count and optimize debug_objects_mem_init
| * 60a7a0aa9d perf: Fix possible memleak in pmu_dev_alloc()
| * 294ed8bfc9 selftests/ftrace: event_triggers: wait longer for test_event_enable
| * 3ef12a4a8e cpufreq: qcom-hw: Fix memory leak in qcom_cpufreq_hw_read_lut()
| * aa5f2912bb fs: don't audit the capability check in simple_xattr_list()
| * 9e760e0cf2 PM: hibernate: Fix mistake in kerneldoc comment
| * ef875e1c07 alpha: fix syscall entry in !AUDUT_SYSCALL case
| * 1498d2723e cpuidle: dt: Return the correct numbers of parsed idle states
| * 2ff4014417 sched/uclamp: Fix relationship between uclamp and migration margin
| * ca9ef12bf7 sched/fair: Cleanup task_util and capacity type
| * 6389c163c9 tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
| * 5b217f4e79 tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init()
| * 295f59cd2c pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
| * 480bc6a165 ARM: mmp: fix timer_read delay
| * d1b3164d0e pstore/ram: Fix error return code in ramoops_probe()
| * 4dad729f7c arm64: dts: armada-3720-turris-mox: Add missing interrupt for RTC
| * 872865db3b ARM: dts: turris-omnia: Add switch port 6 node
| * c1322d5f69 ARM: dts: turris-omnia: Add ethernet aliases
| * d050513e6f ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
| * bac1a77b85 ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
| * ea907f3032 ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
| * ea8e313bb9 ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
| * 697b92a648 ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
| * 73ab831afd ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
| * c2cb1683d1 arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
| * 1261352836 arm64: dts: mediatek: pumpkin-common: Fix devicetree warnings
| * 853d57e961 arm64: dts: mt2712-evb: Fix usb vbus regulators unit names
| * 436ac713a4 arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
| * 148e773557 arm64: dts: mt2712e: Fix unit address for pinctrl node
| * a938c2a774 arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
| * a455b0c509 arm64: dts: ti: k3-j721e-main: Drop dma-coherent in crypto node
| * 42d97a024e arm64: dts: ti: k3-am65-main: Drop dma-coherent in crypto node
| * 359286f886 perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init()
| * 9afac95b87 perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
| * 5e88aec62e soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
| * 6a9a31c578 soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
| * e325b4ee41 soc: ti: knav_qmss_queue: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync
| * 0542d56e63 arm: dts: spear600: Fix clcd interrupt
| * a8d4fb0bf1 soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index
| * 6213df4f5f soc: qcom: apr: make code more reuseable
| * 45d180a9f6 soc: qcom: llcc: make irq truly optional
| * 8fb204a4b5 drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static
| * 6a2faf6fce ARM: dts: stm32: Fix AV96 WLAN regulator gpio property
| * 6d1b6dc38f ARM: dts: stm32: Drop stm32mp15xc.dtsi from Avenger96
| * 933499bed7 objtool, kcsan: Add volatile read/write instrumentation to whitelist
| * 275a67e909 arm64: dts: qcom: msm8916: Drop MSS fallback compatible
| * 82baee2263 arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias
| * 82569f7e40 arm64: dts: qcom: sdm630: fix UART1 pin bias
| * 4cef81dec2 ARM: dts: qcom: apq8064: fix coresight compatible
| * 5465b9a813 arm64: dts: qcom: msm8996: fix GPU OPP table
| * 6cad948c9f arm64: dts: qcom: ipq6018-cp01-c1: use BLSPI1 pins
| * 60184b1437 usb: musb: remove extra check in musb_gadget_vbus_draw
* | 9e60339cb4 ANDROID: Update .xml due to ABI preservation fix
* | 1cd4863ea8 ANDROID: struct io_uring ABI preservation hack for 5.10.162 changes
* | 4c961b9302 ANDROID: fix up struct task_struct ABI change in 5.10.162
* | 332c489d8b ANDROID: add flags variable back to struct proto_ops
* | 8596b99884 Merge 5.10.162 into android12-5.10-lts
|\|
| * 0fe4548663 Linux 5.10.162
| * 189556b05e io_uring: pass in EPOLL_URING_WAKE for eventfd signaling and wakeups
| * 4ef66581d7 eventfd: provide a eventfd_signal_mask() helper
| * 2f09377502 eventpoll: add EPOLL_URING_WAKE poll wakeup flag
| * b76c5373f0 Revert "proc: don't allow async path resolution of /proc/self components"
| * 87cb08dc6b Revert "proc: don't allow async path resolution of /proc/thread-self components"
| * a3025359ff net: remove cmsg restriction from io_uring based send/recvmsg calls
| * 6ef2b4728a task_work: unconditionally run task_work from get_signal()
| * c91ab04781 signal: kill JOBCTL_TASK_WORK
| * 788d082426 io_uring: import 5.15-stable io_uring
| * ed30050329 task_work: add helper for more targeted task_work canceling
| * 831cb78a2a kernel: don't call do_exit() for PF_IO_WORKER threads
| * 9ded44b69c kernel: stop masking signals in create_io_thread()
| * f0a5f0dc01 x86/process: setup io_threads more like normal user space threads
| * dd26e2cec7 arch: ensure parisc/powerpc handle PF_IO_WORKER in copy_thread()
| * 320c8057ec arch: setup PF_IO_WORKER threads like PF_KTHREAD
| * 000de389ad entry/kvm: Exit to user mode when TIF_NOTIFY_SIGNAL is set
| * 0f735cf52b kernel: allow fork with TIF_NOTIFY_SIGNAL pending
| * 4b4d2c7992 coredump: Limit what can interrupt coredumps
| * 90a2c3821b kernel: remove checking for TIF_NOTIFY_SIGNAL
| * 61bdeb142e task_work: remove legacy TWA_SIGNAL path
| * 6e2bce21ac alpha: fix TIF_NOTIFY_SIGNAL handling
| * db911277a2 ARC: unbork 5.11 bootup: fix snafu in _TIF_NOTIFY_SIGNAL handling
| * a1240cc413 ia64: don't call handle_signal() unless there's actually a signal queued
| * e1402ba4df sparc: add support for TIF_NOTIFY_SIGNAL
| * 78a53ff026 riscv: add support for TIF_NOTIFY_SIGNAL
| * 57e833a0a0 nds32: add support for TIF_NOTIFY_SIGNAL
| * 751fedb9ba ia64: add support for TIF_NOTIFY_SIGNAL
| * 48e9e35d33 h8300: add support for TIF_NOTIFY_SIGNAL
| * c82617d9de c6x: add support for TIF_NOTIFY_SIGNAL
| * 30b78a17ac alpha: add support for TIF_NOTIFY_SIGNAL
| * bf0b619593 xtensa: add support for TIF_NOTIFY_SIGNAL
| * 1bee9dbbca arm: add support for TIF_NOTIFY_SIGNAL
| * 02d383a59c microblaze: add support for TIF_NOTIFY_SIGNAL
| * 19f3e328b4 hexagon: add support for TIF_NOTIFY_SIGNAL
| * c2037d61de csky: add support for TIF_NOTIFY_SIGNAL
| * 12284aec88 openrisc: add support for TIF_NOTIFY_SIGNAL
| * 3fde31e962 sh: add support for TIF_NOTIFY_SIGNAL
| * dc808ffd97 um: add support for TIF_NOTIFY_SIGNAL
| * 0aef2ec063 s390: add support for TIF_NOTIFY_SIGNAL
| * 8ca2e57099 mips: add support for TIF_NOTIFY_SIGNAL
| * abab3d4444 powerpc: add support for TIF_NOTIFY_SIGNAL
| * 45b365bc6c parisc: add support for TIF_NOTIFY_SIGNAL
| * cf3c648673 nios32: add support for TIF_NOTIFY_SIGNAL
| * fe137f46d4 m68k: add support for TIF_NOTIFY_SIGNAL
| * 79a9991e87 arm64: add support for TIF_NOTIFY_SIGNAL
| * 2dbb035451 arc: add support for TIF_NOTIFY_SIGNAL
| * 4b1dcf8ec9 x86: Wire up TIF_NOTIFY_SIGNAL
| * eb42e7b304 task_work: Use TIF_NOTIFY_SIGNAL if available
| * 3c295bd2dd entry: Add support for TIF_NOTIFY_SIGNAL
| * d2136fc145 fs: provide locked helper variant of close_fd_get_file()
| * 57b2053036 file: Rename __close_fd_get_file close_fd_get_file
| * 214f80e251 fs: make do_renameat2() take struct filename
| * 52cfde6bbf signal: Add task_sigpending() helper
| * ad0b013795 net: add accept helper not installing fd
| * 069ac28d92 net: provide __sys_shutdown_sock() that takes a socket
| * 0b8cd5d814 tools headers UAPI: Sync openat2.h with the kernel sources
| * 5683caa735 fs: expose LOOKUP_CACHED through openat2() RESOLVE_CACHED
| * 0cf0ce8fb5 Make sure nd->path.mnt and nd->path.dentry are always valid pointers
| * 146fe79fff fix handling of nd->depth on LOOKUP_CACHED failures in try_to_unlazy*
| * c1fe7bd3e1 fs: add support for LOOKUP_CACHED
| * 36ec31201a saner calling conventions for unlazy_child()
| * e86db87191 iov_iter: add helper to save iov_iter state
| * 1500fed008 kernel: provide create_io_thread() helper
* | bf760358ea Merge branch 'android12-5.10' into android12-5.10-lts
* | 416c4356f3 Merge 5.10.161 into android12-5.10-lts
|/
* 1a9148dfd8 Linux 5.10.161
* eec1c3ade4 net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
* f3fe681715 Bluetooth: L2CAP: Fix u8 overflow
* 7c3a523c9b HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk
* 1d5db0c322 HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10
* 263a1782a6 HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E
* a20b5eec07 HID: ite: Add support for Acer S1002 keyboard-dock
* f2479c3daa igb: Initialize mailbox message for VF reset
* 9ff7aff40e xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N
* c8bf31a00f USB: serial: f81534: fix division by zero on line-speed change
* 5b75a00416 USB: serial: f81232: fix division by zero on line-speed change
* 9895ce5ea2 USB: serial: cp210x: add Kamstrup RF sniffer PIDs
* 398215f783 USB: serial: option: add Quectel EM05-G modem
* c79538f32d usb: gadget: uvc: Prevent buffer overflow in setup handler
* 8b2f86f82c udf: Fix extending file within last block
* db873b770d udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
* 1a075f4a54 udf: Fix preallocation discarding at indirect extent boundary
* 1f7f7365ae udf: Discard preallocation before extending file with a hole

Change-Id: I1463ff16fd85e32614dc83f585aa6b3957024a74
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-23 11:09:43 +00:00
Greg Kroah-Hartman
a880d7ebc5 ANDROID: remove CONFIG_NET_CLS_TCINDEX from gki_defconfig
The tcindex code was removed from the tree in 5.10.173, so remove the
config option from the gki_defconfig files to fix up the build.

Fixes: 18c3fa7a7f ("net/sched: Retire tcindex classifier")
Change-Id: Id4927815ec2fd0ebc8065d891dfb721551f3dbc6
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-23 08:52:11 +00:00
Greg Kroah-Hartman
ca9787bdec Linux 5.10.176
Link: https://lore.kernel.org/r/20230320145443.333824603@linuxfoundation.org
Tested-by: Chris Paterson (CIP) <chris.paterson2@renesas.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:08 +01:00
Lee Jones
e57f797e3f HID: uhid: Over-ride the default maximum data buffer value with our own
commit 1c5d4221240a233df2440fe75c881465cdf8da07 upstream.

The default maximum data buffer size for this interface is UHID_DATA_MAX
(4k).  When data buffers are being processed, ensure this value is used
when ensuring the sanity, rather than a value between the user provided
value and HID_MAX_BUFFER_SIZE (16k).

Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:08 +01:00
Lee Jones
9bc878756b HID: core: Provide new max_buffer_size attribute to over-ride the default
commit b1a37ed00d7908a991c1d0f18a8cba3c2aa99bdc upstream.

Presently, when a report is processed, its proposed size, provided by
the user of the API (as Report Size * Report Count) is compared against
the subsystem default HID_MAX_BUFFER_SIZE (16k).  However, some
low-level HID drivers allocate a reduced amount of memory to their
buffers (e.g. UHID only allocates UHID_DATA_MAX (4k) buffers), rending
this check inadequate in some cases.

In these circumstances, if the received report ends up being smaller
than the proposed report size, the remainder of the buffer is zeroed.
That is, the space between sizeof(csize) (size of the current report)
and the rsize (size proposed i.e. Report Size * Report Count), which can
be handled up to HID_MAX_BUFFER_SIZE (16k).  Meaning that memset()
shoots straight past the end of the buffer boundary and starts zeroing
out in-use values, often resulting in calamity.

This patch introduces a new variable into 'struct hid_ll_driver' where
individual low-level drivers can over-ride the default maximum value of
HID_MAX_BUFFER_SIZE (16k) with something more sympathetic to the
interface.

Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
[Lee: Backported to v5.10.y]
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:08 +01:00
Gaosheng Cui
daa97e770e xfs: remove xfs_setattr_time() declaration
commit b0463b9dd7030a766133ad2f1571f97f204d7bdf upstream.

xfs_setattr_time() has been removed since
commit e014f37db1a2 ("xfs: use setattr_copy to set vfs inode
attributes"), so remove it.

Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:08 +01:00
Christian Brauner
183ca91954 fs: use consistent setgid checks in is_sxid()
commit 8d84e39d76bd83474b26cb44f4b338635676e7e8 upstream.

Now that we made the VFS setgid checking consistent an inode can't be
marked security irrelevant even if the setgid bit is still set. Make
this function consistent with all other helpers.

Note that enforcing consistent setgid stripping checks for file
modification and mode- and ownership changes will cause the setgid bit
to be lost in more cases than useed to be the case. If an unprivileged
user wrote to a non-executable setgid file that they don't have
privilege over the setgid bit will be dropped. This will lead to
temporary failures in some xfstests until they have been updated.

Reported-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:08 +01:00
Amir Goldstein
0e9dbde96c attr: use consistent sgid stripping checks
commit ed5a7047d2011cb6b2bf84ceb6680124cc6a7d95 upstream.

[backported to 5.10.y, prior to idmapped mounts]

Currently setgid stripping in file_remove_privs()'s should_remove_suid()
helper is inconsistent with other parts of the vfs. Specifically, it only
raises ATTR_KILL_SGID if the inode is S_ISGID and S_IXGRP but not if the
inode isn't in the caller's groups and the caller isn't privileged over the
inode although we require this already in setattr_prepare() and
setattr_copy() and so all filesystem implement this requirement implicitly
because they have to use setattr_{prepare,copy}() anyway.

But the inconsistency shows up in setgid stripping bugs for overlayfs in
xfstests (e.g., generic/673, generic/683, generic/685, generic/686,
generic/687). For example, we test whether suid and setgid stripping works
correctly when performing various write-like operations as an unprivileged
user (fallocate, reflink, write, etc.):

echo "Test 1 - qa_user, non-exec file $verb"
setup_testfile
chmod a+rws $junk_file
commit_and_check "$qa_user" "$verb" 64k 64k

The test basically creates a file with 6666 permissions. While the file has
the S_ISUID and S_ISGID bits set it does not have the S_IXGRP set. On a
regular filesystem like xfs what will happen is:

sys_fallocate()
-> vfs_fallocate()
   -> xfs_file_fallocate()
      -> file_modified()
         -> __file_remove_privs()
            -> dentry_needs_remove_privs()
               -> should_remove_suid()
            -> __remove_privs()
               newattrs.ia_valid = ATTR_FORCE | kill;
               -> notify_change()
                  -> setattr_copy()

In should_remove_suid() we can see that ATTR_KILL_SUID is raised
unconditionally because the file in the test has S_ISUID set.

But we also see that ATTR_KILL_SGID won't be set because while the file
is S_ISGID it is not S_IXGRP (see above) which is a condition for
ATTR_KILL_SGID being raised.

So by the time we call notify_change() we have attr->ia_valid set to
ATTR_KILL_SUID | ATTR_FORCE. Now notify_change() sees that
ATTR_KILL_SUID is set and does:

ia_valid = attr->ia_valid |= ATTR_MODE
attr->ia_mode = (inode->i_mode & ~S_ISUID);

which means that when we call setattr_copy() later we will definitely
update inode->i_mode. Note that attr->ia_mode still contains S_ISGID.

Now we call into the filesystem's ->setattr() inode operation which will
end up calling setattr_copy(). Since ATTR_MODE is set we will hit:

if (ia_valid & ATTR_MODE) {
        umode_t mode = attr->ia_mode;
        vfsgid_t vfsgid = i_gid_into_vfsgid(mnt_userns, inode);
        if (!vfsgid_in_group_p(vfsgid) &&
            !capable_wrt_inode_uidgid(mnt_userns, inode, CAP_FSETID))
                mode &= ~S_ISGID;
        inode->i_mode = mode;
}

and since the caller in the test is neither capable nor in the group of the
inode the S_ISGID bit is stripped.

But assume the file isn't suid then ATTR_KILL_SUID won't be raised which
has the consequence that neither the setgid nor the suid bits are stripped
even though it should be stripped because the inode isn't in the caller's
groups and the caller isn't privileged over the inode.

If overlayfs is in the mix things become a bit more complicated and the bug
shows up more clearly. When e.g., ovl_setattr() is hit from
ovl_fallocate()'s call to file_remove_privs() then ATTR_KILL_SUID and
ATTR_KILL_SGID might be raised but because the check in notify_change() is
questioning the ATTR_KILL_SGID flag again by requiring S_IXGRP for it to be
stripped the S_ISGID bit isn't removed even though it should be stripped:

sys_fallocate()
-> vfs_fallocate()
   -> ovl_fallocate()
      -> file_remove_privs()
         -> dentry_needs_remove_privs()
            -> should_remove_suid()
         -> __remove_privs()
            newattrs.ia_valid = ATTR_FORCE | kill;
            -> notify_change()
               -> ovl_setattr()
                  // TAKE ON MOUNTER'S CREDS
                  -> ovl_do_notify_change()
                     -> notify_change()
                  // GIVE UP MOUNTER'S CREDS
     // TAKE ON MOUNTER'S CREDS
     -> vfs_fallocate()
        -> xfs_file_fallocate()
           -> file_modified()
              -> __file_remove_privs()
                 -> dentry_needs_remove_privs()
                    -> should_remove_suid()
                 -> __remove_privs()
                    newattrs.ia_valid = attr_force | kill;
                    -> notify_change()

The fix for all of this is to make file_remove_privs()'s
should_remove_suid() helper to perform the same checks as we already
require in setattr_prepare() and setattr_copy() and have notify_change()
not pointlessly requiring S_IXGRP again. It doesn't make any sense in the
first place because the caller must calculate the flags via
should_remove_suid() anyway which would raise ATTR_KILL_SGID.

While we're at it we move should_remove_suid() from inode.c to attr.c
where it belongs with the rest of the iattr helpers. Especially since it
returns ATTR_KILL_S{G,U}ID flags. We also rename it to
setattr_should_drop_suidgid() to better reflect that it indicates both
setuid and setgid bit removal and also that it returns attr flags.

Running xfstests with this doesn't report any regressions. We should really
try and use consistent checks.

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:08 +01:00
Amir Goldstein
240b96ffec attr: add setattr_should_drop_sgid()
commit 72ae017c5451860443a16fb2a8c243bff3e396b8 upstream.

[backported to 5.10.y, prior to idmapped mounts]

The current setgid stripping logic during write and ownership change
operations is inconsistent and strewn over multiple places. In order to
consolidate it and make more consistent we'll add a new helper
setattr_should_drop_sgid(). The function retains the old behavior where
we remove the S_ISGID bit unconditionally when S_IXGRP is set but also
when it isn't set and the caller is neither in the group of the inode
nor privileged over the inode.

We will use this helper both in write operation permission removal such
as file_remove_privs() as well as in ownership change operations.

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:07 +01:00
Amir Goldstein
baea3ae425 fs: move should_remove_suid()
commit e243e3f94c804ecca9a8241b5babe28f35258ef4 upstream.

Move the helper from inode.c to attr.c. This keeps the the core of the
set{g,u}id stripping logic in one place when we add follow-up changes.
It is the better place anyway, since should_remove_suid() returns
ATTR_KILL_S{G,U}ID flags.

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:07 +01:00
Amir Goldstein
24378d6f74 attr: add in_group_or_capable()
commit 11c2a8700cdcabf9b639b7204a1e38e2a0b6798e upstream.

[backported to 5.10.y, prior to idmapped mounts]

In setattr_{copy,prepare}() we need to perform the same permission
checks to determine whether we need to drop the setgid bit or not.
Instead of open-coding it twice add a simple helper the encapsulates the
logic. We will reuse this helpers to make dropping the setgid bit during
write operations more consistent in a follow up patch.

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:07 +01:00
Yang Xu
94ac142c19 fs: move S_ISGID stripping into the vfs_*() helpers
commit 1639a49ccdce58ea248841ed9b23babcce6dbb0b upstream.

[remove userns argument of helpers for 5.10.y backport]

Move setgid handling out of individual filesystems and into the VFS
itself to stop the proliferation of setgid inheritance bugs.

Creating files that have both the S_IXGRP and S_ISGID bit raised in
directories that themselves have the S_ISGID bit set requires additional
privileges to avoid security issues.

When a filesystem creates a new inode it needs to take care that the
caller is either in the group of the newly created inode or they have
CAP_FSETID in their current user namespace and are privileged over the
parent directory of the new inode. If any of these two conditions is
true then the S_ISGID bit can be raised for an S_IXGRP file and if not
it needs to be stripped.

However, there are several key issues with the current implementation:

* S_ISGID stripping logic is entangled with umask stripping.

  If a filesystem doesn't support or enable POSIX ACLs then umask
  stripping is done directly in the vfs before calling into the
  filesystem.
  If the filesystem does support POSIX ACLs then unmask stripping may be
  done in the filesystem itself when calling posix_acl_create().

  Since umask stripping has an effect on S_ISGID inheritance, e.g., by
  stripping the S_IXGRP bit from the file to be created and all relevant
  filesystems have to call posix_acl_create() before inode_init_owner()
  where we currently take care of S_ISGID handling S_ISGID handling is
  order dependent. IOW, whether or not you get a setgid bit depends on
  POSIX ACLs and umask and in what order they are called.

  Note that technically filesystems are free to impose their own
  ordering between posix_acl_create() and inode_init_owner() meaning
  that there's additional ordering issues that influence S_SIGID
  inheritance.

* Filesystems that don't rely on inode_init_owner() don't get S_ISGID
  stripping logic.

  While that may be intentional (e.g. network filesystems might just
  defer setgid stripping to a server) it is often just a security issue.

This is not just ugly it's unsustainably messy especially since we do
still have bugs in this area years after the initial round of setgid
bugfixes.

So the current state is quite messy and while we won't be able to make
it completely clean as posix_acl_create() is still a filesystem specific
call we can improve the S_SIGD stripping situation quite a bit by
hoisting it out of inode_init_owner() and into the vfs creation
operations. This means we alleviate the burden for filesystems to handle
S_ISGID stripping correctly and can standardize the ordering between
S_ISGID and umask stripping in the vfs.

We add a new helper vfs_prepare_mode() so S_ISGID handling is now done
in the VFS before umask handling. This has S_ISGID handling is
unaffected unaffected by whether umask stripping is done by the VFS
itself (if no POSIX ACLs are supported or enabled) or in the filesystem
in posix_acl_create() (if POSIX ACLs are supported).

The vfs_prepare_mode() helper is called directly in vfs_*() helpers that
create new filesystem objects. We need to move them into there to make
sure that filesystems like overlayfs hat have callchains like:

sys_mknod()
-> do_mknodat(mode)
   -> .mknod = ovl_mknod(mode)
      -> ovl_create(mode)
         -> vfs_mknod(mode)

get S_ISGID stripping done when calling into lower filesystems via
vfs_*() creation helpers. Moving vfs_prepare_mode() into e.g.
vfs_mknod() takes care of that. This is in any case semantically cleaner
because S_ISGID stripping is VFS security requirement.

Security hooks so far have seen the mode with the umask applied but
without S_ISGID handling done. The relevant hooks are called outside of
vfs_*() creation helpers so by calling vfs_prepare_mode() from vfs_*()
helpers the security hooks would now see the mode without umask
stripping applied. For now we fix this by passing the mode with umask
settings applied to not risk any regressions for LSM hooks. IOW, nothing
changes for LSM hooks. It is worth pointing out that security hooks
never saw the mode that is seen by the filesystem when actually creating
the file. They have always been completely misplaced for that to work.

The following filesystems use inode_init_owner() and thus relied on
S_ISGID stripping: spufs, 9p, bfs, btrfs, ext2, ext4, f2fs, hfsplus,
hugetlbfs, jfs, minix, nilfs2, ntfs3, ocfs2, omfs, overlayfs, ramfs,
reiserfs, sysv, ubifs, udf, ufs, xfs, zonefs, bpf, tmpfs.

All of the above filesystems end up calling inode_init_owner() when new
filesystem objects are created through the ->mkdir(), ->mknod(),
->create(), ->tmpfile(), ->rename() inode operations.

Since directories always inherit the S_ISGID bit with the exception of
xfs when irix_sgid_inherit mode is turned on S_ISGID stripping doesn't
apply. The ->symlink() and ->link() inode operations trivially inherit
the mode from the target and the ->rename() inode operation inherits the
mode from the source inode. All other creation inode operations will get
S_ISGID handling via vfs_prepare_mode() when called from their relevant
vfs_*() helpers.

In addition to this there are filesystems which allow the creation of
filesystem objects through ioctl()s or - in the case of spufs -
circumventing the vfs in other ways. If filesystem objects are created
through ioctl()s the vfs doesn't know about it and can't apply regular
permission checking including S_ISGID logic. Therfore, a filesystem
relying on S_ISGID stripping in inode_init_owner() in their ioctl()
callpath will be affected by moving this logic into the vfs. We audited
those filesystems:

* btrfs allows the creation of filesystem objects through various
  ioctls(). Snapshot creation literally takes a snapshot and so the mode
  is fully preserved and S_ISGID stripping doesn't apply.

  Creating a new subvolum relies on inode_init_owner() in
  btrfs_new_subvol_inode() but only creates directories and doesn't
  raise S_ISGID.

* ocfs2 has a peculiar implementation of reflinks. In contrast to e.g.
  xfs and btrfs FICLONE/FICLONERANGE ioctl() that is only concerned with
  the actual extents ocfs2 uses a separate ioctl() that also creates the
  target file.

  Iow, ocfs2 circumvents the vfs entirely here and did indeed rely on
  inode_init_owner() to strip the S_ISGID bit. This is the only place
  where a filesystem needs to call mode_strip_sgid() directly but this
  is self-inflicted pain.

* spufs doesn't go through the vfs at all and doesn't use ioctl()s
  either. Instead it has a dedicated system call spufs_create() which
  allows the creation of filesystem objects. But spufs only creates
  directories and doesn't allo S_SIGID bits, i.e. it specifically only
  allows 0777 bits.

* bpf uses vfs_mkobj() but also doesn't allow S_ISGID bits to be created.

The patch will have an effect on ext2 when the EXT2_MOUNT_GRPID mount
option is used, on ext4 when the EXT4_MOUNT_GRPID mount option is used,
and on xfs when the XFS_FEAT_GRPID mount option is used. When any of
these filesystems are mounted with their respective GRPID option then
newly created files inherit the parent directories group
unconditionally. In these cases non of the filesystems call
inode_init_owner() and thus did never strip the S_ISGID bit for newly
created files. Moving this logic into the VFS means that they now get
the S_ISGID bit stripped. This is a user visible change. If this leads
to regressions we will either need to figure out a better way or we need
to revert. However, given the various setgid bugs that we found just in
the last two years this is a regression risk we should take.

Associated with this change is a new set of fstests to enforce the
semantics for all new filesystems.

Link: https://lore.kernel.org/ceph-devel/20220427092201.wvsdjbnc7b4dttaw@wittgenstein [1]
Link: e014f37db1a2 ("xfs: use setattr_copy to set vfs inode attributes") [2]
Link: 01ea173e103e ("xfs: fix up non-directory creation in SGID directories") [3]
Link: fd84bfdddd16 ("ceph: fix up non-directory creation in SGID directories") [4]
Link: https://lore.kernel.org/r/1657779088-2242-3-git-send-email-xuyang2018.jy@fujitsu.com
Suggested-by: Dave Chinner <david@fromorbit.com>
Suggested-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-and-Tested-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
[<brauner@kernel.org>: rewrote commit message]
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:07 +01:00
Yang Xu
347750e1b6 fs: add mode_strip_sgid() helper
commit 2b3416ceff5e6bd4922f6d1c61fb68113dd82302 upstream.

[remove userns argument of helper for 5.10.y backport]

Add a dedicated helper to handle the setgid bit when creating a new file
in a setgid directory. This is a preparatory patch for moving setgid
stripping into the vfs. The patch contains no functional changes.

Currently the setgid stripping logic is open-coded directly in
inode_init_owner() and the individual filesystems are responsible for
handling setgid inheritance. Since this has proven to be brittle as
evidenced by old issues we uncovered over the last months (see [1] to
[3] below) we will try to move this logic into the vfs.

Link: e014f37db1a2 ("xfs: use setattr_copy to set vfs inode attributes") [1]
Link: 01ea173e103e ("xfs: fix up non-directory creation in SGID directories") [2]
Link: fd84bfdddd16 ("ceph: fix up non-directory creation in SGID directories") [3]
Link: https://lore.kernel.org/r/1657779088-2242-1-git-send-email-xuyang2018.jy@fujitsu.com
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Reviewed-and-Tested-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:07 +01:00
Darrick J. Wong
f60b68c464 xfs: use setattr_copy to set vfs inode attributes
commit e014f37db1a2d109afa750042ac4d69cf3e3d88e upstream.

[remove userns argument of setattr_copy() for 5.10.y backport]

Filipe Manana pointed out that XFS' behavior w.r.t. setuid/setgid
revocation isn't consistent with btrfs[1] or ext4.  Those two
filesystems use the VFS function setattr_copy to convey certain
attributes from struct iattr into the VFS inode structure.

Andrey Zhadchenko reported[2] that XFS uses the wrong user namespace to
decide if it should clear setgid and setuid on a file attribute update.
This is a second symptom of the problem that Filipe noticed.

XFS, on the other hand, open-codes setattr_copy in xfs_setattr_mode,
xfs_setattr_nonsize, and xfs_setattr_time.  Regrettably, setattr_copy is
/not/ a simple copy function; it contains additional logic to clear the
setgid bit when setting the mode, and XFS' version no longer matches.

The VFS implements its own setuid/setgid stripping logic, which
establishes consistent behavior.  It's a tad unfortunate that it's
scattered across notify_change, should_remove_suid, and setattr_copy but
XFS should really follow the Linux VFS.  Adapt XFS to use the VFS
functions and get rid of the old functions.

[1] https://lore.kernel.org/fstests/CAL3q7H47iNQ=Wmk83WcGB-KBJVOEtR9+qGczzCeXJ9Y2KCV25Q@mail.gmail.com/
[2] https://lore.kernel.org/linux-xfs/20220221182218.748084-1-andrey.zhadchenko@virtuozzo.com/

Fixes: 7fa294c899 ("userns: Allow chown and setgid preservation")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:07 +01:00
Dave Chinner
8cf9400f89 xfs: set prealloc flag in xfs_alloc_file_space()
commit 0b02c8c0d75a738c98c35f02efb36217c170d78c upstream.

[backport for 5.10.y]

Now that we only call xfs_update_prealloc_flags() from
xfs_file_fallocate() in the case where we need to set the
preallocation flag, do this in xfs_alloc_file_space() where we
already have the inode joined into a transaction and get
rid of the call to xfs_update_prealloc_flags() from the fallocate
code.

This also means that we now correctly avoid setting the
XFS_DIFLAG_PREALLOC flag when xfs_is_always_cow_inode() is true, as
these inodes will never have preallocated extents.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:07 +01:00
Dave Chinner
308dfe49eb xfs: fallocate() should call file_modified()
commit fbe7e520036583a783b13ff9744e35c2a329d9a4 upstream.

In XFS, we always update the inode change and modification time when
any fallocate() operation succeeds.  Furthermore, as various
fallocate modes can change the file contents (extending EOF,
punching holes, zeroing things, shifting extents), we should drop
file privileges like suid just like we do for a regular write().
There's already a VFS helper that figures all this out for us, so
use that.

The net effect of this is that we no longer drop suid/sgid if the
caller is root, but we also now drop file capabilities.

We also move the xfs_update_prealloc_flags() function so that it now
is only called by the scope that needs to set the the prealloc flag.

Based on a patch from Darrick Wong.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:06 +01:00
Dave Chinner
35f049abba xfs: remove XFS_PREALLOC_SYNC
commit 472c6e46f589c26057596dcba160712a5b3e02c5 upstream.

[partial backport for dependency -
 xfs_ioc_space() still uses XFS_PREALLOC_SYNC]

Callers can acheive the same thing by calling xfs_log_force_inode()
after making their modifications. There is no need for
xfs_update_prealloc_flags() to do this.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:06 +01:00
Darrick J. Wong
c84fb29626 xfs: don't leak btree cursor when insrec fails after a split
commit a54f78def73d847cb060b18c4e4a3d1d26c9ca6d upstream.

The recent patch to improve btree cycle checking caused a regression
when I rebased the in-memory btree branch atop the 5.19 for-next branch,
because in-memory short-pointer btrees do not have AG numbers.  This
produced the following complaint from kmemleak:

unreferenced object 0xffff88803d47dde8 (size 264):
  comm "xfs_io", pid 4889, jiffies 4294906764 (age 24.072s)
  hex dump (first 32 bytes):
    90 4d 0b 0f 80 88 ff ff 00 a0 bd 05 80 88 ff ff  .M..............
    e0 44 3a a0 ff ff ff ff 00 df 08 06 80 88 ff ff  .D:.............
  backtrace:
    [<ffffffffa0388059>] xfbtree_dup_cursor+0x49/0xc0 [xfs]
    [<ffffffffa029887b>] xfs_btree_dup_cursor+0x3b/0x200 [xfs]
    [<ffffffffa029af5d>] __xfs_btree_split+0x6ad/0x820 [xfs]
    [<ffffffffa029b130>] xfs_btree_split+0x60/0x110 [xfs]
    [<ffffffffa029f6da>] xfs_btree_make_block_unfull+0x19a/0x1f0 [xfs]
    [<ffffffffa029fada>] xfs_btree_insrec+0x3aa/0x810 [xfs]
    [<ffffffffa029fff3>] xfs_btree_insert+0xb3/0x240 [xfs]
    [<ffffffffa02cb729>] xfs_rmap_insert+0x99/0x200 [xfs]
    [<ffffffffa02cf142>] xfs_rmap_map_shared+0x192/0x5f0 [xfs]
    [<ffffffffa02cf60b>] xfs_rmap_map_raw+0x6b/0x90 [xfs]
    [<ffffffffa0384a85>] xrep_rmap_stash+0xd5/0x1d0 [xfs]
    [<ffffffffa0384dc0>] xrep_rmap_visit_bmbt+0xa0/0xf0 [xfs]
    [<ffffffffa0384fb6>] xrep_rmap_scan_iext+0x56/0xa0 [xfs]
    [<ffffffffa03850d8>] xrep_rmap_scan_ifork+0xd8/0x160 [xfs]
    [<ffffffffa0385195>] xrep_rmap_scan_inode+0x35/0x80 [xfs]
    [<ffffffffa03852ee>] xrep_rmap_find_rmaps+0x10e/0x270 [xfs]

I noticed that xfs_btree_insrec has a bunch of debug code that return
out of the function immediately, without freeing the "new" btree cursor
that can be returned when _make_block_unfull calls xfs_btree_split.  Fix
the error return in this function to free the btree cursor.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:06 +01:00
Darrick J. Wong
be60f08c03 xfs: purge dquots after inode walk fails during quotacheck
commit 86d40f1e49e9a909d25c35ba01bea80dbcd758cb upstream.

[add XFS_QMOPT_QUOTALL flag to xfs_qm_dqpurge_all() for 5.10.y backport]

xfs/434 and xfs/436 have been reporting occasional memory leaks of
xfs_dquot objects.  These tests themselves were the messenger, not the
culprit, since they unload the xfs module, which trips the slub
debugging code while tearing down all the xfs slab caches:

=============================================================================
BUG xfs_dquot (Tainted: G        W        ): Objects remaining in xfs_dquot on __kmem_cache_shutdown()
-----------------------------------------------------------------------------

Slab 0xffffea000606de00 objects=30 used=5 fp=0xffff888181b78a78 flags=0x17ff80000010200(slab|head|node=0|zone=2|lastcpupid=0xfff)
CPU: 0 PID: 3953166 Comm: modprobe Tainted: G        W         5.18.0-rc6-djwx #rc6 d5824be9e46a2393677bda868f9b154d917ca6a7
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20171121_152543-x86-ol7-builder-01.us.oracle.com-4.el7.1 04/01/2014

Since we don't generally rmmod the xfs module between fstests, this
means that xfs/434 is really just the canary in the coal mine --
something leaked a dquot, but we don't know who.  After days of pounding
on fstests with kmemleak enabled, I finally got it to spit this out:

unreferenced object 0xffff8880465654c0 (size 536):
  comm "u10:4", pid 88, jiffies 4294935810 (age 29.512s)
  hex dump (first 32 bytes):
    60 4a 56 46 80 88 ff ff 58 ea e4 5c 80 88 ff ff  `JVF....X..\....
    00 e0 52 49 80 88 ff ff 01 00 01 00 00 00 00 00  ..RI............
  backtrace:
    [<ffffffffa0740f6c>] xfs_dquot_alloc+0x2c/0x530 [xfs]
    [<ffffffffa07443df>] xfs_qm_dqread+0x6f/0x330 [xfs]
    [<ffffffffa07462a2>] xfs_qm_dqget+0x132/0x4e0 [xfs]
    [<ffffffffa0756bb0>] xfs_qm_quotacheck_dqadjust+0xa0/0x3e0 [xfs]
    [<ffffffffa075724d>] xfs_qm_dqusage_adjust+0x35d/0x4f0 [xfs]
    [<ffffffffa06c9068>] xfs_iwalk_ag_recs+0x348/0x5d0 [xfs]
    [<ffffffffa06c95d3>] xfs_iwalk_run_callbacks+0x273/0x540 [xfs]
    [<ffffffffa06c9e8d>] xfs_iwalk_ag+0x5ed/0x890 [xfs]
    [<ffffffffa06ca22f>] xfs_iwalk_ag_work+0xff/0x170 [xfs]
    [<ffffffffa06d22c9>] xfs_pwork_work+0x79/0x130 [xfs]
    [<ffffffff81170bb2>] process_one_work+0x672/0x1040
    [<ffffffff81171b1b>] worker_thread+0x59b/0xec0
    [<ffffffff8118711e>] kthread+0x29e/0x340
    [<ffffffff810032bf>] ret_from_fork+0x1f/0x30

Now we know that quotacheck is at fault, but even this report was
canaryish -- it was triggered by xfs/494, which doesn't actually mount
any filesystems.  (kmemleak can be a little slow to notice leaks, even
with fstests repeatedly whacking it to look for them.)  Looking at the
*previous* fstest, however, showed that the test run before xfs/494 was
xfs/117.  The tipoff to the problem is in this excerpt from dmesg:

XFS (sda4): Quotacheck needed: Please wait.
XFS (sda4): Metadata corruption detected at xfs_dinode_verify.part.0+0xdb/0x7b0 [xfs], inode 0x119 dinode
XFS (sda4): Unmount and run xfs_repair
XFS (sda4): First 128 bytes of corrupted metadata buffer:
00000000: 49 4e 81 a4 03 02 00 00 00 00 00 00 00 00 00 00  IN..............
00000010: 00 00 00 01 00 00 00 00 00 90 57 54 54 1a 4c 68  ..........WTT.Lh
00000020: 81 f9 7d e1 6d ee 16 00 34 bd 7d e1 6d ee 16 00  ..}.m...4.}.m...
00000030: 34 bd 7d e1 6d ee 16 00 00 00 00 00 00 00 00 00  4.}.m...........
00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000050: 00 00 00 02 00 00 00 00 00 00 00 00 96 80 f3 ab  ................
00000060: ff ff ff ff da 57 7b 11 00 00 00 00 00 00 00 03  .....W{.........
00000070: 00 00 00 01 00 00 00 10 00 00 00 00 00 00 00 08  ................
XFS (sda4): Quotacheck: Unsuccessful (Error -117): Disabling quotas.

The dinode verifier decided that the inode was corrupt, which causes
iget to return with EFSCORRUPTED.  Since this happened during
quotacheck, it is obvious that the kernel aborted the inode walk on
account of the corruption error and disabled quotas.  Unfortunately, we
neglect to purge the dquot cache before doing that, which is how the
dquots leaked.

The problems started 10 years ago in commit b84a3a, when the dquot lists
were converted to a radix tree, but the error handling behavior was not
correctly preserved -- in that commit, if the bulkstat failed and
usrquota was enabled, the bulkstat failure code would be overwritten by
the result of flushing all the dquots to disk.  As long as that
succeeds, we'd continue the quota mount as if everything were ok, but
instead we're now operating with a corrupt inode and incorrect quota
usage counts.  I didn't notice this bug in 2019 when I wrote commit
ebd126a, which changed quotacheck to skip the dqflush when the scan
doesn't complete due to inode walk failures.

Introduced-by: b84a3a9675 ("xfs: remove the per-filesystem list of dquots")
Fixes: ebd126a651 ("xfs: convert quotacheck to use the new iwalk functions")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:06 +01:00
Dave Chinner
d6f223cfef xfs: don't assert fail on perag references on teardown
commit 5b55cbc2d72632e874e50d2e36bce608e55aaaea upstream.

[backport for 5.10.y, prior to perag refactoring in v5.14]

Not fatal, the assert is there to catch developer attention. I'm
seeing this occasionally during recoveryloop testing after a
shutdown, and I don't want this to stop an overnight recoveryloop
run as it is currently doing.

Convert the ASSERT to a XFS_IS_CORRUPT() check so it will dump a
corruption report into the log and cause a test failure that way,
but it won't stop the machine dead.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:06 +01:00
Lukas Wunner
d0292124bb PCI/DPC: Await readiness of secondary bus after reset
commit 53b54ad074de1896f8b021615f65b27f557ce874 upstream.

pci_bridge_wait_for_secondary_bus() is called after a Secondary Bus
Reset, but not after a DPC-induced Hot Reset.

As a result, the delays prescribed by PCIe r6.0 sec 6.6.1 are not
observed and devices on the secondary bus may be accessed before
they're ready.

One affected device is Intel's Ponte Vecchio HPC GPU.  It comprises a
PCIe switch whose upstream port is not immediately ready after reset.
Because its config space is restored too early, it remains in
D0uninitialized, its subordinate devices remain inaccessible and DPC
recovery fails with messages such as:

  i915 0000:8c:00.0: can't change power state from D3cold to D0 (config space inaccessible)
  intel_vsec 0000:8e:00.1: can't change power state from D3cold to D0 (config space inaccessible)
  pcieport 0000:89:02.0: AER: device recovery failed

Fix it.

Link: https://lore.kernel.org/r/9f5ff00e1593d8d9a4b452398b98aa14d23fca11.1673769517.git.lukas@wunner.de
Tested-by: Ravi Kishore Koppuravuri <ravi.kishore.koppuravuri@intel.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:06 +01:00
Lukas Wunner
337aa99f76 PCI: Unify delay handling for reset and resume
commit ac91e6980563ed53afadd925fa6585ffd2bc4a2c upstream.

Sheng Bi reports that pci_bridge_secondary_bus_reset() may fail to wait
for devices on the secondary bus to become accessible after reset:

Although it does call pci_dev_wait(), it erroneously passes the bridge's
pci_dev rather than that of a child.  The bridge of course is always
accessible while its secondary bus is reset, so pci_dev_wait() returns
immediately.

Sheng Bi proposes introducing a new pci_bridge_secondary_bus_wait()
function which is called from pci_bridge_secondary_bus_reset():

https://lore.kernel.org/linux-pci/20220523171517.32407-1-windy.bi.enflame@gmail.com/

However we already have pci_bridge_wait_for_secondary_bus() which does
almost exactly what we need.  So far it's only called on resume from
D3cold (which implies a Fundamental Reset per PCIe r6.0 sec 5.8).
Re-using it for Secondary Bus Resets is a leaner and more rational
approach than introducing a new function.

That only requires a few minor tweaks:

- Amend pci_bridge_wait_for_secondary_bus() to await accessibility of
  the first device on the secondary bus by calling pci_dev_wait() after
  performing the prescribed delays.  pci_dev_wait() needs two parameters,
  a reset reason and a timeout, which callers must now pass to
  pci_bridge_wait_for_secondary_bus().  The timeout is 1 sec for resume
  (PCIe r6.0 sec 6.6.1) and 60 sec for reset (commit 821cdad5c4 ("PCI:
  Wait up to 60 seconds for device to become ready after FLR")).
  Introduce a PCI_RESET_WAIT macro for the 1 sec timeout.

- Amend pci_bridge_wait_for_secondary_bus() to return 0 on success or
  -ENOTTY on error for consumption by pci_bridge_secondary_bus_reset().

- Drop an unnecessary 1 sec delay from pci_reset_secondary_bus() which
  is now performed by pci_bridge_wait_for_secondary_bus().  A static
  delay this long is only necessary for Conventional PCI, so modern
  PCIe systems benefit from shorter reset times as a side effect.

Fixes: 6b2f1351af ("PCI: Wait for device to become ready after secondary bus reset")
Link: https://lore.kernel.org/r/da77c92796b99ec568bd070cbe4725074a117038.1673769517.git.lukas@wunner.de
Reported-by: Sheng Bi <windy.bi.enflame@gmail.com>
Tested-by: Ravi Kishore Koppuravuri <ravi.kishore.koppuravuri@intel.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: stable@vger.kernel.org # v4.17+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:06 +01:00
Sven Schnelle
b5e0b3d742 s390/ipl: add missing intersection check to ipl_report handling
commit a52e5cdbe8016d4e3e6322fd93d71afddb9a5af9 upstream.

The code which handles the ipl report is searching for a free location
in memory where it could copy the component and certificate entries to.
It checks for intersection between the sections required for the kernel
and the component/certificate data area, but fails to check whether
the data structures linking these data areas together intersect.

This might cause the iplreport copy code to overwrite the iplreport
itself. Fix this by adding two addtional intersection checks.

Cc: <stable@vger.kernel.org>
Fixes: 9641b8cc73 ("s390/ipl: read IPL report at early boot")
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
Fedor Pchelkin
84e2e393bf io_uring: avoid null-ptr-deref in io_arm_poll_handler
No upstream commit exists for this commit.

The issue was introduced with backporting upstream commit c16bda37594f
("io_uring/poll: allow some retries for poll triggering spuriously").

Memory allocation can possibly fail causing invalid pointer be
dereferenced just before comparing it to NULL value.

Move the pointer check in proper place (upstream has the similar location
of the check). In case the request has REQ_F_POLLED flag up, apoll can't
be NULL so no need to check there.

Found by Linux Verification Center (linuxtesting.org) with Syzkaller.

Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
Janusz Krzysztofik
5e784a7d07 drm/i915/active: Fix misuse of non-idle barriers as fence trackers
commit e0e6b416b25ee14716f3549e0cbec1011b193809 upstream.

Users reported oopses on list corruptions when using i915 perf with a
number of concurrently running graphics applications.  Root cause analysis
pointed at an issue in barrier processing code -- a race among perf open /
close replacing active barriers with perf requests on kernel context and
concurrent barrier preallocate / acquire operations performed during user
context first pin / last unpin.

When adding a request to a composite tracker, we try to reuse an existing
fence tracker, already allocated and registered with that composite.  The
tracker we obtain may already track another fence, may be an idle barrier,
or an active barrier.

If the tracker we get occurs a non-idle barrier then we try to delete that
barrier from a list of barrier tasks it belongs to.  However, while doing
that we don't respect return value from a function that performs the
barrier deletion.  Should the deletion ever fail, we would end up reusing
the tracker still registered as a barrier task.  Since the same structure
field is reused with both fence callback lists and barrier tasks list,
list corruptions would likely occur.

Barriers are now deleted from a barrier tasks list by temporarily removing
the list content, traversing that content with skip over the node to be
deleted, then populating the list back with the modified content.  Should
that intentionally racy concurrent deletion attempts be not serialized,
one or more of those may fail because of the list being temporary empty.

Related code that ignores the results of barrier deletion was initially
introduced in v5.4 by commit d8af05ff38 ("drm/i915: Allow sharing the
idle-barrier from other kernel requests").  However, all users of the
barrier deletion routine were apparently serialized at that time, then the
issue didn't exhibit itself.  Results of git bisect with help of a newly
developed igt@gem_barrier_race@remote-request IGT test indicate that list
corruptions might start to appear after commit 311770173f ("drm/i915/gt:
Schedule request retirement when timeline idles"), introduced in v5.5.

Respect results of barrier deletion attempts -- mark the barrier as idle
only if successfully deleted from the list.  Then, before proceeding with
setting our fence as the one currently tracked, make sure that the tracker
we've got is not a non-idle barrier.  If that check fails then don't use
that tracker but go back and try to acquire a new, usable one.

v3: use unlikely() to document what outcome we expect (Andi),
  - fix bad grammar in commit description.
v2: no code changes,
  - blame commit 311770173f ("drm/i915/gt: Schedule request retirement
    when timeline idles"), v5.5, not commit d8af05ff38 ("drm/i915: Allow
    sharing the idle-barrier from other kernel requests"), v5.4,
  - reword commit description.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6333
Fixes: 311770173f ("drm/i915/gt: Schedule request retirement when timeline idles")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@vger.kernel.org # v5.5
Cc: Andi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230302120820.48740-1-janusz.krzysztofik@linux.intel.com
(cherry picked from commit 506006055769b10d1b2b4e22f636f3b45e0e9fc7)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
John Harrison
8f27d43217 drm/i915: Don't use stolen memory for ring buffers with LLC
commit 690e0ec8e63da9a29b39fedc6ed5da09c7c82651 upstream.

Direction from hardware is that stolen memory should never be used for
ring buffer allocations on platforms with LLC. There are too many
caching pitfalls due to the way stolen memory accesses are routed. So
it is safest to just not use it.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Fixes: c58b735fc7 ("drm/i915: Allocate rings from stolen")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v4.9+
Tested-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230216011101.1909009-2-John.C.Harrison@Intel.com
(cherry picked from commit f54c1f6c697c4297f7ed94283c184acc338a5cf8)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
Nikita Zhandarovich
b4a798374f x86/mm: Fix use of uninitialized buffer in sme_enable()
commit cbebd68f59f03633469f3ecf9bea99cd6cce3854 upstream.

cmdline_find_option() may fail before doing any initialization of
the buffer array. This may lead to unpredictable results when the same
buffer is used later in calls to strncmp() function.  Fix the issue by
returning early if cmdline_find_option() returns an error.

Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.

Fixes: aca20d5462 ("x86/mm: Add support to make use of Secure Memory Encryption")
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
Cc: <stable@kernel.org>
Link: https://lore.kernel.org/r/20230306160656.14844-1-n.zhandarovich@fintech.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
Yazen Ghannam
764217184f x86/mce: Make sure logged MCEs are processed after sysfs update
commit 4783b9cb374af02d49740e00e2da19fd4ed6dec4 upstream.

A recent change introduced a flag to queue up errors found during
boot-time polling. These errors will be processed during late init once
the MCE subsystem is fully set up.

A number of sysfs updates call mce_restart() which goes through a subset
of the CPU init flow. This includes polling MCA banks and logging any
errors found. Since the same function is used as boot-time polling,
errors will be queued. However, the system is now past late init, so the
errors will remain queued until another error is found and the workqueue
is triggered.

Call mce_schedule_work() at the end of mce_restart() so that queued
errors are processed.

Fixes: 3bff147b187d ("x86/mce: Defer processing of early errors")
Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20230301221420.2203184-1-yazen.ghannam@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
Shawn Guo
15e926dfd8 cpuidle: psci: Iterate backwards over list in psci_pd_remove()
commit 6b0313c2fa3d2cf991c9ffef6fae6e7ef592ce6d upstream.

In case that psci_pd_init_topology() fails for some reason,
psci_pd_remove() will be responsible for deleting provider and removing
genpd from psci_pd_providers list.  There will be a failure when removing
the cluster PD, because the cpu (child) PDs haven't been removed.

[    0.050232] CPUidle PSCI: init PM domain cpu0
[    0.050278] CPUidle PSCI: init PM domain cpu1
[    0.050329] CPUidle PSCI: init PM domain cpu2
[    0.050370] CPUidle PSCI: init PM domain cpu3
[    0.050422] CPUidle PSCI: init PM domain cpu-cluster0
[    0.050475] PM: genpd_remove: unable to remove cpu-cluster0
[    0.051412] PM: genpd_remove: removed cpu3
[    0.051449] PM: genpd_remove: removed cpu2
[    0.051499] PM: genpd_remove: removed cpu1
[    0.051546] PM: genpd_remove: removed cpu0

Fix the problem by iterating the provider list reversely, so that parent
PD gets removed after child's PDs like below.

[    0.029052] CPUidle PSCI: init PM domain cpu0
[    0.029076] CPUidle PSCI: init PM domain cpu1
[    0.029103] CPUidle PSCI: init PM domain cpu2
[    0.029124] CPUidle PSCI: init PM domain cpu3
[    0.029151] CPUidle PSCI: init PM domain cpu-cluster0
[    0.029647] PM: genpd_remove: removed cpu0
[    0.029666] PM: genpd_remove: removed cpu1
[    0.029690] PM: genpd_remove: removed cpu2
[    0.029714] PM: genpd_remove: removed cpu3
[    0.029738] PM: genpd_remove: removed cpu-cluster0

Fixes: a65a397f24 ("cpuidle: psci: Add support for PM domains by using genpd")
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Cc: 5.10+ <stable@vger.kernel.org> # 5.10+
Signed-off-by: Rafael J. Wysocki <rjw@rjwysocki.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
Helge Deller
38742635ed fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
commit 203873a535d627c668f293be0cb73e26c30f9cc7 upstream.

Find a valid modeline depending on the machine graphic card
configuration and add the fb_check_var() function to validate
Xorg provided graphics settings.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:05 +01:00
Francesco Dolcini
03fc29e75e mmc: sdhci_am654: lower power-on failed message severity
commit 11440da77d6020831ee6f9ce4551b545dea789ee upstream.

Lower the power-on failed message severity from warn to info when the
controller does not power-up. It's normal to have this situation when
the SD card slot is empty, therefore we should not warn the user about
it.

Fixes: 7ca0f166f5 ("mmc: sdhci_am654: Add workaround for card detect debounce timer")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20230306162751.163369-1-francesco@dolcini.it
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:04 +01:00
David Hildenbrand
b2747b690c mm/userfaultfd: propagate uffd-wp bit when PTE-mapping the huge zeropage
commit 42b2af2c9b7eede8ef21d0943f84d135e21a32a3 upstream.

Currently, we'd lose the userfaultfd-wp marker when PTE-mapping a huge
zeropage, resulting in the next write faults in the PMD range not
triggering uffd-wp events.

Various actions (partial MADV_DONTNEED, partial mremap, partial munmap,
partial mprotect) could trigger this.  However, most importantly,
un-protecting a single sub-page from the userfaultfd-wp handler when
processing a uffd-wp event will PTE-map the shared huge zeropage and lose
the uffd-wp bit for the remainder of the PMD.

Let's properly propagate the uffd-wp bit to the PMDs.

 #define _GNU_SOURCE
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
 #include <stdbool.h>
 #include <inttypes.h>
 #include <fcntl.h>
 #include <unistd.h>
 #include <errno.h>
 #include <poll.h>
 #include <pthread.h>
 #include <sys/mman.h>
 #include <sys/syscall.h>
 #include <sys/ioctl.h>
 #include <linux/userfaultfd.h>

 static size_t pagesize;
 static int uffd;
 static volatile bool uffd_triggered;

 #define barrier() __asm__ __volatile__("": : :"memory")

 static void uffd_wp_range(char *start, size_t size, bool wp)
 {
 	struct uffdio_writeprotect uffd_writeprotect;

 	uffd_writeprotect.range.start = (unsigned long) start;
 	uffd_writeprotect.range.len = size;
 	if (wp) {
 		uffd_writeprotect.mode = UFFDIO_WRITEPROTECT_MODE_WP;
 	} else {
 		uffd_writeprotect.mode = 0;
 	}
 	if (ioctl(uffd, UFFDIO_WRITEPROTECT, &uffd_writeprotect)) {
 		fprintf(stderr, "UFFDIO_WRITEPROTECT failed: %d\n", errno);
 		exit(1);
 	}
 }

 static void *uffd_thread_fn(void *arg)
 {
 	static struct uffd_msg msg;
 	ssize_t nread;

 	while (1) {
 		struct pollfd pollfd;
 		int nready;

 		pollfd.fd = uffd;
 		pollfd.events = POLLIN;
 		nready = poll(&pollfd, 1, -1);
 		if (nready == -1) {
 			fprintf(stderr, "poll() failed: %d\n", errno);
 			exit(1);
 		}

 		nread = read(uffd, &msg, sizeof(msg));
 		if (nread <= 0)
 			continue;

 		if (msg.event != UFFD_EVENT_PAGEFAULT ||
 		    !(msg.arg.pagefault.flags & UFFD_PAGEFAULT_FLAG_WP)) {
 			printf("FAIL: wrong uffd-wp event fired\n");
 			exit(1);
 		}

 		/* un-protect the single page. */
 		uffd_triggered = true;
 		uffd_wp_range((char *)(uintptr_t)msg.arg.pagefault.address,
 			      pagesize, false);
 	}
 	return arg;
 }

 static int setup_uffd(char *map, size_t size)
 {
 	struct uffdio_api uffdio_api;
 	struct uffdio_register uffdio_register;
 	pthread_t thread;

 	uffd = syscall(__NR_userfaultfd,
 		       O_CLOEXEC | O_NONBLOCK | UFFD_USER_MODE_ONLY);
 	if (uffd < 0) {
 		fprintf(stderr, "syscall() failed: %d\n", errno);
 		return -errno;
 	}

 	uffdio_api.api = UFFD_API;
 	uffdio_api.features = UFFD_FEATURE_PAGEFAULT_FLAG_WP;
 	if (ioctl(uffd, UFFDIO_API, &uffdio_api) < 0) {
 		fprintf(stderr, "UFFDIO_API failed: %d\n", errno);
 		return -errno;
 	}

 	if (!(uffdio_api.features & UFFD_FEATURE_PAGEFAULT_FLAG_WP)) {
 		fprintf(stderr, "UFFD_FEATURE_WRITEPROTECT missing\n");
 		return -ENOSYS;
 	}

 	uffdio_register.range.start = (unsigned long) map;
 	uffdio_register.range.len = size;
 	uffdio_register.mode = UFFDIO_REGISTER_MODE_WP;
 	if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) < 0) {
 		fprintf(stderr, "UFFDIO_REGISTER failed: %d\n", errno);
 		return -errno;
 	}

 	pthread_create(&thread, NULL, uffd_thread_fn, NULL);

 	return 0;
 }

 int main(void)
 {
 	const size_t size = 4 * 1024 * 1024ull;
 	char *map, *cur;

 	pagesize = getpagesize();

 	map = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0);
 	if (map == MAP_FAILED) {
 		fprintf(stderr, "mmap() failed\n");
 		return -errno;
 	}

 	if (madvise(map, size, MADV_HUGEPAGE)) {
 		fprintf(stderr, "MADV_HUGEPAGE failed\n");
 		return -errno;
 	}

 	if (setup_uffd(map, size))
 		return 1;

 	/* Read the whole range, populating zeropages. */
 	madvise(map, size, MADV_POPULATE_READ);

 	/* Write-protect the whole range. */
 	uffd_wp_range(map, size, true);

 	/* Make sure uffd-wp triggers on each page. */
 	for (cur = map; cur < map + size; cur += pagesize) {
 		uffd_triggered = false;

 		barrier();
 		/* Trigger a write fault. */
 		*cur = 1;
 		barrier();

 		if (!uffd_triggered) {
 			printf("FAIL: uffd-wp did not trigger\n");
 			return 1;
 		}
 	}

 	printf("PASS: uffd-wp triggered\n");
 	return 0;
 }

Link: https://lkml.kernel.org/r/20230302175423.589164-1-david@redhat.com
Fixes: e06f1e1dd4 ("userfaultfd: wp: enabled write protection in userfaultfd API")
Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Shaohua Li <shli@fb.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:04 +01:00
Chen Zhongjin
83c3b2f4e7 ftrace: Fix invalid address access in lookup_rec() when index is 0
commit ee92fa443358f4fc0017c1d0d325c27b37802504 upstream.

KASAN reported follow problem:

 BUG: KASAN: use-after-free in lookup_rec
 Read of size 8 at addr ffff000199270ff0 by task modprobe
 CPU: 2 Comm: modprobe
 Call trace:
  kasan_report
  __asan_load8
  lookup_rec
  ftrace_location
  arch_check_ftrace_location
  check_kprobe_address_safe
  register_kprobe

When checking pg->records[pg->index - 1].ip in lookup_rec(), it can get a
pg which is newly added to ftrace_pages_start in ftrace_process_locs().
Before the first pg->index++, index is 0 and accessing pg->records[-1].ip
will cause this problem.

Don't check the ip when pg->index is 0.

Link: https://lore.kernel.org/linux-trace-kernel/20230309080230.36064-1-chenzhongjin@huawei.com

Cc: stable@vger.kernel.org
Fixes: 9644302e33 ("ftrace: Speed up search by skipping pages by address")
Suggested-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Chen Zhongjin <chenzhongjin@huawei.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:04 +01:00
Matthieu Baerts
f9a98b8dde mptcp: avoid setting TCP_CLOSE state twice
commit 3ba14528684f528566fb7d956bfbfb958b591d86 upstream.

tcp_set_state() is called from tcp_done() already.

There is then no need to first set the state to TCP_CLOSE, then call
tcp_done().

Fixes: d582484726 ("mptcp: fix fallback for MP_JOIN subflows")
Cc: stable@vger.kernel.org
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/362
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:04 +01:00
Dmitry Osipenko
684c7372bb drm/shmem-helper: Remove another errant put in error path
commit ee9adb7a45516cfa536ca92253d7ae59d56db9e4 upstream.

drm_gem_shmem_mmap() doesn't own reference in error code path, resulting
in the dma-buf shmem GEM object getting prematurely freed leading to a
later use-after-free.

Fixes: f49a51bfdc ("drm/shme-helpers: Fix dma_buf_mmap forwarding bug")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230108211311.3950107-1-dmitry.osipenko@collabora.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:04 +01:00
Hamidreza H. Fard
fbc5ffcce7 ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro
commit a86e79e3015f5dd8e1b01ccfa49bd5c6e41047a1 upstream.

Samsung Galaxy Book2 Pro (13" 2022 NP930XED-KA1DE) with codec SSID
144d:c868 requires the same workaround for enabling the speaker amp
like other Samsung models with ALC298 code.

Signed-off-by: Hamidreza H. Fard <nitocris@posteo.net>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20230307163741.3878-1-nitocris@posteo.net
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:04 +01:00
Bard Liao
9addf5e105 ALSA: hda: intel-dsp-config: add MTL PCI id
commit bbdf904b13a62bb8b1272d92a7dde082dff86fbb upstream.

Use SOF as default audio driver.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Gongjun Song <gongjun.song@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20230306074101.3906707-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-22 13:30:04 +01:00