Commit Graph

177 Commits

Author SHA1 Message Date
Kalesh Singh
66aebe42e6 ANDROID: 16K: Fixup padding vm_flags bits on VMA splits
In some cases VMAs are split without the mmap write lock held;
later the lock is taken to fixup vm_flags of the original VMA.
Since some uppper bits of vm_flags are used to encode the ELF
padding ranges, they need to be modified on splits. This is
usually handled correctly by __split_vma(). However in the above
case, the flags get over witten later under the write lock.

Preserve vm_flag bits on reset to correctly represent padding.

Bug: 357901498
Change-Id: I1cb75419e614791a47cbdb0341373f619daf0bf2
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-10-10 16:12:11 -07:00
Kalesh Singh
778abad3ac ANDROID: 16K: Use MADV_DONTNEED to save VMA padding pages.
When performing LOAD segment extension, the dynamic linker knows what
portion of the VMA is padding. In order for the kernel to implement
mitigations that ensure app compatibility, the extent of the padding
must be made available to the kernel.

To achieve this, reuse MADV_DONTNEED on single VMAs to hint the padding
range to the kernel. This information is then stored in vm_flag bits.
This allows userspace (dynamic linker) to set the padding pages on the
VMA without a need for new out-of-tree UAPI.

Bug: 330117029
Bug: 327600007
Bug: 330767927
Bug: 328266487
Bug: 329803029
Change-Id: I3421de32ab38ad3cb0fbce73ecbd8f7314287cde
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-05-02 15:06:14 -07:00
zihan ju
91d2427218 ANDROID: Add Interrupt Hook for madvise Compression
We introduce an interrupt hook in Android to manage memory compression
using madvise, improving user experience.

Currently, when a user returns to the home screen, memory compression is
triggered using madvise. The vma and PAGEOUT flag are sent to
process_madvise, initiating page reclaim.

However, if an app is re-opened soon after starting compression, the
reclaim process can cause read delays, leading to potential lag.

To resolve this, we propose to skip pte range traversal. By comparing
the vma's task uid with the current app's uid, we can identify and
interrupt the madvise operation for that vma.

Implementing this requires a vendor hook for should_end_madvise. This
allows us to skip traversal, enhancing user experience.

Bug: 307846869

Change-Id: If2bdbc200b7305e92f836353b7356aa115e00705
Signed-off-by: zihan ju <zihan.ju@transsion.com>
2023-11-01 19:07:41 +00:00
shenjiangjiang
28f1c8e015 ANDROID: vendor_hook: Add hook to abort reclaim and compaction
We need to abort the reclaim/compaction by sending
signal(such as SIGUSR2) to the reclaim thread, or
just abort when cpu-usage is too-high or free-mem is enough.

Bug: 289987875
Change-Id: I4b637cbd2b37235eec27a985a9b5b95598247c59
Signed-off-by: shenjiangjiang <shenjiangjiang@oppo.com>
(cherry picked from commit 024628cc9203cbd4f8471d98435b3a3d6f85764d)
2023-07-18 17:31:55 +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
Suren Baghdasaryan
bfdcf47ca3 ANDROID: mm: remove sequence counting when mmap_lock is not exclusively owned
In a number of cases vm_write_{begin|end} is called while mmap_lock is
not owned exclusively. This is unnecessary and can affect correctness of
the sequence counting protecting speculative page fault handlers. Remove
extra calls.

Bug: 257443051
Change-Id: I1278638a0794448e22fbdab5601212b3b2eaebdc
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2022-11-27 09:29:02 -08:00
Pavankumar Kondeti
d84fac9795 FROMGIT: mm/madvise: fix madvise_pageout for private file mappings
When MADV_PAGEOUT is called on a private file mapping VMA region,
we bail out early if the process is neither owner nor write capable
of the file. However, this VMA may have both private/shared clean
pages and private dirty pages. The opportunity of paging out the
private dirty pages (Anon pages) is missed. Fix this by caching
the file access check and use it later along with PageAnon() during
page walk.

We observe ~10% improvement in zram usage, thus leaving more available
memory on a 4GB RAM system running Android.

Link: https://lkml.kernel.org/r/1667971116-12900-1-git-send-email-quic_pkondeti@quicinc.com
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Cc: Charan Teja Kalla <quic_charante@quicinc.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 8fc5be8efc3cf356f25098fbd4bda7c0e949c2ea
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable)

Bug: 259329159
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Change-Id: I5f2d425aec94e5a75ebeaf90f9f5d7adf1975c59
2022-11-22 19:39:40 +00:00
Greg Kroah-Hartman
bc7618b493 This is the 5.10.147 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmM9QpgACgkQONu9yGCS
 aT7hyBAAoFVZrmAekRm6bQp1JBk5zMbZ8tYl4LgtYOncxLBgpf4d3fFXBtL75i45
 Guc+CDVqcmE3lkBlq4Z6IxmbvHSRsn0r9HyDN5zP5HuYYQmECDU7wpO4OTpv3gBC
 +A38tbjVGSsUzJvfXZF07np4NNjxbFtfu19aRBJ9ztX/DMoXxi0+KUtwPPdwN9Tt
 L2Y2T54fI1GsrhqtaS+yD5XVTZUvOy6TPvBd+wvL5UfbhQRX4M5hjOSdbj6qzv4R
 qrI55rtAFqe6q+d3afta4qE6MdZM19pB03/CPPQBST/YITWSzwpIbHkE2Oj+h2QE
 h9anubbw67Ob/HFU1NIaU0GONIlogONFs6SeK2cLoNTU3WedxWQK0G2ny4qdkev+
 jqo8/oEq8eNbt1Orido5ruwp+draMbpVUZfP9tJ2rx7p7nddWh1GPi1vf5VAm/Hh
 3wEbSprolG8ptR2nyvLxCDj6vY3WGSn7GRrje9Wemencutp9277hocrXuL8YQC5u
 kOlVqo5Ju3kNHC5flOQO+gdtp9oUz9jPZNiwYfM8M3i1/WYSpSdIg4Mz1TK10beh
 U84izz7ZFFeI8WxhGQlEC9eWqsDTzmgOVbDiNsl19MdaPXM+yswwtpkNUV+/xVBe
 qoj6mfnI8gSxKfmBG/quw/OcHzrOuxPmPPKvenr+iK3mL2ebBV4=
 =L2ke
 -----END PGP SIGNATURE-----

Merge 5.10.147 into android12-5.10-lts

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

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie6bbda212478a9c78498458b61e39200e6637f31
2022-10-05 18:33:23 +02:00
Minchan Kim
be2cd261ca mm: fix madivse_pageout mishandling on non-LRU page
commit 58d426a7ba92870d489686dfdb9d06b66815a2ab upstream.

MADV_PAGEOUT tries to isolate non-LRU pages and gets a warning from
isolate_lru_page below.

Fix it by checking PageLRU in advance.

------------[ cut here ]------------
trying to isolate tail page
WARNING: CPU: 0 PID: 6175 at mm/folio-compat.c:158 isolate_lru_page+0x130/0x140
Modules linked in:
CPU: 0 PID: 6175 Comm: syz-executor.0 Not tainted 5.18.12 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
RIP: 0010:isolate_lru_page+0x130/0x140

Link: https://lore.kernel.org/linux-mm/485f8c33.2471b.182d5726afb.Coremail.hantianshuo@iie.ac.cn/
Link: https://lkml.kernel.org/r/20220908151204.762596-1-minchan@kernel.org
Fixes: 1a4e58cce8 ("mm: introduce MADV_PAGEOUT")
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reported-by: 韩天ç`• <hantianshuo@iie.ac.cn>
Suggested-by: Yang Shi <shy828301@gmail.com>
Acked-by: Yang Shi <shy828301@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-10-05 10:38:40 +02:00
Pavankumar Kondeti
6d04d8ce90 ANDROID: vendor_hooks: Allow shared pages reclaim via MADV_PAGEOUT
Add a hook in madvise_cold_or_pageout_pte_range() to allow
vendor modules to influence the shared pages reclaim.

Bug: 242678506
Change-Id: I269a385b59f7291c2e96478674bb3d05f94584cb
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
2022-09-26 19:36:39 +05:30
Bing Han
e3f469befb ANDROID: vendor_hooks: Add hooks to madvise_cold_or_pageout_pte_range()
Provide a vendor hook android_vh_page_isolated_for_reclaim to
process whether the page should be reclaimed to a specified
swap(i.e., the expanded memory).
This strategy will take into account the state of the current
process/application, resource usage, and other information.

Bug: 234214858
Signed-off-by: Bing Han <bing.han@transsion.com>
Change-Id: Id80a377c87bea13922e7b23963b050ab37ba0cb0
2022-06-30 03:00:23 +00: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
Charan Teja Kalla
608c501d70 Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"
commit e6b0a7b357659c332231621e4315658d062c23ee upstream.

This reverts commit 08095d6310a7 ("mm: madvise: skip unmapped vma holes
passed to process_madvise") as process_madvise() fails to return the
exact processed bytes in other cases too.

As an example: if process_madvise() hits mlocked pages after processing
some initial bytes passed in [start, end), it just returns EINVAL
although some bytes are processed.  Thus making an exception only for
ENOMEM is partially fixing the problem of returning the proper advised
bytes.

Thus revert this patch and return proper bytes advised.

Link: https://lkml.kernel.org/r/e73da1304a88b6a8a11907045117cccf4c2b8374.1648046642.git.quic_charante@quicinc.com
Fixes: 08095d6310a7ce ("mm: madvise: skip unmapped vma holes passed to process_madvise")
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Nadav Amit <nadav.amit@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-08 14:39:54 +02:00
Charan Teja Kalla
8b354e3032 mm: madvise: return correct bytes advised with process_madvise
commit 5bd009c7c9a9e888077c07535dc0c70aeab242c3 upstream.

Patch series "mm: madvise: return correct bytes processed with
process_madvise", v2.  With the process_madvise(), always choose to return
non zero processed bytes over an error.  This can help the user to know on
which VMA, passed in the 'struct iovec' vector list, is failed to advise
thus can take the decission of retrying/skipping on that VMA.

This patch (of 2):

The process_madvise() system call returns error even after processing some
VMA's passed in the 'struct iovec' vector list which leaves the user
confused to know where to restart the advise next.  It is also against
this syscall man page[1] documentation where it mentions that "return
value may be less than the total number of requested bytes, if an error
occurred after some iovec elements were already processed.".

Consider a user passed 10 VMA's in the 'struct iovec' vector list of which
9 are processed but one.  Then it just returns the error caused on that
failed VMA despite the first 9 VMA's processed, leaving the user confused
about on which VMA it is failed.  Returning the number of bytes processed
here can help the user to know which VMA it is failed on and thus can
retry/skip the advise on that VMA.

[1]https://man7.org/linux/man-pages/man2/process_madvise.2.html.

Link: https://lkml.kernel.org/r/cover.1647008754.git.quic_charante@quicinc.com
Link: https://lkml.kernel.org/r/125b61a0edcee5c2db8658aed9d06a43a19ccafc.1647008754.git.quic_charante@quicinc.com
Fixes: ecb8ac8b1f14("mm/madvise: introduce process_madvise() syscall: an external memory hinting API")
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Nadav Amit <nadav.amit@gmail.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-08 14:39:53 +02:00
Charan Teja Kalla
928c06c114 mm: madvise: skip unmapped vma holes passed to process_madvise
commit 08095d6310a7ce43256b4251577bc66a25c6e1a6 upstream.

The process_madvise() system call is expected to skip holes in vma passed
through 'struct iovec' vector list.  But do_madvise, which
process_madvise() calls for each vma, returns ENOMEM in case of unmapped
holes, despite the VMA is processed.

Thus process_madvise() should treat ENOMEM as expected and consider the
VMA passed to as processed and continue processing other vma's in the
vector list.  Returning -ENOMEM to user, despite the VMA is processed,
will be unable to figure out where to start the next madvise.

Link: https://lkml.kernel.org/r/4f091776142f2ebf7b94018146de72318474e686.1647008754.git.quic_charante@quicinc.com
Fixes: ecb8ac8b1f14("mm/madvise: introduce process_madvise() syscall: an external memory hinting API")
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Nadav Amit <nadav.amit@gmail.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-08 14:39:53 +02:00
Liujie Xie
2e06e5e6f8 FROMLIST: mm/madvise: add MADV_WILLNEED to process_madvise()
There is a usecase in Android that an app process's memory is swapped
out by process_madvise() with MADV_PAGEOUT, such as the memory is
swapped to zram or a backing device. When the process is scheduled to
running, like switch to foreground, multiple page faults may cause the
app dropped frames.

To reduce the problem, SMS can read-ahead memory of the process
immediately when the app switches to forground.
Calling process_madvise() with MADV_WILLNEED can meet this need.

Link: https://lore.kernel.org/patchwork/patch/1472006/
Bug: 194967441
Signed-off-by: Kui Zhang <zhagnkui@oppo.com>
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: Ie4203ff76da74cf34498cfee6569a6c7fc624bb2
2021-08-16 15:13:13 +00:00
Greg Kroah-Hartman
3ccfc59f82 This is the 5.10.24 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmBSKS0ACgkQONu9yGCS
 aT7Ngg//c4C1WnWC0sNWzP3xT2paCkLnUUyjQTmrkbPvLtr2DvehW5Bvp/32pGiS
 8mDMoTLq3QxNrfrU6SY3KavZRC9Pa+migAsVmuujygQwNphqv95/XxnFemFEAYTl
 b8b5OJPyomzMMEwHzx1Tr+7/d58czrqXo97QI0lmaDlHl+9JKTg2SMX9AkHkU8pK
 zYjbtzdhd9UZCTdVYY1ZFkQ1ik1iAWo3Xv0G2aMeQQpuGcZIh/Y66xBuyH+8g+Yz
 3mInhPQvhkb+c+m4ZJ9NhOUVEW4Fl0fq0mVrrYkfHqXe0D36Vj/yYvO/yTSBqb4+
 XQ5PLXX3KFVDFl1id94unXGgP3c0zBe30JZPqKdpSET+PzOlGiZTxMCfjPeTgu/Z
 7xc2qSX1zn273HMTRrT1daO4/NXQ85kE04mZMzq7cqDpum7ltfKrEMum/Gma+dJz
 Knn47oZHbSW4Er/WcAwHSeZpxvD7AahG/GlsQRy+IVPu/jMXJHmo2/Nv1fLJWp+G
 7VVWRXug69hywGr7hFiT3USG2C5g5cV3/dEO8NFFjGKRa5CbLbQD6B3+Dz3dXyBH
 jE3MGIoqoNk+SvJOAf2ogu7SS6wLynZWOchmAVvIQ4QEzcP2jroeFHKD49MYxDUE
 dKcq0dtfMc4nUaUZ/XRfWtS9fSm+T4XonmvEY4yXnAyfZ0aeEM8=
 =FdFm
 -----END PGP SIGNATURE-----

Merge 5.10.24 into android12-5.10-lts

Changes in 5.10.24
	uapi: nfnetlink_cthelper.h: fix userspace compilation error
	powerpc/perf: Fix handling of privilege level checks in perf interrupt context
	powerpc/pseries: Don't enforce MSI affinity with kdump
	ethernet: alx: fix order of calls on resume
	crypto: mips/poly1305 - enable for all MIPS processors
	ath9k: fix transmitting to stations in dynamic SMPS mode
	net: Fix gro aggregation for udp encaps with zero csum
	net: check if protocol extracted by virtio_net_hdr_set_proto is correct
	net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0
	net: l2tp: reduce log level of messages in receive path, add counter instead
	can: skb: can_skb_set_owner(): fix ref counting if socket was closed before setting skb ownership
	can: flexcan: assert FRZ bit in flexcan_chip_freeze()
	can: flexcan: enable RX FIFO after FRZ/HALT valid
	can: flexcan: invoke flexcan_chip_freeze() to enter freeze mode
	can: tcan4x5x: tcan4x5x_init(): fix initialization - clear MRAM before entering Normal Mode
	tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE)
	tcp: add sanity tests to TCP_QUEUE_SEQ
	netfilter: nf_nat: undo erroneous tcp edemux lookup
	netfilter: x_tables: gpf inside xt_find_revision()
	net: always use icmp{,v6}_ndo_send from ndo_start_xmit
	net: phy: fix save wrong speed and duplex problem if autoneg is on
	selftests/bpf: Use the last page in test_snprintf_btf on s390
	selftests/bpf: No need to drop the packet when there is no geneve opt
	selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier
	samples, bpf: Add missing munmap in xdpsock
	libbpf: Clear map_info before each bpf_obj_get_info_by_fd
	ibmvnic: Fix possibly uninitialized old_num_tx_queues variable warning.
	ibmvnic: always store valid MAC address
	mt76: dma: do not report truncated frames to mac80211
	powerpc/603: Fix protection of user pages mapped with PROT_NONE
	mount: fix mounting of detached mounts onto targets that reside on shared mounts
	cifs: return proper error code in statfs(2)
	Revert "mm, slub: consider rest of partial list if acquire_slab() fails"
	docs: networking: drop special stable handling
	net: dsa: tag_rtl4_a: fix egress tags
	sh_eth: fix TRSCER mask for SH771x
	net: enetc: don't overwrite the RSS indirection table when initializing
	net: enetc: take the MDIO lock only once per NAPI poll cycle
	net: enetc: fix incorrect TPID when receiving 802.1ad tagged packets
	net: enetc: don't disable VLAN filtering in IFF_PROMISC mode
	net: enetc: force the RGMII speed and duplex instead of operating in inband mode
	net: enetc: remove bogus write to SIRXIDR from enetc_setup_rxbdr
	net: enetc: keep RX ring consumer index in sync with hardware
	net: ethernet: mtk-star-emac: fix wrong unmap in RX handling
	net/mlx4_en: update moderation when config reset
	net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10
	nexthop: Do not flush blackhole nexthops when loopback goes down
	net: sched: avoid duplicates in classes dump
	net: mscc: ocelot: properly reject destination IP keys in VCAP IS1
	net: dsa: sja1105: fix SGMII PCS being forced to SPEED_UNKNOWN instead of SPEED_10
	net: usb: qmi_wwan: allow qmimux add/del with master up
	netdevsim: init u64 stats for 32bit hardware
	cipso,calipso: resolve a number of problems with the DOI refcounts
	net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII
	stmmac: intel: Fixes clock registration error seen for multiple interfaces
	net: lapbether: Remove netif_start_queue / netif_stop_queue
	net: davicom: Fix regulator not turned off on failed probe
	net: davicom: Fix regulator not turned off on driver removal
	net: enetc: allow hardware timestamping on TX queues with tc-etf enabled
	net: qrtr: fix error return code of qrtr_sendmsg()
	s390/qeth: fix memory leak after failed TX Buffer allocation
	r8169: fix r8168fp_adjust_ocp_cmd function
	ixgbe: fail to create xfrm offload of IPsec tunnel mode SA
	tools/resolve_btfids: Fix build error with older host toolchains
	perf build: Fix ccache usage in $(CC) when generating arch errno table
	net: stmmac: stop each tx channel independently
	net: stmmac: fix watchdog timeout during suspend/resume stress test
	net: stmmac: fix wrongly set buffer2 valid when sph unsupport
	ethtool: fix the check logic of at least one channel for RX/TX
	net: phy: make mdio_bus_phy_suspend/resume as __maybe_unused
	selftests: forwarding: Fix race condition in mirror installation
	mlxsw: spectrum_ethtool: Add an external speed to PTYS register
	perf traceevent: Ensure read cmdlines are null terminated.
	perf report: Fix -F for branch & mem modes
	net: hns3: fix query vlan mask value error for flow director
	net: hns3: fix bug when calculating the TCAM table info
	s390/cio: return -EFAULT if copy_to_user() fails again
	bnxt_en: reliably allocate IRQ table on reset to avoid crash
	gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk
	gpiolib: acpi: Allow to find GpioInt() resource by name and index
	gpio: pca953x: Set IRQ type when handle Intel Galileo Gen 2
	gpio: fix gpio-device list corruption
	drm/compat: Clear bounce structures
	drm/amd/display: Add a backlight module option
	drm/amdgpu/display: use GFP_ATOMIC in dcn21_validate_bandwidth_fp()
	drm/amd/display: Fix nested FPU context in dcn21_validate_bandwidth()
	drm/amd/pm: bug fix for pcie dpm
	drm/amdgpu/display: simplify backlight setting
	drm/amdgpu/display: don't assert in set backlight function
	drm/amdgpu/display: handle aux backlight in backlight_get_brightness
	drm/shmem-helper: Check for purged buffers in fault handler
	drm/shmem-helper: Don't remove the offset in vm_area_struct pgoff
	drm: Use USB controller's DMA mask when importing dmabufs
	drm: meson_drv add shutdown function
	drm/shmem-helpers: vunmap: Don't put pages for dma-buf
	drm/i915: Wedge the GPU if command parser setup fails
	s390/cio: return -EFAULT if copy_to_user() fails
	s390/crypto: return -EFAULT if copy_to_user() fails
	qxl: Fix uninitialised struct field head.surface_id
	sh_eth: fix TRSCER mask for R7S9210
	media: usbtv: Fix deadlock on suspend
	media: rkisp1: params: fix wrong bits settings
	media: v4l: vsp1: Fix uif null pointer access
	media: v4l: vsp1: Fix bru null pointer access
	media: rc: compile rc-cec.c into rc-core
	cifs: fix credit accounting for extra channel
	net: hns3: fix error mask definition of flow director
	s390/qeth: don't replace a fully completed async TX buffer
	s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state
	s390/qeth: improve completion of pending TX buffers
	s390/qeth: fix notification for pending buffers during teardown
	net: dsa: implement a central TX reallocation procedure
	net: dsa: tag_ksz: don't allocate additional memory for padding/tagging
	net: dsa: trailer: don't allocate additional memory for padding/tagging
	net: dsa: tag_qca: let DSA core deal with TX reallocation
	net: dsa: tag_ocelot: let DSA core deal with TX reallocation
	net: dsa: tag_mtk: let DSA core deal with TX reallocation
	net: dsa: tag_lan9303: let DSA core deal with TX reallocation
	net: dsa: tag_edsa: let DSA core deal with TX reallocation
	net: dsa: tag_brcm: let DSA core deal with TX reallocation
	net: dsa: tag_dsa: let DSA core deal with TX reallocation
	net: dsa: tag_gswip: let DSA core deal with TX reallocation
	net: dsa: tag_ar9331: let DSA core deal with TX reallocation
	net: dsa: tag_mtk: fix 802.1ad VLAN egress
	enetc: Fix unused var build warning for CONFIG_OF
	net: enetc: initialize RFS/RSS memories for unused ports too
	ath11k: peer delete synchronization with firmware
	ath11k: start vdev if a bss peer is already created
	ath11k: fix AP mode for QCA6390
	i2c: rcar: faster irq code to minimize HW race condition
	i2c: rcar: optimize cacheline to minimize HW race condition
	scsi: ufs: WB is only available on LUN #0 to #7
	udf: fix silent AED tagLocation corruption
	iommu/vt-d: Clear PRQ overflow only when PRQ is empty
	mmc: mxs-mmc: Fix a resource leak in an error handling path in 'mxs_mmc_probe()'
	mmc: mediatek: fix race condition between msdc_request_timeout and irq
	mmc: sdhci-iproc: Add ACPI bindings for the RPi
	Platform: OLPC: Fix probe error handling
	powerpc/pci: Add ppc_md.discover_phbs()
	spi: stm32: make spurious and overrun interrupts visible
	powerpc: improve handling of unrecoverable system reset
	powerpc/perf: Record counter overflow always if SAMPLE_IP is unset
	HID: logitech-dj: add support for the new lightspeed connection iteration
	powerpc/64: Fix stack trace not displaying final frame
	iommu/amd: Fix performance counter initialization
	clk: qcom: gdsc: Implement NO_RET_PERIPH flag
	sparc32: Limit memblock allocation to low memory
	sparc64: Use arch_validate_flags() to validate ADI flag
	Input: applespi - don't wait for responses to commands indefinitely.
	PCI: xgene-msi: Fix race in installing chained irq handler
	PCI: mediatek: Add missing of_node_put() to fix reference leak
	drivers/base: build kunit tests without structleak plugin
	PCI/LINK: Remove bandwidth notification
	ext4: don't try to processed freed blocks until mballoc is initialized
	kbuild: clamp SUBLEVEL to 255
	PCI: Fix pci_register_io_range() memory leak
	i40e: Fix memory leak in i40e_probe
	kasan: fix memory corruption in kasan_bitops_tags test
	s390/smp: __smp_rescan_cpus() - move cpumask away from stack
	drivers/base/memory: don't store phys_device in memory blocks
	sysctl.c: fix underflow value setting risk in vm_table
	scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling
	scsi: target: core: Add cmd length set before cmd complete
	scsi: target: core: Prevent underflow for service actions
	clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc
	mmc: sdhci: Update firmware interface API
	ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler
	ARM: assembler: introduce adr_l, ldr_l and str_l macros
	ARM: efistub: replace adrl pseudo-op with adr_l macro invocation
	ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk
	ALSA: hda/hdmi: Cancel pending works before suspend
	ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5
	ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support
	ALSA: hda: Drop the BATCH workaround for AMD controllers
	ALSA: hda: Flush pending unsolicited events before suspend
	ALSA: hda: Avoid spurious unsol event handling during S3/S4
	ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar
	ALSA: usb-audio: Apply the control quirk to Plantronics headsets
	ALSA: usb-audio: Disable USB autosuspend properly in setup_disable_autosuspend()
	ALSA: usb-audio: fix NULL ptr dereference in usb_audio_probe
	ALSA: usb-audio: fix use after free in usb_audio_disconnect
	Revert 95ebabde382c ("capabilities: Don't allow writing ambiguous v3 file capabilities")
	block: Discard page cache of zone reset target range
	block: Try to handle busy underlying device on discard
	arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL
	arm64: mte: Map hotplugged memory as Normal Tagged
	arm64: perf: Fix 64-bit event counter read truncation
	s390/dasd: fix hanging DASD driver unbind
	s390/dasd: fix hanging IO request during DASD driver unbind
	software node: Fix node registration
	xen/events: reset affinity of 2-level event when tearing it down
	mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants
	mmc: core: Fix partition switch time for eMMC
	mmc: cqhci: Fix random crash when remove mmc module/card
	cifs: do not send close in compound create+close requests
	Goodix Fingerprint device is not a modem
	USB: gadget: udc: s3c2410_udc: fix return value check in s3c2410_udc_probe()
	USB: gadget: u_ether: Fix a configfs return code
	usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio slot
	usb: gadget: f_uac1: stop playback on function disable
	usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement
	usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot
	usb: dwc3: qcom: add ACPI device id for sc8180x
	usb: dwc3: qcom: Honor wakeup enabled/disabled state
	USB: usblp: fix a hang in poll() if disconnected
	usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM
	usb: xhci: do not perform Soft Retry for some xHCI hosts
	xhci: Improve detection of device initiated wake signal.
	usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing
	xhci: Fix repeated xhci wake after suspend due to uncleared internal wake state
	USB: serial: io_edgeport: fix memory leak in edge_startup
	USB: serial: ch341: add new Product ID
	USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter
	USB: serial: cp210x: add some more GE USB IDs
	usbip: fix stub_dev to check for stream socket
	usbip: fix vhci_hcd to check for stream socket
	usbip: fix vudc to check for stream socket
	usbip: fix stub_dev usbip_sockfd_store() races leading to gpf
	usbip: fix vhci_hcd attach_store() races leading to gpf
	usbip: fix vudc usbip_sockfd_store races leading to gpf
	Revert "serial: max310x: rework RX interrupt handling"
	misc/pvpanic: Export module FDT device table
	misc: fastrpc: restrict user apps from sending kernel RPC messages
	staging: rtl8192u: fix ->ssid overflow in r8192_wx_set_scan()
	staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan()
	staging: rtl8712: unterminated string leads to read overflow
	staging: rtl8188eu: fix potential memory corruption in rtw_check_beacon_data()
	staging: ks7010: prevent buffer overflow in ks_wlan_set_scan()
	staging: rtl8712: Fix possible buffer overflow in r8712_sitesurvey_cmd
	staging: rtl8192e: Fix possible buffer overflow in _rtl92e_wx_set_scan
	staging: comedi: addi_apci_1032: Fix endian problem for COS sample
	staging: comedi: addi_apci_1500: Fix endian problem for command sample
	staging: comedi: adv_pci1710: Fix endian problem for AI command data
	staging: comedi: das6402: Fix endian problem for AI command data
	staging: comedi: das800: Fix endian problem for AI command data
	staging: comedi: dmm32at: Fix endian problem for AI command data
	staging: comedi: me4000: Fix endian problem for AI command data
	staging: comedi: pcl711: Fix endian problem for AI command data
	staging: comedi: pcl818: Fix endian problem for AI command data
	sh_eth: fix TRSCER mask for R7S72100
	cpufreq: qcom-hw: fix dereferencing freed memory 'data'
	cpufreq: qcom-hw: Fix return value check in qcom_cpufreq_hw_cpu_init()
	arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory
	SUNRPC: Set memalloc_nofs_save() for sync tasks
	NFS: Don't revalidate the directory permissions on a lookup failure
	NFS: Don't gratuitously clear the inode cache when lookup failed
	NFSv4.2: fix return value of _nfs4_get_security_label()
	block: rsxx: fix error return code of rsxx_pci_probe()
	nvme-fc: fix racing controller reset and create association
	configfs: fix a use-after-free in __configfs_open_file
	arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds
	perf/core: Flush PMU internal buffers for per-CPU events
	perf/x86/intel: Set PERF_ATTACH_SCHED_CB for large PEBS and LBR
	hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event()
	powerpc/64s/exception: Clean up a missed SRR specifier
	seqlock,lockdep: Fix seqcount_latch_init()
	stop_machine: mark helpers __always_inline
	include/linux/sched/mm.h: use rcu_dereference in in_vfork()
	zram: fix return value on writeback_store
	linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP*
	sched/membarrier: fix missing local execution of ipi_sync_rq_state()
	efi: stub: omit SetVirtualAddressMap() if marked unsupported in RT_PROP table
	powerpc/64s: Fix instruction encoding for lis in ppc_function_entry()
	powerpc: Fix inverted SET_FULL_REGS bitop
	powerpc: Fix missing declaration of [en/dis]able_kernel_vsx()
	binfmt_misc: fix possible deadlock in bm_register_write
	x86/unwind/orc: Disable KASAN checking in the ORC unwinder, part 2
	x86/sev-es: Introduce ip_within_syscall_gap() helper
	x86/sev-es: Check regs->sp is trusted before adjusting #VC IST stack
	x86/entry: Move nmi entry/exit into common code
	x86/sev-es: Correctly track IRQ states in runtime #VC handler
	x86/sev-es: Use __copy_from_user_inatomic()
	x86/entry: Fix entry/exit mismatch on failed fast 32-bit syscalls
	KVM: x86: Ensure deadline timer has truly expired before posting its IRQ
	KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged
	KVM: arm64: Fix range alignment when walking page tables
	KVM: arm64: Avoid corrupting vCPU context register in guest exit
	KVM: arm64: nvhe: Save the SPE context early
	KVM: arm64: Reject VM creation when the default IPA size is unsupported
	KVM: arm64: Fix exclusive limit for IPA size
	mm/userfaultfd: fix memory corruption due to writeprotect
	mm/madvise: replace ptrace attach requirement for process_madvise
	KVM: arm64: Ensure I-cache isolation between vcpus of a same VM
	mm/page_alloc.c: refactor initialization of struct page for holes in memory layout
	xen/events: don't unmask an event channel when an eoi is pending
	xen/events: avoid handling the same event on two cpus at the same time
	KVM: arm64: Fix nVHE hyp panic host context restore
	RDMA/umem: Use ib_dma_max_seg_size instead of dma_get_max_seg_size
	Linux 5.10.24

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie53a3c1963066a18d41357b6be41cff00690bd40
2021-03-19 09:42:56 +01:00
Suren Baghdasaryan
518f98e390 mm/madvise: replace ptrace attach requirement for process_madvise
commit 96cfe2c0fd23ea7c2368d14f769d287e7ae1082e upstream.

process_madvise currently requires ptrace attach capability.
PTRACE_MODE_ATTACH gives one process complete control over another
process.  It effectively removes the security boundary between the two
processes (in one direction).  Granting ptrace attach capability even to a
system process is considered dangerous since it creates an attack surface.
This severely limits the usage of this API.

The operations process_madvise can perform do not affect the correctness
of the operation of the target process; they only affect where the data is
physically located (and therefore, how fast it can be accessed).  What we
want is the ability for one process to influence another process in order
to optimize performance across the entire system while leaving the
security boundary intact.

Replace PTRACE_MODE_ATTACH with a combination of PTRACE_MODE_READ and
CAP_SYS_NICE.  PTRACE_MODE_READ to prevent leaking ASLR metadata and
CAP_SYS_NICE for influencing process performance.

Link: https://lkml.kernel.org/r/20210303185807.2160264-1-surenb@google.com
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Minchan Kim <minchan@kernel.org>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Jeff Vander Stoep <jeffv@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Tim Murray <timmurray@google.com>
Cc: Florian Weimer <fweimer@redhat.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: <stable@vger.kernel.org>	[5.10+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-17 17:06:37 +01:00
Laurent Dufour
9cfe16897f FROMLIST: mm: protect VMA modifications using VMA sequence count
The VMA sequence count has been introduced to allow fast detection of
VMA modification when running a page fault handler without holding
the mmap_sem.

This patch provides protection against the VMA modification done in :
	- madvise()
	- mpol_rebind_policy()
	- vma_replace_policy()
	- change_prot_numa()
	- mlock(), munlock()
	- mprotect()
	- mmap_region()
	- collapse_huge_page()
	- userfaultd registering services

In addition, VMA fields which will be read during the speculative fault
path needs to be written using WRITE_ONCE to prevent write to be split
and intermediate values to be pushed to other CPUs.

Change-Id: Ic36046b7254e538b6baf7144c50ae577ee7f2074
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Link: https://lore.kernel.org/lkml/1523975611-15978-10-git-send-email-ldufour@linux.vnet.ibm.com/
Bug: 161210518
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
2021-01-22 17:59:47 +00:00
Greg Kroah-Hartman
19057a6a6b Merge 5.10.4 into android12-5.10
Changes in 5.10.4
	hwmon: (k10temp) Remove support for displaying voltage and current on Zen CPUs
	drm/gma500: fix double free of gma_connector
	iio: adc: at91_adc: add Kconfig dep on the OF symbol and remove of_match_ptr()
	drm/aspeed: Fix Kconfig warning & subsequent build errors
	drm/mcde: Fix handling of platform_get_irq() error
	drm/tve200: Fix handling of platform_get_irq() error
	arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node
	arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node
	soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
	soc: mediatek: Check if power domains can be powered on at boot time
	arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value
	arm64: dts: ipq6018: update the reserved-memory node
	arm64: dts: qcom: sc7180: Fix one forgotten interconnect reference
	soc: qcom: geni: More properly switch to DMA mode
	Revert "i2c: i2c-qcom-geni: Fix DMA transfer race"
	RDMA/bnxt_re: Set queue pair state when being queried
	rtc: pcf2127: fix pcf2127_nvmem_read/write() returns
	RDMA/bnxt_re: Fix entry size during SRQ create
	selinux: fix error initialization in inode_doinit_with_dentry()
	ARM: dts: aspeed-g6: Fix the GPIO memory size
	ARM: dts: aspeed: s2600wf: Fix VGA memory region location
	RDMA/core: Fix error return in _ib_modify_qp()
	RDMA/rxe: Compute PSN windows correctly
	x86/mm/ident_map: Check for errors from ident_pud_init()
	ARM: p2v: fix handling of LPAE translation in BE mode
	RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed
	RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established
	RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex
	x86/apic: Fix x2apic enablement without interrupt remapping
	ASoC: qcom: fix unsigned int bitwidth compared to less than zero
	sched/deadline: Fix sched_dl_global_validate()
	sched: Reenable interrupts in do_sched_yield()
	drm/amdgpu: fix incorrect enum type
	crypto: talitos - Endianess in current_desc_hdr()
	crypto: talitos - Fix return type of current_desc_hdr()
	crypto: inside-secure - Fix sizeof() mismatch
	ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode
	drm/msm: Add missing stub definition
	ARM: dts: aspeed: tiogapass: Remove vuart
	drm/amdgpu: fix build_coefficients() argument
	powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
	spi: img-spfi: fix reference leak in img_spfi_resume
	f2fs: call f2fs_get_meta_page_retry for nat page
	RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr()
	perf test: Use generic event for expand_libpfm_events()
	drm/msm/dp: DisplayPort PHY compliance tests fixup
	drm/msm/dsi_pll_7nm: restore VCO rate during restore_state
	drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
	drm/msm/dpu: fix clock scaling on non-sc7180 board
	spi: spi-mem: fix reference leak in spi_mem_access_start
	scsi: aacraid: Improve compat_ioctl handlers
	pinctrl: core: Add missing #ifdef CONFIG_GPIOLIB
	ASoC: pcm: DRAIN support reactivation
	drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe
	crypto: arm64/poly1305-neon - reorder PAC authentication with SP update
	crypto: arm/aes-neonbs - fix usage of cbc(aes) fallback
	crypto: caam - fix printing on xts fallback allocation error path
	selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
	nl80211/cfg80211: fix potential infinite loop
	spi: stm32: fix reference leak in stm32_spi_resume
	bpf: Fix tests for local_storage
	x86/mce: Correct the detection of invalid notifier priorities
	drm/edid: Fix uninitialized variable in drm_cvt_modes()
	ath11k: Initialize complete alpha2 for regulatory change
	ath11k: Fix number of rules in filtered ETSI regdomain
	ath11k: fix wmi init configuration
	brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free}
	arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
	arm64: dts: exynos: Correct psci compatible used on Exynos7
	drm/panel: simple: Add flags to boe_nv133fhm_n61
	Bluetooth: Fix null pointer dereference in hci_event_packet()
	Bluetooth: Fix: LL PRivacy BLE device fails to connect
	Bluetooth: hci_h5: fix memory leak in h5_close
	spi: stm32-qspi: fix reference leak in stm32 qspi operations
	spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
	spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
	spi: tegra20-slink: fix reference leak in slink ops of tegra20
	spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
	spi: tegra114: fix reference leak in tegra spi ops
	spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
	spi: imx: fix reference leak in two imx operations
	ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of()
	ath11k: Handle errors if peer creation fails
	mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
	drm/msm/a6xx: Clear shadow on suspend
	drm/msm/a5xx: Clear shadow on suspend
	firmware: tegra: fix strncpy()/strncat() confusion
	drm/msm/dp: return correct connection status after suspend
	drm/msm/dp: skip checking LINK_STATUS_UPDATED bit
	drm/msm/dp: do not notify audio subsystem if sink doesn't support audio
	selftests/run_kselftest.sh: fix dry-run typo
	selftest/bpf: Add missed ip6ip6 test back
	ASoC: wm8994: Fix PM disable depth imbalance on error
	ASoC: wm8998: Fix PM disable depth imbalance on error
	spi: sprd: fix reference leak in sprd_spi_remove
	virtiofs fix leak in setup
	ASoC: arizona: Fix a wrong free in wm8997_probe
	RDMa/mthca: Work around -Wenum-conversion warning
	ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG
	arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node
	MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
	drm/amdgpu: fix compute queue priority if num_kcq is less than 4
	soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted
	crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager
	crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
	firmware: arm_scmi: Fix missing destroy_workqueue()
	drm/udl: Fix missing error code in udl_handle_damage()
	staging: greybus: codecs: Fix reference counter leak in error handling
	staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
	scripts: kernel-doc: Restore anonymous enum parsing
	drm/amdkfd: Put ACPI table after using it
	ionic: use mc sync for multicast filters
	ionic: flatten calls to ionic_lif_rx_mode
	ionic: change set_rx_mode from_ndo to can_sleep
	media: tm6000: Fix sizeof() mismatches
	media: platform: add missing put_device() call in mtk_jpeg_clk_init()
	media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm()
	media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
	media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm()
	media: v4l2-fwnode: Return -EINVAL for invalid bus-type
	media: v4l2-fwnode: v4l2_fwnode_endpoint_parse caller must init vep argument
	media: ov5640: fix support of BT656 bus mode
	media: staging: rkisp1: cap: fix runtime PM imbalance on error
	media: cedrus: fix reference leak in cedrus_start_streaming
	media: platform: add missing put_device() call in mtk_jpeg_probe() and mtk_jpeg_remove()
	media: venus: core: change clk enable and disable order in resume and suspend
	media: venus: core: vote for video-mem path
	media: venus: core: vote with average bandwidth and peak bandwidth as zero
	RDMA/cma: Add missing error handling of listen_id
	ASoC: meson: fix COMPILE_TEST error
	spi: dw: fix build error by selecting MULTIPLEXER
	scsi: core: Fix VPD LUN ID designator priorities
	media: venus: put dummy vote on video-mem path after last session release
	media: solo6x10: fix missing snd_card_free in error handling case
	video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
	mmc: sdhci: tegra: fix wrong unit with busy_timeout
	drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
	drm/meson: Free RDMA resources after tearing down DRM
	drm/meson: Unbind all connectors on module removal
	drm/meson: dw-hdmi: Register a callback to disable the regulator
	drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP registers
	ASoC: intel: SND_SOC_INTEL_KEEMBAY should depend on ARCH_KEEMBAY
	iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM
	Input: ads7846 - fix race that causes missing releases
	Input: ads7846 - fix integer overflow on Rt calculation
	Input: ads7846 - fix unaligned access on 7845
	bus: mhi: core: Remove double locking from mhi_driver_remove()
	bus: mhi: core: Fix null pointer access when parsing MHI configuration
	usb/max3421: fix return error code in max3421_probe()
	spi: mxs: fix reference leak in mxs_spi_probe
	selftests/bpf: Fix broken riscv build
	powerpc: Avoid broken GCC __attribute__((optimize))
	powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
	ARM: dts: tacoma: Fix node vs reg mismatch for flash memory
	Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path"
	powerpc/powernv/sriov: fix unsigned int win compared to less than zero
	mfd: htc-i2cpld: Add the missed i2c_put_adapter() in htcpld_register_chip_i2c()
	mfd: MFD_SL28CPLD should depend on ARCH_LAYERSCAPE
	mfd: stmfx: Fix dev_err_probe() call in stmfx_chip_init()
	mfd: cpcap: Fix interrupt regression with regmap clear_ack
	EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId
	scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF
	scsi: ufs: Fix clkgating on/off
	rcu: Allow rcu_irq_enter_check_tick() from NMI
	rcu,ftrace: Fix ftrace recursion
	rcu/tree: Defer kvfree_rcu() allocation to a clean context
	crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
	crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
	crypto: sun8i-ce - fix two error path's memory leak
	spi: fix resource leak for drivers without .remove callback
	drm/meson: dw-hdmi: Disable clocks on driver teardown
	drm/meson: dw-hdmi: Enable the iahb clock early enough
	PCI: Disable MSI for Pericom PCIe-USB adapter
	PCI: brcmstb: Initialize "tmp" before use
	soc: ti: knav_qmss: fix reference leak in knav_queue_probe
	soc: ti: Fix reference imbalance in knav_dma_probe
	drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
	soc: qcom: initialize local variable
	arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp
	arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias
	Input: omap4-keypad - fix runtime PM error handling
	clk: meson: Kconfig: fix dependency for G12A
	staging: mfd: hi6421-spmi-pmic: fix error return code in hi6421_spmi_pmic_probe()
	ath11k: Fix the rx_filter flag setting for peer rssi stats
	RDMA/cxgb4: Validate the number of CQEs
	soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute
	pinctrl: sunxi: fix irq bank map for the Allwinner A100 pin controller
	memstick: fix a double-free bug in memstick_check
	ARM: dts: at91: sam9x60: add pincontrol for USB Host
	ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
	ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
	mmc: pxamci: Fix error return code in pxamci_probe
	brcmfmac: fix error return code in brcmf_cfg80211_connect()
	orinoco: Move context allocation after processing the skb
	qtnfmac: fix error return code in qtnf_pcie_probe()
	rsi: fix error return code in rsi_reset_card()
	cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
	dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
	arm64: dts: qcom: sdm845: Limit ipa iommu streams
	leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata()
	leds: lp50xx: Fix an error handling path in 'lp50xx_probe_dt()'
	leds: turris-omnia: check for LED_COLOR_ID_RGB instead LED_COLOR_ID_MULTI
	arm64: tegra: Fix DT binding for IO High Voltage entry
	RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind
	soundwire: qcom: Fix build failure when slimbus is module
	drm/imx/dcss: fix rotations for Vivante tiled formats
	media: siano: fix memory leak of debugfs members in smsdvb_hotplug
	platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
	platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
	arm64: dts: qcom: sc7180: limit IPA iommu streams
	RDMA/hns: Only record vlan info for HIP08
	RDMA/hns: Fix missing fields in address vector
	RDMA/hns: Avoid setting loopback indicator when smac is same as dmac
	serial: 8250-mtk: Fix reference leak in mtk8250_probe
	samples: bpf: Fix lwt_len_hist reusing previous BPF map
	media: imx214: Fix stop streaming
	mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
	media: max2175: fix max2175_set_csm_mode() error code
	slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
	RDMA/core: Track device memory MRs
	drm/mediatek: Use correct aliases name for ovl
	HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
	ARM: dts: Remove non-existent i2c1 from 98dx3236
	arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name
	power: supply: bq25890: Use the correct range for IILIM register
	arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
	power: supply: max17042_battery: Fix current_{avg,now} hiding with no current sense
	power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
	power: supply: bq24190_charger: fix reference leak
	genirq/irqdomain: Don't try to free an interrupt that has no mapping
	arm64: dts: ls1028a: fix ENETC PTP clock input
	arm64: dts: ls1028a: fix FlexSPI clock input
	arm64: dts: freescale: sl28: combine SPI MTD partitions
	phy: tegra: xusb: Fix usb_phy device driver field
	arm64: dts: qcom: c630: Polish i2c-hid devices
	arm64: dts: qcom: c630: Fix pinctrl pins properties
	PCI: Bounds-check command-line resource alignment requests
	PCI: Fix overflow in command-line resource alignment requests
	PCI: iproc: Fix out-of-bound array accesses
	PCI: iproc: Invalidate correct PAXB inbound windows
	arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
	arm64: dts: meson-sm1: fix typo in opp table
	soc: amlogic: canvas: add missing put_device() call in meson_canvas_get()
	scsi: hisi_sas: Fix up probe error handling for v3 hw
	scsi: pm80xx: Do not sleep in atomic context
	spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set SPI_MCR
	ARM: dts: at91: at91sam9rl: fix ADC triggers
	RDMA/hns: Fix 0-length sge calculation error
	RDMA/hns: Bugfix for calculation of extended sge
	mailbox: arm_mhu_db: Fix mhu_db_shutdown by replacing kfree with devm_kfree
	soundwire: master: use pm_runtime_set_active() on add
	platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
	ASoC: Intel: Boards: tgl_max98373: update TDM slot_width
	media: max9271: Fix GPIO enable/disable
	media: rdacm20: Enable GPIO1 explicitly
	media: i2c: imx219: Selection compliance fixes
	ath11k: Don't cast ath11k_skb_cb to ieee80211_tx_info.control
	ath11k: Reset ath11k_skb_cb before setting new flags
	ath11k: Fix an error handling path
	ath10k: Fix the parsing error in service available event
	ath10k: Fix an error handling path
	ath10k: Release some resources in an error handling path
	SUNRPC: rpc_wake_up() should wake up tasks in the correct order
	NFSv4.2: condition READDIR's mask for security label based on LSM state
	SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
	NFSv4: Fix the alignment of page data in the getdeviceinfo reply
	net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs'
	lockd: don't use interval-based rebinding over TCP
	NFS: switch nfsiod to be an UNBOUND workqueue.
	selftests/seccomp: Update kernel config
	vfio-pci: Use io_remap_pfn_range() for PCI IO memory
	hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable
	f2fs: fix double free of unicode map
	media: tvp5150: Fix wrong return value of tvp5150_parse_dt()
	media: saa7146: fix array overflow in vidioc_s_audio()
	powerpc/perf: Fix crash with is_sier_available when pmu is not set
	powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S
	powerpc/xmon: Fix build failure for 8xx
	powerpc/perf: Fix to update radix_scope_qual in power10
	powerpc/perf: Update the PMU group constraints for l2l3 events in power10
	powerpc/perf: Fix the PMU group constraints for threshold events in power10
	clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path
	clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
	clocksource/drivers/ingenic: Fix section mismatch
	clocksource/drivers/riscv: Make RISCV_TIMER depends on RISCV_SBI
	arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE
	iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context
	libbpf: Sanitise map names before pinning
	ARM: dts: at91: sam9x60ek: remove bypass property
	ARM: dts: at91: sama5d2: map securam as device
	scripts: kernel-doc: fix parsing function-like typedefs
	bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address()
	selftests/bpf: Fix invalid use of strncat in test_sockmap
	pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
	soc: rockchip: io-domain: Fix error return code in rockchip_iodomain_probe()
	arm64: dts: rockchip: Fix UART pull-ups on rk3328
	memstick: r592: Fix error return in r592_probe()
	MIPS: Don't round up kernel sections size for memblock_add()
	mt76: mt7663s: fix a possible ple quota underflow
	mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE
	mt76: set fops_tx_stats.owner to THIS_MODULE
	mt76: dma: fix possible deadlock running mt76_dma_cleanup
	net/mlx5: Properly convey driver version to firmware
	mt76: fix memory leak if device probing fails
	mt76: fix tkip configuration for mt7615/7663 devices
	ASoC: jz4740-i2s: add missed checks for clk_get()
	ASoC: q6afe-clocks: Add missing parent clock rate
	dm ioctl: fix error return code in target_message
	ASoC: cros_ec_codec: fix uninitialized memory read
	ASoC: atmel: mchp-spdifrx needs COMMON_CLK
	ASoC: qcom: fix QDSP6 dependencies, attempt #3
	phy: mediatek: allow compile-testing the hdmi phy
	phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure
	memory: ti-emif-sram: only build for ARMv7
	memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe()
	drm/msm: a5xx: Make preemption reset case reentrant
	drm/msm: add IOMMU_SUPPORT dependency
	clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne
	clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
	cpufreq: ap806: Add missing MODULE_DEVICE_TABLE
	cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
	cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
	cpufreq: qcom: Add missing MODULE_DEVICE_TABLE
	cpufreq: st: Add missing MODULE_DEVICE_TABLE
	cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE
	cpufreq: loongson1: Add missing MODULE_ALIAS
	cpufreq: scpi: Add missing MODULE_ALIAS
	cpufreq: vexpress-spc: Add missing MODULE_ALIAS
	cpufreq: imx: fix NVMEM_IMX_OCOTP dependency
	macintosh/adb-iop: Always wait for reply message from IOP
	macintosh/adb-iop: Send correct poll command
	staging: bcm2835: fix vchiq_mmal dependencies
	staging: greybus: audio: Fix possible leak free widgets in gbaudio_dapm_free_controls
	spi: dw: Fix error return code in dw_spi_bt1_probe()
	Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware()
	Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware()
	Bluetooth: sco: Fix crash when using BT_SNDMTU/BT_RCVMTU option
	block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name
	block/rnbd: fix a null pointer dereference on dev->blk_symlink_name
	Bluetooth: btusb: Fix detection of some fake CSR controllers with a bcdDevice val of 0x0134
	platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on some HP x360 models
	adm8211: fix error return code in adm8211_probe()
	mtd: spi-nor: sst: fix BPn bits for the SST25VF064C
	mtd: spi-nor: ignore errors in spi_nor_unlock_all()
	mtd: spi-nor: atmel: remove global protection flag
	mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040
	arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements
	arm64: dts: meson: fix PHY deassert timing requirements
	ARM: dts: meson: fix PHY deassert timing requirements
	arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements
	arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements
	clk: fsl-sai: fix memory leak
	scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
	scsi: pm80xx: Fix error return in pm8001_pci_probe()
	scsi: iscsi: Fix inappropriate use of put_device()
	seq_buf: Avoid type mismatch for seq_buf_init
	scsi: fnic: Fix error return code in fnic_probe()
	platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
	platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system
	ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel mode
	powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
	powerpc/pseries/hibernation: remove redundant cacheinfo update
	powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK
	drm/mediatek: avoid dereferencing a null hdmi_phy on an error message
	ASoC: amd: change clk_get() to devm_clk_get() and add missed checks
	coresight: remove broken __exit annotations
	ASoC: max98390: Fix error codes in max98390_dsm_init()
	powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S
	usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
	usb: oxu210hp-hcd: Fix memory leak in oxu_create
	speakup: fix uninitialized flush_lock
	nfsd: Fix message level for normal termination
	NFSD: Fix 5 seconds delay when doing inter server copy
	nfs_common: need lock during iterate through the list
	x86/kprobes: Restore BTF if the single-stepping is cancelled
	scsi: qla2xxx: Fix FW initialization error on big endian machines
	scsi: qla2xxx: Fix N2N and NVMe connect retry failure
	platform/chrome: cros_ec_spi: Don't overwrite spi::mode
	misc: pci_endpoint_test: fix return value of error branch
	bus: fsl-mc: add back accidentally dropped error check
	bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
	fsi: Aspeed: Add mutex to protect HW access
	s390/cio: fix use-after-free in ccw_device_destroy_console
	iwlwifi: dbg-tlv: fix old length in is_trig_data_contained()
	iwlwifi: mvm: hook up missing RX handlers
	erofs: avoid using generic_block_bmap
	clk: renesas: r8a779a0: Fix R and OSC clocks
	can: m_can: m_can_config_endisable(): remove double clearing of clock stop request bit
	powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is set
	powerpc/sstep: Cover new VSX instructions under CONFIG_VSX
	slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew()
	ALSA: hda/hdmi: fix silent stream for first playback to DP
	RDMA/core: Do not indicate device ready when device enablement fails
	RDMA/uverbs: Fix incorrect variable type
	remoteproc/mediatek: change MT8192 CFG register base
	remoteproc/mtk_scp: surround DT device IDs with CONFIG_OF
	remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable
	remoteproc: qcom: fix reference leak in adsp_start
	remoteproc: qcom: pas: fix error handling in adsp_pds_enable
	remoteproc: k3-dsp: Fix return value check in k3_dsp_rproc_of_get_memories()
	remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio()
	remoteproc/mediatek: unprepare clk if scp_before_load fails
	clk: qcom: gcc-sc7180: Use floor ops for sdcc clks
	clk: tegra: Fix duplicated SE clock entry
	mtd: rawnand: gpmi: fix reference count leak in gpmi ops
	mtd: rawnand: meson: Fix a resource leak in init
	mtd: rawnand: gpmi: Fix the random DMA timeout issue
	samples/bpf: Fix possible hang in xdpsock with multiple threads
	fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode()
	extcon: max77693: Fix modalias string
	crypto: atmel-i2c - select CONFIG_BITREVERSE
	mac80211: don't set set TDLS STA bandwidth wider than possible
	mac80211: fix a mistake check for rx_stats update
	ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
	irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
	irqchip/ti-sci-inta: Fix printing of inta id on probe success
	irqchip/ti-sci-intr: Fix freeing of irqs
	dmaengine: ti: k3-udma: Correct normal channel offset when uchan_cnt is not 0
	RDMA/hns: Limit the length of data copied between kernel and userspace
	RDMA/hns: Normalization the judgment of some features
	RDMA/hns: Do shift on traffic class when using RoCEv2
	gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask
	ath11k: Fix incorrect tlvs in scan start command
	irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling
	watchdog: armada_37xx: Add missing dependency on HAS_IOMEM
	watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
	watchdog: sprd: remove watchdog disable from resume fail path
	watchdog: sprd: check busy bit before new loading rather than after that
	watchdog: Fix potential dereferencing of null pointer
	ubifs: Fix error return code in ubifs_init_authentication()
	um: Monitor error events in IRQ controller
	um: tty: Fix handling of close in tty lines
	um: chan_xterm: Fix fd leak
	sunrpc: fix xs_read_xdr_buf for partial pages receive
	RDMA/mlx5: Fix MR cache memory leak
	RDMA/cma: Don't overwrite sgid_attr after device is released
	nfc: s3fwrn5: Release the nfc firmware
	drm: mxsfb: Silence -EPROBE_DEFER while waiting for bridge
	powerpc/perf: Fix Threshold Event Counter Multiplier width for P10
	powerpc/ps3: use dma_mapping_error()
	perf test: Fix metric parsing test
	drm/amdgpu: fix regression in vbios reservation handling on headless
	mm/gup: reorganize internal_get_user_pages_fast()
	mm/gup: prevent gup_fast from racing with COW during fork
	mm/gup: combine put_compound_head() and unpin_user_page()
	mm: memcg/slab: fix return of child memcg objcg for root memcg
	mm: memcg/slab: fix use after free in obj_cgroup_charge
	mm/rmap: always do TTU_IGNORE_ACCESS
	sparc: fix handling of page table constructor failure
	mm/vmalloc: Fix unlock order in s_stop()
	mm/vmalloc.c: fix kasan shadow poisoning size
	mm,memory_failure: always pin the page in madvise_inject_error
	hugetlb: fix an error code in hugetlb_reserve_pages()
	mm: don't wake kswapd prematurely when watermark boosting is disabled
	proc: fix lookup in /proc/net subdirectories after setns(2)
	checkpatch: fix unescaped left brace
	s390/test_unwind: fix CALL_ON_STACK tests
	lan743x: fix rx_napi_poll/interrupt ping-pong
	ice, xsk: clear the status bits for the next_to_use descriptor
	i40e, xsk: clear the status bits for the next_to_use descriptor
	net: dsa: qca: ar9331: fix sleeping function called from invalid context bug
	dpaa2-eth: fix the size of the mapped SGT buffer
	net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
	net: mscc: ocelot: Fix a resource leak in the error handling path of the probe function
	net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
	block/rnbd-clt: Get rid of warning regarding size argument in strlcpy
	block/rnbd-clt: Fix possible memleak
	NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read()
	net: korina: fix return value
	devlink: use _BITUL() macro instead of BIT() in the UAPI header
	libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
	powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug
	watchdog: qcom: Avoid context switch in restart handler
	watchdog: coh901327: add COMMON_CLK dependency
	clk: ti: Fix memleak in ti_fapll_synth_setup
	pwm: zx: Add missing cleanup in error path
	pwm: lp3943: Dynamically allocate PWM chip base
	pwm: imx27: Fix overflow for bigger periods
	pwm: sun4i: Remove erroneous else branch
	io_uring: cancel only requests of current task
	tools build: Add missing libcap to test-all.bin target
	perf record: Fix memory leak when using '--user-regs=?' to list registers
	qlcnic: Fix error code in probe
	nfp: move indirect block cleanup to flower app stop callback
	vdpa/mlx5: Use write memory barrier after updating CQ index
	virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed()
	virtio_net: Fix error code in probe()
	virtio_ring: Fix two use after free bugs
	vhost scsi: fix error return code in vhost_scsi_set_endpoint()
	epoll: check for events when removing a timed out thread from the wait queue
	clk: bcm: dvp: Add MODULE_DEVICE_TABLE()
	clk: at91: sama7g5: fix compilation error
	clk: at91: sam9x60: remove atmel,osc-bypass support
	clk: s2mps11: Fix a resource leak in error handling paths in the probe function
	clk: sunxi-ng: Make sure divider tables have sentinel
	clk: vc5: Use "idt,voltage-microvolt" instead of "idt,voltage-microvolts"
	kconfig: fix return value of do_error_if()
	powerpc/boot: Fix build of dts/fsl
	powerpc/smp: Add __init to init_big_cores()
	ARM: 9044/1: vfp: use undef hook for VFP support detection
	ARM: 9036/1: uncompress: Fix dbgadtb size parameter name
	perf probe: Fix memory leak when synthesizing SDT probes
	io_uring: fix racy IOPOLL flush overflow
	io_uring: cancel reqs shouldn't kill overflow list
	Smack: Handle io_uring kernel thread privileges
	proc mountinfo: make splice available again
	io_uring: fix io_cqring_events()'s noflush
	io_uring: fix racy IOPOLL completions
	io_uring: always let io_iopoll_complete() complete polled io
	vfio/pci: Move dummy_resources_list init in vfio_pci_probe()
	vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU
	media: gspca: Fix memory leak in probe
	io_uring: fix io_wqe->work_list corruption
	io_uring: fix 0-iov read buffer select
	io_uring: hold uring_lock while completing failed polled io in io_wq_submit_work()
	io_uring: fix ignoring xa_store errors
	io_uring: fix double io_uring free
	io_uring: make ctx cancel on exit targeted to actual ctx
	media: sunxi-cir: ensure IR is handled when it is continuous
	media: netup_unidvb: Don't leak SPI master in probe error path
	media: ipu3-cio2: Remove traces of returned buffers
	media: ipu3-cio2: Return actual subdev format
	media: ipu3-cio2: Serialise access to pad format
	media: ipu3-cio2: Validate mbus format in setting subdev format
	media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
	Input: cyapa_gen6 - fix out-of-bounds stack access
	ALSA: hda/ca0132 - Change Input Source enum strings.
	ACPI: NFIT: Fix input validation of bus-family
	PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
	Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
	ACPI: PNP: compare the string length in the matching_id()
	ALSA: hda: Fix regressions on clear and reconfig sysfs
	ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg.
	ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop
	ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
	ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
	ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button
	ALSA: pcm: oss: Fix a few more UBSAN fixes
	ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G
	ALSA: hda/realtek: Add quirk for MSI-GP73
	ALSA: hda/realtek: Apply jack fixup for Quanta NL3
	ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658
	ALSA: hda/realtek - Supported Dell fixed type headset
	ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
	ALSA: usb-audio: Disable sample read check if firmware doesn't give back
	ALSA: usb-audio: Add alias entry for ASUS PRIME TRX40 PRO-S
	ALSA: core: memalloc: add page alignment for iram
	s390/smp: perform initial CPU reset also for SMT siblings
	s390/kexec_file: fix diag308 subcode when loading crash kernel
	s390/idle: add missing mt_cycles calculation
	s390/idle: fix accounting with machine checks
	s390/dasd: fix hanging device offline processing
	s390/dasd: prevent inconsistent LCU device data
	s390/dasd: fix list corruption of pavgroup group list
	s390/dasd: fix list corruption of lcu list
	binder: add flag to clear buffer on txn complete
	ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams
	ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS)
	ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision)
	staging: comedi: mf6x4: Fix AI end-of-conversion detection
	z3fold: simplify freeing slots
	z3fold: stricter locking and more careful reclaim
	perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY
	perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake
	perf/x86/intel/lbr: Fix the return type of get_lbr_cycles()
	powerpc/perf: Exclude kernel samples while counting events in user space.
	cpufreq: intel_pstate: Use most recent guaranteed performance values
	crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
	crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata
	m68k: Fix WARNING splat in pmac_zilog driver
	Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g
	EDAC/i10nm: Use readl() to access MMIO registers
	EDAC/amd64: Fix PCI component registration
	cpuset: fix race between hotplug work and later CPU offline
	dyndbg: fix use before null check
	USB: serial: mos7720: fix parallel-port state restore
	USB: serial: digi_acceleport: fix write-wakeup deadlocks
	USB: serial: keyspan_pda: fix dropped unthrottle interrupts
	USB: serial: keyspan_pda: fix write deadlock
	USB: serial: keyspan_pda: fix stalled writes
	USB: serial: keyspan_pda: fix write-wakeup use-after-free
	USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
	USB: serial: keyspan_pda: fix write unthrottling
	btrfs: do not shorten unpin len for caching block groups
	btrfs: update last_byte_to_unpin in switch_commit_roots
	btrfs: fix race when defragmenting leads to unnecessary IO
	ext4: fix an IS_ERR() vs NULL check
	ext4: fix a memory leak of ext4_free_data
	ext4: fix deadlock with fs freezing and EA inodes
	ext4: don't remount read-only with errors=continue on reboot
	RISC-V: Fix usage of memblock_enforce_memory_limit
	arm64: dts: ti: k3-am65: mark dss as dma-coherent
	arm64: dts: marvell: keep SMMU disabled by default for Armada 7040 and 8040
	KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
	KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits
	KVM: SVM: Remove the call to sev_platform_status() during setup
	iommu/arm-smmu: Allow implementation specific write_s2cr
	iommu/arm-smmu-qcom: Read back stream mappings
	iommu/arm-smmu-qcom: Implement S2CR quirk
	ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
	ARM: dts: at91: sama5d2: fix CAN message ram offset and size
	ARM: tegra: Populate OPP table for Tegra20 Ventana
	xprtrdma: Fix XDRBUF_SPARSE_PAGES support
	powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on syscall too
	powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
	powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
	powerpc/bitops: Fix possible undefined behaviour with fls() and fls64()
	powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE
	powerpc/xmon: Change printk() to pr_cont()
	powerpc/8xx: Fix early debug when SMC1 is relocated
	powerpc/mm: Fix verification of MMU_FTR_TYPE_44x
	powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU
	powerpc/powernv/memtrace: Don't leak kernel memory to user space
	powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
	ovl: make ioctl() safe
	ima: Don't modify file descriptor mode on the fly
	um: Remove use of asprinf in umid.c
	um: Fix time-travel mode
	ceph: fix race in concurrent __ceph_remove_cap invocations
	SMB3: avoid confusing warning message on mount to Azure
	SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp
	SMB3.1.1: do not log warning message if server doesn't populate salt
	ubifs: wbuf: Don't leak kernel memory to flash
	jffs2: Fix GC exit abnormally
	jffs2: Fix ignoring mounting options problem during remounting
	fsnotify: generalize handle_inode_event()
	inotify: convert to handle_inode_event() interface
	fsnotify: fix events reported to watching parent and child
	jfs: Fix array index bounds check in dbAdjTree
	drm/panfrost: Fix job timeout handling
	drm/panfrost: Move the GPU reset bits outside the timeout handler
	platform/x86: mlx-platform: remove an unused variable
	drm/amdgpu: only set DP subconnector type on DP and eDP connectors
	drm/amd/display: Fix memory leaks in S3 resume
	drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
	drm/i915: Fix mismatch between misplaced vma check and vma insert
	iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack
	spi: pxa2xx: Fix use-after-free on unbind
	spi: spi-sh: Fix use-after-free on unbind
	spi: atmel-quadspi: Fix use-after-free on unbind
	spi: spi-mtk-nor: Don't leak SPI master in probe error path
	spi: ar934x: Don't leak SPI master in probe error path
	spi: davinci: Fix use-after-free on unbind
	spi: fsl: fix use of spisel_boot signal on MPC8309
	spi: gpio: Don't leak SPI master in probe error path
	spi: mxic: Don't leak SPI master in probe error path
	spi: npcm-fiu: Disable clock in probe error path
	spi: pic32: Don't leak DMA channels in probe error path
	spi: rb4xx: Don't leak SPI master in probe error path
	spi: rpc-if: Fix use-after-free on unbind
	spi: sc18is602: Don't leak SPI master in probe error path
	spi: spi-geni-qcom: Fix use-after-free on unbind
	spi: spi-qcom-qspi: Fix use-after-free on unbind
	spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
	spi: synquacer: Disable clock in probe error path
	spi: mt7621: Disable clock in probe error path
	spi: mt7621: Don't leak SPI master in probe error path
	spi: atmel-quadspi: Disable clock in probe error path
	spi: atmel-quadspi: Fix AHB memory accesses
	soc: qcom: smp2p: Safely acquire spinlock without IRQs
	mtd: spinand: Fix OOB read
	mtd: parser: cmdline: Fix parsing of part-names with colons
	mtd: core: Fix refcounting for unpartitioned MTDs
	mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
	mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments
	scsi: qla2xxx: Fix crash during driver load on big endian machines
	scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
	scsi: lpfc: Fix scheduling call while in softirq context in lpfc_unreg_rpi
	scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
	openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT
	iio: buffer: Fix demux update
	iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
	iio: imu: st_lsm6dsx: fix edge-trigger interrupts
	iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
	iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
	iio:magnetometer:mag3110: Fix alignment and data leak issues.
	iio:pressure:mpl3115: Force alignment of buffer
	iio:imu:bmi160: Fix too large a buffer.
	iio:imu:bmi160: Fix alignment and data leak issues
	iio:adc:ti-ads124s08: Fix buffer being too long.
	iio:adc:ti-ads124s08: Fix alignment and data leak issues.
	md/cluster: block reshape with remote resync job
	md/cluster: fix deadlock when node is doing resync job
	pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
	clk: ingenic: Fix divider calculation with div tables
	clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
	clk: tegra: Do not return 0 on failure
	counter: microchip-tcb-capture: Fix CMR value check
	device-dax/core: Fix memory leak when rmmod dax.ko
	dma-buf/dma-resv: Respect num_fences when initializing the shared fence list.
	driver: core: Fix list corruption after device_del()
	xen-blkback: set ring->xenblkd to NULL after kthread_stop()
	xen/xenbus: Allow watches discard events before queueing
	xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
	xen/xenbus/xen_bus_type: Support will_handle watch callback
	xen/xenbus: Count pending messages for each watch
	xenbus/xenbus_backend: Disallow pending watch messages
	memory: jz4780_nemc: Fix an error pointer vs NULL check in probe()
	memory: renesas-rpc-if: Fix a node reference leak in rpcif_probe()
	memory: renesas-rpc-if: Return correct value to the caller of rpcif_manual_xfer()
	memory: renesas-rpc-if: Fix unbalanced pm_runtime_enable in rpcif_{enable,disable}_rpm
	libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
	platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
	tracing: Disable ftrace selftests when any tracer is running
	mt76: add back the SUPPORTS_REORDERING_BUFFER flag
	of: fix linker-section match-table corruption
	PCI: Fix pci_slot_release() NULL pointer dereference
	regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x
	remoteproc: sysmon: Ensure remote notification ordering
	thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has changed
	rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time
	Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS"
	null_blk: Fix zone size initialization
	null_blk: Fail zone append to conventional zones
	drm/edid: fix objtool warning in drm_cvt_modes()
	x86/CPU/AMD: Save AMD NodeId as cpu_die_id
	Linux 5.10.4

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I25209e79d8b9faf5382087955a29b7404bdefe38
2020-12-30 12:47:03 +01:00
Oscar Salvador
b7bf8ed8d1 mm,memory_failure: always pin the page in madvise_inject_error
[ Upstream commit 1e8aaedb182d6ddffc894b832e4962629907b3e0 ]

madvise_inject_error() uses get_user_pages_fast to translate the address
we specified to a page.  After [1], we drop the extra reference count for
memory_failure() path.  That commit says that memory_failure wanted to
keep the pin in order to take the page out of circulation.

The truth is that we need to keep the page pinned, otherwise the page
might be re-used after the put_page() and we can end up messing with
someone else's memory.

E.g:

CPU0
process X					CPU1
 madvise_inject_error
  get_user_pages
   put_page
					page gets reclaimed
					process Y allocates the page
  memory_failure
   // We mess with process Y memory

madvise() is meant to operate on a self address space, so messing with
pages that do not belong to us seems the wrong thing to do.
To avoid that, let us keep the page pinned for memory_failure as well.

Pages for DAX mappings will release this extra refcount in
memory_failure_dev_pagemap.

[1] ("23e7b5c2e271: mm, madvise_inject_error:
      Let memory_failure() optionally take a page reference")

Link: https://lkml.kernel.org/r/20201207094818.8518-1-osalvador@suse.de
Fixes: 23e7b5c2e2 ("mm, madvise_inject_error: Let memory_failure() optionally take a page reference")
Signed-off-by: Oscar Salvador <osalvador@suse.de>
Suggested-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-30 11:53:55 +01:00
Greg Kroah-Hartman
4de82f1b3b Merge a68a0262ab ("mm/madvise: remove racy mm ownership check") into android-mainline
Steps on the way to 5.10-rc8/final

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0d1e2f396425894a7c2e9a2680edf763a223c644
2020-12-10 11:34:58 +01:00
Minchan Kim
a68a0262ab mm/madvise: remove racy mm ownership check
Jann spotted the security hole due to race of mm ownership check.

If the task is sharing the mm_struct but goes through execve() before
mm_access(), it could skip process_madvise_behavior_valid check.  That
makes *any advice hint* to reach into the remote process.

This patch removes the mm ownership check.  With it, it will lose the
ability that local process could give *any* advice hint with vector
interface for some reason (e.g., performance).  Since there is no
concrete example in upstream yet, it would be better to remove the
abiliity at this moment and need to review when such new advice comes
up.

Fixes: ecb8ac8b1f ("mm/madvise: introduce process_madvise() syscall: an external memory hinting API")
Reported-by: Jann Horn <jannh@google.com>
Suggested-by: Jann Horn <jannh@google.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-12-08 20:57:18 -08:00
Greg Kroah-Hartman
5acba58e59 Linux 5.10-rc5
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl+69egeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGTSYH/ifRBlaxy5UiHFc0
 2zdR7pkjWrYfDTTT3sazIAhdlzzcfnkUqgFxOP45F4ZIqeTzunH3sUY+5UlT9IX7
 liUgnLxQ/1R9Gx8kPGQfu+tLCey78xVFydGsqJoW9sPRw2R+apMdGGa/lOrk+OXz
 DXIN+dDnGFqwCCNJpK+rxQQhFf++IPpSI8z6Y23moOFhsDZrEziHuVFy2FGyRM6z
 prZ/us/tcobE8ptCk1RmOxLoJ1DR6UxpA2vLimTE+JD8siOsSWPbjE0KudnWCnd5
 BLqIjrsPJbSxyuzzK3v9dnO5wMv7tMDuMIuYM/MQTXDttNwtsqt/aP6gdnUCym7N
 5eHEj5g=
 =MuO1
 -----END PGP SIGNATURE-----

Merge 5.10-rc5 into android-mainline

Linux 5.10-rc5

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia5b23cceb3e0212c1c841f1297ecfab65cc9aaa6
2020-11-23 08:17:16 +01:00
Matthew Wilcox (Oracle)
66383800df mm: fix madvise WILLNEED performance problem
The calculation of the end page index was incorrect, leading to a
regression of 70% when running stress-ng.

With this fix, we instead see a performance improvement of 3%.

Fixes: e6e88712e4 ("mm: optimise madvise WILLNEED")
Reported-by: kernel test robot <rong.a.chen@intel.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: William Kucharski <william.kucharski@oracle.com>
Cc: Feng Tang <feng.tang@intel.com>
Cc: "Chen, Rong A" <rong.a.chen@intel.com>
Link: https://lkml.kernel.org/r/20201109134851.29692-1-willy@infradead.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-11-22 10:48:22 -08:00
Eric Dumazet
450677dcb0 mm/madvise: fix memory leak from process_madvise
The early return in process_madvise() will produce a memory leak.

Fix it.

Fixes: ecb8ac8b1f ("mm/madvise: introduce process_madvise() syscall: an external memory hinting API")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://lkml.kernel.org/r/20201116155132.GA3805951@google.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-11-22 10:48:22 -08:00
Greg Kroah-Hartman
b3dd1b5952 Merge 922a763ae1 ("Merge tag 'zonefs-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs") into android-mainline
Steps on the way to 5.10-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I520719ae5e0d992c3756e393cb299d77d650622e
2020-10-26 10:08:43 +01:00
Greg Kroah-Hartman
05d2a661fd Merge 54a4c789ca ("Merge tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media") into android-mainline
Steps on the way to 5.10-rc1

Resolves conflicts in:
	fs/userfaultfd.c

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie3fe3c818f1f6565cfd4fa551de72d2b72ef60af
2020-10-26 09:23:33 +01:00
Greg Kroah-Hartman
75c90a8c3a Merge d5660df4a5 ("Merge branch 'akpm' (patches from Andrew)") into android-mainline
steps on the way to 5.10-rc1

Change-Id: Iddc84c25b6a9d71fa8542b927d6f69c364131c3d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2020-10-25 11:57:29 +01:00
Minchan Kim
ecb8ac8b1f mm/madvise: introduce process_madvise() syscall: an external memory hinting API
There is usecase that System Management Software(SMS) want to give a
memory hint like MADV_[COLD|PAGEEOUT] to other processes and in the
case of Android, it is the ActivityManagerService.

The information required to make the reclaim decision is not known to the
app.  Instead, it is known to the centralized userspace
daemon(ActivityManagerService), and that daemon must be able to initiate
reclaim on its own without any app involvement.

To solve the issue, this patch introduces a new syscall
process_madvise(2).  It uses pidfd of an external process to give the
hint.  It also supports vector address range because Android app has
thousands of vmas due to zygote so it's totally waste of CPU and power if
we should call the syscall one by one for each vma.(With testing 2000-vma
syscall vs 1-vector syscall, it showed 15% performance improvement.  I
think it would be bigger in real practice because the testing ran very
cache friendly environment).

Another potential use case for the vector range is to amortize the cost
ofTLB shootdowns for multiple ranges when using MADV_DONTNEED; this could
benefit users like TCP receive zerocopy and malloc implementations.  In
future, we could find more usecases for other advises so let's make it
happens as API since we introduce a new syscall at this moment.  With
that, existing madvise(2) user could replace it with process_madvise(2)
with their own pid if they want to have batch address ranges support
feature.

ince it could affect other process's address range, only privileged
process(PTRACE_MODE_ATTACH_FSCREDS) or something else(e.g., being the same
UID) gives it the right to ptrace the process could use it successfully.
The flag argument is reserved for future use if we need to extend the API.

I think supporting all hints madvise has/will supported/support to
process_madvise is rather risky.  Because we are not sure all hints make
sense from external process and implementation for the hint may rely on
the caller being in the current context so it could be error-prone.  Thus,
I just limited hints as MADV_[COLD|PAGEOUT] in this patch.

If someone want to add other hints, we could hear the usecase and review
it for each hint.  It's safer for maintenance rather than introducing a
buggy syscall but hard to fix it later.

So finally, the API is as follows,

      ssize_t process_madvise(int pidfd, const struct iovec *iovec,
                unsigned long vlen, int advice, unsigned int flags);

    DESCRIPTION
      The process_madvise() system call is used to give advice or directions
      to the kernel about the address ranges from external process as well as
      local process. It provides the advice to address ranges of process
      described by iovec and vlen. The goal of such advice is to improve
      system or application performance.

      The pidfd selects the process referred to by the PID file descriptor
      specified in pidfd. (See pidofd_open(2) for further information)

      The pointer iovec points to an array of iovec structures, defined in
      <sys/uio.h> as:

        struct iovec {
            void *iov_base;         /* starting address */
            size_t iov_len;         /* number of bytes to be advised */
        };

      The iovec describes address ranges beginning at address(iov_base)
      and with size length of bytes(iov_len).

      The vlen represents the number of elements in iovec.

      The advice is indicated in the advice argument, which is one of the
      following at this moment if the target process specified by pidfd is
      external.

        MADV_COLD
        MADV_PAGEOUT

      Permission to provide a hint to external process is governed by a
      ptrace access mode PTRACE_MODE_ATTACH_FSCREDS check; see ptrace(2).

      The process_madvise supports every advice madvise(2) has if target
      process is in same thread group with calling process so user could
      use process_madvise(2) to extend existing madvise(2) to support
      vector address ranges.

    RETURN VALUE
      On success, process_madvise() returns the number of bytes advised.
      This return value may be less than the total number of requested
      bytes, if an error occurred. The caller should check return value
      to determine whether a partial advice occurred.

FAQ:

Q.1 - Why does any external entity have better knowledge?

Quote from Sandeep

"For Android, every application (including the special SystemServer)
are forked from Zygote.  The reason of course is to share as many
libraries and classes between the two as possible to benefit from the
preloading during boot.

After applications start, (almost) all of the APIs end up calling into
this SystemServer process over IPC (binder) and back to the
application.

In a fully running system, the SystemServer monitors every single
process periodically to calculate their PSS / RSS and also decides
which process is "important" to the user for interactivity.

So, because of how these processes start _and_ the fact that the
SystemServer is looping to monitor each process, it does tend to *know*
which address range of the application is not used / useful.

Besides, we can never rely on applications to clean things up
themselves.  We've had the "hey app1, the system is low on memory,
please trim your memory usage down" notifications for a long time[1].
They rely on applications honoring the broadcasts and very few do.

So, if we want to avoid the inevitable killing of the application and
restarting it, some way to be able to tell the OS about unimportant
memory in these applications will be useful.

- ssp

Q.2 - How to guarantee the race(i.e., object validation) between when
giving a hint from an external process and get the hint from the target
process?

process_madvise operates on the target process's address space as it
exists at the instant that process_madvise is called.  If the space
target process can run between the time the process_madvise process
inspects the target process address space and the time that
process_madvise is actually called, process_madvise may operate on
memory regions that the calling process does not expect.  It's the
responsibility of the process calling process_madvise to close this
race condition.  For example, the calling process can suspend the
target process with ptrace, SIGSTOP, or the freezer cgroup so that it
doesn't have an opportunity to change its own address space before
process_madvise is called.  Another option is to operate on memory
regions that the caller knows a priori will be unchanged in the target
process.  Yet another option is to accept the race for certain
process_madvise calls after reasoning that mistargeting will do no
harm.  The suggested API itself does not provide synchronization.  It
also apply other APIs like move_pages, process_vm_write.

The race isn't really a problem though.  Why is it so wrong to require
that callers do their own synchronization in some manner?  Nobody
objects to write(2) merely because it's possible for two processes to
open the same file and clobber each other's writes --- instead, we tell
people to use flock or something.  Think about mmap.  It never
guarantees newly allocated address space is still valid when the user
tries to access it because other threads could unmap the memory right
before.  That's where we need synchronization by using other API or
design from userside.  It shouldn't be part of API itself.  If someone
needs more fine-grained synchronization rather than process level,
there were two ideas suggested - cookie[2] and anon-fd[3].  Both are
applicable via using last reserved argument of the API but I don't
think it's necessary right now since we have already ways to prevent
the race so don't want to add additional complexity with more
fine-grained optimization model.

To make the API extend, it reserved an unsigned long as last argument
so we could support it in future if someone really needs it.

Q.3 - Why doesn't ptrace work?

Injecting an madvise in the target process using ptrace would not work
for us because such injected madvise would have to be executed by the
target process, which means that process would have to be runnable and
that creates the risk of the abovementioned race and hinting a wrong
VMA.  Furthermore, we want to act the hint in caller's context, not the
callee's, because the callee is usually limited in cpuset/cgroups or
even freezed state so they can't act by themselves quick enough, which
causes more thrashing/kill.  It doesn't work if the target process are
ptraced(e.g., strace, debugger, minidump) because a process can have at
most one ptracer.

[1] https://developer.android.com/topic/performance/memory"

[2] process_getinfo for getting the cookie which is updated whenever
    vma of process address layout are changed - Daniel Colascione -
    https://lore.kernel.org/lkml/20190520035254.57579-1-minchan@kernel.org/T/#m7694416fd179b2066a2c62b5b139b14e3894e224

[3] anonymous fd which is used for the object(i.e., address range)
    validation - Michal Hocko -
    https://lore.kernel.org/lkml/20200120112722.GY18451@dhcp22.suse.cz/

[minchan@kernel.org: fix process_madvise build break for arm64]
  Link: http://lkml.kernel.org/r/20200303145756.GA219683@google.com
[minchan@kernel.org: fix build error for mips of process_madvise]
  Link: http://lkml.kernel.org/r/20200508052517.GA197378@google.com
[akpm@linux-foundation.org: fix patch ordering issue]
[akpm@linux-foundation.org: fix arm64 whoops]
[minchan@kernel.org: make process_madvise() vlen arg have type size_t, per Florian]
[akpm@linux-foundation.org: fix i386 build]
[sfr@canb.auug.org.au: fix syscall numbering]
  Link: https://lkml.kernel.org/r/20200905142639.49fc3f1a@canb.auug.org.au
[sfr@canb.auug.org.au: madvise.c needs compat.h]
  Link: https://lkml.kernel.org/r/20200908204547.285646b4@canb.auug.org.au
[minchan@kernel.org: fix mips build]
  Link: https://lkml.kernel.org/r/20200909173655.GC2435453@google.com
[yuehaibing@huawei.com: remove duplicate header which is included twice]
  Link: https://lkml.kernel.org/r/20200915121550.30584-1-yuehaibing@huawei.com
[minchan@kernel.org: do not use helper functions for process_madvise]
  Link: https://lkml.kernel.org/r/20200921175539.GB387368@google.com
[akpm@linux-foundation.org: pidfd_get_pid() gained an argument]
[sfr@canb.auug.org.au: fix up for "iov_iter: transparently handle compat iovecs in import_iovec"]
  Link: https://lkml.kernel.org/r/20200928212542.468e1fef@canb.auug.org.au

Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Suren Baghdasaryan <surenb@google.com>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: Christian Brauner <christian@brauner.io>
Cc: Daniel Colascione <dancol@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: John Dias <joaodias@google.com>
Cc: Kirill Tkhai <ktkhai@virtuozzo.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Oleksandr Natalenko <oleksandr@redhat.com>
Cc: Sandeep Patil <sspatil@google.com>
Cc: SeongJae Park <sj38.park@gmail.com>
Cc: SeongJae Park <sjpark@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Sonny Rao <sonnyrao@google.com>
Cc: Tim Murray <timmurray@google.com>
Cc: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Florian Weimer <fw@deneb.enyo.de>
Cc: <linux-man@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200302193630.68771-3-minchan@kernel.org
Link: http://lkml.kernel.org/r/20200508183320.GA125527@google.com
Link: http://lkml.kernel.org/r/20200622192900.22757-4-minchan@kernel.org
Link: https://lkml.kernel.org/r/20200901000633.1920247-4-minchan@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-18 09:27:10 -07:00
Minchan Kim
0726b01e70 mm/madvise: pass mm to do_madvise
Patch series "introduce memory hinting API for external process", v9.

Now, we have MADV_PAGEOUT and MADV_COLD as madvise hinting API.  With
that, application could give hints to kernel what memory range are
preferred to be reclaimed.  However, in some platform(e.g., Android), the
information required to make the hinting decision is not known to the app.
Instead, it is known to a centralized userspace daemon(e.g.,
ActivityManagerService), and that daemon must be able to initiate reclaim
on its own without any app involvement.

To solve the concern, this patch introduces new syscall -
process_madvise(2).  Bascially, it's same with madvise(2) syscall but it
has some differences.

1. It needs pidfd of target process to provide the hint

2. It supports only MADV_{COLD|PAGEOUT|MERGEABLE|UNMEREABLE} at this
   moment.  Other hints in madvise will be opened when there are explicit
   requests from community to prevent unexpected bugs we couldn't support.

3. Only privileged processes can do something for other process's
   address space.

For more detail of the new API, please see "mm: introduce external memory
hinting API" description in this patchset.

This patch (of 3):

In upcoming patches, do_madvise will be called from external process
context so we shouldn't asssume "current" is always hinted process's
task_struct.

Furthermore, we must not access mm_struct via task->mm, but obtain it via
access_mm() once (in the following patch) and only use that pointer [1],
so pass it to do_madvise() as well.  Note the vma->vm_mm pointers are
safe, so we can use them further down the call stack.

And let's pass current->mm as arguments of do_madvise so it shouldn't
change existing behavior but prepare next patch to make review easy.

[vbabka@suse.cz: changelog tweak]
[minchan@kernel.org: use current->mm for io_uring]
  Link: http://lkml.kernel.org/r/20200423145215.72666-1-minchan@kernel.org
[akpm@linux-foundation.org: fix it for upstream changes]
[akpm@linux-foundation.org: whoops]
[rdunlap@infradead.org: add missing includes]

Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Suren Baghdasaryan <surenb@google.com>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jann Horn <jannh@google.com>
Cc: Tim Murray <timmurray@google.com>
Cc: Daniel Colascione <dancol@google.com>
Cc: Sandeep Patil <sspatil@google.com>
Cc: Sonny Rao <sonnyrao@google.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: John Dias <joaodias@google.com>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Cc: SeongJae Park <sj38.park@gmail.com>
Cc: Christian Brauner <christian@brauner.io>
Cc: Kirill Tkhai <ktkhai@virtuozzo.com>
Cc: Oleksandr Natalenko <oleksandr@redhat.com>
Cc: SeongJae Park <sjpark@amazon.de>
Cc: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Florian Weimer <fw@deneb.enyo.de>
Cc: <linux-man@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200901000633.1920247-1-minchan@kernel.org
Link: http://lkml.kernel.org/r/20200622192900.22757-1-minchan@kernel.org
Link: http://lkml.kernel.org/r/20200302193630.68771-2-minchan@kernel.org
Link: http://lkml.kernel.org/r/20200622192900.22757-2-minchan@kernel.org
Link: https://lkml.kernel.org/r/20200901000633.1920247-2-minchan@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-18 09:27:09 -07:00
Jann Horn
4d45e75a99 mm: remove the now-unnecessary mmget_still_valid() hack
The preceding patches have ensured that core dumping properly takes the
mmap_lock.  Thanks to that, we can now remove mmget_still_valid() and all
its users.

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: "Eric W . Biederman" <ebiederm@xmission.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Link: http://lkml.kernel.org/r/20200827114932.3572699-8-jannh@google.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-16 11:11:22 -07:00
Oscar Salvador
5a2ffca3c2 mm,hwpoison: return 0 if the page is already poisoned in soft-offline
Currently, there is an inconsistency when calling soft-offline from
different paths on a page that is already poisoned.

1) madvise:

        madvise_inject_error skips any poisoned page and continues
        the loop.
        If that was the only page to madvise, it returns 0.

2) /sys/devices/system/memory/:

        When calling soft_offline_page_store()->soft_offline_page(),
        we return -EBUSY in case the page is already poisoned.
        This is inconsistent with a) the above example and b)
        memory_failure, where we return 0 if the page was poisoned.

Fix this by dropping the PageHWPoison() check in madvise_inject_error, and
let soft_offline_page return 0 if it finds the page already poisoned.

Please, note that this represents a user-api change, since now the return
error when calling soft_offline_page_store()->soft_offline_page() will be
different.

Signed-off-by: Oscar Salvador <osalvador@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Aristeu Rozanski <aris@ruivo.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Dmitry Yakunin <zeil@yandex-team.ru>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Oscar Salvador <osalvador@suse.com>
Cc: Qian Cai <cai@lca.pw>
Cc: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20200922135650.1634-12-osalvador@suse.de
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-16 11:11:16 -07:00
Oscar Salvador
dc7560b496 mm,hwpoison: refactor madvise_inject_error
Make a proper if-else condition for {hard,soft}-offline.

Signed-off-by: Oscar Salvador <osalvador@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Qian Cai <cai@lca.pw>
Cc: Tony Luck <tony.luck@intel.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Aristeu Rozanski <aris@ruivo.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Dmitry Yakunin <zeil@yandex-team.ru>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Link: https://lkml.kernel.org/r/20200908075626.11976-3-osalvador@suse.de
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-16 11:11:16 -07:00
Matthew Wilcox (Oracle)
e6e88712e4 mm: optimise madvise WILLNEED
Instead of calling find_get_entry() for every page index, use an XArray
iterator to skip over NULL entries, and avoid calling get_page(),
because we only want the swap entries.

[willy@infradead.org: fix LTP soft lockups]
  Link: https://lkml.kernel.org/r/20200914165032.GS6583@casper.infradead.org

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: William Kucharski <william.kucharski@oracle.com>
Cc: Qian Cai <cai@redhat.com>
Link: https://lkml.kernel.org/r/20200910183318.20139-4-willy@infradead.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-13 18:38:29 -07:00
Greg Kroah-Hartman
fb3b36d52f Merge a1bffa4874 ("Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi") into 'android-mainline'
Fixes up a merge issue in:
	net/ipv6/route.c
on the way to a 5.9-rc7 release.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4eb508eb3761b95ad8f39dd79f03b3352481ceaf
2020-09-27 13:56:43 +02:00
Minchan Kim
ce2684254b mm: validate pmd after splitting
syzbot reported the following KASAN splat:

  general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN
  KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
  CPU: 1 PID: 6826 Comm: syz-executor142 Not tainted 5.9.0-rc4-syzkaller #0
  Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
  RIP: 0010:__lock_acquire+0x84/0x2ae0 kernel/locking/lockdep.c:4296
  Code: ff df 8a 04 30 84 c0 0f 85 e3 16 00 00 83 3d 56 58 35 08 00 0f 84 0e 17 00 00 83 3d 25 c7 f5 07 00 74 2c 4c 89 e8 48 c1 e8 03 <80> 3c 30 00 74 12 4c 89 ef e8 3e d1 5a 00 48 be 00 00 00 00 00 fc
  RSP: 0018:ffffc90004b9f850 EFLAGS: 00010006
  Call Trace:
    lock_acquire+0x140/0x6f0 kernel/locking/lockdep.c:5006
    __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
    _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:151
    spin_lock include/linux/spinlock.h:354 [inline]
    madvise_cold_or_pageout_pte_range+0x52f/0x25c0 mm/madvise.c:389
    walk_pmd_range mm/pagewalk.c:89 [inline]
    walk_pud_range mm/pagewalk.c:160 [inline]
    walk_p4d_range mm/pagewalk.c:193 [inline]
    walk_pgd_range mm/pagewalk.c:229 [inline]
    __walk_page_range+0xe7b/0x1da0 mm/pagewalk.c:331
    walk_page_range+0x2c3/0x5c0 mm/pagewalk.c:427
    madvise_pageout_page_range mm/madvise.c:521 [inline]
    madvise_pageout mm/madvise.c:557 [inline]
    madvise_vma mm/madvise.c:946 [inline]
    do_madvise+0x12d0/0x2090 mm/madvise.c:1145
    __do_sys_madvise mm/madvise.c:1171 [inline]
    __se_sys_madvise mm/madvise.c:1169 [inline]
    __x64_sys_madvise+0x76/0x80 mm/madvise.c:1169
    do_syscall_64+0x31/0x70 arch/x86/entry/common.c:46
    entry_SYSCALL_64_after_hwframe+0x44/0xa9

The backing vma was shmem.

In case of split page of file-backed THP, madvise zaps the pmd instead
of remapping of sub-pages.  So we need to check pmd validity after
split.

Reported-by: syzbot+ecf80462cb7d5d552bc7@syzkaller.appspotmail.com
Fixes: 1a4e58cce8 ("mm: introduce MADV_PAGEOUT")
Signed-off-by: Minchan Kim <minchan@kernel.org>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:48:08 -07:00
Greg Kroah-Hartman
3d3ef2a059 Linux 5.9-rc4
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl9VerweHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGhc4H/iHD6qLdB36gZB6K
 oc2nJyrqyWitv4ti2Mnt5PA7o4wX4l6nnr1QvoaJ4BRs5Ja1czRvb2XDmdzqAoIA
 xITGoafqaAeDfxQ91bWrJsVN0pCRKiGwddXlU7TWmqw/riAkfOqi6GYKvav4biJH
 +n1mUPQb1M2IbRFsqkAS+ebKHq3CWaRvzKOEneS88nGlL5u31S9NAru8Ru/fkxRn
 6CwGcs1XRaBPYaZAhdfIb0NuatUlpkhPC9yhNS9up6SqrWmK3m65vmFVng6H0eCF
 fwn1jVztboY/XcNAi5sM9ExpQCql6WLQEEktVikqRDojC8fVtSx6W55tPt7qeaoO
 Z6t4/DA=
 =bcA4
 -----END PGP SIGNATURE-----

Merge 5.9-rc4 into android-mainline

Linux 5.9-rc4

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3d041935cae5e8f3421edcdee4892f17e2c776ad
2020-09-07 09:24:58 +02:00
Yang Shi
7867fd7cc4 mm: madvise: fix vma user-after-free
The syzbot reported the below use-after-free:

  BUG: KASAN: use-after-free in madvise_willneed mm/madvise.c:293 [inline]
  BUG: KASAN: use-after-free in madvise_vma mm/madvise.c:942 [inline]
  BUG: KASAN: use-after-free in do_madvise.part.0+0x1c8b/0x1cf0 mm/madvise.c:1145
  Read of size 8 at addr ffff8880a6163eb0 by task syz-executor.0/9996

  CPU: 0 PID: 9996 Comm: syz-executor.0 Not tainted 5.9.0-rc1-syzkaller #0
  Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
  Call Trace:
    __dump_stack lib/dump_stack.c:77 [inline]
    dump_stack+0x18f/0x20d lib/dump_stack.c:118
    print_address_description.constprop.0.cold+0xae/0x497 mm/kasan/report.c:383
    __kasan_report mm/kasan/report.c:513 [inline]
    kasan_report.cold+0x1f/0x37 mm/kasan/report.c:530
    madvise_willneed mm/madvise.c:293 [inline]
    madvise_vma mm/madvise.c:942 [inline]
    do_madvise.part.0+0x1c8b/0x1cf0 mm/madvise.c:1145
    do_madvise mm/madvise.c:1169 [inline]
    __do_sys_madvise mm/madvise.c:1171 [inline]
    __se_sys_madvise mm/madvise.c:1169 [inline]
    __x64_sys_madvise+0xd9/0x110 mm/madvise.c:1169
    do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
    entry_SYSCALL_64_after_hwframe+0x44/0xa9

  Allocated by task 9992:
    kmem_cache_alloc+0x138/0x3a0 mm/slab.c:3482
    vm_area_alloc+0x1c/0x110 kernel/fork.c:347
    mmap_region+0x8e5/0x1780 mm/mmap.c:1743
    do_mmap+0xcf9/0x11d0 mm/mmap.c:1545
    vm_mmap_pgoff+0x195/0x200 mm/util.c:506
    ksys_mmap_pgoff+0x43a/0x560 mm/mmap.c:1596
    do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
    entry_SYSCALL_64_after_hwframe+0x44/0xa9

  Freed by task 9992:
    kmem_cache_free.part.0+0x67/0x1f0 mm/slab.c:3693
    remove_vma+0x132/0x170 mm/mmap.c:184
    remove_vma_list mm/mmap.c:2613 [inline]
    __do_munmap+0x743/0x1170 mm/mmap.c:2869
    do_munmap mm/mmap.c:2877 [inline]
    mmap_region+0x257/0x1780 mm/mmap.c:1716
    do_mmap+0xcf9/0x11d0 mm/mmap.c:1545
    vm_mmap_pgoff+0x195/0x200 mm/util.c:506
    ksys_mmap_pgoff+0x43a/0x560 mm/mmap.c:1596
    do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
    entry_SYSCALL_64_after_hwframe+0x44/0xa9

It is because vma is accessed after releasing mmap_lock, but someone
else acquired the mmap_lock and the vma is gone.

Releasing mmap_lock after accessing vma should fix the problem.

Fixes: 692fe62433 ("mm: Handle MADV_WILLNEED through vfs_fadvise()")
Reported-by: syzbot+b90df26038d1d5d85c97@syzkaller.appspotmail.com
Signed-off-by: Yang Shi <shy828301@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: <stable@vger.kernel.org>	[5.4+]
Link: https://lkml.kernel.org/r/20200816141204.162624-1-shy828301@gmail.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-05 12:14:29 -07:00
Greg Kroah-Hartman
a253db8915 Merge ad57a1022f ("Merge tag 'exfat-for-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat") into android-mainline
Steps on the way to 5.8-rc1.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4bc42f572167ea2f815688b4d1eb6124b6d260d4
2020-06-24 17:54:12 +02:00
Michel Lespinasse
c1e8d7c6a7 mmap locking API: convert mmap_sem comments
Convert comments that reference mmap_sem to reference mmap_lock instead.

[akpm@linux-foundation.org: fix up linux-next leftovers]
[akpm@linux-foundation.org: s/lockaphore/lock/, per Vlastimil]
[akpm@linux-foundation.org: more linux-next fixups, per Michel]

Signed-off-by: Michel Lespinasse <walken@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Davidlohr Bueso <dbueso@suse.de>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Laurent Dufour <ldufour@linux.ibm.com>
Cc: Liam Howlett <Liam.Howlett@oracle.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ying Han <yinghan@google.com>
Link: http://lkml.kernel.org/r/20200520052908.204642-13-walken@google.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-09 09:39:14 -07:00
Michel Lespinasse
d8ed45c5dc mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
This change converts the existing mmap_sem rwsem calls to use the new mmap
locking API instead.

The change is generated using coccinelle with the following rule:

// spatch --sp-file mmap_lock_api.cocci --in-place --include-headers --dir .

@@
expression mm;
@@
(
-init_rwsem
+mmap_init_lock
|
-down_write
+mmap_write_lock
|
-down_write_killable
+mmap_write_lock_killable
|
-down_write_trylock
+mmap_write_trylock
|
-up_write
+mmap_write_unlock
|
-downgrade_write
+mmap_write_downgrade
|
-down_read
+mmap_read_lock
|
-down_read_killable
+mmap_read_lock_killable
|
-down_read_trylock
+mmap_read_trylock
|
-up_read
+mmap_read_unlock
)
-(&mm->mmap_sem)
+(mm)

Signed-off-by: Michel Lespinasse <walken@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Reviewed-by: Laurent Dufour <ldufour@linux.ibm.com>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Davidlohr Bueso <dbueso@suse.de>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Liam Howlett <Liam.Howlett@oracle.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ying Han <yinghan@google.com>
Link: http://lkml.kernel.org/r/20200520052908.204642-5-walken@google.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-09 09:39:14 -07:00
Greg Kroah-Hartman
09257b628e Linux 5.7-rc3
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl6l9D0eHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGthEH/jEMvU7Hc6zIGNmG
 Akrjf7q6NX+wfmqKIsmSmvvoE1c2OioBYmCzlVz4sQFRj0Yy5WYJcI4Bzh+y8cOA
 0GQ6eQNhfVGyj7uiTClkccK8G20M59HQ1C34Oa/u3Ofoy4S89DiNa5aEY9TxWx9B
 jNV3rCfPgwKaPfwsO5oaIWZd1Ah5mwwwqxICnw7WQfdplQ76eqi/lL7jArncPjmN
 01yyAwsCZyfaeO2NqmHrCOlZkFJcP8Ftj0XeFK94XKdl6VrXuKtEX0JBa3RRWGA+
 KSWBhx4Ml6Q1hnYAIA6T78XKawhoeF+MErlmdBpez4EDd7vCOqz2HXnip6DYh2v7
 wkcvNtg=
 =2hir
 -----END PGP SIGNATURE-----

Merge 5.7-rc3 into android-mainline

Linux 5.7-rc3

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7ac2896e866a898b1f42fc8fd6d60b40a75ae1f0
2020-04-27 13:27:01 +02:00
Linus Torvalds
bc0c4d1e17 mm: check that mm is still valid in madvise()
IORING_OP_MADVISE can end up basically doing mprotect() on the VM of
another process, which means that it can race with our crazy core dump
handling which accesses the VM state without holding the mmap_sem
(because it incorrectly thinks that it is the final user).

This is clearly a core dumping problem, but we've never fixed it the
right way, and instead have the notion of "check that the mm is still
ok" using mmget_still_valid() after getting the mmap_sem for writing in
any situation where we're not the original VM thread.

See commit 04f5866e41 ("coredump: fix race condition between
mmget_not_zero()/get_task_mm() and core dumping") for more background on
this whole mmget_still_valid() thing.  You might want to have a barf bag
handy when you do.

We're discussing just fixing this properly in the only remaining core
dumping routines.  But even if we do that, let's make do_madvise() do
the right thing, and then when we fix core dumping, we can remove all
these mmget_still_valid() checks.

Reported-and-tested-by: Jann Horn <jannh@google.com>
Fixes: c1ca757bd6 ("io_uring: add IORING_OP_MADVISE")
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-04-24 13:28:03 -07:00
Greg Kroah-Hartman
be8d9e8684 Linux 5.6-rc7
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl54EZgeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGLpwIAJv475oyWJDefyZn
 Va5GF+LgR3CMGnfOQXyLXphFUU0fYQtuHb6E5w2hmMpovNrlbpzuypuOetqN1gtQ
 DpDgt6htHlBAJCNkNnHOjEARmMZo64D2dnLlTfa6fjJMc4tg3yk/oMFXFpiP0kdd
 ena4DetB293IF2EjP7RWfVbXzbZzG4sLmIsOmUiFH1H1nhTV8tZWG06KvUcwuCSU
 AfrXiOaVj6npiShszjdODYaFRL6mYh5es7q02wQpKeWdZHRU8IuKTgywiOjh6uD4
 J2bXvz0qbDN/2Zgj73H8EfkAP7zm6nCHifQiUm9uRsjzpcfjFRYIn+4/4LAzCIjm
 VI8uvdA=
 =/NN5
 -----END PGP SIGNATURE-----

Merge 5.6-rc7 into android-mainline

Linux 5.6-rc7

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic71eca628f179cd0084692e615c70a8c8241e744
2020-03-23 10:36:13 +01:00
Michal Hocko
12e967fd8e mm: do not allow MADV_PAGEOUT for CoW pages
Jann has brought up a very interesting point [1].  While shared pages
are excluded from MADV_PAGEOUT normally, CoW pages can be easily
reclaimed that way.  This can lead to all sorts of hard to debug
problems.  E.g.  performance problems outlined by Daniel [2].

There are runtime environments where there is a substantial memory
shared among security domains via CoW memory and a easy to reclaim way
of that memory, which MADV_{COLD,PAGEOUT} offers, can lead to either
performance degradation in for the parent process which might be more
privileged or even open side channel attacks.

The feasibility of the latter is not really clear to me TBH but there is
no real reason for exposure at this stage.  It seems there is no real
use case to depend on reclaiming CoW memory via madvise at this stage so
it is much easier to simply disallow it and this is what this patch
does.  Put it simply MADV_{PAGEOUT,COLD} can operate only on the
exclusively owned memory which is a straightforward semantic.

[1] http://lkml.kernel.org/r/CAG48ez0G3JkMq61gUmyQAaCq=_TwHbi1XKzWRooxZkv08PQKuw@mail.gmail.com
[2] http://lkml.kernel.org/r/CAKOZueua_v8jHCpmEtTB6f3i9e2YnmX4mqdYVWhV4E=Z-n+zRQ@mail.gmail.com

Fixes: 9c276cc65a ("mm: introduce MADV_COLD")
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Daniel Colascione <dancol@google.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: "Joel Fernandes (Google)" <joel@joelfernandes.org>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200312082248.GS23944@dhcp22.suse.cz
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-03-21 18:56:06 -07:00
Greg Kroah-Hartman
7881aee544 Merge 39bed42de2 ("Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma") into android-mainline
Baby steps in the 5.6-rc1 merge cycle to make things easier to review
and debug.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0fa183764fd1adbde44e8181f0b3df6cff4da18b
2020-02-03 15:34:37 +00:00
Jens Axboe
db08ca2525 mm: make do_madvise() available internally
This is in preparation for enabling this functionality through io_uring.
Add a helper that is just exporting what sys_madvise() does, and have the
system call use it.

No functional changes in this patch.

Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-01-20 17:04:02 -07:00
Greg Kroah-Hartman
d3a196a371 Linux 5.5-rc1
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl3tf/0eHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGlKwH/3fTToujuJfTx5E5
 mrARAP65J1L/DxpEKvKRt2bNZo6w13mNd8g7ZPmYChz90bYGvXQSG8hYTU9iAw3O
 yimSTJlNXDhVAluB53XnDdUxIWC4HUZsNxWJNCeXMuiMcGNsTGX+v3f+x7oHCT0P
 jI1RSIsFGjgr0RWqZ8U5aJckQo2xABC1TfYw53K66Oc/JLZpSFJFwMgjf1fD5diU
 HGDA8E2p0u1TQIyNzr86iqMvnlSRYBQwBQn6OgEKCG4Z0NLtXfDF4mqnxsXgLmIH
 oQoFfxaMKXyGWds7ZxwcGWntALCF41ThfpiJWDIyxjWxFEty4bqTCbDPwwyp7ip0
 iuASmTI=
 =YqO2
 -----END PGP SIGNATURE-----

Merge 5.5-rc1 into android-mainline

Linux 5.5-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6f952ebdd40746115165a2f99bab340482f5c237
2019-12-09 12:12:00 +01:00
Wei Yang
df6c6500b4 mm/madvise.c: use PAGE_ALIGN[ED] for range checking
Improve readability, no functional change.

Link: http://lkml.kernel.org/r/20191118032857.22683-1-richardw.yang@linux.intel.com
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-12-01 12:59:09 -08:00