Commit Graph

4124 Commits

Author SHA1 Message Date
Ye Bin
c83ab50b6e BACKPORT: ext4: fix use-after-free in ext4_rename_dir_prepare
commit 0be698ecbe4471fcad80e81ec6a05001421041b3 upstream.

We got issue as follows:
EXT4-fs (loop0): mounted filesystem without journal. Opts: ,errors=continue
ext4_get_first_dir_block: bh->b_data=0xffff88810bee6000 len=34478
ext4_get_first_dir_block: *parent_de=0xffff88810beee6ae bh->b_data=0xffff88810bee6000
ext4_rename_dir_prepare: [1] parent_de=0xffff88810beee6ae
==================================================================
BUG: KASAN: use-after-free in ext4_rename_dir_prepare+0x152/0x220
Read of size 4 at addr ffff88810beee6ae by task rep/1895

CPU: 13 PID: 1895 Comm: rep Not tainted 5.10.0+ #241
Call Trace:
 dump_stack+0xbe/0xf9
 print_address_description.constprop.0+0x1e/0x220
 kasan_report.cold+0x37/0x7f
 ext4_rename_dir_prepare+0x152/0x220
 ext4_rename+0xf44/0x1ad0
 ext4_rename2+0x11c/0x170
 vfs_rename+0xa84/0x1440
 do_renameat2+0x683/0x8f0
 __x64_sys_renameat+0x53/0x60
 do_syscall_64+0x33/0x40
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7f45a6fc41c9
RSP: 002b:00007ffc5a470218 EFLAGS: 00000246 ORIG_RAX: 0000000000000108
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f45a6fc41c9
RDX: 0000000000000005 RSI: 0000000020000180 RDI: 0000000000000005
RBP: 00007ffc5a470240 R08: 00007ffc5a470160 R09: 0000000020000080
R10: 00000000200001c0 R11: 0000000000000246 R12: 0000000000400bb0
R13: 00007ffc5a470320 R14: 0000000000000000 R15: 0000000000000000

The buggy address belongs to the page:
page:00000000440015ce refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x10beee
flags: 0x200000000000000()
raw: 0200000000000000 ffffea00043ff4c8 ffffea0004325608 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88810beee580: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88810beee600: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff88810beee680: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                  ^
 ffff88810beee700: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88810beee780: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
Disabling lock debugging due to kernel taint
ext4_rename_dir_prepare: [2] parent_de->inode=3537895424
ext4_rename_dir_prepare: [3] dir=0xffff888124170140
ext4_rename_dir_prepare: [4] ino=2
ext4_rename_dir_prepare: ent->dir->i_ino=2 parent=-757071872

Reason is first directory entry which 'rec_len' is 34478, then will get illegal
parent entry. Now, we do not check directory entry after read directory block
in 'ext4_get_first_dir_block'.
To solve this issue, check directory entry in 'ext4_get_first_dir_block'.

[ Trigger an ext4_error() instead of just warning if the directory is
  missing a '.' or '..' entry.   Also make sure we return an error code
  if the file system is corrupted.  -TYT ]

Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220414025223.4113128-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ta: Adapt patch to cope with the android specific changes introduced in
commit 705a3e5b18 ("ANDROID: ext4: Handle casefolding with encryption").
Pass zero value for lblk when calling ext4_check_dir_entry().]
Cc: Daniel Rosenberg <drosen@google.com>
Reported-and-tested-by: syzbot+a07b88e6427ec1c97aa5@syzkaller.appspotmail.com
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Change-Id: I9d4218ffa0ddae2aa75aa4755221ef7f856b04e9
2023-01-13 08:55:46 +00:00
Greg Kroah-Hartman
9ef4727680 Merge tag 'android12-5.10.149_r00' into android12-5.10
This is the merge of the upstream LTS release of 5.10.149 into the
android12-5.10 branch.

It contains the following commits:

0118fb827b Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
69a9a62c66 ANDROID: GKI: db845c: Update symbols list and ABI
2498b03977 Merge 5.10.149 into android12-5.10-lts
09be132bfe Linux 5.10.149
31ce5da48a wifi: mac80211: fix MBSSID parsing use-after-free
353b5c8d4b wifi: mac80211: don't parse mbssid in assoc response
66dacdbc2e mac80211: mlme: find auth challenge directly
a07708a843 Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
c1e111543d Merge 5.10.148 into android12-5.10-lts
3783e64fee Linux 5.10.148
0df206bdc6 misc: pci_endpoint_test: Fix pci_endpoint_test_{copy,write,read}() panic
40a29e58f6 misc: pci_endpoint_test: Aggregate params checking for xfer
9c13b1a044 Input: xpad - fix wireless 360 controller breaking after suspend
19dba9c3b5 Input: xpad - add supported devices as contributed on github
b2b9386667 wifi: cfg80211: update hidden BSSes to avoid WARN_ON
58c0306d0b wifi: mac80211: fix crash in beacon protection for P2P-device
3539e75abe wifi: mac80211_hwsim: avoid mac80211 warning on bad rate
b0e5c5deb7 wifi: cfg80211: avoid nontransmitted BSS list corruption
6b94484503 wifi: cfg80211: fix BSS refcounting bugs
6144c97f96 wifi: cfg80211: ensure length byte is present before access
e7aa7fd10e wifi: cfg80211/mac80211: reject bad MBSSID elements
a6408e0b69 wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans()
b0c37581be random: use expired timer rather than wq for mixing fast pool
c1a4423fd3 random: avoid reading two cache lines on irq randomness
638f84a718 USB: serial: qcserial: add new usb-id for Dell branded EM7455
36b33c6351 scsi: stex: Properly zero out the passthrough command structure
438994b8cd efi: Correct Macmini DMI match in uefi cert quirk
2fd1caa0c6 ALSA: hda: Fix position reporting on Poulsbo
011399a3f9 random: clamp credited irq bits to maximum mixed
fc87c413f2 random: restore O_NONBLOCK support
c04b67c544 Revert "clk: ti: Stop using legacy clkctrl names for omap4 and 5"
0a49bfa8f8 rpmsg: qcom: glink: replace strncpy() with strscpy_pad()
3451df3a51 USB: serial: ftdi_sio: fix 300 bps rate for SIO
1b257f97fe usb: mon: make mmapped memory read only
3ba555d8e1 mmc: core: Terminate infinite loop in SD-UHS voltage switch
0684658366 mmc: core: Replace with already defined values for readability
4f32f266b1 drm/amd/display: skip audio setup when audio stream is enabled
a6fe179ba0 drm/amd/display: update gamut remap if plane has changed
73e1b27b58 net: atlantic: fix potential memory leak in aq_ndev_close()
3287f0d727 arch: um: Mark the stack non-executable to fix a binutils warning
aeb8315593 um: Cleanup compiler warning in arch/x86/um/tls_32.c
6d4deaba06 um: Cleanup syscall_handler_t cast in syscalls_32.h
6d7a47e849 ALSA: hda/hdmi: Fix the converter reuse for the silent stream
c1337f8ea8 net/ieee802154: fix uninit value bug in dgram_sendmsg
034b30c311 scsi: qedf: Fix a UAF bug in __qedf_probe()
29461bbe2d ARM: dts: fix Moxa SDIO 'compatible', remove 'sdhci' misnomer
dae0b77cb8 dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API failure
e0ca2998df dmaengine: xilinx_dma: cleanup for fetching xlnx,num-fstores property
789e590cb8 dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling
64e240934c firmware: arm_scmi: Add SCMI PM driver remove routine
6df7c6d141 compiler_attributes.h: move __compiletime_{error|warning}
1e555c3ed1 fs: fix UAF/GPF bug in nilfs_mdt_destroy
acf05d61d3 powerpc/64s/radix: don't need to broadcast IPI for radix pmd collapse flush
377c60dd32 mm: gup: fix the fast GUP race against THP collapse
fce793a056 ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC
132590d776 xsk: Inherit need_wakeup flag for shared sockets
beffc38dc6 perf tools: Fixup get_current_dir_name() compilation
fb380f548c docs: update mediator information in CoC docs
c7f4af575b Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
b23b0cd57e ceph: don't truncate file in atomic_open
8a18fdc5ae nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure
aad4c99785 nilfs2: fix leak of nilfs_root in case of writer thread creation failure
21ee3cffed nilfs2: fix use-after-free bug of struct nilfs_root
3f840480e3 nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level()
bc7618b493 Merge 5.10.147 into android12-5.10-lts
014862eecf Linux 5.10.147
98f722cc24 ALSA: hda/hdmi: fix warning about PCM count when used with SOF
b12d0489e4 x86/alternative: Fix race in try_get_desc()
374d4c3075 KVM: x86: Hide IA32_PLATFORM_DCA_CAP[31:0] from the guest
a8e6cde506 clk: iproc: Do not rely on node name for correct PLL setup
cf41711aa4 clk: imx: imx6sx: remove the SET_RATE_PARENT flag for QSPI clocks
83db457b41 selftests: Fix the if conditions of in test_extra_filter()
84cab3531f net: stmmac: power up/down serdes in stmmac_open/release
743a6e53cf nvme: Fix IOC_PR_CLEAR and IOC_PR_RELEASE ioctls for nvme devices
469dc5fd9a nvme: add new line after variable declatation
2c248c4681 cxgb4: fix missing unlock on ETHOFLD desc collect fail path
fde656dbc3 net: sched: act_ct: fix possible refcount leak in tcf_ct_init()
fa065e6081 usbnet: Fix memory leak in usbnet_disconnect()
57959392f7 Input: melfas_mip4 - fix return value check in mip4_probe()
330b775781 Revert "drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume time"
359e73edd3 ASoC: tas2770: Reinit regcache on reset
8884a192f9 soc: sunxi: sram: Fix debugfs info for A64 SRAM C
4e2ede7cb9 soc: sunxi: sram: Fix probe function ordering issues
50fbc81f80 soc: sunxi_sram: Make use of the helper function devm_platform_ioremap_resource()
0fdc3ab9b4 soc: sunxi: sram: Prevent the driver from being unbound
3e0405c69b soc: sunxi: sram: Actually claim SRAM regions
a658f0bc72 reset: imx7: Fix the iMX8MP PCIe PHY PERST support
8934aea1a4 ARM: dts: am33xx: Fix MMCHS0 dma properties
cce5dc0333 scsi: hisi_sas: Revert "scsi: hisi_sas: Limit max hw sectors for v3 HW"
625899cd06 swiotlb: max mapping size takes min align mask into account
6f478fe8c3 media: rkvdec: Disable H.264 error detection
ac828e2416 media: dvb_vb2: fix possible out of bound access
be2cd261ca mm: fix madivse_pageout mishandling on non-LRU page
1002d5fef4 mm/migrate_device.c: flush TLB while holding PTL
a54fc53691 mm: prevent page_frag_alloc() from corrupting the memory
466a26af2d mm/page_alloc: fix race condition between build_all_zonelists and page allocation
9b751b4dc3 mmc: hsq: Fix data stomping during mmc recovery
36b10cde0c mmc: moxart: fix 4-bit bus width and remove 8-bit bus width
02d55a837e libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205
e72a435fa3 net: mt7531: only do PLL once after the reset
a48daecd09 ntfs: fix BUG_ON in ntfs_lookup_inode_by_name()
1d71422bd4 ARM: dts: integrator: Tag PCI host with device_type
dab144c5dd clk: ingenic-tcu: Properly enable registers before accessing timers
6c5742372b Input: snvs_pwrkey - fix SNVS_HPVIDR1 register address
8cf377baf0 net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455
0695e590de thunderbolt: Explicitly reset plug events delay back to USB4 spec value
efdff53394 usb: typec: ucsi: Remove incorrect warning
e5ee7b77ac uas: ignore UAS for Thinkplus chips
5f91ceea6c usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS
1e4b856fc0 uas: add no-uas quirk for Hiksemi usb_disk
6ac5b52e3f btrfs: fix hang during unmount when stopping a space reclaim worker
29d849c3de ALSA: hda: Fix Nvidia dp infoframe
24070d32c6 ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically
c1256c531d ALSA: hda/tegra: Reset hardware
ded9e8964d ALSA: hda/tegra: Use clk_bulk helpers
b2ad53fbc0 thunderbolt: Add support for Intel Maple Ridge single port controller
53e6282dde thunderbolt: Add support for Intel Maple Ridge
0e8dfc1216 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
391716695e Revert "usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind"
1d17080edb Merge 5.10.146 into android12-5.10-lts
62aea69444 Linux 5.10.146
c18383218c ext4: make directory inode spreading reflect flexbg size
a968542d7e ext4: limit the number of retries after discarding preallocations blocks
958b0ee23f ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
2511726515 devdax: Fix soft-reservation memory description
0fa11239c4 i2c: mlxbf: Fix frequency calculation
48ee0a864d i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction()
4f6db1f921 i2c: mlxbf: incorrect base address passed during io write
2f58c47c36 i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible
90f1c0025b workqueue: don't skip lockdep work dependency in cancel_work_sync()
4dfc96d8d7 drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
58101a9cfc drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage
3ae1dede22 drm/amd/display: Limit user regamma to a valid value
867b2b2b68 drm/amdgpu: use dirty framebuffer helper
c5812807e4 drm/gma500: Fix BUG: sleeping function called from invalid context errors
ec2bf249bd Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region
2a2e503a62 cifs: always initialize struct msghdr smb_msg completely
877231b0e6 cifs: use discard iterator to discard unneeded network data more efficiently
09867977fc drm/amdgpu: Fix check for RAS support
8c6fd05cf8 vfio/type1: fix vaddr_get_pfns() return in vfio_pin_page_external()
f31ea57c11 usb: xhci-mtk: fix issue of out-of-bounds array access
f5fcc9d6d7 s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
fb189aa1be serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
e1993864a9 serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
7f11386733 serial: Create uart_xmit_advance()
fda04a0bab drm/amd/amdgpu: fixing read wrong pf2vf data in SRIOV
4bc4b6419e selftests: forwarding: add shebang for sch_red.sh
8844c750ee net: sched: fix possible refcount leak in tc_new_tfilter()
75ca7f44da net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
d76151a813 net/smc: Stop the CLC flow if no link to map buffers on
fd938b4ce0 drm/mediatek: dsi: Move mtk_dsi_stop() call back to mtk_dsi_poweroff()
c990621606 perf kcore_copy: Do not check /proc/modules is unchanged
28d185095e perf jit: Include program header in ELF files
78926cf762 can: gs_usb: gs_can_open(): fix race dev->can.state condition
ebd97dbe3c netfilter: ebtables: fix memory leak when blob is malformed
b043a525a3 netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain()
710e3f526b netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain()
1e7e55374d net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs
586def6ebe net/sched: taprio: avoid disabling offload when it was never enabled
aa400ccadf net: socket: remove register_gifconf
8bd98cfbfc net: enetc: move enetc_set_psfp() out of the common enetc_set_features()
f0a057f49b wireguard: netlink: avoid variable-sized memcpy on sockaddr
b7b3859598 wireguard: ratelimiter: disable timings test by default
ddd47f1cd6 net: ipa: properly limit modem routing table use
8c1454d549 net: ipa: kill IPA_TABLE_ENTRY_SIZE
53b1715e28 net: ipa: DMA addresses are nicely aligned
48afea293a net: ipa: avoid 64-bit modulus
3ae25aca3f net: ipa: fix table alignment requirement
c2cf0613d1 net: ipa: fix assumptions about DMA address size
d58815af89 of: mdio: Add of_node_put() when breaking out of for_each_xx
9101e54c95 drm/hisilicon: Add depends on MMU
bac7328fc0 drm/hisilicon/hibmc: Allow to be built if COMPILE_TEST is enabled
b3b41d4d95 sfc: fix null pointer dereference in efx_hard_start_xmit
b4afd3878f sfc: fix TX channel offset when using legacy interrupts
2dbf487d6b i40e: Fix set max_tx_rate when it is lower than 1 Mbps
65ee2bcc89 i40e: Fix VF set max MTU size
15e9724f6b iavf: Fix set max MTU size with port VLAN and jumbo frames
ccddb1db4b iavf: Fix bad page state
21b535fe5e MIPS: Loongson32: Fix PHY-mode being left unspecified
a4121785a3 MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko
1ac50c1ad4 drm/panel: simple: Fix innolux_g121i1_l01 bus_format
90fbcb26d6 net: team: Unsync device addresses on ndo_stop
e2b94a1122 net: bonding: Unsync device addresses on ndo_stop
dc209962c0 net: bonding: Share lacpdu_mcast_addr definition
2b9aba0c5d scsi: mpt3sas: Fix return value check of dma_get_required_mask()
e7fafef983 scsi: mpt3sas: Force PCIe scatterlist allocations to be within same 4 GB region
351f2d2c35 net: phy: aquantia: wait for the suspend/resume operations to finish
d298fc2eef net: core: fix flow symmetric hash
e90001e1dd net: let flow have same hash in two directions
ab4a733874 ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
14446a1bc2 iavf: Fix cached head and tail value for iavf_get_tx_pending
5d75fef3e6 netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find()
9a5d7e0acb netfilter: nf_conntrack_irc: Tighten matching on DCC message
369ec4dab0 netfilter: nf_conntrack_sip: fix ct_sip_walk_headers
66f9470ffe arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma
aa11dae059 dmaengine: ti: k3-udma-private: Fix refcount leak bug in of_xudma_dev_get()
1cc871fe6d arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz
3ca272b231 drm/mediatek: dsi: Add atomic {destroy,duplicate}_state, reset callbacks
39f97714f3 arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob
dce4662869 xfs: validate inode fork size against fork format
a6bfdc157f xfs: reorder iunlink remove operation in xfs_ifree
e811a534ec xfs: fix up non-directory creation in SGID directories
4e74179a16 interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate
a60babeb60 KVM: SEV: add cache flush to solve SEV cache incoherency issues
379ac7905f mm/slub: fix to return errno if kmalloc() fails
fa57bb9b1a can: flexcan: flexcan_mailbox_read() fix return value for drop = true
12fda27a41 riscv: fix a nasty sigreturn bug...
657803b918 gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
bdea98b98f gpio: mockup: fix NULL pointer dereference when removing debugfs
bd5958ccfc wifi: mt76: fix reading current per-tid starting sequence number for aggregation
85f9a2d51e efi: libstub: check Shim mode using MokSBStateRT
3490ebe435 efi: x86: Wipe setup_data on pure EFI boot
c5ee36018d media: flexcop-usb: fix endpoint type check
0d99b180ce iommu/vt-d: Check correct capability for sagaw determination
213cdb2901 ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop
10c7e52d95 ALSA: hda/realtek: Add quirk for ASUS GA503R laptop
4cd84a9518 ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack
2f7cad4ecd ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack
62ce31979f ALSA: hda/realtek: Re-arrange quirk table entries
d4bad13828 ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop
62b0824c2c ALSA: hda/realtek: Add quirk for Huawei WRT-WX9
c78bce842d ALSA: hda: add Intel 5 Series / 3400 PCI DID
f109dd1607 ALSA: hda/tegra: set depop delay for tegra
a1926f11d9 USB: serial: option: add Quectel RM520N
4d1d91a634 USB: serial: option: add Quectel BG95 0x0203 composition
3a26651a78 USB: core: Fix RST error in hub.c
381f77b6a6 arm64/bti: Disable in kernel BTI when cross section thunks are broken
050de28980 arm64: Restrict ARM64_BTI_KERNEL to clang 12.0.0 and newer
561d86bd0e Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
578d644edc vfio/type1: Unpin zero pages
abb560abdf vfio/type1: Prepare for batched pinning with struct vfio_batch
38cb9b8683 vfio/type1: Change success value of vaddr_get_pfn()
c4adbfa9ce Revert "usb: add quirks for Lenovo OneLink+ Dock"
905e8be528 usb: cdns3: fix issue with rearming ISO OUT endpoint
8fcb5f027b usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer
f457bb2198 usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
b9e5c47e33 usb: add quirks for Lenovo OneLink+ Dock
345bdea212 tty: serial: atmel: Preserve previous USART mode if RS485 disabled
730f78c51b serial: atmel: remove redundant assignment in rs485_config
b3f2adf426 mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure
7780b3dda2 usb: xhci-mtk: relax TT periodic bandwidth allocation
99f48a3a6e usb: xhci-mtk: allow multiple Start-Split in a microframe
b19f9f4122 usb: xhci-mtk: add some schedule error number
402fa9214e usb: xhci-mtk: add a function to (un)load bandwidth info
c2e7000b13 usb: xhci-mtk: use @sch_tt to check whether need do TT schedule
a2566a8dc5 usb: xhci-mtk: add only one extra CS for FS/LS INTR
b1e11bc66c usb: xhci-mtk: get the microframe boundary for ESIT
9c28189bb6 usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop
ff23c7277f usb: dwc3: gadget: Don't modify GEVNTCOUNT in pullup()
ab046365c9 usb: dwc3: gadget: Refactor pullup()
db27874477 usb: dwc3: gadget: Prevent repeat pullup()
6bd182beef usb: dwc3: Issue core soft reset before enabling run/stop
b83692feb0 usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind
2a358ad19c usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device
c267bb8334 usb: typec: intel_pmc_mux: Update IOM port status offset for AlderLake
7b0db849ea drm/amdgpu: make sure to init common IP before gmc
9d18013dac drm/amdgpu: Separate vf2pf work item init from virt data exchange
87a4e51fb8 drm/amdgpu: indirect register access for nv12 sriov
9f55f36f74 drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega
ef2aee5cec Merge 5.10.145 into android12-5.10-lts
4a77e6ef20 Linux 5.10.145
ca5539d421 ALSA: hda/sigmatel: Fix unused variable warning for beep power change
9f267393b0 cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
06e194e113 video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
3fefe614ed mksysmap: Fix the mismatch of 'L0' symbols in System.map
3e6d2eff56 MIPS: OCTEON: irq: Fix octeon_irq_force_ciu_mapping()
72602bc620 afs: Return -EAGAIN, not -EREMOTEIO, when a file already locked
517a0324db net: usb: qmi_wwan: add Quectel RM520N
a36fd2d8d6 ALSA: hda/tegra: Align BDL entry to 4KB boundary
e41b97a277 ALSA: hda/sigmatel: Keep power up while beep is enabled
b95a5ef4c0 wifi: mac80211_hwsim: check length for virtio packets
c505fee07b rxrpc: Fix calc of resend age
35da670ed1 rxrpc: Fix local destruction being repeated
891d5c46f2 regulator: pfuze100: Fix the global-out-of-bounds access in pfuze100_regulator_probe()
c2ef959e33 ASoC: nau8824: Fix semaphore unbalance at error paths
107c6b6058 Revert "serial: 8250: Fix reporting real baudrate value in c_ospeed field"
e00582a361 video: fbdev: i740fb: Error out if 'pixclock' equals zero
f63ddf62d0 tools/include/uapi: Fix <asm/errno.h> for parisc and xtensa
331eba80cb cifs: don't send down the destination address to sendmsg for a SOCK_STREAM
f3fbd08e7c cifs: revalidate mapping when doing direct writes
a9398cb81c of/device: Fix up of_dma_configure_id() stub
6a27acda3d tracing: hold caller_addr to hardirq_{enable,disable}_ip
65dd251c51 parisc: ccio-dma: Add missing iounmap in error path in ccio_probe()
1f24b0a7ca drm/meson: Fix OSD1 RGB to YCbCr coefficient
4d3d2e384b drm/meson: Correct OSD1 global alpha value
24196210b1 gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx
4d065f8356 NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0
2f16f5b582 pinctrl: sunxi: Fix name for A100 R_PIO
ee4369260e of: fdt: fix off-by-one error in unflatten_dt_nodes()
cae6172a94 net: dsa: mv88e6xxx: allow use of PHYs on CPU and DSA ports
4a6c6041e8 platform/x86/intel: hid: add quirk to support Surface Go 3
8faabaf112 usb: cdns3: gadget: fix new urb never complete if ep cancel previous requests
cd226d8c1b powerpc/pseries/mobility: ignore ibm, platform-facilities updates
d5ee5a9e47 powerpc/pseries/mobility: refactor node lookup during DT update
4dbe84b9b6 dmaengine: bestcomm: fix system boot lockups
7bbdf49e26 parisc: Flush kernel data mapping in set_pte_at() when installing pte for user page
b00a56e647 parisc: Optimize per-pagetable spinlocks
59819f0aaf serial: 8250: Fix reporting real baudrate value in c_ospeed field
9230af9188 KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ handling
6bae475481 KVM: PPC: Book3S HV: Context tracking exit guest context before enabling irqs
7474313da8 Merge 5.10.144 into android12-5.10-lts
3dbfa90b61 Merge 5.10.143 into android12-5.10-lts
51659937e3 Revert "USB: core: Prevent nested device-reset calls"
2e00a2dc61 Revert "xhci: Add grace period after xHC start to prevent premature runtime suspend."
e0f0b200a5 Merge 5.10.142 into android12-5.10-lts
e69a383052 Revert "mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse"
e4a7358455 Revert "io_uring: disable polling pollfree files"
99c2dfe47a Linux 5.10.144
744f98f71d Input: goodix - add compatible string for GT1158
c7f4c203d1 soc: fsl: select FSL_GUTS driver for DPIO
35371fd688 x86/ftrace: Use alternative RET encoding
4586df06a0 x86/ibt,ftrace: Make function-graph play nice
33015556a9 Revert "x86/ftrace: Use alternative RET encoding"
891f03f688 mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region()
dd3aa77d5d usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS
5ce017619c platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes
fc2c14c2cd perf/arm_pmu_platform: fix tests for platform_get_irq() failure
187908079d drm/amd/amdgpu: skip ucode loading if ucode_size == 0
c598e2704c nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change()
1cae6f8e17 Input: iforce - add support for Boeder Force Feedback Wheel
de2aa49523 ieee802154: cc2520: add rc code in cc2520_tx()
3815e66c21 gpio: mockup: remove gpio debugfs when remove device
1b8b5384e8 tg3: Disable tg3 device on system reboot to avoid triggering AER
704d1f2ac6 hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message
ef033e619e HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo
cff2b3a50c drm/msm/rd: Fix FIFO-full deadlock
fac2c299ef Input: goodix - add support for GT1158
218b71e32f tracefs: Only clobber mode/uid/gid on remount if asked
0a81ddfc20 iommu/vt-d: Correctly calculate sagaw value of IOMMU
5ce1b0a0c2 ARM: dts: imx6qdl-kontron-samx6i: fix spi-flash compatible
a381cac2ab ARM: dts: imx: align SPI NOR node name with dtschema
f1101295c1 Linux 5.10.143
71d3adbb28 arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly
202341395c hwmon: (mr75203) enable polling for all VM channels
c9da73ae78 hwmon: (mr75203) fix multi-channel voltage reading
19841592ae hwmon: (mr75203) fix voltage equation for negative source input
8e8dc8fc53 hwmon: (mr75203) update pvt->v_num and vm_num to the actual number of used sensors
13521c94b9 hwmon: (mr75203) fix VM sensor allocation when "intel,vm-map" not defined
5e17967c7e iommu/amd: use full 64-bit value in build_completion_wait()
1a27425523 swiotlb: avoid potential left shift overflow
586f8c8330 MIPS: loongson32: ls1c: Fix hang during startup
a9453be390 ASoC: mchp-spdiftx: Fix clang -Wbitfield-constant-conversion
9dacdc1d47 ASoC: mchp-spdiftx: remove references to mchp_i2s_caps
2ead78fbe6 sch_sfb: Also store skb len before calling child enqueue
d47475d4e5 tcp: fix early ETIMEDOUT after spurious non-SACK RTO
6a2a344844 nvme-tcp: fix regression that causes sporadic requests to time out
5914fa32ef nvme-tcp: fix UAF when detecting digest errors
a00b1b10e0 RDMA/mlx5: Set local port to one when accessing counters
e8de6cb575 IB/core: Fix a nested dead lock as part of ODP flow
076f2479fc ipv6: sr: fix out-of-bounds read when setting HMAC data.
047e66867e RDMA/siw: Pass a pointer to virt_to_page()
0f1e7977e1 xen-netback: only remove 'hotplug-status' when the vif is actually destroyed
342d77769a i40e: Fix kernel crash during module removal
9d11d06e50 ice: use bitmap_free instead of devm_kfree
22922da737 tipc: fix shift wrapping bug in map_get()
2ee85ac1b2 sch_sfb: Don't assume the skb is still around after enqueueing to child
63677a0923 afs: Use the operation issue time instead of the reply time for callbacks
fbbd5d05ea rxrpc: Fix an insufficiently large sglist in rxkad_verify_packet_2()
6ccbb74801 ALSA: usb-audio: Register card again for iface over delayed_register option
1d29a63585 ALSA: usb-audio: Inform the delayed registration more properly
e12ce30fe5 netfilter: nf_conntrack_irc: Fix forged IP logic
910891a2a4 netfilter: nf_tables: clean up hook list when offload flags check fails
908180f633 netfilter: br_netfilter: Drop dst references before setting.
7d29f2bdd1 ARM: dts: at91: sama5d2_icp: don't keep vdd_other enabled all the time
0796953300 ARM: dts: at91: sama5d27_wlsom1: don't keep ldo2 enabled all the time
360dd120eb ARM: dts: at91: sama5d2_icp: specify proper regulator output ranges
6bbef2694a ARM: dts: at91: sama5d27_wlsom1: specify proper regulator output ranges
e198c08570 RDMA/hns: Fix wrong fixed value of qp->rq.wqe_shift
b2e82e325a RDMA/hns: Fix supported page size
6dc0251638 soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs
e9ea271c2e RDMA/cma: Fix arguments order in net device validation
465eecd2b3 tee: fix compiler warning in tee_shm_register()
75c961d011 regulator: core: Clean up on enable failure
bb4bee3eca ARM: dts: imx6qdl-kontron-samx6i: remove duplicated node
015c2ec053 smb3: missing inode locks in punch hole
98127f140b cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl()
dee1e2b18c cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
bfbacc2ef7 cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree
a5620d3e0c scsi: lpfc: Add missing destroy_workqueue() in error path
ea10a652ad scsi: mpt3sas: Fix use-after-free warning
de572edecc drm/i915: Implement WaEdpLinkRateDataReload
be01f1c988 nvmet: fix a use-after-free
68f22c80c1 debugfs: add debugfs_lookup_and_remove()
ab60010225 kprobes: Prohibit probes in gate area
6123bec848 ALSA: usb-audio: Fix an out-of-bounds bug in __snd_usb_parse_audio_interface()
ab730d3c44 ALSA: aloop: Fix random zeros in capture data when using jiffies timer
39a90720f3 ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc()
dfb27648ee drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly
2078e326b6 fbdev: chipsfb: Add missing pci_disable_device() in chipsfb_pci_init()
9d040a629e net/core/skbuff: Check the return value of skb_copy_bits()
43b9af7275 arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level
96d206d0a1 parisc: Add runtime check to prevent PA2.0 kernels on PA1.x machines
44739b5aae parisc: ccio-dma: Handle kmalloc failure in ccio_init_resources()
826b46fd59 drm/radeon: add a force flush to delay work when radeon
0410256867 drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup.
c19656cd95 drm/amdgpu: Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to psp_hw_fini
67bf86ff81 drm/gem: Fix GEM handle release errors
a175aed83e scsi: megaraid_sas: Fix double kfree()
004e26ef05 scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX
a14f1799ce Revert "mm: kmemleak: take a full lowmem check in kmemleak_*_phys()"
13c8f561be fs: only do a memory barrier for the first set_buffer_uptodate()
2946d2ae5a wifi: iwlegacy: 4965: corrected fix for potential off-by-one overflow in il4965_rs_fill_link_cmd()
918d9c4a4b efi: capsule-loader: Fix use-after-free in efi_capsule_write
94f0f30b2d efi: libstub: Disable struct randomization
eb75efdec8 tty: n_gsm: avoid call of sleeping functions from atomic context
fb6cadd2a3 tty: n_gsm: initialize more members at gsm_alloc_mux()
186cb020bd xen-blkfront: Cache feature_persistent value before advertisement
d3d885507b NFSD: Fix verifier returned in stable WRITEs
281e81a5e2 Linux 5.10.142
2058aab4e3 USB: serial: ch341: fix disabled rx timer on older devices
2a4c619a87 USB: serial: ch341: fix lost character on LCR updates
06a84bda0a usb: dwc3: disable USB core PHY management
451fa90150 usb: dwc3: qcom: fix use-after-free on runtime-PM wakeup
8984ca41de usb: dwc3: fix PHY disable sequence
cb27189360 mmc: core: Fix UHS-I SD 1.8V workaround branch
7f73a9dea0 btrfs: harden identification of a stale device
3c63a22d02 drm/i915/glk: ECS Liva Q2 needs GLK HDMI port timing quirk
1079d09572 ALSA: seq: Fix data-race at module auto-loading
f19a209f61 ALSA: seq: oss: Fix data-race for max_midi_devs access
7565c15030 ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298
ab9f890377 net: mac802154: Fix a condition in the receive path
d71a1c9fce net: Use u64_stats_fetch_begin_irq() for stats fetch.
685f4e5671 ip: fix triggering of 'icmp redirect'
4abc8c07a0 wifi: mac80211: Fix UAF in ieee80211_scan_rx()
dd649b4921 wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected
742e222dd5 driver core: Don't probe devices after bus_type.match() probe deferral
6202637fde usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS
abe3cfb7a7 USB: core: Prevent nested device-reset calls
b0d4993c4b s390: fix nospec table alignments
0361d50e86 s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages
b9097c5e10 usb-storage: Add ignore-residue quirk for NXP PN7462AU
5f0d11796a USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020)
d608c131df usb: dwc2: fix wrong order of phy_power_on and phy_init
95791d51f7 usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles
89b01a88ef USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode
7f1f176715 USB: serial: option: add Quectel EM060K modem
efcc3e1e6a USB: serial: option: add support for OPPO R11 diag port
e547c07c28 USB: serial: cp210x: add Decagon UCA device id
5a603f4c12 xhci: Add grace period after xHC start to prevent premature runtime suspend.
587f793c64 media: mceusb: Use new usb_control_msg_*() routines
07fb6b10b6 thunderbolt: Use the actual buffer in tb_async_error()
f210912d1a xen-blkfront: Advertise feature-persistent as user requested
aa45c50703 xen-blkback: Advertise feature-persistent as user requested
47a73e5e6b mm: pagewalk: Fix race between unmap and page walker
5d0d46e625 xen/grants: prevent integer overflow in gnttab_dma_alloc_pages()
eb0c614c42 KVM: x86: Mask off unsupported and unknown bits of IA32_ARCH_CAPABILITIES
7efcbac55a gpio: pca953x: Add mutex_lock for regcache sync in PM
517dba7987 hwmon: (gpio-fan) Fix array out of bounds access
a971343557 clk: bcm: rpi: Add missing newline
fcae47b2d2 clk: bcm: rpi: Prevent out-of-bounds access
8c90a3e0d3 clk: bcm: rpi: Use correct order for the parameters of devm_kcalloc()
00d8bc0c16 clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate
e32982115d Input: rk805-pwrkey - fix module autoloading
e2945f936c clk: core: Fix runtime PM sequence in clk_core_unprepare()
4ff599df31 Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops"
c0f0ed9ef9 clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops
5f1aee7f05 drm/i915/reg: Fix spelling mistake "Unsupport" -> "Unsupported"
9629f2dfdb binder: fix UAF of ref->proc caused by race condition
08fa8cb6df USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id
5cf2a57c7a misc: fastrpc: fix memory corruption on open
c99bc901d5 misc: fastrpc: fix memory corruption on probe
30fd0e23e3 iio: adc: mcp3911: use correct formula for AD conversion
89aa443437 iio: ad7292: Prevent regulator double disable
b271090eea Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag
b202400c9c tty: serial: lpuart: disable flow control while waiting for the transmit engine to complete
989201bb8c vt: Clear selection before changing the font
7fd8d33adb powerpc: align syscall table for ppc32
19e3f69d19 staging: rtl8712: fix use after free bugs
6ccd69141b serial: fsl_lpuart: RS485 RTS polariy is inverse
e416fe7f16 net/smc: Remove redundant refcount increase
d73b89c3b3 Revert "sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb"
f3d1554d0f tcp: annotate data-race around challenge_timestamp
870b6a1561 sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb
1b6666964c kcm: fix strp_init() order and cleanup
406d554844 ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler
44dfa64589 net/sched: fix netdevice reference leaks in attach_default_qdiscs()
699d82e9a6 net: sched: tbf: don't call qdisc_put() while holding tree lock
c0cb63ee2e Revert "xhci: turn off port power in shutdown"
6855efbaf5 wifi: cfg80211: debugfs: fix return type in ht40allow_map_read()
ddcb56e841 ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array
9276eb98cd ALSA: hda: intel-nhlt: remove use of __func__ in dev_dbg
23a2993271 ieee802154/adf7242: defer destroy_workqueue call
c5f975e3eb bpf, cgroup: Fix kernel BUG in purge_effective_progs
e6aeb8be85 iio: adc: mcp3911: make use of the sign bit
b69e05b1e8 platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask
f040abf62e drm/msm/dsi: Fix number of regulators for SDM660
43e523a407 drm/msm/dsi: Fix number of regulators for msm8996_dsi_cfg
1487e8fc16 drm/msm/dp: delete DP_RECOVERED_CLOCK_OUT_EN to fix tps4
631fbefd87 drm/msm/dsi: fix the inconsistent indenting
5d60de7a5f Merge 5.10.141 into android12-5.10-lts
0b8e37cbaa Linux 5.10.141
bdc786d737 net: neigh: don't call kfree_skb() under spin_lock_irqsave()
4931af31c4 net/af_packet: check len when min_header_len equals to 0
64f6da455b xfs: revert "xfs: actually bump warning counts when we send warnings"
d34798d846 xfs: fix soft lockup via spinning in filestream ag selection loop
f168801da9 xfs: fix overfilling of reserve pool
72a259bdd5 xfs: always succeed at setting the reserve pool size
cb41f22df3 xfs: remove infinite loop when reserving free block pool
28d8d2737e io_uring: disable polling pollfree files
744b0d3080 kprobes: don't call disarm_kprobe() for disabled kprobes
8c70cce892 lib/vdso: Mark do_hres_timens() and do_coarse_timens() __always_inline()
6ba9e8fb47 netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y
afa169f79d drm/amdgpu: Increase tlb flush timeout for sriov
f08a3712ba drm/amd/display: Fix pixel clock programming
60d522f317 drm/amd/pm: add missing ->fini_microcode interface for Sienna Cichlid
f2b7b8b1c4 s390/hypfs: avoid error message under KVM
c35adafe42 neigh: fix possible DoS due to net iface start/stop loop
3c1dfeaeb3 drm/amd/display: clear optc underflow before turn off odm clock
4e5e67b13a drm/amd/display: For stereo keep "FLIP_ANY_FRAME"
828b2a5399 drm/amd/display: Avoid MPC infinite loop
9d36e2c264 mmc: mtk-sd: Clear interrupts when cqe off/disable
98f401d363 mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse
6204bf78b2 bpf: Don't redirect packets with invalid pkt_len
dbd8c8fc60 ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead
8fc778ee2f fbdev: fb_pm2fb: Avoid potential divide by zero error
61cc798591 net: fix refcount bug in sk_psock_get (2)
7e2fa79226 HID: hidraw: fix memory leak in hidraw_release()
bacb37bdc2 media: pvrusb2: fix memory leak in pvr_probe
872875c9ec udmabuf: Set the DMA mask for the udmabuf device (v2)
dc81576194 HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report
412b844143 Revert "PCI/portdrv: Don't disable AER reporting in get_port_device_capability()"
38267d2663 Bluetooth: L2CAP: Fix build errors in some archs
ad697ade59 kbuild: Fix include path in scripts/Makefile.modpost
b9feeb6100 s390/mm: do not trigger write fault when vma does not allow VM_WRITE
0dea6b3e22 crypto: lib - remove unneeded selection of XOR_BLOCKS
e5796ff9ac x86/nospec: Fix i386 RSB stuffing
adee8f3082 x86/nospec: Unwreck the RSB stuffing
895428ee12 mm: Force TLB flush for PFNMAP mappings before unlink_file_vma()
5939035887 Merge 5.10.140 into android12-5.10-lts
18ed766f36 Linux 5.10.140
e897980717 bpf: Don't use tnum_range on array range checking for poke descriptors
46fcb0fc88 scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq
8d5c106fe2 scsi: ufs: core: Enable link lost interrupt
c0ba9aa95b perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU
5a768c9770 perf python: Fix build when PYTHON_CONFIG is user supplied
3ddbd0907f blk-mq: fix io hung due to missing commit_rqs
7ca73d0a16 Documentation/ABI: Mention retbleed vulnerability info file for sysfs
1896232619 arm64: Fix match_list for erratum 1286807 on Arm Cortex-A76
a5a58fab55 md: call __md_stop_writes in md_stop
f68f025c7e Revert "md-raid: destroy the bitmap after destroying the thread"
62af37c5cd mm/hugetlb: fix hugetlb not supporting softdirty tracking
6de50db104 xen/privcmd: fix error exit of privcmd_ioctl_dm_op()
8d5f8a4f25 ACPI: processor: Remove freq Qos request for all CPUs
297ae7e87a s390: fix double free of GS and RI CBs on fork() failure
c60ae87878 asm-generic: sections: refactor memory_intersects
6858933131 loop: Check for overflow while configuring loop
14cbbb9c99 x86/bugs: Add "unknown" reporting for MMIO Stale Data
e3e0d11729 x86/unwind/orc: Unwind ftrace trampolines with correct ORC entry
090f0ac167 perf/x86/lbr: Enable the branch type for the Arch LBR by default
d2bd18d50c btrfs: check if root is readonly while setting security xattr
dcac6293f5 btrfs: add info when mount fails due to stale replace target
b2d352ed4d btrfs: replace: drop assert for suspended replace
2fc3c168d5 btrfs: fix silent failure when deleting root reference
3a351b567e ionic: fix up issues with handling EAGAIN on FW cmds
79e2ca7aa9 rxrpc: Fix locking in rxrpc's sendmsg
c3a6e863d5 ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter
23cf93bb32 net: Fix a data-race around sysctl_somaxconn.
9fcc4f4066 net: Fix data-races around sysctl_devconf_inherit_init_net.
371a3bcf31 net: Fix data-races around sysctl_fb_tunnels_only_for_init_net.
c3bda708e9 net: Fix a data-race around netdev_budget_usecs.
12a34d7f04 net: Fix a data-race around netdev_budget.
410c88314c net: Fix a data-race around sysctl_net_busy_read.
2c7dae6c45 net: Fix a data-race around sysctl_net_busy_poll.
8db070463e net: Fix a data-race around sysctl_tstamp_allow_data.
ed48223f87 net: Fix data-races around sysctl_optmem_max.
27e8ade792 bpf: Folding omem_charge() into sk_storage_charge()
4d4e39245d ratelimit: Fix data-races in ___ratelimit().
e73009ebc1 net: Fix data-races around netdev_tstamp_prequeue.
3850060352 net: Fix data-races around netdev_max_backlog.
b498a1b017 net: Fix data-races around weight_p and dev_weight_[rt]x_bias.
fb442c72db net: Fix data-races around sysctl_[rw]mem_(max|default).
613fd02620 net: Fix data-races around sysctl_[rw]mem(_offset)?.
e73a29554f tcp: tweak len/truesize ratio for coalesce candidates
c08a104a8b netfilter: nf_tables: disallow binding to already bound chain
6301a73bd8 netfilter: nf_tables: disallow jump to implicit chain from set element
9882768759 netfilter: nf_tables: upfront validation of data via nft_data_init()
8790eecdea netfilter: bitwise: improve error goto labels
2267d38520 netfilter: nft_cmp: optimize comparison for 16-bytes
1d7d74a824 netfilter: nf_tables: consolidate rule verdict trace call
cd962806c4 netfilter: nftables: remove redundant assignment of variable err
35519ce7ba netfilter: nft_tunnel: restrict it to netdev family
9a67c2c89c netfilter: nft_osf: restrict osf to ipv4, ipv6 and inet families
c907dfe4ea netfilter: nf_tables: do not leave chain stats enabled on error
ea358cfc8e netfilter: nft_payload: do not truncate csum_offset and csum_type
93a46d6c72 netfilter: nft_payload: report ERANGE for too long offset and length
e0f8cf0192 bnxt_en: fix NQ resource accounting during vf creation on 57500 chips
624c305212 netfilter: ebtables: reject blobs that don't provide all entry points
f82a6b85e0 net: ipvtap - add __init/__exit annotations to module init/exit funcs
7e7e88e8b5 bonding: 802.3ad: fix no transmission of LACPDUs
14ef913a95 net: moxa: get rid of asymmetry in DMA mapping/unmapping
faa8bf8451 net: ipa: don't assume SMEM is page-aligned
29accb2d96 net/mlx5e: Properly disable vlan strip on non-UL reps
1bfdcde723 ice: xsk: prohibit usage of non-balanced queue id
d29d7108e1 ice: xsk: Force rings to be sized to power of 2
50403ee6da nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout
de3deadd11 rose: check NULL rose_loopback_neigh->loopback
e9fe1283a8 mm/smaps: don't access young/dirty bit if pte unpresent
c7c77185fa mm/huge_memory.c: use helper function migration_entry_to_page()
8be096f018 SUNRPC: RPC level errors should set task->tk_rpc_status
5e49ea0998 NFSv4.2 fix problems with __nfs42_ssc_open
23c6f25a60 NFS: Don't allocate nfs_fattr on the stack in __nfs42_ssc_open()
2761612bcd xfrm: policy: fix metadata dst->dev xmit null pointer dereference
c5c4d4c980 af_key: Do not call xfrm_probe_algs in parallel
4379a10c1d xfrm: clone missing x->lastused in xfrm_do_migrate
1305d7d4f3 xfrm: fix refcount leak in __xfrm_policy_check()
c30c0f7205 kernel/sched: Remove dl_boosted flag comment
70d560e2fb xfs: only bother with sync_filesystem during readonly remount
37837bc3ef xfs: return errors in xfs_fs_sync_fs
76a51e49da vfs: make sync_filesystem return errors from ->sync_fs
9255a42fe7 fs: remove __sync_filesystem
1b9b4139d7 xfs: reject crazy array sizes being fed to XFS_IOC_GETBMAP*
6a564bad3a xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list()
a5757df612 pinctrl: amd: Don't save/restore interrupt status and wake status bits
665433b5dd kernel/sys_ni: add compat entry for fadvise64_64
df1d445e7f parisc: Fix exception handler for fldw and fstw instructions
e10bb2f2e9 audit: fix potential double free on error path from fsnotify_add_inode_mark
44cde61acc Merge 5.10.139 into android12-5.10-lts
7a3ca8147f Revert "ALSA: control: Use deferred fasync helper"
5597d5439f Merge 5.10.138 into android12-5.10-lts
1e247e4040 Revert "block: remove the request_queue to argument request based tracepoints"
33d6fea819 Revert "blktrace: Trace remapped requests correctly"
eb5eb075d8 Revert "USB: HCD: Fix URB giveback issue in tasklet function"
fbe6a13851 Merge 5.10.137 into android12-5.10-lts
665ee74607 Linux 5.10.139
37c7f25fe2 kbuild: dummy-tools: avoid tmpdir leak in dummy gcc
fa3303d70b Linux 5.10.138
606fe84a41 tee: fix memory leak in tee_shm_register()
3527e3cbb8 bpf: Fix KASAN use-after-free Read in compute_effective_progs
4f7286422a qrtr: Convert qrtr_ports from IDR to XArray
1daa7629d2 PCI/ERR: Retain status from error notification
a220ff3433 can: j1939: j1939_session_destroy(): fix memory leak of skbs
05b9b0a7a7 can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once()
184e73f12c tracing/probes: Have kprobes and uprobes use $COMM too
3debec96ca netfilter: nf_tables: fix audit memory leak in nf_tables_commit
f3d0db3b43 netfilter: nftables: fix a warning message in nf_tables_commit_audit_collect()
059f47b3a4 MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0
4b20c61365 video: fbdev: i740fb: Check the argument of i740_calc_vclk()
dac28dff90 powerpc/64: Init jump labels before parse_early_param()
52a408548a smb3: check xattr value length earlier
336936f72a f2fs: fix to do sanity check on segment type in build_sit_entries()
800ba89791 f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()
857ccedcf5 ALSA: control: Use deferred fasync helper
658bc550a4 ALSA: timer: Use deferred fasync helper
be094c417a ALSA: core: Add async signal helpers
6ed3e280c7 powerpc/32: Don't always pass -mcpu=powerpc to the compiler
63671b2bdf watchdog: export lockup_detector_reconfigure
399d245775 RISC-V: Add fast call path of crash_kexec()
d881c98d0a riscv: mmap with PROT_WRITE but no PROT_READ is invalid
333bdb72be modules: Ensure natural alignment for .altinstructions and __bug_table sections
1e39037e44 mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start
5e034e03f4 vfio: Clear the caps->buf to NULL after free
81939c4fbc tty: serial: Fix refcount leak bug in ucc_uart.c
58275db3c7 lib/list_debug.c: Detect uninitialized lists
8028888329 ext4: avoid resizing to a partial cluster size
285447b819 ext4: avoid remove directory when directory is corrupted
5d8325fd15 drivers:md:fix a potential use-after-free bug
534e96302a nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown
6d7aabdba6 md: Notify sysfs sync_completed in md_reap_sync_thread()
f43a72d4da dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
b30aa4ff11 selftests/kprobe: Do not test for GRP/ without event failures
fa45327d8c csky/kprobe: reclaim insn_slot on kprobe unregistration
18f62a453b RDMA/rxe: Limit the number of calls to each tasklet
9a6178c225 um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups
e4c9f16219 PCI/ACPI: Guard ARM64-specific mcfg_quirks
4be138bcd6 cxl: Fix a memory leak in an error handling path
84d94619c7 pinctrl: intel: Check against matching data instead of ACPI companion
9ac14f973c gadgetfs: ep_io - wait until IRQ finishes
c29a4baaad scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input
eb01065fd3 clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description
56a4bccab9 zram: do not lookup algorithm in backends table
09c90f89b2 uacce: Handle parent device removal or parent driver module rmmod
6b90ab9524 clk: qcom: ipq8074: dont disable gcc_sleep_clk_src
eddb352a80 vboxguest: Do not use devm for irq
9a87f33f1d usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch
9790a5a4f0 usb: renesas: Fix refcount leak bug
cb5dd65e88 usb: host: ohci-ppc-of: Fix refcount leak bug
d86c6447ee clk: ti: Stop using legacy clkctrl names for omap4 and 5
152c94c10b drm/meson: Fix overflow implicit truncation warnings
da6b37983a irqchip/tegra: Fix overflow implicit truncation warnings
24304c6f9c usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info
6d7ac60098 usb: cdns3 fix use-after-free at workaround 2
0a0da5ef5b platform/chrome: cros_ec_proto: don't show MKBP version if unsupported
e2ab7afe66 PCI: Add ACS quirk for Broadcom BCM5750x NICs
a1e7908f78 drm/sun4i: dsi: Prevent underflow when computing packet sizes
bd6165b802 netfilter: add helper function to set up the nfnetlink header and use it
06fde3cd0b netfilter: nftables: add helper function to set the base sequence number
e2a49009ba audit: log nftables configuration change events once per table
3aa710e967 drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors()
1bfdb1912c ASoC: SOF: intel: move sof_intel_dsp_desc() forward
823280a8fb locking/atomic: Make test_and_*_bit() ordered on failure
0bd35968bc gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file
9112826f28 kbuild: fix the modules order between drivers and libs
0f516dcd14 igb: Add lock to avoid data race
02f3642d8e stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove()
efae1735ff fec: Fix timer capture timing in `fec_ptp_enable_pps()`
668f38fb9a i40e: Fix to stop tx_timeout recovery if GLOBR fails
bbd6723d75 regulator: pca9450: Remove restrictions for regulator-name
b5ba5c3669 i2c: imx: Make sure to unregister adapter on remove()
19cb691faf ice: Ignore EEXIST when setting promisc mode
7983e1e44c net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions()
83411c9f05 net: genl: fix error path memory leak in policy dumping
af1748ee51 net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters
9900af65f2 net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry
7d51385ae0 net: moxa: pass pdev instead of ndev to DMA functions
92dc64e8f5 net: dsa: mv88e6060: prevent crash on an unused port
aa16c8c4e8 spi: meson-spicc: add local pow2 clock ops to preserve rate between messages
a868f771ee powerpc/pci: Fix get_phb_number() locking
3561f4d12f netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified
01b0cae6b7 netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
8d2fe4b9ed netfilter: nf_tables: really skip inactive sets when allocating name
330f0a552b ASoC: tas2770: Fix handling of mute/unmute
353cc4cb97 ASoC: tas2770: Drop conflicting set_bias_level power setting
dffe1c4780 ASoC: tas2770: Allow mono streams
fc57e3fde2 ASoC: tas2770: Set correct FSYNC polarity
4fe80492d5 iavf: Fix adminq error handling
63684e467b nios2: add force_successful_syscall_return()
600ff4b13b nios2: restarts apply only to the first sigframe we build...
f20bc59ccf nios2: fix syscall restart checks
8d0118a027 nios2: traced syscall does need to check the syscall number
1d2c89dc48 nios2: don't leave NULLs in sys_call_table[]
d29cdf865a nios2: page fault et.al. are *not* restartable syscalls...
76be981882 dpaa2-eth: trace the allocated address instead of page struct
787511c768 perf probe: Fix an error handling path in 'parse_perf_probe_command()'
2c746ec91d geneve: fix TOS inheriting for ipv4
a0ae122e9a atm: idt77252: fix use-after-free bugs caused by tst_timer
291cba960b xen/xenbus: fix return type in xenbus_file_read()
3c555a0599 nfp: ethtool: fix the display error of `ethtool -m DEVNAME`
76f3b97e56 NTB: ntb_tool: uninitialized heap data in tool_fn_write()
7ef9f0efbe tools build: Switch to new openssl API for test-libcrypto
7ef0645ebe kbuild: dummy-tools: avoid tmpdir leak in dummy gcc
aee18421bd ceph: don't leak snap_rwsem in handle_cap_grant
eea0d84a4f tools/vm/slabinfo: use alphabetic order when two values are equal
97cea2cb7c ceph: use correct index when encoding client supported features
7a327285a7 dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources
87c4b359e3 dt-bindings: arm: qcom: fix MSM8916 MTP compatibles
55fdefcb52 vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout()
38ddccbda5 vsock: Fix memory leak in vsock_connect()
549822e0dc plip: avoid rcu debug splat
0c4542cb6a ipv6: do not use RT_TOS for IPv6 flowlabel
38b83883ce geneve: do not use RT_TOS for IPv6 flowlabel
b0c3eec4ac ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool
cc0bfd933c pinctrl: qcom: sm8250: Fix PDC map
d35d9bba29 pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
e8f5699a82 pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed
78d0510389 pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map
ab2b55bb25 net: bgmac: Fix a BUG triggered by wrong bytes_compl
0e28678a77 devlink: Fix use-after-free after a failed reload
faafa2a87f virtio_net: fix memory leak inside XPD_TX with mergeable
fd70ebf299 SUNRPC: Reinitialise the backchannel request buffers before reuse
59d2e8fa41 sunrpc: fix expiry of auth creds
df60c534d4 net: atlantic: fix aq_vec index out of range error
cc25abcec8 can: mcp251x: Fix race condition on receive interrupt
b9d9cf88c8 bpf: Check the validity of max_rdwr_access for sock local storage map iterator
f7d844df5e bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator
d7ad7e65aa bpf: Acquire map uref in .init_seq_private for sock local storage map iterator
bda6fe3ea8 bpf: Acquire map uref in .init_seq_private for hash map iterator
30d7198da8 bpf: Acquire map uref in .init_seq_private for array map iterator
76ffd20424 NFSv4/pnfs: Fix a use-after-free bug in open
f2bd1cc1fe NFSv4.1: RECLAIM_COMPLETE must handle EACCES
cfde64bd31 NFSv4: Fix races in the legacy idmapper upcall
060c111373 NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
a351a73d90 NFSv4.1: Don't decrease the value of seq_nr_highest_sent
a408f135c4 Documentation: ACPI: EINJ: Fix obsolete example
8aab429558 apparmor: Fix memleak in aa_simple_write_to_buffer()
2ceeb3296e apparmor: fix reference count leak in aa_pivotroot()
2672f3eb7a apparmor: fix overlapping attachment computation
1ac89741a2 apparmor: fix setting unconfined mode on a loaded profile
4188f91c82 apparmor: fix aa_label_asxprint return check
e0ca0156a7 apparmor: Fix failed mount permission check error message
08f8128bc9 apparmor: fix absroot causing audited secids to begin with =
bca03f0bbc apparmor: fix quiet_denied for file rules
2b74344135 can: ems_usb: fix clang's -Wunaligned-access warning
7f06c78211 ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II
5d3b02b80d tracing: Have filter accept "common_cpu" to be consistent
6359850f9d btrfs: fix lost error handling when looking up extended ref on log replay
79895cefa4 mmc: meson-gx: Fix an error handling path in meson_mmc_probe()
13a497c3c5 mmc: pxamci: Fix an error handling path in pxamci_probe()
4a211dd485 mmc: pxamci: Fix another error handling path in pxamci_probe()
a785d84178 ata: libata-eh: Add missing command name
fb1857c2e4 rds: add missing barrier to release_refill
6876b4804b x86/mm: Use proper mask when setting PUD mapping
b68e40b52f ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU
e14e2fec35 ALSA: info: Fix llseek return value when using callback
a634d58881 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
74ded189e5 Linux 5.10.137
fb4e220e1b btrfs: raid56: don't trust any cached sector in __raid56_parity_recover()
1e1a039f44 btrfs: only write the sectors in the vertical stripe which has data stripes
8f317cd888 sched/fair: Fix fault in reweight_entity
aa318d35be net_sched: cls_route: disallow handle of 0
5a2a00b604 net/9p: Initialize the iounit field during fid creation
578c349570 tee: add overflow check in register_shm_helper()
98b20e1612 kvm: x86/pmu: Fix the compare function used by the pmu event filter
705dfc4575 mtd: rawnand: arasan: Prevent an unsupported configuration
c898e917d8 Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression
e81046da1d Revert "net: usb: ax88179_178a needs FLAG_SEND_ZLP"
a60996dc02 drm/vc4: change vc4_dma_range_matches from a global to static
3422e24af9 drm/bridge: tc358767: Fix (e)DP bridge endpoint parsing in dedicated function
2223b35c57 Revert "mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv"
8338305317 tcp: fix over estimation in sk_forced_mem_schedule()
c35c01a7cb mac80211: fix a memory leak where sta_info is not freed
ac7de8c2ba KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast()
4c85e207c1 KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq
a4c94205ba KVM: Add infrastructure and macro to mark VM as bugged
7018f03d97 net_sched: cls_route: remove from list when handle is 0
49dba30638 dm raid: fix address sanitizer warning in raid_status
c2d47bef93 dm raid: fix address sanitizer warning in raid_resume
d0b495aa26 ext4: correct the misjudgment in ext4_iget_extra_inode
603fb7bd74 ext4: correct max_inline_xattr_value_size computing
e8c747496f ext4: fix extent status tree race in writeback error recovery path
ac8cc06114 ext4: update s_overhead_clusters in the superblock during an on-line resize
bb8592efcf ext4: fix use-after-free in ext4_xattr_set_entry
69d1a36eb4 ext4: make sure ext4_append() always allocates new block
e1682c7171 ext4: fix warning in ext4_iomap_begin as race between bmap and write
2da44a2927 ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h
1571c46130 ext4: check if directory block is within i_size
e99da0f921 tracing: Use a struct alignof to determine trace event field alignment
35508b60b5 tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH
0e48eaf75d KEYS: asymmetric: enforce SM2 signature use pkey algo
135d9e0710 xen-blkfront: Apply 'feature_persistent' parameter when connect
d4fb08e5a4 xen-blkback: Apply 'feature_persistent' parameter when connect
9e84088452 xen-blkback: fix persistent grants negotiation
b788508a09 KVM: x86/pmu: Ignore pmu->global_ctrl check if vPMU doesn't support global_ctrl
6b4addec2f KVM: VMX: Mark all PERF_GLOBAL_(OVF)_CTRL bits reserved if there's no vPMU
46ec3d8e90 KVM: x86/pmu: Introduce the ctrl_mask value for fixed counter
2ba1feb143 KVM: x86/pmu: Use different raw event masks for AMD and Intel
4bbfc055d3 KVM: x86/pmu: Use binary search to check filtered events
441726394e KVM: x86/pmu: preserve IA32_PERF_CAPABILITIES across CPUID refresh
a7d0b21c6b KVM: nVMX: Inject #UD if VMXON is attempted with incompatible CR0/CR4
c72a9b1d0d KVM: x86: Move vendor CR4 validity check to dedicated kvm_x86_ops hook
2f04a04d06 KVM: SVM: Drop VMXE check from svm_set_cr4()
da7f731f2e KVM: VMX: Drop explicit 'nested' check from vmx_set_cr4()
8b8b376903 KVM: VMX: Drop guest CPUID check for VMXE in vmx_set_cr4()
5f3c8352cc ACPI: CPPC: Do not prevent CPPC from working in the future
40d28ae576 btrfs: reset block group chunk force if we have to wait
e2f1507303 btrfs: reject log replay if there is unsupported RO compat flag
b58294ce1a um: Allow PM with suspend-to-idle
c6cf21d8d5 timekeeping: contribute wall clock to rng on time change
5e2cf70515 dm thin: fix use-after-free crash in dm_sm_register_threshold_callback
539c20ad26 kexec, KEYS, s390: Make use of built-in and secondary keyring for signature verification
782e73acdb dm writecache: set a default MAX_WRITEBACK_JOBS
e41b3b8831 serial: 8250: Fold EndRun device support into OxSemi Tornado code
194dc559e6 serial: 8250_pci: Replace dev_*() by pci_*() macros
297e2fd08a serial: 8250_pci: Refactor the loop in pci_ite887x_init()
3110e5a49b serial: 8250: Correct the clock for OxSemi PCIe devices
3e9baedb32 serial: 8250: Dissociate 4MHz Titan ports from Oxford ports
85d6306a87 PCI/AER: Iterate over error counters instead of error strings
d83d886e69 PCI/ERR: Recover from RCEC AER errors
bb6990fd37 PCI/ERR: Add pci_walk_bridge() to pcie_do_recovery()
7730ba6151 PCI/ERR: Avoid negated conditional for clarity
078d79fad5 PCI/ERR: Use "bridge" for clarity in pcie_do_recovery()
2e3458b995 PCI/ERR: Simplify by computing pci_pcie_type() once
f236fa3850 PCI/ERR: Simplify by using pci_upstream_bridge()
de4534ac28 PCI/ERR: Rename reset_link() to reset_subordinates()
78d431e8a5 PCI/ERR: Bind RCEC devices to the Root Port driver
dce8d7427c PCI/AER: Write AER Capability only when we control it
5659efdadf iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE)
e7ccee2f09 KVM: x86: Signal #GP, not -EPERM, on bad WRMSR(MCi_CTL/STATUS)
f5385a590d KVM: set_msr_mce: Permit guests to ignore single-bit ECC errors
6a84dae3a7 intel_th: pci: Add Raptor Lake-S CPU support
581f7eb8ae intel_th: pci: Add Raptor Lake-S PCH support
36f5ddde67 intel_th: pci: Add Meteor Lake-P support
08272646cd firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails
bc945ca496 usbnet: smsc95xx: Avoid link settings race on interrupt reception
e9733561e9 usbnet: smsc95xx: Don't clear read-only PHY interrupt
04c9d23ac3 mtd: rawnand: arasan: Fix clock rate in NV-DDR
dc0e4a10b4 mtd: rawnand: arasan: Support NV-DDR interface
87d1266b4c mtd: rawnand: arasan: Fix a macro parameter
d4f7bcce90 mtd: rawnand: Add NV-DDR timings
72fae7e7f7 mtd: rawnand: arasan: Check the proposed data interface is supported
c91e5215a4 mtd: rawnand: Add a helper to clarify the interface configuration
ae1e2bc7bf drm/vc4: drv: Adopt the dma configuration from the HVS or V3D component
fe695a2b46 HID: hid-input: add Surface Go battery quirk
434c4aad53 HID: Ignore battery for Elan touchscreen on HP Spectre X360 15-df0xxx
2d05cf1069 drm/mediatek: Keep dsi as LP00 before dcs cmds transfer
3117287578 drm/mediatek: Allow commands to be sent during video mode
a3a85c045a drm/i915/dg1: Update DMC_DEBUG3 register
dd02510fb4 spmi: trace: fix stack-out-of-bound access in SPMI tracing functions
bc8c5b3b3e __follow_mount_rcu(): verify that mount_lock remains unchanged
bda7046d4d Input: gscps2 - check return value of ioremap() in gscps2_probe()
541840859a posix-cpu-timers: Cleanup CPU timers before freeing them during exec
ce19182b43 x86/olpc: fix 'logical not is only applied to the left hand side'
43e059d016 ftrace/x86: Add back ftrace_expected assignment
fd96b61389 x86/bugs: Enable STIBP for IBPB mitigated RETBleed
1118020b3b scsi: qla2xxx: Fix losing FCP-2 targets during port perturbation tests
912408ba0b scsi: qla2xxx: Fix losing FCP-2 targets on long port disable with I/Os
82cb0ebe5b scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection
7941ca578c scsi: qla2xxx: Turn off multi-queue for 8G adapters
2ffe5285ea scsi: qla2xxx: Fix discovery issues in FC-AL topology
b8aad5eba7 scsi: zfcp: Fix missing auto port scan and thus missing target ports
5e0da18956 video: fbdev: s3fb: Check the size of screen before memset_io()
09e733d6ac video: fbdev: arkfb: Check the size of screen before memset_io()
bd8269e576 video: fbdev: vt8623fb: Check the size of screen before memset_io()
a9943942a5 x86/entry: Build thunk_$(BITS) only if CONFIG_PREEMPTION=y
e6c228b950 sched: Fix the check of nr_running at queue wakelist
bd1ebcbbf0 tools/thermal: Fix possible path truncations
0288fa799e video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
94398c1fec x86/numa: Use cpumask_available instead of hardcoded NULL check
336626564b sched, cpuset: Fix dl_cpu_busy() panic due to empty cs->cpus_allowed
0039189a3b sched/deadline: Merge dl_task_can_attach() and dl_cpu_busy()
e695256d46 scripts/faddr2line: Fix vmlinux detection on arm64
232f4aca40 genelf: Use HAVE_LIBCRYPTO_SUPPORT, not the never defined HAVE_LIBCRYPTO
cadeb5186e powerpc/pci: Fix PHB numbering when using opal-phbid
2a49b025c3 kprobes: Forbid probing on trampoline and BPF code areas
4296089f61 perf symbol: Fail to read phdr workaround
00dc7cbbb5 powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address
6d1e53f7f1 powerpc/xive: Fix refcount leak in xive_get_max_prio
85aff6a9b7 powerpc/spufs: Fix refcount leak in spufs_init_isolated_loader
50e7896c8e f2fs: fix to remove F2FS_COMPR_FL and tag F2FS_NOCOMP_FL at the same time
ec769406d0 f2fs: write checkpoint during FG_GC
d031105739 f2fs: don't set GC_FAILURE_PIN for background GC
47a8fe1b15 powerpc/pci: Prefer PCI domain assignment via DT 'linux,pci-domain' and alias
7ac58a83d8 powerpc/32: Do not allow selection of e5500 or e6500 CPUs on PPC32
2d2b6adb22 ASoC: mchp-spdifrx: disable end of block interrupt on failures
ca326aff6b video: fbdev: sis: fix typos in SiS_GetModeID()
da276dc288 video: fbdev: amba-clcd: Fix refcount leak bugs
345208581c watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe()
d3e6460619 ASoC: audio-graph-card: Add of_node_put() in fail path
92644d505b fuse: Remove the control interface for virtio-fs
60e494b4d5 ASoC: qcom: q6dsp: Fix an off-by-one in q6adm_alloc_copp()
5682b4f84a ASoC: fsl_easrc: use snd_pcm_format_t type for sample_format
9c2ad32ed9 s390/zcore: fix race when reading from hardware system area
ae921d176b s390/dump: fix old lowcore virtual vs physical address confusion
b002a71d45 perf tools: Fix dso_id inode generation comparison
2ada6b4a80 iommu/arm-smmu: qcom_iommu: Add of_node_put() when breaking out of loop
afdbadbf18 mfd: max77620: Fix refcount leak in max77620_initialise_fps
52ae9c1599 mfd: t7l66xb: Drop platform disable callback
5a0e3350c2 remoteproc: sysmon: Wait for SSCTL service to come up
3487aa558a lib/smp_processor_id: fix imbalanced instrumentation_end() call
483ad8a16f kfifo: fix kfifo_to_user() return type
9715809b9e rpmsg: qcom_smd: Fix refcount leak in qcom_smd_parse_edge
0ce20194b4 iommu/exynos: Handle failed IOMMU device registration properly
8fd063a608 tty: n_gsm: fix missing corner cases in gsmld_poll()
01c8094bed tty: n_gsm: fix DM command
6737d4f5f5 tty: n_gsm: fix wrong T1 retry count handling
b16d653bc7 vfio/ccw: Do not change FSM state in subchannel event
db574d3bb6 vfio/mdev: Make to_mdev_device() into a static inline
a2fbf4acd2 vfio: Split creation of a vfio_device into init and register ops
f54fa910e6 vfio: Simplify the lifetime logic for vfio_device
0abdb80e81 vfio: Remove extra put/gets around vfio_device->group
cb83b12320 remoteproc: qcom: wcnss: Fix handling of IRQs
2f735069cd ASoC: qcom: Fix missing of_node_put() in asoc_qcom_lpass_cpu_platform_probe()
273d412177 tty: n_gsm: fix race condition in gsmld_write()
2466486cae tty: n_gsm: fix packet re-transmission without open control channel
34c9fe392d tty: n_gsm: fix non flow control frames during mux flow off
006e9d5a98 tty: n_gsm: fix wrong queuing behavior in gsm_dlci_data_output()
c45b5d24fe tty: n_gsm: fix user open not possible at responder until initiator open
9e38020f17 tty: n_gsm: Delete gsmtty open SABM frame when config requester
d94a552183 ASoC: samsung: change gpiod_speaker_power and rx1950_audio from global to static variables
875b2bf469 powerpc/perf: Optimize clearing the pending PMI and remove WARN_ON for PMI check in power_pmu_disable
ba889da9a0 ASoC: samsung: h1940_uda1380: include proepr GPIO consumer header
4046f3ef3b profiling: fix shift too large makes kernel panic
3bf64b9cc6 selftests/livepatch: better synchronize test_klp_callbacks_busy
75358732af remoteproc: k3-r5: Fix refcount leak in k3_r5_cluster_of_init
2aa8737d49 rpmsg: mtk_rpmsg: Fix circular locking dependency
1d5fc40382 ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV
4181b21418 ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV
4b171ac88c serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty()
d98dd16d3d serial: 8250: Export ICR access helpers for internal use
403d469719 ASoC: mediatek: mt8173-rt5650: Fix refcount leak in mt8173_rt5650_dev_probe
132b2757c5 ASoC: codecs: da7210: add check for i2c_add_driver
a0381a9f3e ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe
aa1214ece3 ASoC: mediatek: mt8173: Fix refcount leak in mt8173_rt5650_rt5676_dev_probe
ec0c272b18 ASoC: samsung: Fix error handling in aries_audio_probe
bae95c5aee ASoC: cros_ec_codec: Fix refcount leak in cros_ec_codec_platform_probe
e2a4e46f52 opp: Fix error check in dev_pm_opp_attach_genpd()
3b97370322 usb: cdns3: Don't use priv_dev uninitialized in cdns3_gadget_ep_enable()
f7161d0da9 jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted
a6d7f22473 ext4: recover csum seed of tmp_inode after migrating to extents
914bf4aa2d jbd2: fix outstanding credits assert in jbd2_journal_commit_transaction()
706960d328 nvme: use command_id instead of req->tag in trace_nvme_complete_rq()
7a4b46784a null_blk: fix ida error handling in null_add_dev()
3ef491b26c RDMA/rxe: Fix error unwind in rxe_create_qp()
53da1f0fa0 RDMA/mlx5: Add missing check for return value in get namespace flow
c0ba87f3e7 selftests: kvm: set rax before vmcall
4ffa6cecb5 mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region
de95b52d9a RDMA/srpt: Fix a use-after-free
d14a44cf29 RDMA/srpt: Introduce a reference count in struct srpt_device
204a8486d7 RDMA/srpt: Duplicate port name members
5ba56d9bd0 platform/olpc: Fix uninitialized data in debugfs write
7af83bb516 usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
a916e80360 USB: serial: fix tty-port initialized comments
b1124a2f47 PCI: tegra194: Fix link up retry sequence
88a694d9c8 PCI: tegra194: Fix Root Port interrupt handling
e2d132ca7f HID: alps: Declare U1_UNICORN_LEGACY support
74e57439e2 mmc: cavium-thunderx: Add of_node_put() when breaking out of loop
3bed7b9811 mmc: cavium-octeon: Add of_node_put() when breaking out of loop
66c8e816f2 HID: mcp2221: prevent a buffer overflow in mcp_smbus_write()
26975d8ea9 gpio: gpiolib-of: Fix refcount bugs in of_mm_gpiochip_add_data()
a85c7dd1ed RDMA/hfi1: fix potential memory leak in setup_base_ctxt()
9ade92ddaf RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event
0ecc91cf96 RDMA/hns: Fix incorrect clearing of interrupt status register
79ce50ddda RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr()
aaa1a81506 RDMA/qedr: Improve error logs for rdma_alloc_tid error return
84f83a2619 RDMA/rtrs-srv: Fix modinfo output for stringify
50a249ad1d RDMA/rtrs: Avoid Wtautological-constant-out-of-range-compare
2b3dcfbece RDMA/rtrs: Define MIN_CHUNK_SIZE
993cd16211 um: random: Don't initialise hwrng struct with zero
a6a7f80e62 interconnect: imx: fix max_node_id
5bcc37dc24 eeprom: idt_89hpesx: uninitialized data in idt_dbgfs_csr_write()
4ab5662cc3 usb: dwc3: qcom: fix missing optional irq warnings
d376ca6716 usb: dwc3: core: Do not perform GCTL_CORE_SOFTRESET during bootup
251572a26d usb: dwc3: core: Deprecate GCTL.CORESOFTRESET
e6db5780c2 usb: aspeed-vhub: Fix refcount leak bug in ast_vhub_init_desc()
c818fa991c usb: gadget: udc: amd5536 depends on HAS_DMA
d6d344eeef xtensa: iss: fix handling error cases in iss_net_configure()
fb4c1555f9 xtensa: iss/network: provide release() callback
2fe0b06c16 scsi: smartpqi: Fix DMA direction for RAID requests
7542130af1 PCI: qcom: Set up rev 2.1.0 PARF_PHY before enabling clocks
ee70aa214a PCI/portdrv: Don't disable AER reporting in get_port_device_capability()
9d216035d1 KVM: s390: pv: leak the topmost page table when destroy fails
59fd7c0b41 mmc: block: Add single read for 4k sector cards
2985acdaf2 mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R
9260a154b3 memstick/ms_block: Fix a memory leak
ae2369ac42 memstick/ms_block: Fix some incorrect memory allocation
b305475df7 mmc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch
028c8632a2 staging: rtl8192u: Fix sleep in atomic context bug in dm_fsync_timer_callback
6ae2881c1d intel_th: msu: Fix vmalloced buffers
81222cfda6 intel_th: msu-sink: Potential dereference of null pointer
a8f3b78b1f intel_th: Fix a resource leak in an error handling path
ab3b82435f PCI: endpoint: Don't stop controller when unbinding endpoint function
b9b4992f89 dmaengine: sf-pdma: Add multithread support for a DMA channel
37e1d474a3 dmaengine: sf-pdma: apply proper spinlock flags in sf_pdma_prep_dma_memcpy()
38715a0ccb KVM: arm64: Don't return from void function
fbd7b564f9 soundwire: bus_type: fix remove and shutdown support
ed457b0029 PCI: dwc: Always enable CDM check if "snps,enable-cdm-check" exists
e7599a5974 PCI: dwc: Deallocate EPC memory on dw_pcie_ep_init() errors
80d9f6541e PCI: dwc: Add unroll iATU space support to dw_pcie_disable_atu()
2293b23d27 clk: qcom: camcc-sdm845: Fix topology around titan_top power domain
b28ebe7d2f clk: qcom: ipq8074: set BRANCH_HALT_DELAY flag for UBI clocks
b83af7b4ec clk: qcom: ipq8074: fix NSS port frequency tables
58023f5291 clk: qcom: ipq8074: SW workaround for UBI32 PLL lock
e2330494f0 clk: qcom: ipq8074: fix NSS core PLL-s
b840c2926d usb: host: xhci: use snprintf() in xhci_decode_trb()
42f1827096 clk: qcom: clk-krait: unlock spin after mux completion
a93f33aeef driver core: fix potential deadlock in __driver_attach
2593f971f0 misc: rtsx: Fix an error handling path in rtsx_pci_probe()
267c5f17a0 dmaengine: dw-edma: Fix eDMA Rd/Wr-channels and DMA-direction semantics
956b79c206 mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv
803526555b mwifiex: Ignore BTCOEX events from the 88W8897 firmware
dceedbb5ab KVM: Don't set Accessed/Dirty bits for ZERO_PAGE
02d203f488 clk: mediatek: reset: Fix written reset bit offset
4f51a09f3d iio: accel: bma400: Reordering of header files
ab831a12c8 platform/chrome: cros_ec: Always expose last resume result
366d0123c3 iio: accel: bma400: Fix the scale min and max macro values
edfa0851d8 netfilter: xtables: Bring SPDX identifier back
9feb3ecd07 usb: xhci: tegra: Fix error check
bb5e59f00f usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()
d35903e965 usb: ohci-nxp: Fix refcount leak in ohci_hcd_nxp_probe
585d22a562 usb: host: Fix refcount leak in ehci_hcd_ppc_of_probe
474f12deaa fpga: altera-pr-ip: fix unsigned comparison with less than zero
175428c86f mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path
55d0f7da66 mtd: partitions: Fix refcount leak in parse_redboot_of
b4e150d295 mtd: sm_ftl: Fix deadlock caused by cancel_work_sync in sm_release
ebda3d6b00 HID: cp2112: prevent a buffer overflow in cp2112_xfer()
cdf92a0aee PCI: tegra194: Fix PM error handling in tegra_pcie_config_ep()
b0e82f95fd mtd: rawnand: meson: Fix a potential double free issue
941ef6997f mtd: maps: Fix refcount leak in ap_flash_init
52ae2b14f7 mtd: maps: Fix refcount leak in of_flash_probe_versatile
6471c83894 clk: renesas: r9a06g032: Fix UART clkgrp bitsel
38c9cc68e3 wireguard: allowedips: don't corrupt stack when detecting overflow
17541a4aab wireguard: ratelimiter: use hrtimer in selftest
aa8f559336 dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock
5b69f34dac net: ionic: fix error check for vlan flags in ionic_set_nic_features()
9a070a4417 net: rose: fix netdev reference changes
397e52dec1 netdevsim: Avoid allocation warnings triggered from user space
692751f260 iavf: Fix max_rate limiting
b0d67ef5b4 net: allow unbound socket for packets in VRF when tcp_l3mdev_accept set
1d9c81833d tcp: Fix data-races around sysctl_tcp_l3mdev_accept.
0de9b3f81e ipv6: add READ_ONCE(sk->sk_bound_dev_if) in INET6_MATCH()
b7325b27d8 tcp: sk->sk_bound_dev_if once in inet_request_bound_dev_if()
f7884d9500 inet: add READ_ONCE(sk->sk_bound_dev_if) in INET_MATCH()
c206177ca8 crypto: hisilicon/sec - fix auth key size error
9524edb1a7 crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of
cb62775079 crypto: hisilicon/hpre - don't use GFP_KERNEL to alloc mem during softirq
e6cbd15950 net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS
1f7ffdea19 net/mlx5e: Remove WARN_ON when trying to offload an unsupported TLS cipher/version
420cf3b781 media: cedrus: hevc: Add check for invalid timestamp
97e5d3e46a wifi: libertas: Fix possible refcount leak in if_usb_probe()
38d71acc15 wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue
6c5fee83bd wifi: wil6210: debugfs: fix uninitialized variable use in `wil_write_file_wmi()`
c040a02e4c i2c: mux-gpmux: Add of_node_put() when breaking out of loop
353d55ff1b i2c: cadence: Support PEC for SMBus block read
0c5dbac1ce Bluetooth: hci_intel: Add check for platform_driver_register
a7a7488cb1 can: pch_can: pch_can_error(): initialize errc before using it
4c036be757 can: error: specify the values of data[5..7] of CAN error frames
f0ef21b739 can: usb_8dev: do not report txerr and rxerr during bus-off
ca1a2c5388 can: kvaser_usb_leaf: do not report txerr and rxerr during bus-off
9e6ceba6be can: kvaser_usb_hydra: do not report txerr and rxerr during bus-off
cddef4bbeb can: sun4i_can: do not report txerr and rxerr during bus-off
22e382d47d can: hi311x: do not report txerr and rxerr during bus-off
06e355b46c can: sja1000: do not report txerr and rxerr during bus-off
6ec509679b can: rcar_can: do not report txerr and rxerr during bus-off
5d85a89875 can: pch_can: do not report txerr and rxerr during bus-off
d2b9e664bb selftests/bpf: fix a test for snprintf() overflow
a06c98c47e wifi: p54: add missing parentheses in p54_flush()
56924fc19d wifi: p54: Fix an error handling path in p54spi_probe()
05ceda14ef wifi: wil6210: debugfs: fix info leak in wil_write_file_wmi()
36ba389960 fs: check FMODE_LSEEK to control internal pipe splicing
7430e58764 bpf: Fix subprog names in stack traces.
990ca39e78 selftests: timers: clocksource-switch: fix passing errors from child
ee3cc4c761 selftests: timers: valid-adjtimex: build fix for newer toolchains
f29cf37698 libbpf: Fix the name of a reused map
799cfed1b1 tcp: make retransmitted SKB fit into the send window
5713b0be6d drm/exynos/exynos7_drm_decon: free resources when clk_set_parent() failed.
9aa4ad5cca mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init()
3ad958bc48 mt76: mt76x02u: fix possible memory leak in __mt76x02u_mcu_send_msg
b1812f6500 media: platform: mtk-mdp: Fix mdp_ipi_comm structure alignment
1008c6d98b crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq
16e18a8ac7 crypto: hisilicon/sec - don't sleep when in softirq
1f697d7952 crypto: hisilicon/sec - fixes some coding style
bf386c955f drm/msm/mdp5: Fix global state lock backoff
e74f3097a9 net: hinic: avoid kernel hung in hinic_get_stats64()
e286a882f2 net: hinic: fix bug that ethtool get wrong stats
8369a39b52 hinic: Use the bitmap API when applicable
26a10aef28 lib: bitmap: provide devm_bitmap_alloc() and devm_bitmap_zalloc()
1238da5f32 lib: bitmap: order includes alphabetically
7f29d75693 drm: bridge: sii8620: fix possible off-by-one
8bb0be3186 drm/mediatek: dpi: Only enable dpi after the bridge is enabled
c47d69ed56 drm/mediatek: dpi: Remove output format of YUV
fc85cb33f6 drm/rockchip: Fix an error handling path rockchip_dp_probe()
9f416e32ed drm/rockchip: vop: Don't crash for invalid duplicate_state()
e2d2dcab19 selftests/xsk: Destroy BPF resources only when ctx refcount drops to 0
64b1e3f904 crypto: arm64/gcm - Select AEAD for GHASH_ARM64_CE
2e306d74ad drm/vc4: hdmi: Correct HDMI timing registers for interlaced modes
36f797a10f drm/vc4: hdmi: Fix timings for interlaced modes
717325e814 drm/vc4: hdmi: Limit the BCM2711 to the max without scrambling
c015d12317 drm/vc4: hdmi: Don't access the connector state in reset if kmalloc fails
ba8ffdb450 drm/vc4: hdmi: Avoid full hdmi audio fifo writes
b161b27067 drm/vc4: hdmi: Remove firmware logic for MAI threshold setting
cefc8e7e0e drm/vc4: dsi: Add correct stop condition to vc4_dsi_encoder_disable iteration
acfca24ec0 drm/vc4: dsi: Fix dsi0 interrupt support
97c2fa3a7b drm/vc4: dsi: Register dsi0 as the correct vc4 encoder type
6cc1edddcf drm/vc4: dsi: Introduce a variant structure
79374da862 drm/vc4: dsi: Use snprintf for the PHY clocks instead of an array
1f98187a7c drm/vc4: drv: Remove the DSI pointer in vc4_drv
ed2f42bd80 drm/vc4: dsi: Correct pixel order for DSI0
ddf6af3b0b drm/vc4: dsi: Correct DSI divider calculations
f517da5234 drm/vc4: plane: Fix margin calculations for the right/bottom edges
5aec7cb08b drm/vc4: plane: Remove subpixel positioning check
611f86965d media: tw686x: Fix memory leak in tw686x_video_init
7f7336ce35 media: v4l2-mem2mem: prevent pollerr when last_buffer_dequeued is set
bb480bffc1 media: hdpvr: fix error value returns in hdpvr_read
f57699a9b6 drm/mcde: Fix refcount leak in mcde_dsi_bind
6a43236ebc drm: bridge: adv7511: Add check for mipi_dsi_driver_register
87af9b0b45 crypto: ccp - During shutdown, check SEV data pointer before using
5f8a6e8f14 test_bpf: fix incorrect netdev features
45e1dbe5f6 drm/radeon: fix incorrrect SPDX-License-Identifiers
e7d6cac696 wifi: iwlegacy: 4965: fix potential off-by-one overflow in il4965_rs_fill_link_cmd()
eccd7c3e25 ath9k: fix use-after-free in ath9k_hif_usb_rx_cb
918f42ca1d media: tw686x: Register the irq at the end of probe
d45eaf4114 crypto: sun8i-ss - fix infinite loop in sun8i_ss_setup_ivs()
81cb317568 i2c: Fix a potential use after free
d0412d8f69 net: fix sk_wmem_schedule() and sk_rmem_schedule() errors
0e70bb9cdb crypto: sun8i-ss - fix error codes in allocate_flows()
e8673fbc10 crypto: sun8i-ss - do not allocate memory when handling hash requests
648b1bb29a drm: adv7511: override i2c address of cec before accessing it
259773fc87 virtio-gpu: fix a missing check to avoid NULL dereference
e28aa4f467 i2c: npcm: Correct slave role behavior
385f6ef4de i2c: npcm: Remove own slave addresses 2:10
5ce9cff371 drm/mediatek: Add pull-down MIPI operation in mtk_dsi_poweroff function
b54bc0013d drm/mediatek: Separate poweron/poweroff from enable/disable and define new funcs
0cb6589885 drm/mediatek: Modify dsi funcs to atomic operations
8508d6d23a drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers()
ac22537643 ath11k: Fix incorrect debug_mask mappings
648d3c8714 drm/mipi-dbi: align max_chunk to 2 in spi_transfer
a2c45f8c3d ath11k: fix netdev open race
58fd794675 wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c()
71426d31d0 drm/st7735r: Fix module autoloading for Okaya RH128128T
fd98ccda50 ath10k: do not enforce interrupt trigger type
bcc05372a2 drm/bridge: tc358767: Make sure Refclk clock are enabled
c038b9b733 drm/bridge: tc358767: Move (e)DP bridge endpoint parsing into dedicated function
f312bc33ca pwm: lpc18xx-sct: Convert to devm_platform_ioremap_resource()
6aaac1d924 pwm: sifive: Shut down hardware only after pwmchip_remove() completed
9073dbec88 pwm: sifive: Ensure the clk is enabled exactly once per running PWM
47902de24a pwm: sifive: Simplify offset calculation for PWMCMP registers
6d7f7ffbcd pwm: sifive: Don't check the return code of pwmchip_remove()
b7e2d64d67 dm: return early from dm_pr_call() if DM device is suspended
b3f5cc0cc0 thermal/tools/tmon: Include pthread and time headers in tmon.h
7aa3a25599 selftests/seccomp: Fix compile warning when CC=clang
e06a31e61f nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt()
298417471e drivers/perf: arm_spe: Fix consistency of SYS_PMSCR_EL1.CX
a1891d3df7 arm64: dts: qcom: qcs404: Fix incorrect USB2 PHYs assignment
a7753a260e soc: qcom: Make QCOM_RPMPD depend on PM
332e555dca regulator: of: Fix refcount leak bug in of_get_regulation_constraints()
1ed71e6bce blktrace: Trace remapped requests correctly
1cb3032406 block: remove the request_queue to argument request based tracepoints
d125b13a66 hwmon: (drivetemp) Add module alias
ed6ae23811 blk-mq: don't create hctx debugfs dir until q->debugfs_dir is created
0ca556256f erofs: avoid consecutive detection for Highmem memory
8dee22b457 arm64: tegra: Fix SDMMC1 CD on P2888
a1e2386909 arm64: dts: mt7622: fix BPI-R64 WPS button
7eafa9a1aa bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe()
7fcf4401d5 ARM: dts: qcom: pm8841: add required thermal-sensor-cells
97713ed9b6 soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
07aea6819d soc: qcom: ocmem: Fix refcount leak in of_get_ocmem
71042279b1 ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP
5f29b045da regulator: qcom_smd: Fix pm8916_pldo range
22e6d8bcde cpufreq: zynq: Fix refcount leak in zynq_get_revision
d294d60dc6 ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
14bac0c703 ARM: OMAP2+: Fix refcount leak in omapdss_init_of
fdcb1fdbdc ARM: dts: qcom: mdm9615: add missing PMIC GPIO reg
c32d5491c8 block: fix infinite loop for invalid zone append
2d9a1a96eb soc: fsl: guts: machine variable might be unset
4cea839177 locking/lockdep: Fix lockdep_init_map_*() confusion
87e415aec4 arm64: cpufeature: Allow different PMU versions in ID_DFR0_EL1
30119131e3 hexagon: select ARCH_WANT_LD_ORPHAN_WARN
9d744229cd ARM: dts: ast2600-evb: fix board compatible
75a24da2b9 ARM: dts: ast2500-evb: fix board compatible
2c07688d3e x86/pmem: Fix platform-device leak in error path
6a28f363d3 arm64: dts: renesas: Fix thermal-sensors on single-zone sensors
80c469e63b soc: amlogic: Fix refcount leak in meson-secure-pwrc.c
6cd8ba0c0b soc: renesas: r8a779a0-sysc: Fix A2DP1 and A2CV[2357] PDR values
6771609e19 Input: atmel_mxt_ts - fix up inverted RESET handler
11903c5457 ARM: dts: imx7d-colibri-emmc: add cpu1 supply
b8b1f0d74f ACPI: processor/idle: Annotate more functions to live in cpuidle section
91e7f04f53 ARM: bcm: Fix refcount leak in bcm_kona_smc_init
f6a6cc6d57 arm64: dts: renesas: beacon: Fix regulator node names
2691b8780f meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init
ccf56ea52b ARM: findbit: fix overflowing offset
71fc6e0dca spi: spi-rspi: Fix PIO fallback on RZ platforms
4234c5f34e powerpc/64s: Disable stack variable initialisation for prom_init
adbfdaacde selinux: Add boundary check in put_entry()
003a456ae6 PM: hibernate: defer device probing when resuming from hibernation
70bccff899 firmware: tegra: Fix error check return value of debugfs_create_file()
c2e53a1b07 ARM: shmobile: rcar-gen2: Increase refcount for new reference
f48cec5736 arm64: dts: allwinner: a64: orangepi-win: Fix LED node name
fcdc1e13e0 arm64: dts: qcom: ipq8074: fix NAND node name
931d0a574c ACPI: LPSS: Fix missing check in register_device_clock()
d257d9b0a4 ACPI: PM: save NVS memory for Lenovo G40-45
85bc8689a7 ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk
def469523d ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks
88d556029a ARM: OMAP2+: display: Fix refcount leak bug
43157bc5f9 spi: synquacer: Add missing clk_disable_unprepare()
607570808a ARM: dts: BCM5301X: Add DT for Meraki MR26
9213e5a397 ARM: dts: imx6ul: fix qspi node compatible
976db15fee ARM: dts: imx6ul: fix lcdif node compatible
6045ac40e3 ARM: dts: imx6ul: fix csi node compatible
c7ce841f48 ARM: dts: imx6ul: fix keypad compatible
15af2deb19 ARM: dts: imx6ul: change operating-points to uint32-matrix
278aa4c73d ARM: dts: imx6ul: add missing properties for sram
695a3c2a82 wait: Fix __wait_event_hrtimeout for RT/DL tasks
2b8c55900d irqchip/mips-gic: Check the return value of ioremap() in gic_of_init()
8dfb4a99b1 genirq: GENERIC_IRQ_IPI depends on SMP
f460141f29 irqchip/mips-gic: Only register IPI domain when SMP is enabled
4aba3247af genirq: Don't return error on missing optional irq_request_resources()
d08bb199a4 ext2: Add more validity checks for inode counts
353b4673d0 arm64: fix oops in concurrently setting insn_emulation sysctls
913f173237 arm64: Do not forget syscall when starting a new thread.
fb086aea39 x86: Handle idle=nomwait cmdline properly for x86_idle
48c3900210 epoll: autoremove wakers even more aggressively
80977126bc netfilter: nf_tables: fix null deref due to zeroed list head
0cc5c6b756 netfilter: nf_tables: do not allow RULE_ID to refer to another chain
9e7dcb88ec netfilter: nf_tables: do not allow CHAIN_ID to refer to another table
1a4b18b1ff netfilter: nf_tables: do not allow SET_ID to refer to another table
19bf7199c3 lockdep: Allow tuning tracing capacity constants.
f294829fb4 usb: dwc3: gadget: fix high speed multiplier setting
fc2a039cdb usb: dwc3: gadget: refactor dwc3_repare_one_trb
9a3a61bd73 arm64: dts: uniphier: Fix USB interrupts for PXs3 SoC
63228d8328 ARM: dts: uniphier: Fix USB interrupts for PXs2 SoC
4d7da7e565 USB: HCD: Fix URB giveback issue in tasklet function
37c7fe9b31 usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
847b9273dd coresight: Clear the connection field properly
807adf6ffa MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
26d767990e powerpc/powernv: Avoid crashing if rng is NULL
3db593ab8e powerpc/ptdump: Fix display of RW pages on FSL_BOOK3E
b326b8d6ae powerpc/fsl-pci: Fix Class Code of PCIe Root Port
39c51471ef PCI: Add defines for normal and subtractive PCI bridges
23c2f921f2 ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr()
2f36ba13cb media: [PATCH] pci: atomisp_cmd: fix three missing checks on list iterator
5fd4ffa237 md-raid10: fix KASAN warning
e0bdaed154 md-raid: destroy the bitmap after destroying the thread
3bdda8656a serial: mvebu-uart: uart2 error bits clearing
cfe17ae313 fuse: limit nsec
e63ea5814b scsi: qla2xxx: Zero undefined mailbox IN registers
6f18b5ad2d scsi: qla2xxx: Fix incorrect display of max frame size
408bfa1489 scsi: sg: Allow waiting for commands to complete on removed device
fb1888205c iio: light: isl29028: Fix the warning in isl29028_remove()
fb7eea3946 mtd: rawnand: arasan: Update NAND bus clock instead of system clock
15d0aeb017 drm/amdgpu: Check BO's requested pinning domains against its preferred_domains
55f5584427 drm/nouveau/acpi: Don't print error when we get -EINPROGRESS from pm_runtime
92050011e0 drm/nouveau: Don't pm_runtime_put_sync(), only pm_runtime_put_autosuspend()
ca0742a8ed drm/nouveau: fix another off-by-one in nvbios_addr
de63dbc296 drm/vc4: hdmi: Disable audio if dmas property is present but empty
1ff71d4f53 drm/gem: Properly annotate WW context on drm_gem_lock_reservations() error
043f4642c1 parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode
fc3918d70b parisc: Check the return value of ioremap() in lba_driver_probe()
b0dfba6d3b parisc: Fix device names in /proc/iomem
542d2e799d ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()
135199a2ed usbnet: Fix linkwatch use-after-free on disconnect
d65c3fcd6d fbcon: Fix accelerated fbdev scrolling while logo is still shown
16badd9987 fbcon: Fix boundary checks for fbcon=vc:n1-n2 parameters
826955eebc thermal: sysfs: Fix cooling_device_stats_setup() error code path
60a8f0e62a fs: Add missing umask strip in vfs_tmpfile
cf65b5bfac vfs: Check the truncate maximum size in inode_newsize_ok()
5c6c65681f tty: vt: initialize unicode screen buffer
f9b244e541 ALSA: hda/realtek: Add a quirk for HP OMEN 15 (8786) mute LED
7b9ee47c28 ALSA: hda/realtek: Add quirk for another Asus K42JZ model
c366ccad5b ALSA: hda/cirrus - support for iMac 12,1 model
f2b72c51c2 ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model
2613baa3ab mm/mremap: hold the rmap lock in write mode when moving page table entries.
0a69f1f842 xfs: fix I_DONTCACHE
e32bb24281 xfs: only set IOMAP_F_SHARED when providing a srcmap to a write
f5f3e54f81 mm: Add kvrealloc()
3ff605513f riscv: set default pm_power_off to NULL
230e369d49 KVM: x86: Tag kvm_mmu_x86_module_init() with __init
0dd8ba6670 KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP
68ba319b88 KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks
b670a58549 KVM: nVMX: Let userspace set nVMX MSR to any _host_ supported value
e9c55562b3 KVM: s390: pv: don't present the ecall interrupt twice
8bb6834902 KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
860e334395 KVM: nVMX: Snapshot pre-VM-Enter DEBUGCTL for !nested_run_pending case
ab4805c263 KVM: nVMX: Snapshot pre-VM-Enter BNDCFGS for !nested_run_pending case
40593c5898 HID: wacom: Don't register pad_input for touch switch
0ba645def7 HID: wacom: Only report rotation for art pen
57f2ee517d add barriers to buffer_uptodate and set_buffer_uptodate
6dece5ad6e wifi: mac80211_hwsim: use 32-bit skb cookie
d400222f49 wifi: mac80211_hwsim: add back erroneously removed cast
eb8fc4277b wifi: mac80211_hwsim: fix race condition in pending packet
9a22b1f7da ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx
d909d9bdc8 ALSA: hda/realtek: Add quirk for Clevo NV45PZ
348620464a ALSA: bcd2000: Fix a UAF bug on the error path of probing
101e0c052d scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover"
14eb40fd79 Revert "pNFS: nfs3_set_ds_client should set NFS_CS_NOPING"
4ad6a94c68 x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments
8f4f2c9b98 Makefile: link with -z noexecstack --no-warn-rwx-segments

Add the following symbol as needed by the -lts merge:

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

1 Added function:

  [A] 'function ssize_t strscpy_pad(char*, const char*, size_t)'

Change-Id: I7b4e08152fafe9bf2285afd207af47481eb9c774
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2022-11-29 14:09:15 +00:00
Matthew Wilcox (Oracle)
34c9208c28 BACKPORT: ext4,f2fs: fix readahead of verity data
The recent change of page_cache_ra_unbounded() arguments was buggy in the
two callers, causing us to readahead the wrong pages.  Move the definition
of ractl down to after the index is set correctly.  This affected
performance on configurations that use fs-verity.

Link: https://lkml.kernel.org/r/20221012193419.1453558-1-willy@infradead.org
Fixes: 73bb49da50 ("mm/readahead: make page_cache_ra_unbounded take a readahead_control")
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reported-by: Jintao Yin <nicememory@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Bug: 258554362
(cherry picked from commit 4fa0e3ff217f775cb58d2d6d51820ec519243fb9)
Change-Id: Ib5160c5c53629be328c370f5d5d464956d6a6312
Signed-off-by: Eric Biggers <ebiggers@google.com>
2022-11-15 01:01:46 +00:00
Greg Kroah-Hartman
1d17080edb This is the 5.10.146 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmM0D5YACgkQONu9yGCS
 aT60zQ//azKm1LwkEJrXhq9W8RH0qFooR5ktMtD77mX7jznl6QrebRycyD0lj67H
 QqkSWLKWocMiGNjCBHA4LS/OXVoMvjfWvdha1ExHO/1fqkM6MVqfy8+z8Tngzky/
 iTfaOjA6BSiQNnAyC+LPtJb5dCnvFYHL78+vZ3Kr6xHhX/MBCoTL+pP5bBp82ES+
 4N5mirDlLgLxI2d2KCfpwVkaRC+Ylsz5/PLkvzYpXz7RnXLL7PAu/tbHvJpM9qqj
 lONQU3av0utXPLzV8FdeejspFdTacG+V9d1AAfXivYQTBI5dyaUEPoR6qkZ4WgsN
 zZ6huMi/7Q0uL9QxGvvSqpEMPeq7hikanqFAZsfgNtXLZQM2Th8GyaqhVKtBN31n
 75z4dMrV5Whb0K6fo4yOZAzPL/safwHtqtEIsZsgpjCnUKgl0YWyRlmrjQyOdTcI
 2DY/wTwf+f+D/U0CNfYd0xrmlDMsRgUQ3pjtT98kLHk0K8VPRySlSvkk9YW0qsLf
 4Hc8DCIiVa5lB5Rl8nGTUq0iIl9t17lpfy1Iboibhxay1IUMLBYdRNQ/bnOD2Y0W
 ZYimIghn6x0KuvqiQkktzMqtRdlzIhvnu3ytOWBL7hNnVlGaa4kEY8zr0Ia5zwMP
 XKA18+ip/qV9qENnrjck/sh69itVR2q2qWa/BlV3cYnQsyTu62Y=
 =dY1i
 -----END PGP SIGNATURE-----

Merge 5.10.146 into android12-5.10-lts

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

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I45edad7e4191aad7a85278b43fa9909a6253643f
2022-09-29 17:06:30 +02:00
Jan Kara
c18383218c ext4: make directory inode spreading reflect flexbg size
commit 613c5a85898d1cd44e68f28d65eccf64a8ace9cf upstream.

Currently the Orlov inode allocator searches for free inodes for a
directory only in flex block groups with at most inodes_per_group/16
more directory inodes than average per flex block group. However with
growing size of flex block group this becomes unnecessarily strict.
Scale allowed difference from average directory count per flex block
group with flex block group size as we do with other metrics.

Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Tested-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Cc: stable@kernel.org
Link: https://lore.kernel.org/all/0d81a7c2-46b7-6010-62a4-3e6cfc1628d6@i2se.com/
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220908092136.11770-3-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-28 11:10:41 +02:00
Theodore Ts'o
a968542d7e ext4: limit the number of retries after discarding preallocations blocks
commit 80fa46d6b9e7b1527bfd2197d75431fd9c382161 upstream.

This patch avoids threads live-locking for hours when a large number
threads are competing over the last few free extents as they blocks
getting added and removed from preallocation pools.  From our bug
reporter:

   A reliable way for triggering this has multiple writers
   continuously write() to files when the filesystem is full, while
   small amounts of space are freed (e.g. by truncating a large file
   -1MiB at a time). In the local filesystem, this can be done by
   simply not checking the return code of write (0) and/or the error
   (ENOSPACE) that is set. Over NFS with an async mount, even clients
   with proper error checking will behave this way since the linux NFS
   client implementation will not propagate the server errors [the
   write syscalls immediately return success] until the file handle is
   closed. This leads to a situation where NFS clients send a
   continuous stream of WRITE rpcs which result in ERRNOSPACE -- but
   since the client isn't seeing this, the stream of writes continues
   at maximum network speed.

   When some space does appear, multiple writers will all attempt to
   claim it for their current write. For NFS, we may see dozens to
   hundreds of threads that do this.

   The real-world scenario of this is database backup tooling (in
   particular, github.com/mdkent/percona-xtrabackup) which may write
   large files (>1TiB) to NFS for safe keeping. Some temporary files
   are written, rewound, and read back -- all before closing the file
   handle (the temp file is actually unlinked, to trigger automatic
   deletion on close/crash.) An application like this operating on an
   async NFS mount will not see an error code until TiB have been
   written/read.

   The lockup was observed when running this database backup on large
   filesystems (64 TiB in this case) with a high number of block
   groups and no free space. Fragmentation is generally not a factor
   in this filesystem (~thousands of large files, mostly contiguous
   except for the parts written while the filesystem is at capacity.)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-28 11:10:41 +02:00
Luís Henriques
958b0ee23f ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
commit 29a5b8a137ac8eb410cc823653a29ac0e7b7e1b0 upstream.

When walking through an inode extents, the ext4_ext_binsearch_idx() function
assumes that the extent header has been previously validated.  However, there
are no checks that verify that the number of entries (eh->eh_entries) is
non-zero when depth is > 0.  And this will lead to problems because the
EXT_FIRST_INDEX() and EXT_LAST_INDEX() will return garbage and result in this:

[  135.245946] ------------[ cut here ]------------
[  135.247579] kernel BUG at fs/ext4/extents.c:2258!
[  135.249045] invalid opcode: 0000 [#1] PREEMPT SMP
[  135.250320] CPU: 2 PID: 238 Comm: tmp118 Not tainted 5.19.0-rc8+ #4
[  135.252067] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.15.0-0-g2dd4b9b-rebuilt.opensuse.org 04/01/2014
[  135.255065] RIP: 0010:ext4_ext_map_blocks+0xc20/0xcb0
[  135.256475] Code:
[  135.261433] RSP: 0018:ffffc900005939f8 EFLAGS: 00010246
[  135.262847] RAX: 0000000000000024 RBX: ffffc90000593b70 RCX: 0000000000000023
[  135.264765] RDX: ffff8880038e5f10 RSI: 0000000000000003 RDI: ffff8880046e922c
[  135.266670] RBP: ffff8880046e9348 R08: 0000000000000001 R09: ffff888002ca580c
[  135.268576] R10: 0000000000002602 R11: 0000000000000000 R12: 0000000000000024
[  135.270477] R13: 0000000000000000 R14: 0000000000000024 R15: 0000000000000000
[  135.272394] FS:  00007fdabdc56740(0000) GS:ffff88807dd00000(0000) knlGS:0000000000000000
[  135.274510] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  135.276075] CR2: 00007ffc26bd4f00 CR3: 0000000006261004 CR4: 0000000000170ea0
[  135.277952] Call Trace:
[  135.278635]  <TASK>
[  135.279247]  ? preempt_count_add+0x6d/0xa0
[  135.280358]  ? percpu_counter_add_batch+0x55/0xb0
[  135.281612]  ? _raw_read_unlock+0x18/0x30
[  135.282704]  ext4_map_blocks+0x294/0x5a0
[  135.283745]  ? xa_load+0x6f/0xa0
[  135.284562]  ext4_mpage_readpages+0x3d6/0x770
[  135.285646]  read_pages+0x67/0x1d0
[  135.286492]  ? folio_add_lru+0x51/0x80
[  135.287441]  page_cache_ra_unbounded+0x124/0x170
[  135.288510]  filemap_get_pages+0x23d/0x5a0
[  135.289457]  ? path_openat+0xa72/0xdd0
[  135.290332]  filemap_read+0xbf/0x300
[  135.291158]  ? _raw_spin_lock_irqsave+0x17/0x40
[  135.292192]  new_sync_read+0x103/0x170
[  135.293014]  vfs_read+0x15d/0x180
[  135.293745]  ksys_read+0xa1/0xe0
[  135.294461]  do_syscall_64+0x3c/0x80
[  135.295284]  entry_SYSCALL_64_after_hwframe+0x46/0xb0

This patch simply adds an extra check in __ext4_ext_check(), verifying that
eh_entries is not 0 when eh_depth is > 0.

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

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5983f3534b158edccd87bc7a7fe41ca07836d3eb
2022-08-30 12:59:52 +02:00
Greg Kroah-Hartman
fbe6a13851 This is the 5.10.137 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmMCMDQACgkQONu9yGCS
 aT6TwRAAvj1dnV1nLVVNET3jcelTO65SVUUpQjiyGD1npZQaQdH5PoGR0VhMWk7y
 mLUIwJyp/rR7+OLD3BMFwxDimDWHviFGdbmm/8fsyDrARuOeRd/M1fvtHXjIRQdb
 nOvfo1yTQWp4xA1k/JwJZslkvRFDsofXWHCRf+ffEryTRanFAVc7u5aFIg92W0b/
 JWYWEFe99C4TJ7LACpDoGaP9gE6WXsupaxSZBIu+Wxa+PfDmIeRRTkQn+j4Khn0h
 I6w+LkLd6ZP3l7sbe9KfS9ZGo1wWLgSng4zz742Z9IaFgxyj2ArS9tNsYCLkkhAM
 gLSXXkiPBAxUvAtDxR1tc0YROHc1bjAttSoxNXcaaacspSo/Vi0VAtp7t6boK0bI
 /8P3dh+Hq9u/Q1ClhZtVoFpp+GVj0fDbDd56qVcr2Cp6IokpqRJog1Jhgj0CVCoG
 iElr3n0+y7/IZfmE6/U1cK00SNcW86e2YduuIy4ifCawRT574zkRiSYZalpaO3qM
 z1lF9p+zUNq3v2q0wxXuBDLi/yPoJzbJgmCGScj4ryjjr6TOvR1udSVWkJ02dR4H
 s9km3lNLgoUPCYCLBMlZl7em4T49E09/+4YCrnj/Ezp+YdImf2+QzZyd/gG3ITl2
 fW7lpbK1dx3d/19JFP6Xkj9PaIlMl9e8Ne04G+Dabv67uN+0U+g=
 =Z4rz
 -----END PGP SIGNATURE-----

Merge 5.10.137 into android12-5.10-lts

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

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5775ddfad6460c5a737b1ad3f8e0b8f798338786
2022-08-29 16:53:14 +02:00
Kiselev, Oleg
8028888329 ext4: avoid resizing to a partial cluster size
[ Upstream commit 69cb8e9d8cd97cdf5e293b26d70a9dee3e35e6bd ]

This patch avoids an attempt to resize the filesystem to an
unaligned cluster boundary.  An online resize to a size that is not
integral to cluster size results in the last iteration attempting to
grow the fs by a negative amount, which trips a BUG_ON and leaves the fs
with a corrupted in-memory superblock.

Signed-off-by: Oleg Kiselev <okiselev@amazon.com>
Link: https://lore.kernel.org/r/0E92A0AB-4F16-4F1A-94B7-702CC6504FDE@amazon.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-25 11:38:18 +02:00
Ye Bin
285447b819 ext4: avoid remove directory when directory is corrupted
[ Upstream commit b24e77ef1c6d4dbf42749ad4903c97539cc9755a ]

Now if check directoy entry is corrupted, ext4_empty_dir may return true
then directory will be removed when file system mounted with "errors=continue".
In order not to make things worse just return false when directory is corrupted.

Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220622090223.682234-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-25 11:38:18 +02:00
Baokun Li
d0b495aa26 ext4: correct the misjudgment in ext4_iget_extra_inode
commit fd7e672ea98b95b9d4c9dae316639f03c16a749d upstream.

Use the EXT4_INODE_HAS_XATTR_SPACE macro to more accurately
determine whether the inode have xattr space.

Cc: stable@kernel.org
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220616021358.2504451-5-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:24 +02:00
Baokun Li
603fb7bd74 ext4: correct max_inline_xattr_value_size computing
commit c9fd167d57133c5b748d16913c4eabc55e531c73 upstream.

If the ext4 inode does not have xattr space, 0 is returned in the
get_max_inline_xattr_value_size function. Otherwise, the function returns
a negative value when the inode does not contain EXT4_STATE_XATTR.

Cc: stable@kernel.org
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220616021358.2504451-4-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:24 +02:00
Eric Whitney
e8c747496f ext4: fix extent status tree race in writeback error recovery path
commit 7f0d8e1d607c1a4fa9a27362a108921d82230874 upstream.

A race can occur in the unlikely event ext4 is unable to allocate a
physical cluster for a delayed allocation in a bigalloc file system
during writeback.  Failure to allocate a cluster forces error recovery
that includes a call to mpage_release_unused_pages().  That function
removes any corresponding delayed allocated blocks from the extent
status tree.  If a new delayed write is in progress on the same cluster
simultaneously, resulting in the addition of an new extent containing
one or more blocks in that cluster to the extent status tree, delayed
block accounting can be thrown off if that delayed write then encounters
a similar cluster allocation failure during future writeback.

Write lock the i_data_sem in mpage_release_unused_pages() to fix this
problem.  Ext4's block/cluster accounting code for bigalloc relies on
i_data_sem for mutual exclusion, as is found in the delayed write path,
and the locking in mpage_release_unused_pages() is missing.

Cc: stable@kernel.org
Reported-by: Ye Bin <yebin10@huawei.com>
Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Link: https://lore.kernel.org/r/20220615160530.1928801-1-enwlinux@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:24 +02:00
Theodore Ts'o
ac8cc06114 ext4: update s_overhead_clusters in the superblock during an on-line resize
commit de394a86658ffe4e89e5328fd4993abfe41b7435 upstream.

When doing an online resize, the on-disk superblock on-disk wasn't
updated.  This means that when the file system is unmounted and
remounted, and the on-disk overhead value is non-zero, this would
result in the results of statfs(2) to be incorrect.

This was partially fixed by Commits 10b01ee92df5 ("ext4: fix overhead
calculation to account for the reserved gdt blocks"), 85d825dbf489
("ext4: force overhead calculation if the s_overhead_cluster makes no
sense"), and eb7054212eac ("ext4: update the cached overhead value in
the superblock").

However, since it was too expensive to forcibly recalculate the
overhead for bigalloc file systems at every mount, this didn't fix the
problem for bigalloc file systems.  This commit should address the
problem when resizing file systems with the bigalloc feature enabled.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Link: https://lore.kernel.org/r/20220629040026.112371-1-tytso@mit.edu
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:23 +02:00
Baokun Li
bb8592efcf ext4: fix use-after-free in ext4_xattr_set_entry
commit 67d7d8ad99beccd9fe92d585b87f1760dc9018e3 upstream.

Hulk Robot reported a issue:
==================================================================
BUG: KASAN: use-after-free in ext4_xattr_set_entry+0x18ab/0x3500
Write of size 4105 at addr ffff8881675ef5f4 by task syz-executor.0/7092

CPU: 1 PID: 7092 Comm: syz-executor.0 Not tainted 4.19.90-dirty #17
Call Trace:
[...]
 memcpy+0x34/0x50 mm/kasan/kasan.c:303
 ext4_xattr_set_entry+0x18ab/0x3500 fs/ext4/xattr.c:1747
 ext4_xattr_ibody_inline_set+0x86/0x2a0 fs/ext4/xattr.c:2205
 ext4_xattr_set_handle+0x940/0x1300 fs/ext4/xattr.c:2386
 ext4_xattr_set+0x1da/0x300 fs/ext4/xattr.c:2498
 __vfs_setxattr+0x112/0x170 fs/xattr.c:149
 __vfs_setxattr_noperm+0x11b/0x2a0 fs/xattr.c:180
 __vfs_setxattr_locked+0x17b/0x250 fs/xattr.c:238
 vfs_setxattr+0xed/0x270 fs/xattr.c:255
 setxattr+0x235/0x330 fs/xattr.c:520
 path_setxattr+0x176/0x190 fs/xattr.c:539
 __do_sys_lsetxattr fs/xattr.c:561 [inline]
 __se_sys_lsetxattr fs/xattr.c:557 [inline]
 __x64_sys_lsetxattr+0xc2/0x160 fs/xattr.c:557
 do_syscall_64+0xdf/0x530 arch/x86/entry/common.c:298
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x459fe9
RSP: 002b:00007fa5e54b4c08 EFLAGS: 00000246 ORIG_RAX: 00000000000000bd
RAX: ffffffffffffffda RBX: 000000000051bf60 RCX: 0000000000459fe9
RDX: 00000000200003c0 RSI: 0000000020000180 RDI: 0000000020000140
RBP: 000000000051bf60 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000001009 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffc73c93fc0 R14: 000000000051bf60 R15: 00007fa5e54b4d80
[...]
==================================================================

Above issue may happen as follows:
-------------------------------------
ext4_xattr_set
  ext4_xattr_set_handle
    ext4_xattr_ibody_find
      >> s->end < s->base
      >> no EXT4_STATE_XATTR
      >> xattr_check_inode is not executed
    ext4_xattr_ibody_set
      ext4_xattr_set_entry
       >> size_t min_offs = s->end - s->base
       >> UAF in memcpy

we can easily reproduce this problem with the following commands:
    mkfs.ext4 -F /dev/sda
    mount -o debug_want_extra_isize=128 /dev/sda /mnt
    touch /mnt/file
    setfattr -n user.cat -v `seq -s z 4096|tr -d '[:digit:]'` /mnt/file

In ext4_xattr_ibody_find, we have the following assignment logic:
  header = IHDR(inode, raw_inode)
         = raw_inode + EXT4_GOOD_OLD_INODE_SIZE + i_extra_isize
  is->s.base = IFIRST(header)
             = header + sizeof(struct ext4_xattr_ibody_header)
  is->s.end = raw_inode + s_inode_size

In ext4_xattr_set_entry
  min_offs = s->end - s->base
           = s_inode_size - EXT4_GOOD_OLD_INODE_SIZE - i_extra_isize -
	     sizeof(struct ext4_xattr_ibody_header)
  last = s->first
  free = min_offs - ((void *)last - s->base) - sizeof(__u32)
       = s_inode_size - EXT4_GOOD_OLD_INODE_SIZE - i_extra_isize -
         sizeof(struct ext4_xattr_ibody_header) - sizeof(__u32)

In the calculation formula, all values except s_inode_size and
i_extra_size are fixed values. When i_extra_size is the maximum value
s_inode_size - EXT4_GOOD_OLD_INODE_SIZE, min_offs is -4 and free is -8.
The value overflows. As a result, the preceding issue is triggered when
memcpy is executed.

Therefore, when finding xattr or setting xattr, check whether
there is space for storing xattr in the inode to resolve this issue.

Cc: stable@kernel.org
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220616021358.2504451-3-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:23 +02:00
Lukas Czerner
69d1a36eb4 ext4: make sure ext4_append() always allocates new block
commit b8a04fe77ef1360fbf73c80fddbdfeaa9407ed1b upstream.

ext4_append() must always allocate a new block, otherwise we run the
risk of overwriting existing directory block corrupting the directory
tree in the process resulting in all manner of problems later on.

Add a sanity check to see if the logical block is already allocated and
error out if it is.

Cc: stable@kernel.org
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Link: https://lore.kernel.org/r/20220704142721.157985-2-lczerner@redhat.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:23 +02:00
Ye Bin
e1682c7171 ext4: fix warning in ext4_iomap_begin as race between bmap and write
commit 51ae846cff568c8c29921b1b28eb2dfbcd4ac12d upstream.

We got issue as follows:
------------[ cut here ]------------
WARNING: CPU: 3 PID: 9310 at fs/ext4/inode.c:3441 ext4_iomap_begin+0x182/0x5d0
RIP: 0010:ext4_iomap_begin+0x182/0x5d0
RSP: 0018:ffff88812460fa08 EFLAGS: 00010293
RAX: ffff88811f168000 RBX: 0000000000000000 RCX: ffffffff97793c12
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
RBP: ffff88812c669160 R08: ffff88811f168000 R09: ffffed10258cd20f
R10: ffff88812c669077 R11: ffffed10258cd20e R12: 0000000000000001
R13: 00000000000000a4 R14: 000000000000000c R15: ffff88812c6691ee
FS:  00007fd0d6ff3740(0000) GS:ffff8883af180000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fd0d6dda290 CR3: 0000000104a62000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 iomap_apply+0x119/0x570
 iomap_bmap+0x124/0x150
 ext4_bmap+0x14f/0x250
 bmap+0x55/0x80
 do_vfs_ioctl+0x952/0xbd0
 __x64_sys_ioctl+0xc6/0x170
 do_syscall_64+0x33/0x40
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Above issue may happen as follows:
          bmap                    write
bmap
  ext4_bmap
    iomap_bmap
      ext4_iomap_begin
                            ext4_file_write_iter
			      ext4_buffered_write_iter
			        generic_perform_write
				  ext4_da_write_begin
				    ext4_da_write_inline_data_begin
				      ext4_prepare_inline_data
				        ext4_create_inline_data
					  ext4_set_inode_flag(inode,
						EXT4_INODE_INLINE_DATA);
      if (WARN_ON_ONCE(ext4_has_inline_data(inode))) ->trigger bug_on

To solved above issue hold inode lock in ext4_bamp.

Signed-off-by: Ye Bin <yebin10@huawei.com>
Link: https://lore.kernel.org/r/20220617013935.397596-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:23 +02:00
Baokun Li
2da44a2927 ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h
commit 179b14152dcb6a24c3415200603aebca70ff13af upstream.

When adding an xattr to an inode, we must ensure that the inode_size is
not less than EXT4_GOOD_OLD_INODE_SIZE + extra_isize + pad. Otherwise,
the end position may be greater than the start position, resulting in UAF.

Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Link: https://lore.kernel.org/r/20220616021358.2504451-2-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:23 +02:00
Lukas Czerner
1571c46130 ext4: check if directory block is within i_size
commit 65f8ea4cd57dbd46ea13b41dc8bac03176b04233 upstream.

Currently ext4 directory handling code implicitly assumes that the
directory blocks are always within the i_size. In fact ext4_append()
will attempt to allocate next directory block based solely on i_size and
the i_size is then appropriately increased after a successful
allocation.

However, for this to work it requires i_size to be correct. If, for any
reason, the directory inode i_size is corrupted in a way that the
directory tree refers to a valid directory block past i_size, we could
end up corrupting parts of the directory tree structure by overwriting
already used directory blocks when modifying the directory.

Fix it by catching the corruption early in __ext4_read_dirblock().

Addresses Red-Hat-Bugzilla: #2070205
CVE: CVE-2022-1184
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Cc: stable@vger.kernel.org
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Link: https://lore.kernel.org/r/20220704142721.157985-1-lczerner@redhat.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-21 15:16:23 +02:00
Li Lingfeng
a6d7f22473 ext4: recover csum seed of tmp_inode after migrating to extents
[ Upstream commit 07ea7a617d6b278fb7acedb5cbe1a81ce2de7d0c ]

When migrating to extents, the checksum seed of temporary inode
need to be replaced by inode's, otherwise the inode checksums
will be incorrect when swapping the inodes data.

However, the temporary inode can not match it's checksum to
itself since it has lost it's own checksum seed.

mkfs.ext4 -F /dev/sdc
mount /dev/sdc /mnt/sdc
xfs_io -fc "pwrite 4k 4k" -c "fsync" /mnt/sdc/testfile
chattr -e /mnt/sdc/testfile
chattr +e /mnt/sdc/testfile
umount /dev/sdc
fsck -fn /dev/sdc

========
...
Pass 1: Checking inodes, blocks, and sizes
Inode 13 passes checks, but checksum does not match inode.  Fix? no
...
========

The fix is simple, save the checksum seed of temporary inode, and
recover it after migrating to extents.

Fixes: e81c9302a6c3 ("ext4: set csum seed in tmp inode while migrating to extents")
Signed-off-by: Li Lingfeng <lilingfeng3@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220617062515.2113438-1-lilingfeng3@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-21 15:16:03 +02:00
Greg Kroah-Hartman
0c724b692d This is the 5.10.132 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmLZpvwACgkQONu9yGCS
 aT43nBAAhxJzkIcRI/641//eBLQrmbeNsS4TerYlpPIJAXwfXlF6KX6Ixl0rYcp/
 GUid3QlXyDG4TTUB519M1FpaknDGq5vUCzNik82AogzMFLf/KWP6urx4FSeZCt1D
 xAdYQHHWKFiyNUlqjT22dPM3/QR1D0BtUKE6QLUdWWhyc1W+gvYx1m10GG6O1z55
 eljZScRYvaacvVZ4LiN0ClU9J0n16SqfTg8/jEASr+3yqe4ZKdzFdngGlJrWUCZa
 SrR5ijscqoIQ5yTSA5DUZ/N4aAeTgSSXcMfXeZh1CoD4Ak87e2kwBHZAUWQWJrEe
 0nfILwU0okZmEOKtwCtYz0iwfFEfB/wKwrZjJ0jV03dL3Ncm7ddj2bQDk0+fLDYZ
 AEjflhLZfusQEprM+jr0Qx9UlJo1TA4KssRn1A+cfocKvhfTrVneWO5LcR1Jf6Gq
 9z7lgh8iRs4ncEfqh2cCRcSpIJLlPOmACmtA4eD2tk7heGRhfBpL9Hv2KBCHss5o
 iMaqRsvVXFZn2KCxZFOR4l0cQvkKkxHWBjiVxrYTV5SrELJ4d2DBc7r93a5vM7W/
 tKKGi0IG+0V7fgHvKrRDVZnYWV05NEbit0xd0lgY5YZsOuJIVy024YayuWDFxT5S
 xulwcoSzAQiWnhqtrsD9eqWotA1E8i9wCuWHEAPMRmnzTBdENTA=
 =cxaP
 -----END PGP SIGNATURE-----

Merge 5.10.132 into android12-5.10-lts

Changes in 5.10.132
	ALSA: hda - Add fixup for Dell Latitidue E5430
	ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model
	ALSA: hda/realtek: Fix headset mic for Acer SF313-51
	ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671
	ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc221
	ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop
	xen/netback: avoid entering xenvif_rx_next_skb() with an empty rx queue
	fix race between exit_itimers() and /proc/pid/timers
	mm: split huge PUD on wp_huge_pud fallback
	tracing/histograms: Fix memory leak problem
	net: sock: tracing: Fix sock_exceed_buf_limit not to dereference stale pointer
	ip: fix dflt addr selection for connected nexthop
	ARM: 9213/1: Print message about disabled Spectre workarounds only once
	ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction
	wifi: mac80211: fix queue selection for mesh/OCB interfaces
	cgroup: Use separate src/dst nodes when preloading css_sets for migration
	btrfs: return -EAGAIN for NOWAIT dio reads/writes on compressed and inline extents
	drm/panfrost: Put mapping instead of shmem obj on panfrost_mmu_map_fault_addr() error
	drm/panfrost: Fix shrinker list corruption by madvise IOCTL
	fs/remap: constrain dedupe of EOF blocks
	nilfs2: fix incorrect masking of permission flags for symlinks
	sh: convert nommu io{re,un}map() to static inline functions
	Revert "evm: Fix memleak in init_desc"
	ext4: fix race condition between ext4_write and ext4_convert_inline_data
	ARM: dts: imx6qdl-ts7970: Fix ngpio typo and count
	spi: amd: Limit max transfer and message size
	ARM: 9209/1: Spectre-BHB: avoid pr_info() every time a CPU comes out of idle
	ARM: 9210/1: Mark the FDT_FIXED sections as shareable
	net/mlx5e: kTLS, Fix build time constant test in TX
	net/mlx5e: kTLS, Fix build time constant test in RX
	net/mlx5e: Fix capability check for updating vnic env counters
	drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector()
	ima: Fix a potential integer overflow in ima_appraise_measurement
	ASoC: sgtl5000: Fix noise on shutdown/remove
	ASoC: tas2764: Add post reset delays
	ASoC: tas2764: Fix and extend FSYNC polarity handling
	ASoC: tas2764: Correct playback volume range
	ASoC: tas2764: Fix amp gain register offset & default
	ASoC: Intel: Skylake: Correct the ssp rate discovery in skl_get_ssp_clks()
	ASoC: Intel: Skylake: Correct the handling of fmt_config flexible array
	net: stmmac: dwc-qos: Disable split header for Tegra194
	sysctl: Fix data races in proc_dointvec().
	sysctl: Fix data races in proc_douintvec().
	sysctl: Fix data races in proc_dointvec_minmax().
	sysctl: Fix data races in proc_douintvec_minmax().
	sysctl: Fix data races in proc_doulongvec_minmax().
	sysctl: Fix data races in proc_dointvec_jiffies().
	tcp: Fix a data-race around sysctl_tcp_max_orphans.
	inetpeer: Fix data-races around sysctl.
	net: Fix data-races around sysctl_mem.
	cipso: Fix data-races around sysctl.
	icmp: Fix data-races around sysctl.
	ipv4: Fix a data-race around sysctl_fib_sync_mem.
	ARM: dts: at91: sama5d2: Fix typo in i2s1 node
	ARM: dts: sunxi: Fix SPI NOR campatible on Orange Pi Zero
	drm/i915/selftests: fix a couple IS_ERR() vs NULL tests
	drm/i915/gt: Serialize TLB invalidates with GT resets
	sysctl: Fix data-races in proc_dointvec_ms_jiffies().
	icmp: Fix a data-race around sysctl_icmp_ratelimit.
	icmp: Fix a data-race around sysctl_icmp_ratemask.
	raw: Fix a data-race around sysctl_raw_l3mdev_accept.
	ipv4: Fix data-races around sysctl_ip_dynaddr.
	nexthop: Fix data-races around nexthop_compat_mode.
	net: ftgmac100: Hold reference returned by of_get_child_by_name()
	ima: force signature verification when CONFIG_KEXEC_SIG is configured
	ima: Fix potential memory leak in ima_init_crypto()
	sfc: fix use after free when disabling sriov
	seg6: fix skb checksum evaluation in SRH encapsulation/insertion
	seg6: fix skb checksum in SRv6 End.B6 and End.B6.Encaps behaviors
	seg6: bpf: fix skb checksum in bpf_push_seg6_encap()
	sfc: fix kernel panic when creating VF
	net: atlantic: remove deep parameter on suspend/resume functions
	net: atlantic: remove aq_nic_deinit() when resume
	KVM: x86: Fully initialize 'struct kvm_lapic_irq' in kvm_pv_kick_cpu_op()
	net/tls: Check for errors in tls_device_init
	mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE
	virtio_mmio: Add missing PM calls to freeze/restore
	virtio_mmio: Restore guest page size on resume
	netfilter: br_netfilter: do not skip all hooks with 0 priority
	scsi: hisi_sas: Limit max hw sectors for v3 HW
	cpufreq: pmac32-cpufreq: Fix refcount leak bug
	platform/x86: hp-wmi: Ignore Sanitization Mode event
	net: tipc: fix possible refcount leak in tipc_sk_create()
	NFC: nxp-nci: don't print header length mismatch on i2c error
	nvme-tcp: always fail a request when sending it failed
	nvme: fix regression when disconnect a recovering ctrl
	net: sfp: fix memory leak in sfp_probe()
	ASoC: ops: Fix off by one in range control validation
	pinctrl: aspeed: Fix potential NULL dereference in aspeed_pinmux_set_mux()
	ASoC: SOF: Intel: hda-loader: Clarify the cl_dsp_init() flow
	ASoC: wm5110: Fix DRE control
	ASoC: dapm: Initialise kcontrol data for mux/demux controls
	ASoC: cs47l15: Fix event generation for low power mux control
	ASoC: madera: Fix event generation for OUT1 demux
	ASoC: madera: Fix event generation for rate controls
	irqchip: or1k-pic: Undefine mask_ack for level triggered hardware
	x86: Clear .brk area at early boot
	soc: ixp4xx/npe: Fix unused match warning
	ARM: dts: stm32: use the correct clock source for CEC on stm32mp151
	Revert "can: xilinx_can: Limit CANFD brp to 2"
	nvme-pci: phison e16 has bogus namespace ids
	signal handling: don't use BUG_ON() for debugging
	USB: serial: ftdi_sio: add Belimo device ids
	usb: typec: add missing uevent when partner support PD
	usb: dwc3: gadget: Fix event pending check
	tty: serial: samsung_tty: set dma burst_size to 1
	vt: fix memory overlapping when deleting chars in the buffer
	serial: 8250: fix return error code in serial8250_request_std_resource()
	serial: stm32: Clear prev values before setting RTS delays
	serial: pl011: UPSTAT_AUTORTS requires .throttle/unthrottle
	serial: 8250: Fix PM usage_count for console handover
	x86/pat: Fix x86_has_pat_wp()
	Linux 5.10.132

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I450f357105f90b1b9549dea5de62dc9a160d4ba9
2022-07-28 17:17:55 +02:00
Greg Kroah-Hartman
4e3458d6d3 This is the 5.10.124 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmKzB2QACgkQONu9yGCS
 aT4veQ/+KF0bH3WbgK07ZD1KTGKLzpwsIbaOLyGbiD91b2DfZgbGN6fzsZGgwALs
 4B2olDy2r06aTzPWxZ4eqBms59l9kK0ES0FYlNU3LjxBYA6mtL6ryEEUjXdaX+zp
 Vd4TGdAEMWKvXmpa2Vq6U5v4NBRIC85iwzS6foAkffgv+8tj2ApYQWIth4fN0mm6
 d5aRAtcyPEtQ+hI8V3jufM2ZWnuzuy892xKG2WiAHXLJhJ4fOURe/CRrhIQCx8VW
 53cZzAuXf3XfoK60DBvLvB856oUUTPu0MUpj6x1bSpxe25RZZDErt07cCo4FTTRM
 sOaAdHSpiu3NJRoufzWPCIKLb4dlMjsaQ3QpXGazjfbd+nCVGRDHvUF1pPdUyssy
 3QPXo/d8VeFbZLGwC6FJrnybF01VpGqz+89nW3sBFxg8Qx0FN061uebC6LVNgabT
 9szE1n9R6QvfFFeZ4RQeiWNZTGazPR5+tdlsue/RoYB9/5bOhDOCl91qxhiqKa/M
 1wgZfhxPuxrMDAMo2gWueUT6DZW/psMGDNpgrMDxuVp9EbDLJKXupDP9NOLg0RNv
 ar0gCCkdxUakpg+LdN5mznpdQo+t1mYy1PB6/5c/P7xEi50rhkJFPq/K180oldZV
 WtIqyp4eeOGbXsu/I+BaJV1sCIeWuia0WUuwBtExQosK/8JHb8g=
 =yAJW
 -----END PGP SIGNATURE-----

Merge 5.10.124 into android12-5.10-lts

Changes in 5.10.124
	9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
	nfsd: Replace use of rwsem with errseq_t
	bpf: Fix incorrect memory charge cost calculation in stack_map_alloc()
	arm64: dts: imx8mm-beacon: Enable RTS-CTS on UART3
	powerpc/kasan: Silence KASAN warnings in __get_wchan()
	ASoC: nau8822: Add operation for internal PLL off and on
	dma-debug: make things less spammy under memory pressure
	ASoC: cs42l52: Fix TLV scales for mixer controls
	ASoC: cs35l36: Update digital volume TLV
	ASoC: cs53l30: Correct number of volume levels on SX controls
	ASoC: cs42l52: Correct TLV for Bypass Volume
	ASoC: cs42l56: Correct typo in minimum level for SX volume controls
	ASoC: cs42l51: Correct minimum value for SX volume control
	ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
	quota: Prevent memory allocation recursion while holding dq_lock
	ASoC: wm8962: Fix suspend while playing music
	ASoC: es8328: Fix event generation for deemphasis control
	ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
	Input: soc_button_array - also add Lenovo Yoga Tablet2 1051F to dmi_use_low_level_irq
	scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
	scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
	scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion
	scsi: ipr: Fix missing/incorrect resource cleanup in error case
	scsi: pmcraid: Fix missing resource cleanup in error case
	ALSA: hda/realtek - Add HW8326 support
	virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
	nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
	ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
	net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
	mellanox: mlx5: avoid uninitialized variable warning with gcc-12
	MIPS: Loongson-3: fix compile mips cpu_hwmon as module build error.
	gpio: dwapb: Don't print error on -EPROBE_DEFER
	random: credit cpu and bootloader seeds by default
	pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
	pNFS: Avoid a live lock condition in pnfs_update_layout()
	clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
	i40e: Fix adding ADQ filter to TC0
	i40e: Fix calculating the number of queue pairs
	i40e: Fix call trace in setup_tx_descriptors
	Drivers: hv: vmbus: Release cpu lock in error case
	tty: goldfish: Fix free_irq() on remove
	misc: atmel-ssc: Fix IRQ check in ssc_probe
	drm/i915/reset: Fix error_state_read ptr + offset use
	nvme: use sysfs_emit instead of sprintf
	nvme: add device name to warning in uuid_show()
	mlxsw: spectrum_cnt: Reorder counter pools
	net: bgmac: Fix an erroneous kfree() in bgmac_remove()
	net: ax25: Fix deadlock caused by skb_recv_datagram in ax25_recvmsg
	arm64: ftrace: fix branch range checks
	arm64: ftrace: consistently handle PLTs.
	certs/blacklist_hashes.c: fix const confusion in certs blacklist
	block: Fix handling of offline queues in blk_mq_alloc_request_hctx()
	faddr2line: Fix overlapping text section failures, the sequel
	i2c: npcm7xx: Add check for platform_driver_register
	irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
	irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions
	irqchip/gic-v3: Fix refcount leak in gic_populate_ppi_partitions
	i2c: designware: Use standard optional ref clock implementation
	mei: me: add raptor lake point S DID
	comedi: vmk80xx: fix expression for tx buffer size
	crypto: memneq - move into lib/
	USB: serial: option: add support for Cinterion MV31 with new baseline
	USB: serial: io_ti: add Agilent E5805A support
	usb: dwc2: Fix memory leak in dwc2_hcd_init
	usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
	serial: 8250: Store to lsr_save_flags after lsr read
	dm mirror log: round up region bitmap size to BITS_PER_LONG
	drm/amd/display: Cap OLED brightness per max frame-average luminance
	ext4: fix bug_on ext4_mb_use_inode_pa
	ext4: make variable "count" signed
	ext4: add reserved GDT blocks check
	KVM: arm64: Don't read a HW interrupt pending state in user context
	KVM: x86: Account a variety of miscellaneous allocations
	KVM: SVM: Use kzalloc for sev ioctl interfaces to prevent kernel data leak
	ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine
	virtio-pci: Remove wrong address verification in vp_del_vqs()
	dma-direct: don't over-decrypt memory
	net/sched: act_police: more accurate MTU policing
	net: openvswitch: fix misuse of the cached connection on tuple changes
	Revert "PCI: Make pci_enable_ptm() private"
	igc: Enable PCIe PTM
	powerpc/book3e: get rid of #include <generated/compile.h>
	clk: imx8mp: fix usb_root_clk parent
	Linux 5.10.124

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I805be804872dfaf5e17d772f439ccf6d5061670e
2022-07-28 15:53:46 +02:00
Greg Kroah-Hartman
eaa4878a26 Revert "ext4: fix use-after-free in ext4_rename_dir_prepare"
This reverts commit dd887f83ea which is
commit 0be698ecbe4471fcad80e81ec6a05001421041b3 upstream as it breaks
the build in Android kernel builds due to out-of-tree changes that were
never merged upstream.

Bug: 236690716
Fixes: 0e8e989142 ("Merge 5.10.121 into android12-5.10-lts")
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I511f362fecb21bdc53fb3a93bb9772be96e7f985
2022-07-27 14:00:53 +02:00
Greg Kroah-Hartman
f004760d69 Revert "ext4: verify dir block before splitting it"
This reverts commit da2f059192 which is
commit 46c116b920ebec58031f0a78c5ea9599b0d2a371 upstream,  as it breaks
the build in Android kernel builds due to out-of-tree changes that were
never merged upstream.

Bug: 236690716
Fixes: 0e8e989142 ("Merge 5.10.121 into android12-5.10-lts")
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I08929715fb488a7d1977300e84d0940a9bf4dc98
2022-07-27 14:00:49 +02:00
Greg Kroah-Hartman
0e8e989142 This is the 5.10.121 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmKhrZIACgkQONu9yGCS
 aT4bxhAAsahNlwa6uWf6brIeZkHy62w0LrZAEr6+TvO2CHLWwhcKIol5ZjdaJD5y
 KX7A839Vcdo5iAk0eNUV2MTigp7YK0f7XH9y/u/L3yNLc9YA4isA9PQhnnPc4R7N
 mgkmGT7Oz7BbQydyDiLvSwtXJDxBMOzCDTF3/4/42PsdmRmPzLBxzoTpH8wcY4vG
 jwGyiyUjUVWAF99uHo0O/Yp8sw8UvudpOX+lbKed76V+fXsbH0PYk1yMMJfWhZ60
 TrFh1dmZY7j2bW0+F7rkVPXVGeQGyOlLSUVSFWlugJ8qvxVNpAItjcBUXZ+nChGe
 O25/5UiaBHprTIoms05yG1jPZtBbAO2MgLhw6zBCOySBr/e0bligNfJWpjt5D6H3
 17+CQ1QeaL9BlzcYr4Ug/y60o2CkfUc/vr2CEQRQBRgj1gjsFWwBI4HVdO982fKC
 QClnC55h1wYDsjSJ6Z4l4TKBuEN8rV9D3RfdIaPex5C6JJMAoUNeAojCL+6iyuem
 ODSIufKm1I1eHeIS49+tw0Uu4jiAtn9RJfR4+uiV8zftfrDZ1qM/RPuHZTsE9wAl
 3jHx6+8mT8NYjxb9Omn4Dp3aOl7Fcx/vPxx9uoj8YjrJtQ3L0EGgCnk0djmMi0b3
 sBdKw15ftoJvNNrhQaLiCo+0M3XkcUUBk37ttNuIo4lvqIY23RE=
 =piEC
 -----END PGP SIGNATURE-----

Merge 5.10.121 into android12-5.10-lts

Changes in 5.10.121
	binfmt_flat: do not stop relocating GOT entries prematurely on riscv
	parisc/stifb: Implement fb_is_primary_device()
	riscv: Initialize thread pointer before calling C functions
	riscv: Fix irq_work when SMP is disabled
	ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop
	ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
	ALSA: usb-audio: Cancel pending work at closing a MIDI substream
	USB: serial: option: add Quectel BG95 modem
	USB: new quirk for Dell Gen 2 devices
	usb: dwc3: gadget: Move null pinter check to proper place
	usb: core: hcd: Add support for deferring roothub registration
	cifs: when extending a file with falloc we should make files not-sparse
	xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI
	Fonts: Make font size unsigned in font_desc
	parisc/stifb: Keep track of hardware path of graphics card
	x86/MCE/AMD: Fix memory leak when threshold_create_bank() fails
	perf/x86/intel: Fix event constraints for ICL
	ptrace/um: Replace PT_DTRACE with TIF_SINGLESTEP
	ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
	ptrace: Reimplement PTRACE_KILL by always sending SIGKILL
	btrfs: add "0x" prefix for unsupported optional features
	btrfs: repair super block num_devices automatically
	iommu/vt-d: Add RPLS to quirk list to skip TE disabling
	drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes
	mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
	b43legacy: Fix assigning negative value to unsigned variable
	b43: Fix assigning negative value to unsigned variable
	ipw2x00: Fix potential NULL dereference in libipw_xmit()
	ipv6: fix locking issues with loops over idev->addr_list
	fbcon: Consistently protect deferred_takeover with console_lock()
	x86/platform/uv: Update TSC sync state for UV5
	ACPICA: Avoid cache flush inside virtual machines
	drm/komeda: return early if drm_universal_plane_init() fails.
	rcu-tasks: Fix race in schedule and flush work
	rcu: Make TASKS_RUDE_RCU select IRQ_WORK
	sfc: ef10: Fix assigning negative value to unsigned variable
	ALSA: jack: Access input_dev under mutex
	spi: spi-rspi: Remove setting {src,dst}_{addr,addr_width} based on DMA direction
	tools/power turbostat: fix ICX DRAM power numbers
	drm/amd/pm: fix double free in si_parse_power_table()
	ath9k: fix QCA9561 PA bias level
	media: venus: hfi: avoid null dereference in deinit
	media: pci: cx23885: Fix the error handling in cx23885_initdev()
	media: cx25821: Fix the warning when removing the module
	md/bitmap: don't set sb values if can't pass sanity check
	mmc: jz4740: Apply DMA engine limits to maximum segment size
	drivers: mmc: sdhci_am654: Add the quirk to set TESTCD bit
	scsi: megaraid: Fix error check return value of register_chrdev()
	scsi: ufs: Use pm_runtime_resume_and_get() instead of pm_runtime_get_sync()
	scsi: lpfc: Fix resource leak in lpfc_sli4_send_seq_to_ulp()
	ath11k: disable spectral scan during spectral deinit
	ASoC: Intel: bytcr_rt5640: Add quirk for the HP Pro Tablet 408
	drm/plane: Move range check for format_count earlier
	drm/amd/pm: fix the compile warning
	ath10k: skip ath10k_halt during suspend for driver state RESTARTING
	arm64: compat: Do not treat syscall number as ESR_ELx for a bad syscall
	drm: msm: fix error check return value of irq_of_parse_and_map()
	ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL
	net/mlx5: fs, delete the FTE when there are no rules attached to it
	ASoC: dapm: Don't fold register value changes into notifications
	mlxsw: spectrum_dcb: Do not warn about priority changes
	mlxsw: Treat LLDP packets as control
	drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo
	HID: bigben: fix slab-out-of-bounds Write in bigben_probe
	ASoC: tscs454: Add endianness flag in snd_soc_component_driver
	net: remove two BUG() from skb_checksum_help()
	s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES
	perf/amd/ibs: Cascade pmu init functions' return value
	spi: stm32-qspi: Fix wait_cmd timeout in APM mode
	dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC
	ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default
	ipmi:ssif: Check for NULL msg when handling events and messages
	ipmi: Fix pr_fmt to avoid compilation issues
	rtlwifi: Use pr_warn instead of WARN_ONCE
	media: rga: fix possible memory leak in rga_probe
	media: coda: limit frame interval enumeration to supported encoder frame sizes
	media: imon: reorganize serialization
	media: cec-adap.c: fix is_configuring state
	openrisc: start CPU timer early in boot
	nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags
	ASoC: rt5645: Fix errorenous cleanup order
	nbd: Fix hung on disconnect request if socket is closed before
	net: phy: micrel: Allow probing without .driver_data
	media: exynos4-is: Fix compile warning
	ASoC: max98357a: remove dependency on GPIOLIB
	ASoC: rt1015p: remove dependency on GPIOLIB
	can: mcp251xfd: silence clang's -Wunaligned-access warning
	x86/microcode: Add explicit CPU vendor dependency
	m68k: atari: Make Atari ROM port I/O write macros return void
	rxrpc: Return an error to sendmsg if call failed
	rxrpc, afs: Fix selection of abort codes
	eth: tg3: silence the GCC 12 array-bounds warning
	selftests/bpf: fix btf_dump/btf_dump due to recent clang change
	gfs2: use i_lock spin_lock for inode qadata
	IB/rdmavt: add missing locks in rvt_ruc_loopback
	ARM: dts: ox820: align interrupt controller node name with dtschema
	ARM: dts: s5pv210: align DMA channels with dtschema
	arm64: dts: qcom: msm8994: Fix BLSP[12]_DMA channels count
	PM / devfreq: rk3399_dmc: Disable edev on remove()
	crypto: ccree - use fine grained DMA mapping dir
	soc: ti: ti_sci_pm_domains: Check for null return of devm_kcalloc
	fs: jfs: fix possible NULL pointer dereference in dbFree()
	ARM: OMAP1: clock: Fix UART rate reporting algorithm
	powerpc/fadump: Fix fadump to work with a different endian capture kernel
	fat: add ratelimit to fat*_ent_bread()
	pinctrl: renesas: rzn1: Fix possible null-ptr-deref in sh_pfc_map_resources()
	ARM: versatile: Add missing of_node_put in dcscb_init
	ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM
	ARM: hisi: Add missing of_node_put after of_find_compatible_node
	PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()
	tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate
	powerpc/powernv/vas: Assign real address to rx_fifo in vas_rx_win_attr
	powerpc/xics: fix refcount leak in icp_opal_init()
	powerpc/powernv: fix missing of_node_put in uv_init()
	macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled
	powerpc/iommu: Add missing of_node_put in iommu_init_early_dart
	RDMA/hfi1: Prevent panic when SDMA is disabled
	drm: fix EDID struct for old ARM OABI format
	dt-bindings: display: sitronix, st7735r: Fix backlight in example
	ath11k: acquire ab->base_lock in unassign when finding the peer by addr
	ath9k: fix ar9003_get_eepmisc
	drm/edid: fix invalid EDID extension block filtering
	drm/bridge: adv7511: clean up CEC adapter when probe fails
	spi: qcom-qspi: Add minItems to interconnect-names
	ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
	ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
	x86/delay: Fix the wrong asm constraint in delay_loop()
	drm/ingenic: Reset pixclock rate when parent clock rate changes
	drm/mediatek: Fix mtk_cec_mask()
	drm/vc4: hvs: Reset muxes at probe time
	drm/vc4: txp: Don't set TXP_VSTART_AT_EOF
	drm/vc4: txp: Force alpha to be 0xff if it's disabled
	libbpf: Don't error out on CO-RE relos for overriden weak subprogs
	bpf: Fix excessive memory allocation in stack_map_alloc()
	nl80211: show SSID for P2P_GO interfaces
	drm/komeda: Fix an undefined behavior bug in komeda_plane_add()
	drm: mali-dp: potential dereference of null pointer
	spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
	scftorture: Fix distribution of short handler delays
	net: dsa: mt7530: 1G can also support 1000BASE-X link mode
	NFC: NULL out the dev->rfkill to prevent UAF
	efi: Add missing prototype for efi_capsule_setup_info
	target: remove an incorrect unmap zeroes data deduction
	drbd: fix duplicate array initializer
	EDAC/dmc520: Don't print an error for each unconfigured interrupt line
	mtd: rawnand: denali: Use managed device resources
	HID: hid-led: fix maximum brightness for Dream Cheeky
	HID: elan: Fix potential double free in elan_input_configured
	drm/bridge: Fix error handling in analogix_dp_probe
	sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq
	spi: img-spfi: Fix pm_runtime_get_sync() error checking
	cpufreq: Fix possible race in cpufreq online error path
	ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix
	media: hantro: Empty encoder capture buffers by default
	drm/panel: simple: Add missing bus flags for Innolux G070Y2-L01
	ALSA: pcm: Check for null pointer of pointer substream before dereferencing it
	inotify: show inotify mask flags in proc fdinfo
	fsnotify: fix wrong lockdep annotations
	of: overlay: do not break notify on NOTIFY_{OK|STOP}
	drm/msm/dpu: adjust display_v_end for eDP and DP
	scsi: ufs: qcom: Fix ufs_qcom_resume()
	scsi: ufs: core: Exclude UECxx from SFR dump list
	selftests/resctrl: Fix null pointer dereference on open failed
	libbpf: Fix logic for finding matching program for CO-RE relocation
	mtd: spi-nor: core: Check written SR value in spi_nor_write_16bit_sr_and_check()
	x86/pm: Fix false positive kmemleak report in msr_build_context()
	mtd: rawnand: cadence: fix possible null-ptr-deref in cadence_nand_dt_probe()
	x86/speculation: Add missing prototype for unpriv_ebpf_notify()
	ASoC: rk3328: fix disabling mclk on pclk probe failure
	perf tools: Add missing headers needed by util/data.h
	drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume
	drm/msm/dp: stop event kernel thread when DP unbind
	drm/msm/dp: fix error check return value of irq_of_parse_and_map()
	drm/msm/dsi: fix error checks and return values for DSI xmit functions
	drm/msm/hdmi: check return value after calling platform_get_resource_byname()
	drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()
	drm/msm: add missing include to msm_drv.c
	drm/panel: panel-simple: Fix proper bpc for AM-1280800N3TZQW-T00H
	drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
	perf tools: Use Python devtools for version autodetection rather than runtime
	virtio_blk: fix the discard_granularity and discard_alignment queue limits
	x86: Fix return value of __setup handlers
	irqchip/exiu: Fix acknowledgment of edge triggered interrupts
	irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
	irqchip/aspeed-scu-ic: Fix irq_of_parse_and_map() return value
	x86/mm: Cleanup the control_va_addr_alignment() __setup handler
	arm64: fix types in copy_highpage()
	regulator: core: Fix enable_count imbalance with EXCLUSIVE_GET
	drm/msm/dp: fix event thread stuck in wait_event after kthread_stop()
	drm/msm/mdp5: Return error code in mdp5_pipe_release when deadlock is detected
	drm/msm/mdp5: Return error code in mdp5_mixer_release when deadlock is detected
	drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
	media: uvcvideo: Fix missing check to determine if element is found in list
	iomap: iomap_write_failed fix
	spi: spi-fsl-qspi: check return value after calling platform_get_resource_byname()
	Revert "cpufreq: Fix possible race in cpufreq online error path"
	regulator: qcom_smd: Fix up PM8950 regulator configuration
	perf/amd/ibs: Use interrupt regs ip for stack unwinding
	ath11k: Don't check arvif->is_started before sending management frames
	ASoC: fsl: Fix refcount leak in imx_sgtl5000_probe
	ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
	regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
	ASoC: samsung: Use dev_err_probe() helper
	ASoC: samsung: Fix refcount leak in aries_audio_probe
	kselftest/cgroup: fix test_stress.sh to use OUTPUT dir
	scripts/faddr2line: Fix overlapping text section failures
	media: aspeed: Fix an error handling path in aspeed_video_probe()
	media: exynos4-is: Fix PM disable depth imbalance in fimc_is_probe
	media: st-delta: Fix PM disable depth imbalance in delta_probe
	media: exynos4-is: Change clk_disable to clk_disable_unprepare
	media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init
	media: vsp1: Fix offset calculation for plane cropping
	Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout
	Bluetooth: Interleave with allowlist scan
	Bluetooth: L2CAP: Rudimentary typo fixes
	Bluetooth: LL privacy allow RPA
	Bluetooth: use inclusive language in HCI role comments
	Bluetooth: use inclusive language when filtering devices
	Bluetooth: use hdev lock for accept_list and reject_list in conn req
	nvme: set dma alignment to dword
	m68k: math-emu: Fix dependencies of math emulation support
	lsm,selinux: pass flowi_common instead of flowi to the LSM hooks
	sctp: read sk->sk_bound_dev_if once in sctp_rcv()
	net: hinic: add missing destroy_workqueue in hinic_pf_to_mgmt_init
	ASoC: ti: j721e-evm: Fix refcount leak in j721e_soc_probe_*
	media: ov7670: remove ov7670_power_off from ov7670_remove
	media: staging: media: rkvdec: Make use of the helper function devm_platform_ioremap_resource()
	media: rkvdec: h264: Fix dpb_valid implementation
	media: rkvdec: h264: Fix bit depth wrap in pps packet
	ext4: reject the 'commit' option on ext2 filesystems
	drm/msm/a6xx: Fix refcount leak in a6xx_gpu_init
	drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
	x86/sev: Annotate stack change in the #VC handler
	drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path
	drm/i915: Fix CFI violation with show_dynamic_id()
	thermal/drivers/bcm2711: Don't clamp temperature at zero
	thermal/drivers/broadcom: Fix potential NULL dereference in sr_thermal_probe
	thermal/drivers/core: Use a char pointer for the cooling device name
	thermal/core: Fix memory leak in __thermal_cooling_device_register()
	thermal/drivers/imx_sc_thermal: Fix refcount leak in imx_sc_thermal_probe
	ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
	NFC: hci: fix sleep in atomic context bugs in nfc_hci_hcp_message_tx
	ASoC: max98090: Move check for invalid values before casting in max98090_put_enab_tlv()
	net: stmmac: selftests: Use kcalloc() instead of kzalloc()
	net: stmmac: fix out-of-bounds access in a selftest
	hv_netvsc: Fix potential dereference of NULL pointer
	rxrpc: Fix listen() setting the bar too high for the prealloc rings
	rxrpc: Don't try to resend the request if we're receiving the reply
	rxrpc: Fix overlapping ACK accounting
	rxrpc: Don't let ack.previousPacket regress
	rxrpc: Fix decision on when to generate an IDLE ACK
	net: huawei: hinic: Use devm_kcalloc() instead of devm_kzalloc()
	hinic: Avoid some over memory allocation
	net/smc: postpone sk_refcnt increment in connect()
	arm64: dts: rockchip: Move drive-impedance-ohm to emmc phy on rk3399
	memory: samsung: exynos5422-dmc: Avoid some over memory allocation
	ARM: dts: suniv: F1C100: fix watchdog compatible
	soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
	soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
	PCI: cadence: Fix find_first_zero_bit() limit
	PCI: rockchip: Fix find_first_zero_bit() limit
	PCI: dwc: Fix setting error return on MSI DMA mapping failure
	ARM: dts: ci4x10: Adapt to changes in imx6qdl.dtsi regarding fec clocks
	soc: qcom: llcc: Add MODULE_DEVICE_TABLE()
	KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry
	KVM: nVMX: Clear IDT vectoring on nested VM-Exit for double/triple fault
	platform/chrome: cros_ec: fix error handling in cros_ec_register()
	ARM: dts: imx6dl-colibri: Fix I2C pinmuxing
	platform/chrome: Re-introduce cros_ec_cmd_xfer and use it for ioctls
	can: xilinx_can: mark bit timing constants as const
	ARM: dts: stm32: Fix PHY post-reset delay on Avenger96
	ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT
	ARM: dts: bcm2837-rpi-cm3-io3: Fix GPIO line names for SMPS I2C
	ARM: dts: bcm2837-rpi-3-b-plus: Fix GPIO line name of power LED
	ARM: dts: bcm2835-rpi-b: Fix GPIO line names
	misc: ocxl: fix possible double free in ocxl_file_register_afu
	crypto: marvell/cesa - ECB does not IV
	gpiolib: of: Introduce hook for missing gpio-ranges
	pinctrl: bcm2835: implement hook for missing gpio-ranges
	arm: mediatek: select arch timer for mt7629
	powerpc/fadump: fix PT_LOAD segment for boot memory area
	mfd: ipaq-micro: Fix error check return value of platform_get_irq()
	scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()
	firmware: arm_scmi: Fix list protocols enumeration in the base protocol
	nvdimm: Fix firmware activation deadlock scenarios
	nvdimm: Allow overwrite in the presence of disabled dimms
	pinctrl: mvebu: Fix irq_of_parse_and_map() return value
	drivers/base/node.c: fix compaction sysfs file leak
	dax: fix cache flush on PMD-mapped pages
	drivers/base/memory: fix an unlikely reference counting issue in __add_memory_block()
	powerpc/8xx: export 'cpm_setbrg' for modules
	pinctrl: renesas: core: Fix possible null-ptr-deref in sh_pfc_map_resources()
	powerpc/idle: Fix return value of __setup() handler
	powerpc/4xx/cpm: Fix return value of __setup() handler
	ASoC: atmel-pdmic: Remove endianness flag on pdmic component
	ASoC: atmel-classd: Remove endianness flag on class d component
	proc: fix dentry/inode overinstantiating under /proc/${pid}/net
	ipc/mqueue: use get_tree_nodev() in mqueue_get_tree()
	PCI: imx6: Fix PERST# start-up sequence
	tty: fix deadlock caused by calling printk() under tty_port->lock
	crypto: sun8i-ss - rework handling of IV
	crypto: sun8i-ss - handle zero sized sg
	crypto: cryptd - Protect per-CPU resource by disabling BH.
	Input: sparcspkr - fix refcount leak in bbc_beep_probe
	PCI/AER: Clear MULTI_ERR_COR/UNCOR_RCV bits
	hwrng: omap3-rom - fix using wrong clk_disable() in omap_rom_rng_runtime_resume()
	powerpc/64: Only WARN if __pa()/__va() called with bad addresses
	powerpc/perf: Fix the threshold compare group constraint for power9
	macintosh: via-pmu and via-cuda need RTC_LIB
	powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
	mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe()
	mailbox: forward the hrtimer if not queued and under a lock
	RDMA/hfi1: Prevent use of lock before it is initialized
	Input: stmfts - do not leave device disabled in stmfts_input_open
	OPP: call of_node_put() on error path in _bandwidth_supported()
	f2fs: fix dereference of stale list iterator after loop body
	iommu/mediatek: Add list_del in mtk_iommu_remove
	i2c: at91: use dma safe buffers
	cpufreq: mediatek: add missing platform_driver_unregister() on error in mtk_cpufreq_driver_init
	cpufreq: mediatek: Use module_init and add module_exit
	cpufreq: mediatek: Unregister platform device on exit
	MIPS: Loongson: Use hwmon_device_register_with_groups() to register hwmon
	i2c: at91: Initialize dma_buf in at91_twi_xfer()
	dmaengine: idxd: Fix the error handling path in idxd_cdev_register()
	NFS: Do not report EINTR/ERESTARTSYS as mapping errors
	NFS: fsync() should report filesystem errors over EINTR/ERESTARTSYS
	NFS: Do not report flush errors in nfs_write_end()
	NFS: Don't report errors from nfs_pageio_complete() more than once
	NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
	video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
	dmaengine: stm32-mdma: remove GISR1 register
	dmaengine: stm32-mdma: rework interrupt handler
	dmaengine: stm32-mdma: fix chan initialization in stm32_mdma_irq_handler()
	iommu/amd: Increase timeout waiting for GA log enablement
	i2c: npcm: Fix timeout calculation
	i2c: npcm: Correct register access width
	i2c: npcm: Handle spurious interrupts
	i2c: rcar: fix PM ref counts in probe error paths
	perf c2c: Use stdio interface if slang is not supported
	perf jevents: Fix event syntax error caused by ExtSel
	f2fs: fix to avoid f2fs_bug_on() in dec_valid_node_count()
	f2fs: fix to do sanity check on block address in f2fs_do_zero_range()
	f2fs: fix to clear dirty inode in f2fs_evict_inode()
	f2fs: fix deadloop in foreground GC
	f2fs: don't need inode lock for system hidden quota
	f2fs: fix to do sanity check on total_data_blocks
	f2fs: fix fallocate to use file_modified to update permissions consistently
	f2fs: fix to do sanity check for inline inode
	wifi: mac80211: fix use-after-free in chanctx code
	iwlwifi: mvm: fix assert 1F04 upon reconfig
	fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
	efi: Do not import certificates from UEFI Secure Boot for T2 Macs
	bfq: Split shared queues on move between cgroups
	bfq: Update cgroup information before merging bio
	bfq: Track whether bfq_group is still online
	ext4: fix use-after-free in ext4_rename_dir_prepare
	ext4: fix warning in ext4_handle_inode_extension
	ext4: fix bug_on in ext4_writepages
	ext4: filter out EXT4_FC_REPLAY from on-disk superblock field s_state
	ext4: fix bug_on in __es_tree_search
	ext4: verify dir block before splitting it
	ext4: avoid cycles in directory h-tree
	ACPI: property: Release subnode properties with data nodes
	tracing: Fix potential double free in create_var_ref()
	PCI/PM: Fix bridge_d3_blacklist[] Elo i2 overwrite of Gigabyte X299
	PCI: qcom: Fix runtime PM imbalance on probe errors
	PCI: qcom: Fix unbalanced PHY init on probe errors
	mm, compaction: fast_find_migrateblock() should return pfn in the target zone
	s390/perf: obtain sie_block from the right address
	dlm: fix plock invalid read
	dlm: fix missing lkb refcount handling
	ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock
	scsi: dc395x: Fix a missing check on list iterator
	scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled
	drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.
	drm/etnaviv: check for reaped mapping in etnaviv_iommu_unmap_gem
	drm/nouveau/clk: Fix an incorrect NULL check on list iterator
	drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator
	drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX
	drm/i915/dsi: fix VBT send packet port selection for ICL+
	md: fix an incorrect NULL check in does_sb_need_changing
	md: fix an incorrect NULL check in md_reload_sb
	mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
	mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N
	media: coda: Fix reported H264 profile
	media: coda: Add more H264 levels for CODA960
	ima: remove the IMA_TEMPLATE Kconfig option
	Kconfig: Add option for asm goto w/ tied outputs to workaround clang-13 bug
	RDMA/hfi1: Fix potential integer multiplication overflow errors
	csky: patch_text: Fixup last cpu should be master
	irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x
	irqchip: irq-xtensa-mx: fix initial IRQ affinity
	cfg80211: declare MODULE_FIRMWARE for regulatory.db
	mac80211: upgrade passive scan to active scan on DFS channels after beacon rx
	um: chan_user: Fix winch_tramp() return value
	um: Fix out-of-bounds read in LDT setup
	kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add]
	ftrace: Clean up hash direct_functions on register failures
	iommu/msm: Fix an incorrect NULL check on list iterator
	nodemask.h: fix compilation error with GCC12
	hugetlb: fix huge_pmd_unshare address update
	xtensa/simdisk: fix proc_read_simdisk()
	rtl818x: Prevent using not initialized queues
	ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control
	carl9170: tx: fix an incorrect use of list iterator
	stm: ltdc: fix two incorrect NULL checks on list iterator
	bcache: improve multithreaded bch_btree_check()
	bcache: improve multithreaded bch_sectors_dirty_init()
	bcache: remove incremental dirty sector counting for bch_sectors_dirty_init()
	bcache: avoid journal no-space deadlock by reserving 1 journal bucket
	serial: pch: don't overwrite xmit->buf[0] by x_char
	tilcdc: tilcdc_external: fix an incorrect NULL check on list iterator
	gma500: fix an incorrect NULL check on list iterator
	arm64: dts: qcom: ipq8074: fix the sleep clock frequency
	phy: qcom-qmp: fix struct clk leak on probe errors
	ARM: dts: s5pv210: Remove spi-cs-high on panel in Aries
	ARM: pxa: maybe fix gpio lookup tables
	SMB3: EBADF/EIO errors in rename/open caused by race condition in smb2_compound_op
	docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
	dt-bindings: gpio: altera: correct interrupt-cells
	vdpasim: allow to enable a vq repeatedly
	blk-iolatency: Fix inflight count imbalances and IO hangs on offline
	coresight: core: Fix coresight device probe failure issue
	phy: qcom-qmp: fix reset-controller leak on probe errors
	net: ipa: fix page free in ipa_endpoint_trans_release()
	net: ipa: fix page free in ipa_endpoint_replenish_one()
	xfs: set inode size after creating symlink
	xfs: sync lazy sb accounting on quiesce of read-only mounts
	xfs: fix chown leaking delalloc quota blocks when fssetxattr fails
	xfs: fix incorrect root dquot corruption error when switching group/project quota types
	xfs: restore shutdown check in mapped write fault path
	xfs: force log and push AIL to clear pinned inodes when aborting mount
	xfs: consider shutdown in bmapbt cursor delete assert
	xfs: assert in xfs_btree_del_cursor should take into account error
	kseltest/cgroup: Make test_stress.sh work if run interactively
	thermal/core: fix a UAF bug in __thermal_cooling_device_register()
	thermal/core: Fix memory leak in the error path
	bfq: Avoid merging queues with different parents
	bfq: Drop pointless unlock-lock pair
	bfq: Remove pointless bfq_init_rq() calls
	bfq: Get rid of __bio_blkcg() usage
	bfq: Make sure bfqg for which we are queueing requests is online
	block: fix bio_clone_blkg_association() to associate with proper blkcg_gq
	Revert "random: use static branch for crng_ready()"
	RDMA/rxe: Generate a completion for unsupported/invalid opcode
	MIPS: IP27: Remove incorrect `cpu_has_fpu' override
	MIPS: IP30: Remove incorrect `cpu_has_fpu' override
	ext4: only allow test_dummy_encryption when supported
	md: bcache: check the return value of kzalloc() in detached_dev_do_request()
	Linux 5.10.121

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I52dd11dc43acfa0ebddd2b6e277c823b96b07327
2022-07-23 16:10:22 +02:00
Baokun Li
91f90b571f ext4: fix race condition between ext4_write and ext4_convert_inline_data
commit f87c7a4b084afc13190cbb263538e444cb2b392a upstream.

Hulk Robot reported a BUG_ON:
 ==================================================================
 EXT4-fs error (device loop3): ext4_mb_generate_buddy:805: group 0,
 block bitmap and bg descriptor inconsistent: 25 vs 31513 free clusters
 kernel BUG at fs/ext4/ext4_jbd2.c:53!
 invalid opcode: 0000 [#1] SMP KASAN PTI
 CPU: 0 PID: 25371 Comm: syz-executor.3 Not tainted 5.10.0+ #1
 RIP: 0010:ext4_put_nojournal fs/ext4/ext4_jbd2.c:53 [inline]
 RIP: 0010:__ext4_journal_stop+0x10e/0x110 fs/ext4/ext4_jbd2.c:116
 [...]
 Call Trace:
  ext4_write_inline_data_end+0x59a/0x730 fs/ext4/inline.c:795
  generic_perform_write+0x279/0x3c0 mm/filemap.c:3344
  ext4_buffered_write_iter+0x2e3/0x3d0 fs/ext4/file.c:270
  ext4_file_write_iter+0x30a/0x11c0 fs/ext4/file.c:520
  do_iter_readv_writev+0x339/0x3c0 fs/read_write.c:732
  do_iter_write+0x107/0x430 fs/read_write.c:861
  vfs_writev fs/read_write.c:934 [inline]
  do_pwritev+0x1e5/0x380 fs/read_write.c:1031
 [...]
 ==================================================================

Above issue may happen as follows:
           cpu1                     cpu2
__________________________|__________________________
do_pwritev
 vfs_writev
  do_iter_write
   ext4_file_write_iter
    ext4_buffered_write_iter
     generic_perform_write
      ext4_da_write_begin
                           vfs_fallocate
                            ext4_fallocate
                             ext4_convert_inline_data
                              ext4_convert_inline_data_nolock
                               ext4_destroy_inline_data_nolock
                                clear EXT4_STATE_MAY_INLINE_DATA
                               ext4_map_blocks
                                ext4_ext_map_blocks
                                 ext4_mb_new_blocks
                                  ext4_mb_regular_allocator
                                   ext4_mb_good_group_nolock
                                    ext4_mb_init_group
                                     ext4_mb_init_cache
                                      ext4_mb_generate_buddy  --> error
       ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)
                                ext4_restore_inline_data
                                 set EXT4_STATE_MAY_INLINE_DATA
       ext4_block_write_begin
      ext4_da_write_end
       ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)
       ext4_write_inline_data_end
        handle=NULL
        ext4_journal_stop(handle)
         __ext4_journal_stop
          ext4_put_nojournal(handle)
           ref_cnt = (unsigned long)handle
           BUG_ON(ref_cnt == 0)  ---> BUG_ON

The lock held by ext4_convert_inline_data is xattr_sem, but the lock
held by generic_perform_write is i_rwsem. Therefore, the two locks can
be concurrent.

To solve above issue, we add inode_lock() for ext4_convert_inline_data().
At the same time, move ext4_convert_inline_data() in front of
ext4_punch_hole(), remove similar handling from ext4_punch_hole().

Fixes: 0c8d414f16 ("ext4: let fallocate handle inline data correctly")
Cc: stable@vger.kernel.org
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220428134031.4153381-1-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-07-21 21:20:02 +02:00
Zhang Yi
bfd004a1d3 ext4: add reserved GDT blocks check
commit b55c3cd102a6f48b90e61c44f7f3dda8c290c694 upstream.

We capture a NULL pointer issue when resizing a corrupt ext4 image which
is freshly clear resize_inode feature (not run e2fsck). It could be
simply reproduced by following steps. The problem is because of the
resize_inode feature was cleared, and it will convert the filesystem to
meta_bg mode in ext4_resize_fs(), but the es->s_reserved_gdt_blocks was
not reduced to zero, so could we mistakenly call reserve_backup_gdb()
and passing an uninitialized resize_inode to it when adding new group
descriptors.

 mkfs.ext4 /dev/sda 3G
 tune2fs -O ^resize_inode /dev/sda #forget to run requested e2fsck
 mount /dev/sda /mnt
 resize2fs /dev/sda 8G

 ========
 BUG: kernel NULL pointer dereference, address: 0000000000000028
 CPU: 19 PID: 3243 Comm: resize2fs Not tainted 5.18.0-rc7-00001-gfde086c5ebfd #748
 ...
 RIP: 0010:ext4_flex_group_add+0xe08/0x2570
 ...
 Call Trace:
  <TASK>
  ext4_resize_fs+0xbec/0x1660
  __ext4_ioctl+0x1749/0x24e0
  ext4_ioctl+0x12/0x20
  __x64_sys_ioctl+0xa6/0x110
  do_syscall_64+0x3b/0x90
  entry_SYSCALL_64_after_hwframe+0x44/0xae
 RIP: 0033:0x7f2dd739617b
 ========

The fix is simple, add a check in ext4_resize_begin() to make sure that
the es->s_reserved_gdt_blocks is zero when the resize_inode feature is
disabled.

Cc: stable@kernel.org
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Ritesh Harjani <ritesh.list@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220601092717.763694-1-yi.zhang@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-22 14:13:19 +02:00
Ding Xiang
0ca74dacfd ext4: make variable "count" signed
commit bc75a6eb856cb1507fa907bf6c1eda91b3fef52f upstream.

Since dx_make_map() may return -EFSCORRUPTED now, so change "count" to
be a signed integer so we can correctly check for an error code returned
by dx_make_map().

Fixes: 46c116b920eb ("ext4: verify dir block before splitting it")
Cc: stable@kernel.org
Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20220530100047.537598-1-dingxiang@cmss.chinamobile.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-22 14:13:19 +02:00
Baokun Li
6fdaf31ad5 ext4: fix bug_on ext4_mb_use_inode_pa
commit a08f789d2ab5242c07e716baf9a835725046be89 upstream.

Hulk Robot reported a BUG_ON:
==================================================================
kernel BUG at fs/ext4/mballoc.c:3211!
[...]
RIP: 0010:ext4_mb_mark_diskspace_used.cold+0x85/0x136f
[...]
Call Trace:
 ext4_mb_new_blocks+0x9df/0x5d30
 ext4_ext_map_blocks+0x1803/0x4d80
 ext4_map_blocks+0x3a4/0x1a10
 ext4_writepages+0x126d/0x2c30
 do_writepages+0x7f/0x1b0
 __filemap_fdatawrite_range+0x285/0x3b0
 file_write_and_wait_range+0xb1/0x140
 ext4_sync_file+0x1aa/0xca0
 vfs_fsync_range+0xfb/0x260
 do_fsync+0x48/0xa0
[...]
==================================================================

Above issue may happen as follows:
-------------------------------------
do_fsync
 vfs_fsync_range
  ext4_sync_file
   file_write_and_wait_range
    __filemap_fdatawrite_range
     do_writepages
      ext4_writepages
       mpage_map_and_submit_extent
        mpage_map_one_extent
         ext4_map_blocks
          ext4_mb_new_blocks
           ext4_mb_normalize_request
            >>> start + size <= ac->ac_o_ex.fe_logical
           ext4_mb_regular_allocator
            ext4_mb_simple_scan_group
             ext4_mb_use_best_found
              ext4_mb_new_preallocation
               ext4_mb_new_inode_pa
                ext4_mb_use_inode_pa
                 >>> set ac->ac_b_ex.fe_len <= 0
           ext4_mb_mark_diskspace_used
            >>> BUG_ON(ac->ac_b_ex.fe_len <= 0);

we can easily reproduce this problem with the following commands:
	`fallocate -l100M disk`
	`mkfs.ext4 -b 1024 -g 256 disk`
	`mount disk /mnt`
	`fsstress -d /mnt -l 0 -n 1000 -p 1`

The size must be smaller than or equal to EXT4_BLOCKS_PER_GROUP.
Therefore, "start + size <= ac->ac_o_ex.fe_logical" may occur
when the size is truncated. So start should be the start position of
the group where ac_o_ex.fe_logical is located after alignment.
In addition, when the value of fe_logical or EXT4_BLOCKS_PER_GROUP
is very large, the value calculated by start_off is more accurate.

Cc: stable@kernel.org
Fixes: cd648b8a8f ("ext4: trim allocation requests to group size")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Ritesh Harjani <ritesh.list@gmail.com>
Link: https://lore.kernel.org/r/20220528110017.354175-2-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-22 14:13:19 +02:00
Eric Biggers
a67100f426 ext4: only allow test_dummy_encryption when supported
commit 5f41fdaea63ddf96d921ab36b2af4a90ccdb5744 upstream.

Make the test_dummy_encryption mount option require that the encrypt
feature flag be already enabled on the filesystem, rather than
automatically enabling it.  Practically, this means that "-O encrypt"
will need to be included in MKFS_OPTIONS when running xfstests with the
test_dummy_encryption mount option.  (ext4/053 also needs an update.)

Moreover, as long as the preconditions for test_dummy_encryption are
being tightened anyway, take the opportunity to start rejecting it when
!CONFIG_FS_ENCRYPTION rather than ignoring it.

The motivation for requiring the encrypt feature flag is that:

- Having the filesystem auto-enable feature flags is problematic, as it
  bypasses the usual sanity checks.  The specific issue which came up
  recently is that in kernel versions where ext4 supports casefold but
  not encrypt+casefold (v5.1 through v5.10), the kernel will happily add
  the encrypt flag to a filesystem that has the casefold flag, making it
  unmountable -- but only for subsequent mounts, not the initial one.
  This confused the casefold support detection in xfstests, causing
  generic/556 to fail rather than be skipped.

- The xfstests-bld test runners (kvm-xfstests et al.) already use the
  required mkfs flag, so they will not be affected by this change.  Only
  users of test_dummy_encryption alone will be affected.  But, this
  option has always been for testing only, so it should be fine to
  require that the few users of this option update their test scripts.

- f2fs already requires it (for its equivalent feature flag).

Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Link: https://lore.kernel.org/r/20220519204437.61645-1-ebiggers@kernel.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:31 +02:00
Jan Kara
ff4cafa517 ext4: avoid cycles in directory h-tree
commit 3ba733f879c2a88910744647e41edeefbc0d92b2 upstream.

A maliciously corrupted filesystem can contain cycles in the h-tree
stored inside a directory. That can easily lead to the kernel corrupting
tree nodes that were already verified under its hands while doing a node
split and consequently accessing unallocated memory. Fix the problem by
verifying traversed block numbers are unique.

Cc: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220518093332.13986-2-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:23 +02:00
Jan Kara
da2f059192 ext4: verify dir block before splitting it
commit 46c116b920ebec58031f0a78c5ea9599b0d2a371 upstream.

Before splitting a directory block verify its directory entries are sane
so that the splitting code does not access memory it should not.

Cc: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220518093332.13986-1-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:23 +02:00
Baokun Li
4fd58b5cf1 ext4: fix bug_on in __es_tree_search
commit d36f6ed761b53933b0b4126486c10d3da7751e7f upstream.

Hulk Robot reported a BUG_ON:
==================================================================
kernel BUG at fs/ext4/extents_status.c:199!
[...]
RIP: 0010:ext4_es_end fs/ext4/extents_status.c:199 [inline]
RIP: 0010:__es_tree_search+0x1e0/0x260 fs/ext4/extents_status.c:217
[...]
Call Trace:
 ext4_es_cache_extent+0x109/0x340 fs/ext4/extents_status.c:766
 ext4_cache_extents+0x239/0x2e0 fs/ext4/extents.c:561
 ext4_find_extent+0x6b7/0xa20 fs/ext4/extents.c:964
 ext4_ext_map_blocks+0x16b/0x4b70 fs/ext4/extents.c:4384
 ext4_map_blocks+0xe26/0x19f0 fs/ext4/inode.c:567
 ext4_getblk+0x320/0x4c0 fs/ext4/inode.c:980
 ext4_bread+0x2d/0x170 fs/ext4/inode.c:1031
 ext4_quota_read+0x248/0x320 fs/ext4/super.c:6257
 v2_read_header+0x78/0x110 fs/quota/quota_v2.c:63
 v2_check_quota_file+0x76/0x230 fs/quota/quota_v2.c:82
 vfs_load_quota_inode+0x5d1/0x1530 fs/quota/dquot.c:2368
 dquot_enable+0x28a/0x330 fs/quota/dquot.c:2490
 ext4_quota_enable fs/ext4/super.c:6137 [inline]
 ext4_enable_quotas+0x5d7/0x960 fs/ext4/super.c:6163
 ext4_fill_super+0xa7c9/0xdc00 fs/ext4/super.c:4754
 mount_bdev+0x2e9/0x3b0 fs/super.c:1158
 mount_fs+0x4b/0x1e4 fs/super.c:1261
[...]
==================================================================

Above issue may happen as follows:
-------------------------------------
ext4_fill_super
 ext4_enable_quotas
  ext4_quota_enable
   ext4_iget
    __ext4_iget
     ext4_ext_check_inode
      ext4_ext_check
       __ext4_ext_check
        ext4_valid_extent_entries
         Check for overlapping extents does't take effect
   dquot_enable
    vfs_load_quota_inode
     v2_check_quota_file
      v2_read_header
       ext4_quota_read
        ext4_bread
         ext4_getblk
          ext4_map_blocks
           ext4_ext_map_blocks
            ext4_find_extent
             ext4_cache_extents
              ext4_es_cache_extent
               ext4_es_cache_extent
                __es_tree_search
                 ext4_es_end
                  BUG_ON(es->es_lblk + es->es_len < es->es_lblk)

The error ext4 extents is as follows:
0af3 0300 0400 0000 00000000    extent_header
00000000 0100 0000 12000000     extent1
00000000 0100 0000 18000000     extent2
02000000 0400 0000 14000000     extent3

In the ext4_valid_extent_entries function,
if prev is 0, no error is returned even if lblock<=prev.
This was intended to skip the check on the first extent, but
in the error image above, prev=0+1-1=0 when checking the second extent,
so even though lblock<=prev, the function does not return an error.
As a result, bug_ON occurs in __es_tree_search and the system panics.

To solve this problem, we only need to check that:
1. The lblock of the first extent is not less than 0.
2. The lblock of the next extent  is not less than
   the next block of the previous extent.
The same applies to extent_idx.

Cc: stable@kernel.org
Fixes: 5946d08937 ("ext4: check for overlapping extents in ext4_valid_extent_entries()")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220518120816.1541863-1-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:23 +02:00
Theodore Ts'o
cc5b09cb6d ext4: filter out EXT4_FC_REPLAY from on-disk superblock field s_state
commit c878bea3c9d724ddfa05a813f30de3d25a0ba83f upstream.

The EXT4_FC_REPLAY bit in sbi->s_mount_state is used to indicate that
we are in the middle of replay the fast commit journal.  This was
actually a mistake, since the sbi->s_mount_info is initialized from
es->s_state.  Arguably s_mount_state is misleadingly named, but the
name is historical --- s_mount_state and s_state dates back to ext2.

What should have been used is the ext4_{set,clear,test}_mount_flag()
inline functions, which sets EXT4_MF_* bits in sbi->s_mount_flags.

The problem with using EXT4_FC_REPLAY is that a maliciously corrupted
superblock could result in EXT4_FC_REPLAY getting set in
s_mount_state.  This bypasses some sanity checks, and this can trigger
a BUG() in ext4_es_cache_extent().  As a easy-to-backport-fix, filter
out the EXT4_FC_REPLAY bit for now.  We should eventually transition
away from EXT4_FC_REPLAY to something like EXT4_MF_REPLAY.

Cc: stable@kernel.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Link: https://lore.kernel.org/r/20220420192312.1655305-1-phind.uet@gmail.com
Link: https://lore.kernel.org/r/20220517174028.942119-1-tytso@mit.edu
Reported-by: syzbot+c7358a3cd05ee786eb31@syzkaller.appspotmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:23 +02:00
Ye Bin
1b061af037 ext4: fix bug_on in ext4_writepages
commit ef09ed5d37b84d18562b30cf7253e57062d0db05 upstream.

we got issue as follows:
EXT4-fs error (device loop0): ext4_mb_generate_buddy:1141: group 0, block bitmap and bg descriptor inconsistent: 25 vs 31513 free cls
------------[ cut here ]------------
kernel BUG at fs/ext4/inode.c:2708!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 2 PID: 2147 Comm: rep Not tainted 5.18.0-rc2-next-20220413+ #155
RIP: 0010:ext4_writepages+0x1977/0x1c10
RSP: 0018:ffff88811d3e7880 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88811c098000
RDX: 0000000000000000 RSI: ffff88811c098000 RDI: 0000000000000002
RBP: ffff888128140f50 R08: ffffffffb1ff6387 R09: 0000000000000000
R10: 0000000000000007 R11: ffffed10250281ea R12: 0000000000000001
R13: 00000000000000a4 R14: ffff88811d3e7bb8 R15: ffff888128141028
FS:  00007f443aed9740(0000) GS:ffff8883aef00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020007200 CR3: 000000011c2a4000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 do_writepages+0x130/0x3a0
 filemap_fdatawrite_wbc+0x83/0xa0
 filemap_flush+0xab/0xe0
 ext4_alloc_da_blocks+0x51/0x120
 __ext4_ioctl+0x1534/0x3210
 __x64_sys_ioctl+0x12c/0x170
 do_syscall_64+0x3b/0x90

It may happen as follows:
1. write inline_data inode
vfs_write
  new_sync_write
    ext4_file_write_iter
      ext4_buffered_write_iter
        generic_perform_write
          ext4_da_write_begin
            ext4_da_write_inline_data_begin -> If inline data size too
            small will allocate block to write, then mapping will has
            dirty page
                ext4_da_convert_inline_data_to_extent ->clear EXT4_STATE_MAY_INLINE_DATA
2. fallocate
do_vfs_ioctl
  ioctl_preallocate
    vfs_fallocate
      ext4_fallocate
        ext4_convert_inline_data
          ext4_convert_inline_data_nolock
            ext4_map_blocks -> fail will goto restore data
            ext4_restore_inline_data
              ext4_create_inline_data
              ext4_write_inline_data
              ext4_set_inode_state -> set inode EXT4_STATE_MAY_INLINE_DATA
3. writepages
__ext4_ioctl
  ext4_alloc_da_blocks
    filemap_flush
      filemap_fdatawrite_wbc
        do_writepages
          ext4_writepages
            if (ext4_has_inline_data(inode))
              BUG_ON(ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA))

The root cause of this issue is we destory inline data until call
ext4_writepages under delay allocation mode.  But there maybe already
convert from inline to extent.  To solve this issue, we call
filemap_flush first..

Cc: stable@kernel.org
Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220516122634.1690462-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:22 +02:00
Ye Bin
adf490083c ext4: fix warning in ext4_handle_inode_extension
commit f4534c9fc94d22383f187b9409abb3f9df2e3db3 upstream.

We got issue as follows:
EXT4-fs error (device loop0) in ext4_reserve_inode_write:5741: Out of memory
EXT4-fs error (device loop0): ext4_setattr:5462: inode #13: comm syz-executor.0: mark_inode_dirty error
EXT4-fs error (device loop0) in ext4_setattr:5519: Out of memory
EXT4-fs error (device loop0): ext4_ind_map_blocks:595: inode #13: comm syz-executor.0: Can't allocate blocks for non-extent mapped inodes with bigalloc
------------[ cut here ]------------
WARNING: CPU: 1 PID: 4361 at fs/ext4/file.c:301 ext4_file_write_iter+0x11c9/0x1220
Modules linked in:
CPU: 1 PID: 4361 Comm: syz-executor.0 Not tainted 5.10.0+ #1
RIP: 0010:ext4_file_write_iter+0x11c9/0x1220
RSP: 0018:ffff924d80b27c00 EFLAGS: 00010282
RAX: ffffffff815a3379 RBX: 0000000000000000 RCX: 000000003b000000
RDX: ffff924d81601000 RSI: 00000000000009cc RDI: 00000000000009cd
RBP: 000000000000000d R08: ffffffffbc5a2c6b R09: 0000902e0e52a96f
R10: ffff902e2b7c1b40 R11: ffff902e2b7c1b40 R12: 000000000000000a
R13: 0000000000000001 R14: ffff902e0e52aa10 R15: ffffffffffffff8b
FS:  00007f81a7f65700(0000) GS:ffff902e3bc80000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffff600400 CR3: 000000012db88001 CR4: 00000000003706e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 do_iter_readv_writev+0x2e5/0x360
 do_iter_write+0x112/0x4c0
 do_pwritev+0x1e5/0x390
 __x64_sys_pwritev2+0x7e/0xa0
 do_syscall_64+0x37/0x50
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Above issue may happen as follows:
Assume
inode.i_size=4096
EXT4_I(inode)->i_disksize=4096

step 1: set inode->i_isize = 8192
ext4_setattr
  if (attr->ia_size != inode->i_size)
    EXT4_I(inode)->i_disksize = attr->ia_size;
    rc = ext4_mark_inode_dirty
       ext4_reserve_inode_write
          ext4_get_inode_loc
            __ext4_get_inode_loc
              sb_getblk --> return -ENOMEM
   ...
   if (!error)  ->will not update i_size
     i_size_write(inode, attr->ia_size);
Now:
inode.i_size=4096
EXT4_I(inode)->i_disksize=8192

step 2: Direct write 4096 bytes
ext4_file_write_iter
 ext4_dio_write_iter
   iomap_dio_rw ->return error
 if (extend)
   ext4_handle_inode_extension
     WARN_ON_ONCE(i_size_read(inode) < EXT4_I(inode)->i_disksize);
->Then trigger warning.

To solve above issue, if mark inode dirty failed in ext4_setattr just
set 'EXT4_I(inode)->i_disksize' with old value.

Signed-off-by: Ye Bin <yebin10@huawei.com>
Link: https://lore.kernel.org/r/20220326065351.761952-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:22 +02:00
Ye Bin
dd887f83ea ext4: fix use-after-free in ext4_rename_dir_prepare
commit 0be698ecbe4471fcad80e81ec6a05001421041b3 upstream.

We got issue as follows:
EXT4-fs (loop0): mounted filesystem without journal. Opts: ,errors=continue
ext4_get_first_dir_block: bh->b_data=0xffff88810bee6000 len=34478
ext4_get_first_dir_block: *parent_de=0xffff88810beee6ae bh->b_data=0xffff88810bee6000
ext4_rename_dir_prepare: [1] parent_de=0xffff88810beee6ae
==================================================================
BUG: KASAN: use-after-free in ext4_rename_dir_prepare+0x152/0x220
Read of size 4 at addr ffff88810beee6ae by task rep/1895

CPU: 13 PID: 1895 Comm: rep Not tainted 5.10.0+ #241
Call Trace:
 dump_stack+0xbe/0xf9
 print_address_description.constprop.0+0x1e/0x220
 kasan_report.cold+0x37/0x7f
 ext4_rename_dir_prepare+0x152/0x220
 ext4_rename+0xf44/0x1ad0
 ext4_rename2+0x11c/0x170
 vfs_rename+0xa84/0x1440
 do_renameat2+0x683/0x8f0
 __x64_sys_renameat+0x53/0x60
 do_syscall_64+0x33/0x40
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7f45a6fc41c9
RSP: 002b:00007ffc5a470218 EFLAGS: 00000246 ORIG_RAX: 0000000000000108
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f45a6fc41c9
RDX: 0000000000000005 RSI: 0000000020000180 RDI: 0000000000000005
RBP: 00007ffc5a470240 R08: 00007ffc5a470160 R09: 0000000020000080
R10: 00000000200001c0 R11: 0000000000000246 R12: 0000000000400bb0
R13: 00007ffc5a470320 R14: 0000000000000000 R15: 0000000000000000

The buggy address belongs to the page:
page:00000000440015ce refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x10beee
flags: 0x200000000000000()
raw: 0200000000000000 ffffea00043ff4c8 ffffea0004325608 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88810beee580: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88810beee600: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff88810beee680: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                  ^
 ffff88810beee700: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88810beee780: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
Disabling lock debugging due to kernel taint
ext4_rename_dir_prepare: [2] parent_de->inode=3537895424
ext4_rename_dir_prepare: [3] dir=0xffff888124170140
ext4_rename_dir_prepare: [4] ino=2
ext4_rename_dir_prepare: ent->dir->i_ino=2 parent=-757071872

Reason is first directory entry which 'rec_len' is 34478, then will get illegal
parent entry. Now, we do not check directory entry after read directory block
in 'ext4_get_first_dir_block'.
To solve this issue, check directory entry in 'ext4_get_first_dir_block'.

[ Trigger an ext4_error() instead of just warning if the directory is
  missing a '.' or '..' entry.   Also make sure we return an error code
  if the file system is corrupted.  -TYT ]

Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220414025223.4113128-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:21:22 +02:00
Eric Biggers
d54ac6ca48 ext4: reject the 'commit' option on ext2 filesystems
[ Upstream commit cb8435dc8ba33bcafa41cf2aa253794320a3b8df ]

The 'commit' option is only applicable for ext3 and ext4 filesystems,
and has never been accepted by the ext2 filesystem driver, so the ext4
driver shouldn't allow it on ext2 filesystems.

This fixes a failure in xfstest ext4/053.

Fixes: 8dc0aa8cf0 ("ext4: check incompatible mount options while mounting ext2/3")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Ritesh Harjani <ritesh.list@gmail.com>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Link: https://lore.kernel.org/r/20220510183232.172615-1-ebiggers@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-09 10:21:10 +02:00
Greg Kroah-Hartman
6273d79c86 This is the 5.10.114 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmJ4vqgACgkQONu9yGCS
 aT6QRRAA1w5DvnVDBc87zfegqoYAffgWJAmifSraMlb9gQIorKziH3UA/Z1AIn3D
 AB/ogqmpWacj5FFxOZtaC46224zCMV20dTsLx8tdigR5V04n4ZYXwoAvZB2FycFa
 uPq4ak3myPKYPofysq6iBExOxnVOtJicklMFwPu25Nf7O8/On0XyqGaHx4rTSlBx
 pgM3PLdBUlFJmkWsRtiQ6fIPZ8td38Dffk6E1oPW0ZZqDHEjZTE+rfeeGJv6FCdO
 CIR542BxgS/mlyfmLdaFkm4pO5Spminb9kEbU173R9RGUop0QSxkGn8AQbqD22Ts
 74UChzqCEkhoY/qFCxE1rX1mYHYp3XwNuvbD389ocEw5M7ZqVNxf7oDjoqlY81rI
 t1U6I3S6ET3T18i9UmF4GGJHr1kpT+TYMi1n1moNwft4twlrSVsNgKJ8pH51P9+M
 MIQJE+mxj50aE5PZNc3LUzIs3E3+/5fyOEahmLBaXR/3117uklc3XQwuWr+UzGwJ
 7sI383AAU0RHHM1IOTba4A8gd4z5DbFeRd9Fhl/drZ/gVYVpfkscqfUCBlWIdZ/A
 wj2DKc4jRFXzflKTHuce2mxuJAOpjjpTz3yBw1qs9gcbB+xIFfei9kZXaXEUzKuu
 wwCGW7cuGuXWJr3rFkMqY00ioLxjUZ6e3Kha5kyzwoHZ1r5ARcA=
 =ihPO
 -----END PGP SIGNATURE-----

Merge 5.10.114 into android12-5.10-lts

Changes in 5.10.114
	floppy: disable FDRAWCMD by default
	lightnvm: disable the subsystem
	usb: mtu3: fix USB 3.0 dual-role-switch from device to host
	USB: quirks: add a Realtek card reader
	USB: quirks: add STRING quirk for VCOM device
	USB: serial: whiteheat: fix heap overflow in WHITEHEAT_GET_DTR_RTS
	USB: serial: cp210x: add PIDs for Kamstrup USB Meter Reader
	USB: serial: option: add support for Cinterion MV32-WA/MV32-WB
	USB: serial: option: add Telit 0x1057, 0x1058, 0x1075 compositions
	xhci: Enable runtime PM on second Alderlake controller
	xhci: stop polling roothubs after shutdown
	xhci: increase usb U3 -> U0 link resume timeout from 100ms to 500ms
	iio: dac: ad5592r: Fix the missing return value.
	iio: dac: ad5446: Fix read_raw not returning set value
	iio: magnetometer: ak8975: Fix the error handling in ak8975_power_on()
	iio: imu: inv_icm42600: Fix I2C init possible nack
	usb: misc: fix improper handling of refcount in uss720_probe()
	usb: typec: ucsi: Fix reuse of completion structure
	usb: typec: ucsi: Fix role swapping
	usb: gadget: uvc: Fix crash when encoding data for usb request
	usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()
	usb: dwc3: Try usb-role-switch first in dwc3_drd_init
	usb: dwc3: core: Fix tx/rx threshold settings
	usb: dwc3: core: Only handle soft-reset in DCTL
	usb: dwc3: gadget: Return proper request status
	usb: cdns3: Fix issue for clear halt endpoint
	usb: phy: generic: Get the vbus supply
	serial: imx: fix overrun interrupts in DMA mode
	serial: 8250: Also set sticky MCR bits in console restoration
	serial: 8250: Correct the clock for EndRun PTP/1588 PCIe device
	arch_topology: Do not set llc_sibling if llc_id is invalid
	pinctrl: samsung: fix missing GPIOLIB on ARM64 Exynos config
	hex2bin: make the function hex_to_bin constant-time
	hex2bin: fix access beyond string end
	riscv: patch_text: Fixup last cpu should be master
	x86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests
	iocost: don't reset the inuse weight of under-weighted debtors
	video: fbdev: udlfb: properly check endpoint type
	arm64: dts: meson: remove CPU opps below 1GHz for G12B boards
	arm64: dts: meson: remove CPU opps below 1GHz for SM1 boards
	iio:imu:bmi160: disable regulator in error path
	mtd: rawnand: fix ecc parameters for mt7622
	USB: Fix xhci event ring dequeue pointer ERDP update issue
	ARM: dts: imx6qdl-apalis: Fix sgtl5000 detection issue
	phy: samsung: Fix missing of_node_put() in exynos_sata_phy_probe
	phy: samsung: exynos5250-sata: fix missing device put in probe error paths
	ARM: OMAP2+: Fix refcount leak in omap_gic_of_init
	bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific
	phy: ti: omap-usb2: Fix error handling in omap_usb2_enable_clocks
	ARM: dts: at91: Map MCLK for wm8731 on at91sam9g20ek
	ARM: dts: at91: sama5d4_xplained: fix pinctrl phandle name
	phy: mapphone-mdm6600: Fix PM error handling in phy_mdm6600_probe
	phy: ti: Add missing pm_runtime_disable() in serdes_am654_probe
	ARM: dts: Fix mmc order for omap3-gta04
	ARM: dts: am3517-evm: Fix misc pinmuxing
	ARM: dts: logicpd-som-lv: Fix wrong pinmuxing on OMAP35
	ipvs: correctly print the memory size of ip_vs_conn_tab
	pinctrl: mediatek: moore: Fix build error
	mtd: rawnand: Fix return value check of wait_for_completion_timeout
	mtd: fix 'part' field data corruption in mtd_info
	pinctrl: stm32: Do not call stm32_gpio_get() for edge triggered IRQs in EOI
	memory: renesas-rpc-if: Fix HF/OSPI data transfer in Manual Mode
	net: dsa: Add missing of_node_put() in dsa_port_link_register_of
	netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion
	bpf, lwt: Fix crash when using bpf_skb_set_tunnel_key() from bpf_xmit lwt hook
	pinctrl: rockchip: fix RK3308 pinmux bits
	tcp: md5: incorrect tcp_header_len for incoming connections
	pinctrl: stm32: Keep pinctrl block clock enabled when LEVEL IRQ requested
	tcp: ensure to use the most recently sent skb when filling the rate sample
	wireguard: device: check for metadata_dst with skb_valid_dst()
	sctp: check asoc strreset_chunk in sctp_generate_reconf_event
	ARM: dts: imx6ull-colibri: fix vqmmc regulator
	arm64: dts: imx8mn-ddr4-evk: Describe the 32.768 kHz PMIC clock
	pinctrl: pistachio: fix use of irq_of_parse_and_map()
	cpufreq: fix memory leak in sun50i_cpufreq_nvmem_probe
	net: hns3: modify the return code of hclge_get_ring_chain_from_mbx
	net: hns3: add validity check for message data length
	net: hns3: add return value for mailbox handling in PF
	net/smc: sync err code when tcp connection was refused
	ip_gre: Make o_seqno start from 0 in native mode
	ip6_gre: Make o_seqno start from 0 in native mode
	ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode
	tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT
	tcp: make sure treq->af_specific is initialized
	bus: sunxi-rsb: Fix the return value of sunxi_rsb_device_create()
	clk: sunxi: sun9i-mmc: check return value after calling platform_get_resource()
	net: bcmgenet: hide status block before TX timestamping
	net: phy: marvell10g: fix return value on error
	net: dsa: lantiq_gswip: Don't set GSWIP_MII_CFG_RMII_CLK
	drm/amdkfd: Fix GWS queue count
	drm/amd/display: Fix memory leak in dcn21_clock_source_create
	tls: Skip tls_append_frag on zero copy size
	bnx2x: fix napi API usage sequence
	net: fec: add missing of_node_put() in fec_enet_init_stop_mode()
	ixgbe: ensure IPsec VF<->PF compatibility
	ibmvnic: fix miscellaneous checks
	Revert "ibmvnic: Add ethtool private flag for driver-defined queue limits"
	tcp: fix F-RTO may not work correctly when receiving DSACK
	ASoC: Intel: soc-acpi: correct device endpoints for max98373
	ASoC: wm8731: Disable the regulator when probing fails
	ext4: fix bug_on in start_this_handle during umount filesystem
	x86: __memcpy_flushcache: fix wrong alignment if size > 2^32
	cifs: destage any unwritten data to the server before calling copychunk_write
	drivers: net: hippi: Fix deadlock in rr_close()
	powerpc/perf: Fix 32bit compile
	zonefs: Fix management of open zones
	zonefs: Clear inode information flags on inode creation
	kasan: prevent cpu_quarantine corruption when CPU offline and cache shrink occur at same time
	drm/i915: Fix SEL_FETCH_PLANE_*(PIPE_B+) register addresses
	net: ethernet: stmmac: fix write to sgmii_adapter_base
	thermal: int340x: Fix attr.show callback prototype
	x86/cpu: Load microcode during restore_processor_state()
	perf symbol: Pass is_kallsyms to symbols__fixup_end()
	perf symbol: Update symbols__fixup_end()
	tty: n_gsm: fix restart handling via CLD command
	tty: n_gsm: fix decoupled mux resource
	tty: n_gsm: fix mux cleanup after unregister tty device
	tty: n_gsm: fix wrong signal octet encoding in convergence layer type 2
	tty: n_gsm: fix malformed counter for out of frame data
	netfilter: nft_socket: only do sk lookups when indev is available
	tty: n_gsm: fix insufficient txframe size
	tty: n_gsm: fix wrong DLCI release order
	tty: n_gsm: fix missing explicit ldisc flush
	tty: n_gsm: fix wrong command retry handling
	tty: n_gsm: fix wrong command frame length field encoding
	tty: n_gsm: fix reset fifo race condition
	tty: n_gsm: fix incorrect UA handling
	tty: n_gsm: fix software flow control handling
	perf symbol: Remove arch__symbols__fixup_end()
	Linux 5.10.114

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5bae5ef7c58046213b62c82599707f569a955337
2022-05-12 17:48:27 +02:00
Greg Kroah-Hartman
ca9b002a16 This is the 5.10.113 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmJpLt4ACgkQONu9yGCS
 aT5Wjg//dzSnqQoqXgMjLwSoMx15rfs/HjC8vgRUpdKctpzITabLc7ywdbcxuyQt
 it+tlQAFMIq2caH20M+u91zm1kre9f8ap5KnVEt+snkJK+mxWZ8u0uxgzGqRJV7w
 1SX4lRCdbfT82T2qjlPFlLQ3bFlxy1nbYHJI1lOltl8JXgHEHuFDGH0oWr6QwdOu
 wAayeL5MmIpUqtLE7G5Jb9Yc1Hg+dCPHGjJNHbtR6URnVGNY664Moz/ij0qWA8RE
 Gaxxud677xEVoc3OVRS3r9CzEmhZGBeI0xwc9Gc8vGWaVkJGlS2/p/+M8mk75yKu
 gUpGZE2DNZ+8G0rs/9hs74nV01KpcOCJokLTqka+0MqKHalNVibkw8RPLThn30Ct
 JyK43veFQigd3WJULwvOaoM4YBzCishYQc2jvyftZRqb5rxRfTk62UoQoqNgmhyr
 1MDUS8w741jF0qdH/v8Wgv7H64d4iilZV6VqVtWiyowPphHbd76qGpRSe42Xg/gY
 gL/xfjS17Uwid5es+wzIP4J9D3yxwwh3KZjgfAuaOVnMVCn2RqEjZyqQJSCAc8sF
 kCPMbXjAN9/5sGwidGGDf7ML67MIcIF6928pel95RU3lmz7X5cEzN2FCeAZg28rn
 W2iiSeWEh6XD7Pzbd+TYYftG3M2kGN6qzaKM2wOGNc6cK/dDROs=
 =NhyD
 -----END PGP SIGNATURE-----

Merge 5.10.113 into android12-5.10-lts

Changes in 5.10.113
	etherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead
	mm: page_alloc: fix building error on -Werror=array-compare
	tracing: Dump stacktrace trigger to the corresponding instance
	perf tools: Fix segfault accessing sample_id xyarray
	gfs2: assign rgrp glock before compute_bitstructs
	net/sched: cls_u32: fix netns refcount changes in u32_change()
	ALSA: usb-audio: Clear MIDI port active flag after draining
	ALSA: hda/realtek: Add quirk for Clevo NP70PNP
	dm: fix mempool NULL pointer race when completing IO
	ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek
	ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component
	ASoC: codecs: wcd934x: do not switch off SIDO Buck when codec is in use
	dmaengine: imx-sdma: Fix error checking in sdma_event_remap
	dmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources
	spi: spi-mtk-nor: initialize spi controller after resume
	esp: limit skb_page_frag_refill use to a single page
	igc: Fix infinite loop in release_swfw_sync
	igc: Fix BUG: scheduling while atomic
	rxrpc: Restore removed timer deletion
	net/smc: Fix sock leak when release after smc_shutdown()
	net/packet: fix packet_sock xmit return value checking
	ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit()
	ip6_gre: Fix skb_under_panic in __gre6_xmit()
	net/sched: cls_u32: fix possible leak in u32_init_knode()
	l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu
	ipv6: make ip6_rt_gc_expire an atomic_t
	netlink: reset network and mac headers in netlink_dump()
	net: stmmac: Use readl_poll_timeout_atomic() in atomic state
	dmaengine: idxd: add RO check for wq max_batch_size write
	dmaengine: idxd: add RO check for wq max_transfer_size write
	selftests: mlxsw: vxlan_flooding: Prevent flooding of unwanted packets
	arm64/mm: Remove [PUD|PMD]_TABLE_BIT from [pud|pmd]_bad()
	arm64: mm: fix p?d_leaf()
	ARM: vexpress/spc: Avoid negative array index when !SMP
	reset: tegra-bpmp: Restore Handle errors in BPMP response
	platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negative
	ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant
	arm64: dts: imx: Fix imx8*-var-som touchscreen property sizes
	vxlan: fix error return code in vxlan_fdb_append
	cifs: Check the IOCB_DIRECT flag, not O_DIRECT
	net: atlantic: Avoid out-of-bounds indexing
	mt76: Fix undefined behavior due to shift overflowing the constant
	brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant
	dpaa_eth: Fix missing of_node_put in dpaa_get_ts_info()
	drm/msm/mdp5: check the return of kzalloc()
	net: macb: Restart tx only if queue pointer is lagging
	scsi: qedi: Fix failed disconnect handling
	stat: fix inconsistency between struct stat and struct compat_stat
	nvme: add a quirk to disable namespace identifiers
	nvme-pci: disable namespace identifiers for Qemu controllers
	EDAC/synopsys: Read the error count from the correct register
	mm, hugetlb: allow for "high" userspace addresses
	oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup
	mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove()
	ata: pata_marvell: Check the 'bmdma_addr' beforing reading
	dma: at_xdmac: fix a missing check on list iterator
	net: atlantic: invert deep par in pm functions, preventing null derefs
	xtensa: patch_text: Fixup last cpu should be master
	xtensa: fix a7 clobbering in coprocessor context load/store
	openvswitch: fix OOB access in reserve_sfa_size()
	gpio: Request interrupts after IRQ is initialized
	ASoC: soc-dapm: fix two incorrect uses of list iterator
	e1000e: Fix possible overflow in LTR decoding
	ARC: entry: fix syscall_trace_exit argument
	arm_pmu: Validate single/group leader events
	sched/pelt: Fix attach_entity_load_avg() corner case
	perf/core: Fix perf_mmap fail when CONFIG_PERF_USE_VMALLOC enabled
	drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised
	drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare
	KVM: PPC: Fix TCE handling for VFIO
	drm/vc4: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage
	powerpc/perf: Fix power9 event alternatives
	perf report: Set PERF_SAMPLE_DATA_SRC bit for Arm SPE event
	ext4: fix fallocate to use file_modified to update permissions consistently
	ext4: fix symlink file size not match to file content
	ext4: fix use-after-free in ext4_search_dir
	ext4: limit length to bitmap_maxbytes - blocksize in punch_hole
	ext4, doc: fix incorrect h_reserved size
	ext4: fix overhead calculation to account for the reserved gdt blocks
	ext4: force overhead calculation if the s_overhead_cluster makes no sense
	can: isotp: stop timeout monitoring when no first frame was sent
	jbd2: fix a potential race while discarding reserved buffers after an abort
	spi: atmel-quadspi: Fix the buswidth adjustment between spi-mem and controller
	staging: ion: Prevent incorrect reference counting behavour
	block/compat_ioctl: fix range check in BLKGETSIZE
	Revert "net: micrel: fix KS8851_MLL Kconfig"
	Linux 5.10.113

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4ed10699cbb32b89caf79b8b4a2a35b3d8824115
2022-05-12 11:23:35 +02:00
Ye Bin
585ef03c9e ext4: fix bug_on in start_this_handle during umount filesystem
[ Upstream commit b98535d091795a79336f520b0708457aacf55c67 ]

We got issue as follows:
------------[ cut here ]------------
kernel BUG at fs/jbd2/transaction.c:389!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 9 PID: 131 Comm: kworker/9:1 Not tainted 5.17.0-862.14.0.6.x86_64-00001-g23f87daf7d74-dirty #197
Workqueue: events flush_stashed_error_work
RIP: 0010:start_this_handle+0x41c/0x1160
RSP: 0018:ffff888106b47c20 EFLAGS: 00010202
RAX: ffffed10251b8400 RBX: ffff888128dc204c RCX: ffffffffb52972ac
RDX: 0000000000000200 RSI: 0000000000000004 RDI: ffff888128dc2050
RBP: 0000000000000039 R08: 0000000000000001 R09: ffffed10251b840a
R10: ffff888128dc204f R11: ffffed10251b8409 R12: ffff888116d78000
R13: 0000000000000000 R14: dffffc0000000000 R15: ffff888128dc2000
FS:  0000000000000000(0000) GS:ffff88839d680000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000001620068 CR3: 0000000376c0e000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 jbd2__journal_start+0x38a/0x790
 jbd2_journal_start+0x19/0x20
 flush_stashed_error_work+0x110/0x2b3
 process_one_work+0x688/0x1080
 worker_thread+0x8b/0xc50
 kthread+0x26f/0x310
 ret_from_fork+0x22/0x30
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---

Above issue may happen as follows:
      umount            read procfs            error_work
ext4_put_super
  flush_work(&sbi->s_error_work);

                      ext4_mb_seq_groups_show
	                ext4_mb_load_buddy_gfp
			  ext4_mb_init_group
			    ext4_mb_init_cache
	                      ext4_read_block_bitmap_nowait
			        ext4_validate_block_bitmap
				  ext4_error
			            ext4_handle_error
			              schedule_work(&EXT4_SB(sb)->s_error_work);

  ext4_unregister_sysfs(sb);
  jbd2_journal_destroy(sbi->s_journal);
    journal_kill_thread
      journal->j_flags |= JBD2_UNMOUNT;

                                          flush_stashed_error_work
				            jbd2_journal_start
					      start_this_handle
					        BUG_ON(journal->j_flags & JBD2_UNMOUNT);

To solve this issue, we call 'ext4_unregister_sysfs() before flushing
s_error_work in ext4_put_super().

Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Ritesh Harjani <riteshh@linux.ibm.com>
Link: https://lore.kernel.org/r/20220322012419.725457-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-05-09 09:05:06 +02:00
Theodore Ts'o
e1e96e3727 ext4: force overhead calculation if the s_overhead_cluster makes no sense
commit 85d825dbf4899a69407338bae462a59aa9a37326 upstream.

If the file system does not use bigalloc, calculating the overhead is
cheap, so force the recalculation of the overhead so we don't have to
trust the precalculated overhead in the superblock.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-27 13:53:57 +02:00
Theodore Ts'o
4789149b9e ext4: fix overhead calculation to account for the reserved gdt blocks
commit 10b01ee92df52c8d7200afead4d5e5f55a5c58b1 upstream.

The kernel calculation was underestimating the overhead by not taking
into account the reserved gdt blocks.  With this change, the overhead
calculated by the kernel matches the overhead calculation in mke2fs.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-27 13:53:57 +02:00
Tadeusz Struk
22c450d39f ext4: limit length to bitmap_maxbytes - blocksize in punch_hole
commit 2da376228a2427501feb9d15815a45dbdbdd753e upstream.

Syzbot found an issue [1] in ext4_fallocate().
The C reproducer [2] calls fallocate(), passing size 0xffeffeff000ul,
and offset 0x1000000ul, which, when added together exceed the
bitmap_maxbytes for the inode. This triggers a BUG in
ext4_ind_remove_space(). According to the comments in this function
the 'end' parameter needs to be one block after the last block to be
removed. In the case when the BUG is triggered it points to the last
block. Modify the ext4_punch_hole() function and add constraint that
caps the length to satisfy the one before laster block requirement.

LINK: [1] https://syzkaller.appspot.com/bug?id=b80bd9cf348aac724a4f4dff251800106d721331
LINK: [2] https://syzkaller.appspot.com/text?tag=ReproC&x=14ba0238700000

Fixes: a4bb6b64e3 ("ext4: enable "punch hole" functionality")
Reported-by: syzbot+7a806094edd5d07ba029@syzkaller.appspotmail.com
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Link: https://lore.kernel.org/r/20220331200515.153214-1-tadeusz.struk@linaro.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-27 13:53:57 +02:00
Ye Bin
75ac724684 ext4: fix use-after-free in ext4_search_dir
commit c186f0887fe7061a35cebef024550ec33ef8fbd8 upstream.

We got issue as follows:
EXT4-fs (loop0): mounted filesystem without journal. Opts: ,errors=continue
==================================================================
BUG: KASAN: use-after-free in ext4_search_dir fs/ext4/namei.c:1394 [inline]
BUG: KASAN: use-after-free in search_dirblock fs/ext4/namei.c:1199 [inline]
BUG: KASAN: use-after-free in __ext4_find_entry+0xdca/0x1210 fs/ext4/namei.c:1553
Read of size 1 at addr ffff8881317c3005 by task syz-executor117/2331

CPU: 1 PID: 2331 Comm: syz-executor117 Not tainted 5.10.0+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
Call Trace:
 __dump_stack lib/dump_stack.c:83 [inline]
 dump_stack+0x144/0x187 lib/dump_stack.c:124
 print_address_description+0x7d/0x630 mm/kasan/report.c:387
 __kasan_report+0x132/0x190 mm/kasan/report.c:547
 kasan_report+0x47/0x60 mm/kasan/report.c:564
 ext4_search_dir fs/ext4/namei.c:1394 [inline]
 search_dirblock fs/ext4/namei.c:1199 [inline]
 __ext4_find_entry+0xdca/0x1210 fs/ext4/namei.c:1553
 ext4_lookup_entry fs/ext4/namei.c:1622 [inline]
 ext4_lookup+0xb8/0x3a0 fs/ext4/namei.c:1690
 __lookup_hash+0xc5/0x190 fs/namei.c:1451
 do_rmdir+0x19e/0x310 fs/namei.c:3760
 do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x445e59
Code: 4d c7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 1b c7 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fff2277fac8 EFLAGS: 00000246 ORIG_RAX: 0000000000000054
RAX: ffffffffffffffda RBX: 0000000000400280 RCX: 0000000000445e59
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000200000c0
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000002
R10: 00007fff2277f990 R11: 0000000000000246 R12: 0000000000000000
R13: 431bde82d7b634db R14: 0000000000000000 R15: 0000000000000000

The buggy address belongs to the page:
page:0000000048cd3304 refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x1317c3
flags: 0x200000000000000()
raw: 0200000000000000 ffffea0004526588 ffffea0004528088 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8881317c2f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8881317c2f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff8881317c3000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                   ^
 ffff8881317c3080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff8881317c3100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================

ext4_search_dir:
  ...
  de = (struct ext4_dir_entry_2 *)search_buf;
  dlimit = search_buf + buf_size;
  while ((char *) de < dlimit) {
  ...
    if ((char *) de + de->name_len <= dlimit &&
	 ext4_match(dir, fname, de)) {
	    ...
    }
  ...
    de_len = ext4_rec_len_from_disk(de->rec_len, dir->i_sb->s_blocksize);
    if (de_len <= 0)
      return -1;
    offset += de_len;
    de = (struct ext4_dir_entry_2 *) ((char *) de + de_len);
  }

Assume:
de=0xffff8881317c2fff
dlimit=0x0xffff8881317c3000

If read 'de->name_len' which address is 0xffff8881317c3005, obviously is
out of range, then will trigger use-after-free.
To solve this issue, 'dlimit' must reserve 8 bytes, as we will read
'de->name_len' to judge if '(char *) de + de->name_len' out of range.

Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220324064816.1209985-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-27 13:53:57 +02:00
Ye Bin
a46b3d8498 ext4: fix symlink file size not match to file content
commit a2b0b205d125f27cddfb4f7280e39affdaf46686 upstream.

We got issue as follows:
[home]# fsck.ext4  -fn  ram0yb
e2fsck 1.45.6 (20-Mar-2020)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Symlink /p3/d14/d1a/l3d (inode #3494) is invalid.
Clear? no
Entry 'l3d' in /p3/d14/d1a (3383) has an incorrect filetype (was 7, should be 0).
Fix? no

As the symlink file size does not match the file content. If the writeback
of the symlink data block failed, ext4_finish_bio() handles the end of IO.
However this function fails to mark the buffer with BH_write_io_error and
so when unmount does journal checkpoint it cannot detect the writeback
error and will cleanup the journal. Thus we've lost the correct data in the
journal area. To solve this issue, mark the buffer as BH_write_io_error in
ext4_finish_bio().

Cc: stable@kernel.org
Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220321144438.201685-1-yebin10@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-27 13:53:56 +02:00
Darrick J. Wong
f6038d43b2 ext4: fix fallocate to use file_modified to update permissions consistently
commit ad5cd4f4ee4d5fcdb1bfb7a0c073072961e70783 upstream.

Since the initial introduction of (posix) fallocate back at the turn of
the century, it has been possible to use this syscall to change the
user-visible contents of files.  This can happen by extending the file
size during a preallocation, or through any of the newer modes (punch,
zero, collapse, insert range).  Because the call can be used to change
file contents, we should treat it like we do any other modification to a
file -- update the mtime, and drop set[ug]id privileges/capabilities.

The VFS function file_modified() does all this for us if pass it a
locked inode, so let's make fallocate drop permissions correctly.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Link: https://lore.kernel.org/r/20220308185043.GA117678@magnolia
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-27 13:53:56 +02:00
Greg Kroah-Hartman
95f4203fc9 This is the 5.10.110 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmJQLWwACgkQONu9yGCS
 aT4R2BAAr/cGnf2/BQ6+zNPW+LlfGn75803yd+oWNL8WzjNiQGrTsQavE1jL0LXP
 45iPxvY6eOlP9oEoJGYyNYhzQfUM92Unysa/KemB/xUBsb2If0ZdWk1WB9Lnw0xq
 m65kACXovbcg4LsZGpgCv7ln1ykogo+bNMES9P6CLxwKR/DMKUeJxbRNKE/AkD5l
 DxF7IJEP+YRbKAtoLM2Xj4KdjVSfRIfs+Pf0A1t43GqAw6tt3beqmzeCwDzuzz5a
 DHpXS6PeJjTZOjz4LkuBSbyK5cKGFv1C6o7JVjWSZhDyI5E4OLdNDpNKqcjsXAN+
 wMqS1eh4gYUBXmPE44BGwkkugPyaR0/KHUebfkFZG2/H/8DfvrGqlbvsGSFNXxsV
 jH2/AV/rOxAFeM/U0c1I4Ve42MU18kdf1MRBo0Dq5xSoN9HFQhNp+HE5jpppgsvi
 FYpMqZoQzH31GIjOq7g0zLdj4NTBrkO9dh7kbpH0Xay1yBmigvD2PA4qpsL1+VMI
 v73Iq/RJVGUJFAeiYFjn9IGs9EsiKNG08v9uoKS+1m1VLrpVdgwtzo+RjJ/E51Mt
 Nk4WK94MyoivkRFKulDasv9yBWdcZCfljc91271UCKCERlyO/bmsTqhffeATGGRh
 N/7oxa71BHvxp0VYqvKD6xFUs+jFt9DQmIX7Pl1/yLpaz+sN0no=
 =31mv
 -----END PGP SIGNATURE-----

Merge 5.10.110 into android12-5.10-lts

Changes in 5.10.110
	swiotlb: fix info leak with DMA_FROM_DEVICE
	USB: serial: pl2303: add IBM device IDs
	USB: serial: simple: add Nokia phone driver
	hv: utils: add PTP_1588_CLOCK to Kconfig to fix build
	netdevice: add the case if dev is NULL
	HID: logitech-dj: add new lightspeed receiver id
	xfrm: fix tunnel model fragmentation behavior
	ARM: mstar: Select HAVE_ARM_ARCH_TIMER
	virtio_console: break out of buf poll on remove
	vdpa/mlx5: should verify CTRL_VQ feature exists for MQ
	tools/virtio: fix virtio_test execution
	ethernet: sun: Free the coherent when failing in probing
	gpio: Revert regression in sysfs-gpio (gpiolib.c)
	spi: Fix invalid sgs value
	net:mcf8390: Use platform_get_irq() to get the interrupt
	Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"
	spi: Fix erroneous sgs value with min_t()
	Input: zinitix - do not report shadow fingers
	af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
	net: dsa: microchip: add spi_device_id tables
	locking/lockdep: Avoid potential access of invalid memory in lock_class
	iommu/iova: Improve 32-bit free space estimate
	tpm: fix reference counting for struct tpm_chip
	virtio-blk: Use blk_validate_block_size() to validate block size
	USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
	xhci: fix garbage USBSTS being logged in some cases
	xhci: fix runtime PM imbalance in USB2 resume
	xhci: make xhci_handshake timeout for xhci_reset() adjustable
	xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx()
	mei: me: add Alder Lake N device id.
	mei: avoid iterator usage outside of list_for_each_entry
	coresight: Fix TRCCONFIGR.QE sysfs interface
	iio: afe: rescale: use s64 for temporary scale calculations
	iio: inkern: apply consumer scale on IIO_VAL_INT cases
	iio: inkern: apply consumer scale when no channel scale is available
	iio: inkern: make a best effort on offset calculation
	greybus: svc: fix an error handling bug in gb_svc_hello()
	clk: uniphier: Fix fixed-rate initialization
	ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
	KEYS: fix length validation in keyctl_pkey_params_get_2()
	Documentation: add link to stable release candidate tree
	Documentation: update stable tree link
	firmware: stratix10-svc: add missing callback parameter on RSU
	HID: intel-ish-hid: Use dma_alloc_coherent for firmware update
	SUNRPC: avoid race between mod_timer() and del_timer_sync()
	NFSD: prevent underflow in nfssvc_decode_writeargs()
	NFSD: prevent integer overflow on 32 bit systems
	f2fs: fix to unlock page correctly in error path of is_alive()
	f2fs: quota: fix loop condition at f2fs_quota_sync()
	f2fs: fix to do sanity check on .cp_pack_total_block_count
	remoteproc: Fix count check in rproc_coredump_write()
	pinctrl: samsung: drop pin banks references on error paths
	spi: mxic: Fix the transmit path
	mtd: rawnand: protect access to rawnand devices while in suspend
	can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
	jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
	jffs2: fix memory leak in jffs2_do_mount_fs
	jffs2: fix memory leak in jffs2_scan_medium
	mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
	mm: invalidate hwpoison page cache page in fault path
	mempolicy: mbind_range() set_policy() after vma_merge()
	scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
	qed: display VF trust config
	qed: validate and restrict untrusted VFs vlan promisc mode
	riscv: Fix fill_callchain return value
	riscv: Increase stack size under KASAN
	Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
	cifs: prevent bad output lengths in smb2_ioctl_query_info()
	cifs: fix NULL ptr dereference in smb2_ioctl_query_info()
	ALSA: cs4236: fix an incorrect NULL check on list iterator
	ALSA: hda: Avoid unsol event during RPM suspending
	ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock
	ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
	mm: madvise: skip unmapped vma holes passed to process_madvise
	mm: madvise: return correct bytes advised with process_madvise
	Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"
	mm,hwpoison: unmap poisoned page before invalidation
	mm/kmemleak: reset tag when compare object pointer
	dm integrity: set journal entry unused when shrinking device
	drbd: fix potential silent data corruption
	can: isotp: sanitize CAN ID checks in isotp_bind()
	powerpc/kvm: Fix kvm_use_magic_page
	udp: call udp_encap_enable for v6 sockets when enabling encap
	arm64: signal: nofpsimd: Do not allocate fp/simd context when not available
	arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs
	arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs
	arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs
	ACPI: properties: Consistently return -ENOENT if there are no more references
	coredump: Also dump first pages of non-executable ELF libraries
	ext4: fix ext4_fc_stats trace point
	ext4: fix fs corruption when tring to remove a non-empty directory with IO error
	drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
	mailbox: tegra-hsp: Flush whole channel
	block: limit request dispatch loop duration
	block: don't merge across cgroup boundaries if blkcg is enabled
	drm/edid: check basic audio support on CEA extension block
	video: fbdev: sm712fb: Fix crash in smtcfb_read()
	video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
	ARM: dts: at91: sama5d2: Fix PMERRLOC resource size
	ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
	ARM: dts: exynos: add missing HDMI supplies on SMDK5250
	ARM: dts: exynos: add missing HDMI supplies on SMDK5420
	mgag200 fix memmapsl configuration in GCTL6 register
	carl9170: fix missing bit-wise or operator for tx_params
	pstore: Don't use semaphores in always-atomic-context code
	thermal: int340x: Increase bitmap size
	lib/raid6/test: fix multiple definition linking error
	exec: Force single empty string when argv is empty
	crypto: rsa-pkcs1pad - only allow with rsa
	crypto: rsa-pkcs1pad - correctly get hash from source scatterlist
	crypto: rsa-pkcs1pad - restore signature length check
	crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete()
	bcache: fixup multiple threads crash
	DEC: Limit PMAX memory probing to R3k systems
	media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC
	media: davinci: vpif: fix unbalanced runtime PM get
	media: davinci: vpif: fix unbalanced runtime PM enable
	xtensa: fix stop_machine_cpuslocked call in patch_text
	xtensa: fix xtensa_wsr always writing 0
	brcmfmac: firmware: Allocate space for default boardrev in nvram
	brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path
	brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
	brcmfmac: pcie: Fix crashes due to early IRQs
	drm/i915/opregion: check port number bounds for SWSCI display power state
	drm/i915/gem: add missing boundary check in vm_access
	PCI: pciehp: Clear cmd_busy bit in polling mode
	PCI: xgene: Revert "PCI: xgene: Fix IB window setup"
	regulator: qcom_smd: fix for_each_child.cocci warnings
	selinux: check return value of sel_make_avc_files
	hwrng: cavium - Check health status while reading random data
	hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER
	crypto: sun8i-ss - really disable hash on A80
	crypto: authenc - Fix sleep in atomic context in decrypt_tail
	crypto: mxs-dcp - Fix scatterlist processing
	thermal: int340x: Check for NULL after calling kmemdup()
	spi: tegra114: Add missing IRQ check in tegra_spi_probe
	arm64/mm: avoid fixmap race condition when create pud mapping
	selftests/x86: Add validity check and allow field splitting
	crypto: rockchip - ECB does not need IV
	audit: log AUDIT_TIME_* records only from rules
	EVM: fix the evm= __setup handler return value
	crypto: ccree - don't attempt 0 len DMA mappings
	spi: pxa2xx-pci: Balance reference count for PCI DMA device
	hwmon: (pmbus) Add mutex to regulator ops
	hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
	nvme: cleanup __nvme_check_ids
	block: don't delete queue kobject before its children
	PM: hibernate: fix __setup handler error handling
	PM: suspend: fix return value of __setup handler
	spi: spi-zynqmp-gqspi: Handle error for dma_set_mask
	hwrng: atmel - disable trng on failure path
	crypto: sun8i-ss - call finalize with bh disabled
	crypto: sun8i-ce - call finalize with bh disabled
	crypto: amlogic - call finalize with bh disabled
	crypto: vmx - add missing dependencies
	clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix
	clocksource/drivers/exynos_mct: Refactor resources allocation
	clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts
	clocksource/drivers/timer-microchip-pit64b: Use notrace
	clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()
	ACPI: APEI: fix return value of __setup handlers
	crypto: ccp - ccp_dmaengine_unregister release dma channels
	crypto: ccree - Fix use after free in cc_cipher_exit()
	vfio: platform: simplify device removal
	amba: Make the remove callback return void
	hwrng: nomadik - Change clk_disable to clk_disable_unprepare
	hwmon: (pmbus) Add Vin unit off handling
	clocksource: acpi_pm: fix return value of __setup handler
	io_uring: terminate manual loop iterator loop correctly for non-vecs
	watch_queue: Fix NULL dereference in error cleanup
	watch_queue: Actually free the watch
	f2fs: fix to enable ATGC correctly via gc_idle sysfs interface
	sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
	sched/core: Export pelt_thermal_tp
	rseq: Optimise rseq_get_rseq_cs() and clear_rseq_cs()
	rseq: Remove broken uapi field layout on 32-bit little endian
	perf/core: Fix address filter parser for multiple filters
	perf/x86/intel/pt: Fix address filter config for 32-bit kernel
	f2fs: fix missing free nid in f2fs_handle_failed_inode
	nfsd: more robust allocation failure handling in nfsd_file_cache_init
	f2fs: fix to avoid potential deadlock
	btrfs: fix unexpected error path when reflinking an inline extent
	f2fs: compress: remove unneeded read when rewrite whole cluster
	f2fs: fix compressed file start atomic write may cause data corruption
	selftests, x86: fix how check_cc.sh is being invoked
	kunit: make kunit_test_timeout compatible with comment
	media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size
	media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
	media: mtk-vcodec: potential dereference of null pointer
	media: bttv: fix WARNING regression on tunerless devices
	ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting
	ASoC: generic: simple-card-utils: remove useless assignment
	media: coda: Fix missing put_device() call in coda_get_vdoa_data
	media: meson: vdec: potential dereference of null pointer
	media: hantro: Fix overfill bottom register field name
	media: aspeed: Correct value for h-total-pixels
	video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen
	video: fbdev: controlfb: Fix set but not used warnings
	video: fbdev: controlfb: Fix COMPILE_TEST build
	video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
	video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe()
	video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
	firmware: qcom: scm: Remove reassignment to desc following initializer
	ARM: dts: qcom: ipq4019: fix sleep clock
	soc: qcom: rpmpd: Check for null return of devm_kcalloc
	soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem
	soc: qcom: aoss: remove spurious IRQF_ONESHOT flags
	arm64: dts: qcom: sdm845: fix microphone bias properties and values
	arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc
	firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined
	soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
	ARM: dts: sun8i: v3s: Move the csi1 block to follow address order
	ARM: dts: imx: Add missing LVDS decoder on M53Menlo
	media: video/hdmi: handle short reads of hdmi info frame.
	media: em28xx: initialize refcount before kref_get
	media: usb: go7007: s2250-board: fix leak in probe()
	media: cedrus: H265: Fix neighbour info buffer size
	media: cedrus: h264: Fix neighbour info buffer size
	ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put
	uaccess: fix nios2 and microblaze get_user_8()
	ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()
	ASoC: ti: davinci-i2s: Add check for clk_enable()
	ALSA: spi: Add check for clk_enable()
	arm64: dts: ns2: Fix spi-cpol and spi-cpha property
	arm64: dts: broadcom: Fix sata nodename
	printk: fix return value of printk.devkmsg __setup handler
	ASoC: mxs-saif: Handle errors for clk_enable
	ASoC: atmel_ssc_dai: Handle errors for clk_enable
	ASoC: dwc-i2s: Handle errors for clk_enable
	ASoC: soc-compress: prevent the potentially use of null pointer
	memory: emif: Add check for setup_interrupts
	memory: emif: check the pointer temp in get_device_details()
	ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
	arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly
	m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined
	media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED
	media: vidtv: Check for null return of vzalloc
	ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
	ASoC: wm8350: Handle error for wm8350_register_irq
	ASoC: fsi: Add check for clk_enable
	video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
	media: saa7134: convert list_for_each to entry variant
	media: saa7134: fix incorrect use to determine if list is empty
	ivtv: fix incorrect device_caps for ivtvfb
	ASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource()
	ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe
	ASoC: SOF: Add missing of_node_put() in imx8m_probe
	ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
	ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
	ASoC: fsl_spdif: Disable TX clock when stop
	ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
	ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe
	mmc: davinci_mmc: Handle error for clk_enable
	ASoC: atmel: sam9x5_wm8731: use devm_snd_soc_register_card()
	ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe
	ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe
	ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data
	ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS
	drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops
	drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev
	drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe
	drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe
	drm: bridge: adv7511: Fix ADV7535 HPD enablement
	ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern
	drm/panfrost: Check for error num after setting mask
	libbpf: Fix possible NULL pointer dereference when destroying skeleton
	udmabuf: validate ubuf->pagecount
	Bluetooth: hci_serdev: call init_rwsem() before p->open()
	mtd: onenand: Check for error irq
	mtd: rawnand: gpmi: fix controller timings setting
	drm/edid: Don't clear formats if using deep color
	ionic: fix type complaint in ionic_dev_cmd_clean()
	drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl()
	drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()
	drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function
	ath9k_htc: fix uninit value bugs
	RDMA/core: Set MR type in ib_reg_user_mr
	KVM: PPC: Fix vmx/vsx mixup in mmio emulation
	i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
	i40e: respect metadata on XSK Rx to skb
	power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe
	ray_cs: Check ioremap return value
	powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch
	KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init
	powerpc/perf: Don't use perf_hw_context for trace IMC PMU
	mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode
	mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv
	mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update
	mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update
	net: dsa: mv88e6xxx: Enable port policy support on 6097
	scripts/dtc: Call pkg-config POSIXly correct
	livepatch: Fix build failure on 32 bits processors
	PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge
	drm/bridge: dw-hdmi: use safe format when first in bridge chain
	power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
	HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
	iommu/ipmmu-vmsa: Check for error num after setting mask
	drm/amd/pm: enable pm sysfs write for one VF mode
	drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug
	IB/cma: Allow XRC INI QPs to set their local ACK timeout
	dax: make sure inodes are flushed before destroy cache
	iwlwifi: Fix -EIO error code that is never returned
	iwlwifi: mvm: Fix an error code in iwl_mvm_up()
	drm/msm/dp: populate connector of struct dp_panel
	drm/msm/dpu: add DSPP blocks teardown
	drm/msm/dpu: fix dp audio condition
	dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS
	scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
	scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
	scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
	scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config()
	scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update()
	scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req()
	scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req()
	scsi: pm8001: Fix NCQ NON DATA command task initialization
	scsi: pm8001: Fix NCQ NON DATA command completion handling
	scsi: pm8001: Fix abort all task initialization
	RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR
	drm/amd/display: Remove vupdate_int_entry definition
	TOMOYO: fix __setup handlers return values
	ext2: correct max file size computing
	drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
	power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return
	scsi: hisi_sas: Change permission of parameter prot_mask
	drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt
	bpf, arm64: Call build_prologue() first in first JIT pass
	bpf, arm64: Feed byte-offset into bpf line info
	gpu: host1x: Fix a memory leak in 'host1x_remove()'
	libbpf: Skip forward declaration when counting duplicated type names
	powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties()
	powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit
	KVM: x86: Fix emulation in writing cr8
	KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
	hv_balloon: rate-limit "Unhandled message" warning
	i2c: xiic: Make bus names unique
	power: supply: wm8350-power: Handle error for wm8350_register_irq
	power: supply: wm8350-power: Add missing free in free_charger_irq
	IB/hfi1: Allow larger MTU without AIP
	PCI: Reduce warnings on possible RW1C corruption
	net: axienet: fix RX ring refill allocation failure handling
	mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n
	powerpc/sysdev: fix incorrect use to determine if list is empty
	mfd: mc13xxx: Add check for mc13xxx_irq_request
	libbpf: Unmap rings when umem deleted
	selftests/bpf: Make test_lwt_ip_encap more stable and faster
	platform/x86: huawei-wmi: check the return value of device_create_file()
	powerpc: 8xx: fix a return value error in mpc8xx_pic_init
	vxcan: enable local echo for sent CAN frames
	ath10k: Fix error handling in ath10k_setup_msa_resources
	mips: cdmm: Fix refcount leak in mips_cdmm_phys_base
	MIPS: RB532: fix return value of __setup handler
	MIPS: pgalloc: fix memory leak caused by pgd_free()
	mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
	RDMA/mlx5: Fix memory leak in error flow for subscribe event routine
	bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full
	bpf, sockmap: Fix more uncharged while msg has more_data
	bpf, sockmap: Fix double uncharge the mem of sk_msg
	samples/bpf, xdpsock: Fix race when running for fix duration of time
	USB: storage: ums-realtek: fix error code in rts51x_read_mem()
	can: isotp: return -EADDRNOTAVAIL when reading from unbound socket
	can: isotp: support MSG_TRUNC flag when reading from socket
	bareudp: use ipv6_mod_enabled to check if IPv6 enabled
	selftests/bpf: Fix error reporting from sock_fields programs
	Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed
	Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt
	ipv4: Fix route lookups when handling ICMP redirects and PMTU updates
	af_netlink: Fix shift out of bounds in group mask calculation
	i2c: meson: Fix wrong speed use from probe
	i2c: mux: demux-pinctrl: do not deactivate a master that is not active
	selftests/bpf/test_lirc_mode2.sh: Exit with proper code
	PCI: Avoid broken MSI on SB600 USB devices
	net: bcmgenet: Use stronger register read/writes to assure ordering
	tcp: ensure PMTU updates are processed during fastopen
	openvswitch: always update flow key after nat
	tipc: fix the timer expires after interval 100ms
	mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
	mxser: fix xmit_buf leak in activate when LSR == 0xff
	pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
	fsi: aspeed: convert to devm_platform_ioremap_resource
	fsi: Aspeed: Fix a potential double free
	misc: alcor_pci: Fix an error handling path
	cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse
	soundwire: intel: fix wrong register name in intel_shim_wake
	clk: qcom: ipq8074: fix PCI-E clock oops
	iio: mma8452: Fix probe failing when an i2c_device_id is used
	staging:iio:adc:ad7280a: Fix handing of device address bit reversing.
	pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel
	pinctrl: renesas: checker: Fix miscalculation of number of states
	clk: qcom: ipq8074: Use floor ops for SDCC1 clock
	phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})
	serial: 8250_mid: Balance reference count for PCI DMA device
	serial: 8250_lpss: Balance reference count for PCI DMA device
	NFS: Use of mapping_set_error() results in spurious errors
	serial: 8250: Fix race condition in RTS-after-send handling
	iio: adc: Add check for devm_request_threaded_irq
	habanalabs: Add check for pci_enable_device
	NFS: Return valid errors from nfs2/3_decode_dirent()
	dma-debug: fix return value of __setup handlers
	clk: imx7d: Remove audio_mclk_root_clk
	clk: at91: sama7g5: fix parents of PDMCs' GCLK
	clk: qcom: clk-rcg2: Update logic to calculate D value for RCG
	clk: qcom: clk-rcg2: Update the frac table for pixel clock
	dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma
	remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region
	remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
	remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region
	nvdimm/region: Fix default alignment for small regions
	clk: actions: Terminate clk_div_table with sentinel element
	clk: loongson1: Terminate clk_div_table with sentinel element
	clk: clps711x: Terminate clk_div_table with sentinel element
	clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
	NFS: remove unneeded check in decode_devicenotify_args()
	staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree
	staging: mt7621-dts: fix formatting
	staging: mt7621-dts: fix pinctrl properties for ethernet
	staging: mt7621-dts: fix GB-PC2 devicetree
	pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
	pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback
	pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get()
	pinctrl: mediatek: paris: Fix pingroup pin config state readback
	pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual GPIOs
	pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
	pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
	tty: hvc: fix return value of __setup handler
	kgdboc: fix return value of __setup handler
	serial: 8250: fix XOFF/XON sending when DMA is used
	kgdbts: fix return value of __setup handler
	firmware: google: Properly state IOMEM dependency
	driver core: dd: fix return value of __setup handler
	jfs: fix divide error in dbNextAG
	netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
	NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error
	kdb: Fix the putarea helper function
	clk: qcom: gcc-msm8994: Fix gpll4 width
	clk: Initialize orphan req_rate
	xen: fix is_xen_pmu()
	net: enetc: report software timestamping via SO_TIMESTAMPING
	net: hns3: fix bug when PF set the duplicate MAC address for VFs
	net: phy: broadcom: Fix brcm_fet_config_init()
	selftests: test_vxlan_under_vrf: Fix broken test case
	qlcnic: dcb: default to returning -EOPNOTSUPP
	net/x25: Fix null-ptr-deref caused by x25_disconnect
	NFSv4/pNFS: Fix another issue with a list iterator pointing to the head
	net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
	fs: fd tables have to be multiples of BITS_PER_LONG
	lib/test: use after free in register_test_dev_kmod()
	fs: fix fd table size alignment properly
	LSM: general protection fault in legacy_parse_param
	regulator: rpi-panel: Handle I2C errors/timing to the Atmel
	gcc-plugins/stackleak: Exactly match strings instead of prefixes
	pinctrl: npcm: Fix broken references to chip->parent_device
	block, bfq: don't move oom_bfqq
	selinux: use correct type for context length
	selinux: allow FIOCLEX and FIONCLEX with policy capability
	loop: use sysfs_emit() in the sysfs xxx show()
	Fix incorrect type in assignment of ipv6 port for audit
	irqchip/qcom-pdc: Fix broken locking
	irqchip/nvic: Release nvic_base upon failure
	fs/binfmt_elf: Fix AT_PHDR for unusual ELF files
	bfq: fix use-after-free in bfq_dispatch_request
	ACPICA: Avoid walking the ACPI Namespace if it is not there
	lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3
	Revert "Revert "block, bfq: honor already-setup queue merges""
	ACPI/APEI: Limit printable size of BERT table data
	PM: core: keep irq flags in device_pm_check_callbacks()
	parisc: Fix handling off probe non-access faults
	nvme-tcp: lockdep: annotate in-kernel sockets
	spi: tegra20: Use of_device_get_match_data()
	locking/lockdep: Iterate lock_classes directly when reading lockdep files
	ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb
	ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit
	ext4: don't BUG if someone dirty pages without asking ext4 first
	f2fs: fix to do sanity check on curseg->alloc_type
	NFSD: Fix nfsd_breaker_owns_lease() return values
	f2fs: compress: fix to print raw data size in error path of lz4 decompression
	ntfs: add sanity check on allocation size
	media: staging: media: zoran: move videodev alloc
	media: staging: media: zoran: calculate the right buffer number for zoran_reap_stat_com
	media: staging: media: zoran: fix various V4L2 compliance errors
	media: ir_toy: free before error exiting
	video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
	video: fbdev: w100fb: Reset global state
	video: fbdev: cirrusfb: check pixclock to avoid divide by zero
	video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
	ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
	ARM: dts: bcm2837: Add the missing L1/L2 cache information
	ASoC: madera: Add dependencies on MFD
	media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boards
	media: atomisp: fix dummy_ptr check to avoid duplicate active_bo
	ARM: ftrace: avoid redundant loads or clobbering IP
	ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk
	arm64: defconfig: build imx-sdma as a module
	video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
	video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
	video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit
	ARM: dts: bcm2711: Add the missing L1/L2 cache information
	ASoC: soc-core: skip zero num_dai component in searching dai name
	media: cx88-mpeg: clear interrupt status register before streaming video
	uaccess: fix type mismatch warnings from access_ok()
	lib/test_lockup: fix kernel pointer check for separate address spaces
	ARM: tegra: tamonten: Fix I2C3 pad setting
	ARM: mmp: Fix failure to remove sram device
	video: fbdev: sm712fb: Fix crash in smtcfb_write()
	media: Revert "media: em28xx: add missing em28xx_close_extension"
	media: hdpvr: initialize dev->worker at hdpvr_register_videodev
	mmc: host: Return an error when ->enable_sdio_irq() ops is missing
	media: atomisp: fix bad usage at error handling logic
	ALSA: hda/realtek: Add alc256-samsung-headphone fixup
	KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU
	powerpc/kasan: Fix early region not updated correctly
	powerpc/lib/sstep: Fix 'sthcx' instruction
	powerpc/lib/sstep: Fix build errors with newer binutils
	powerpc: Fix build errors with newer binutils
	scsi: qla2xxx: Fix stuck session in gpdb
	scsi: qla2xxx: Fix scheduling while atomic
	scsi: qla2xxx: Fix wrong FDMI data for 64G adapter
	scsi: qla2xxx: Fix warning for missing error code
	scsi: qla2xxx: Fix device reconnect in loop topology
	scsi: qla2xxx: Add devids and conditionals for 28xx
	scsi: qla2xxx: Check for firmware dump already collected
	scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()
	scsi: qla2xxx: Fix disk failure to rediscover
	scsi: qla2xxx: Fix incorrect reporting of task management failure
	scsi: qla2xxx: Fix hang due to session stuck
	scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests
	scsi: qla2xxx: Fix N2N inconsistent PLOGI
	scsi: qla2xxx: Reduce false trigger to login
	scsi: qla2xxx: Use correct feature type field during RFF_ID processing
	platform: chrome: Split trace include file
	KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
	KVM: Prevent module exit until all VMs are freed
	KVM: x86: fix sending PV IPI
	KVM: SVM: fix panic on out-of-bounds guest IRQ
	ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM
	ubifs: rename_whiteout: Fix double free for whiteout_ui->data
	ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
	ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
	ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
	ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
	ubifs: Fix to add refcount once page is set private
	ubifs: rename_whiteout: correct old_dir size computing
	wireguard: queueing: use CFI-safe ptr_ring cleanup function
	wireguard: socket: free skb in send6 when ipv6 is disabled
	wireguard: socket: ignore v6 endpoints when ipv6 is disabled
	XArray: Fix xas_create_range() when multi-order entry present
	can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
	can: mcba_usb: properly check endpoint type
	can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value
	XArray: Update the LRU list in xas_split()
	rtc: check if __rtc_read_time was successful
	gfs2: Make sure FITRIM minlen is rounded up to fs block size
	net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware
	rxrpc: Fix call timer start racing with call destruction
	mailbox: imx: fix wakeup failure from freeze mode
	crypto: arm/aes-neonbs-cbc - Select generic cbc and aes
	watch_queue: Free the page array when watch_queue is dismantled
	pinctrl: pinconf-generic: Print arguments for bias-pull-*
	watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function
	pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR()
	pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE()
	ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs
	ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl
	ARM: iop32x: offset IRQ numbers by 1
	io_uring: fix memory leak of uid in files registration
	riscv module: remove (NOLOAD)
	ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
	platform/chrome: cros_ec_typec: Check for EC device
	can: isotp: restore accidentally removed MSG_PEEK feature
	proc: bootconfig: Add null pointer check
	staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet
	ASoC: soc-compress: Change the check for codec_dai
	batman-adv: Check ptr for NULL before reducing its refcnt
	mm/mmap: return 1 from stack_guard_gap __setup() handler
	ARM: 9187/1: JIVE: fix return value of __setup handler
	mm/memcontrol: return 1 from cgroup.memory __setup() handler
	mm/usercopy: return 1 from hardened_usercopy __setup() handler
	bpf: Adjust BPF stack helper functions to accommodate skip > 0
	bpf: Fix comment for helper bpf_current_task_under_cgroup()
	dt-bindings: mtd: nand-controller: Fix the reg property description
	dt-bindings: mtd: nand-controller: Fix a comment in the examples
	dt-bindings: spi: mxic: The interrupt property is not mandatory
	ubi: fastmap: Return error code if memory allocation fails in add_aeb()
	ASoC: topology: Allow TLV control to be either read or write
	ARM: dts: spear1340: Update serial node properties
	ARM: dts: spear13xx: Update SPI dma properties
	um: Fix uml_mconsole stop/go
	docs: sysctl/kernel: add missing bit to panic_print
	openvswitch: Fixed nd target mask field in the flow dump.
	KVM: x86/mmu: do compare-and-exchange of gPTE via the user address
	can: m_can: m_can_tx_handler(): fix use after free of skb
	can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
	coredump: Snapshot the vmas in do_coredump
	coredump: Remove the WARN_ON in dump_vma_snapshot
	coredump/elf: Pass coredump_params into fill_note_info
	coredump: Use the vma snapshot in fill_files_note
	arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones
	PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup"
	Linux 5.10.110

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I12fbe227793dd40c0582588e1700cf88cafd0ac6
2022-04-18 17:41:18 +02:00
Theodore Ts'o
330d0e44fc ext4: don't BUG if someone dirty pages without asking ext4 first
[ Upstream commit cc5095747edfb054ca2068d01af20be3fcc3634f ]

[un]pin_user_pages_remote is dirtying pages without properly warning
the file system in advance.  A related race was noted by Jan Kara in
2018[1]; however, more recently instead of it being a very hard-to-hit
race, it could be reliably triggered by process_vm_writev(2) which was
discovered by Syzbot[2].

This is technically a bug in mm/gup.c, but arguably ext4 is fragile in
that if some other kernel subsystem dirty pages without properly
notifying the file system using page_mkwrite(), ext4 will BUG, while
other file systems will not BUG (although data will still be lost).

So instead of crashing with a BUG, issue a warning (since there may be
potential data loss) and just mark the page as clean to avoid
unprivileged denial of service attacks until the problem can be
properly fixed.  More discussion and background can be found in the
thread starting at [2].

[1] https://lore.kernel.org/linux-mm/20180103100430.GE4911@quack2.suse.cz
[2] https://lore.kernel.org/r/Yg0m6IjcNmfaSokM@google.com

Reported-by: syzbot+d59332e2db681cf18f0318a06e994ebbb529a8db@syzkaller.appspotmail.com
Reported-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Link: https://lore.kernel.org/r/YiDS9wVfq4mM2jGK@mit.edu
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-04-08 14:40:32 +02:00