Commit Graph

81527 Commits

Author SHA1 Message Date
Jaegeuk Kim
7c4e7f1885 Revert "f2fs: fix to tag gcing flag on page during block migration"
This reverts commit 7c972c8945.

[  146.693904][ T8878] WARNING: CPU: 2 PID: 8878 at fs/f2fs/segment.c:3335 f2fs_allocate_data_block+0x130/0xd08

panic in:

f2fs_write_data_pages
 -> f2fs_write_multi_pages
  -> f2fs_write_single_data_page
   -> f2fs_do_write_data_page
    -> f2fs_outplace_write_data
     -> do_write_page
      -> f2fs_allocate_data_block

 if (from_gc) {
         f2fs_bug_on(sbi, GET_SEGNO(sbi, old_blkaddr) == NULL_SEGNO);
         se = get_seg_entry(sbi, GET_SEGNO(sbi, old_blkaddr));
         sanity_check_seg_type(sbi, se->type);
         f2fs_bug_on(sbi, IS_NODESEG(se->type));
 }

Bug: 345273844
Bug: 348080443
Change-Id: I62732bbcb37a7864588886b862b590a463b4d1d9
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
(cherry picked from commit c0618d182a9cfbcfb4435de7c37ed32c44051216)
2024-06-19 03:00:11 +00:00
Zhiguo Niu
002be199aa FROMGIT: f2fs: fix to avoid use SSR allocate when do defragment
SSR allocate mode will be used when doing file defragment
if ATGC is working at the same time, that is because
set_page_private_gcing may make CURSEG_ALL_DATA_ATGC segment
type got in f2fs_allocate_data_block when defragment page
is writeback, which may cause file fragmentation is worse.

A file with 2 fragmentations is changed as following after defragment:

----------------file info-------------------
sensorsdata :
--------------------------------------------
dev       [254:48]
ino       [0x    3029 : 12329]
mode      [0x    81b0 : 33200]
nlink     [0x       1 : 1]
uid       [0x    27e6 : 10214]
gid       [0x    27e6 : 10214]
size      [0x  242000 : 2367488]
blksize   [0x    1000 : 4096]
blocks    [0x    1210 : 4624]
--------------------------------------------

file_pos   start_blk     end_blk        blks
       0    11361121    11361207          87
  356352    11361215    11361216           2
  364544    11361218    11361218           1
  368640    11361220    11361221           2
  376832    11361224    11361225           2
  385024    11361227    11361238          12
  434176    11361240    11361252          13
  487424    11361254    11361254           1
  491520    11361271    11361279           9
  528384     3681794     3681795           2
  536576     3681797     3681797           1
  540672     3681799     3681799           1
  544768     3681803     3681803           1
  548864     3681805     3681805           1
  552960     3681807     3681807           1
  557056     3681809     3681809           1

Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 345273844
(cherry picked from commit 9e2fc0b6f2cd47f4bbed67c2828d67149b96039f
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test)
Change-Id: I1c68e1d2c289482db31c7e882e4300423d4c97f3
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-06-12 10:15:44 +00:00
Greg Kroah-Hartman
87a4e67740 Merge tag 'android14-6.1.78_r00' into branch android14-6.1
This brings the android14-6.1 branch up to date with the 6.1.78 LTS
release.  Included in here are the following commits:

* 4b97573495 Revert "hrtimer: Report offline hrtimer enqueue"
*   0e5af42a0a Merge 6.1.78 into android14-6.1-lts
|\
| * 8b4118fabd Linux 6.1.78
| * 1296c110c5 netfilter: nft_set_rbtree: skip end interval element from gc
| * d89a80e482 net: stmmac: xgmac: fix a typo of register name in DPP safety handling
| * 7b430fb924 ALSA: usb-audio: Sort quirk table entries
| * 06040fadbf net: stmmac: xgmac: use #define for string constants
| * 499e6e9f07 clocksource: Skip watchdog check for large watchdog intervals
| * 492e0aba08 block: treat poll queue enter similarly to timeouts
| * cf3d57ad6f f2fs: add helper to check compression level
| * 9f74b3d718 RDMA/irdma: Fix support for 64k pages
| * 4675661672 vhost: use kzalloc() instead of kmalloc() followed by memset()
| * d8712c6c6a Revert "ASoC: amd: Add new dmi entries for acp5x platform"
| * fbd77ce1d1 io_uring/net: fix sr->len for IORING_OP_RECV with MSG_WAITALL and buffers
| * 08249dc3d9 Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
| * 315075ac73 Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
| * a94d303bea hrtimer: Report offline hrtimer enqueue
| * 8b380ad970 usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK
| * f2cf6db285 usb: dwc3: host: Set XHCI_SG_TRB_CACHE_SIZE_QUIRK
| * 041cb58f54 USB: serial: cp210x: add ID for IMST iM871A-USB
| * 36ef5b7b4f USB: serial: option: add Fibocom FM101-GL variant
| * 234099ab7f USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
| * 39fbca505f ALSA: usb-audio: add quirk for RODE NT-USB+
| * 2552f6b1bd ALSA: usb-audio: Add a quirk for Yamaha YIT-W12TX transmitter
| * b8259a5023 ALSA: usb-audio: Add delay quirk for MOTU M Series 2nd revision
| * 82761993d4 mtd: parsers: ofpart: add workaround for #size-cells 0
| * b478e414cf fs: dlm: don't put dlm_local_addrs on heap
| * e5dc63f01e blk-iocost: Fix an UBSAN shift-out-of-bounds warning
| * 1ebd75cefa scsi: core: Move scsi_host_busy() out of host lock if it is for per-command
| * ec1bedd797 fs/ntfs3: Fix an NULL dereference bug
| * a442ff5405 netfilter: nft_set_pipapo: remove scratch_aligned pointer
| * fac3478d5b netfilter: nft_set_pipapo: add helper to release pcpu scratch area
| * 3eaab7d565 netfilter: nft_set_pipapo: store index in scratch maps
| * 181dade251 netfilter: nft_ct: reject direction for ct id
| * efdd665ce1 drm/amd/display: Implement bounds check for stream encoder creation in DCN301
| * a060da3235 netfilter: nft_compat: restrict match/target protocol to u16
| * 8762bcc927 netfilter: nft_compat: reject unused compat flag
| * e79ef7966e netfilter: nft_compat: narrow down revision to unsigned 8-bits
| * 69d66d493b selftests: cmsg_ipv6: repeat the exact packet
| * 4e2c4846b2 ppp_async: limit MRU to 64K
| * e0e09186d8 af_unix: Call kfree_skb() for dead unix_(sk)->oob_skb in GC.
| * 3d3a5b31b4 tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()
| * cf6b97e183 rxrpc: Fix response to PING RESPONSE ACKs to a dead call
| * 05a4d0e166 drm/i915/gvt: Fix uninitialized variable in handle_mmio()
| * 5453875221 inet: read sk->sk_family once in inet_recv_error()
| * 3fa78ee0e3 hwmon: (coretemp) Fix bogus core_id to attr name mapping
| * 9bce694192 hwmon: (coretemp) Fix out-of-bounds memory access
| * a3156be201 hwmon: (aspeed-pwm-tacho) mutex for tach reading
| * 4065746686 octeontx2-pf: Fix a memleak otx2_sq_init
| * cbf2e16602 atm: idt77252: fix a memleak in open_card_ubr0
| * e37cde7a57 tunnels: fix out of bounds access when building IPv6 PMTU error
| * 90fe47743a selftests: net: avoid just another constant wait
| * 7f484179c5 selftests: net: cut more slack for gro fwd tests.
| * 466ceebe48 net: atlantic: Fix DMA mapping for PTP hwts ring
| * 0193e0660c netdevsim: avoid potential loop in nsim_dev_trap_report_work()
| * bcabbf8ab5 wifi: mac80211: fix waiting for beacons logic
| * e42ff0844f net: stmmac: xgmac: fix handling of DPP safety error for DMA channels
| * fb8bfc6ea3 drm/msm/dpu: check for valid hw_pp in dpu_encoder_helper_phys_cleanup
| * 42939a1ea6 drm/msm/dp: return correct Colorimetry for DP_TEST_DYNAMIC_RANGE_CEA case
| * d2b7e247f3 drm/msms/dp: fixed link clock divider bits be over written in BPC unknown case
| * cbc53148cc cifs: failure to add channel on iface should bump up weight
| * 0430bfcd46 phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
| * 296fb308f4 dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
| * ed3bb52a05 phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
| * 25ab4d72eb dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
| * 13535ae766 dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA
| * 908939b8e8 dmaengine: ti: k3-udma: Report short packet errors
| * a1d7ca71ba dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools
| * 78327acd4c ext4: regenerate buddy after block freeing failed if under fc replay
* | 19c319d14d Revert "drm/mipi-dsi: Fix detach call without attach"
* | 20b90d46a0 Merge 6.1.77 into android14-6.1-lts
|\|
| * f1bb70486c Linux 6.1.77
| * d78690bb5d drm/amdgpu: Fix missing error code in 'gmc_v6/7/8/9_0_hw_init()'
| * f086c50a98 ASoC: codecs: wsa883x: fix PA volume control
| * ac86261fa8 ASoC: codecs: lpass-wsa-macro: fix compander volume hack
| * 2386ee6cba bonding: remove print in bond_verify_device_path
| * e1edd8e6c0 gve: Fix use-after-free vulnerability
| * 9e584ea101 LoongArch/smp: Call rcutree_report_cpu_starting() at tlb_init()
| * 98c392a91a drm/msm/dsi: Enable runtime PM
| * befdb0a8a1 Revert "drm/amd/display: Disable PSR-SU on Parade 0803 TCON again"
| * dc904345e3 mm, kmsan: fix infinite recursion due to RCU critical section
| * c5a12dfbfa arm64: irq: set the correct node for shadow call stack
| * ddd367ebc4 selftests: bonding: Check initial state
| * 7ebe20e632 selftests: team: Add missing config options
| * aaa8f76845 net: sysfs: Fix /sys/class/net/<iface> path
| * bea0fbf857 selftests: net: fix available tunnels detection
| * a2104f4387 af_unix: fix lockdep positive in sk_diag_dump_icons()
| * fde3d47efe net: ipv4: fix a memleak in ip_setup_cork
| * 0f501dae16 netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations
| * 9ff981cd65 netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
| * 67f0ca0a4c netfilter: nf_tables: restrict tunnel object to NFPROTO_NETDEV
| * 8a51dbf7b7 netfilter: conntrack: correct window scaling with retransmitted SYN
| * cd091ca44c selftests: net: add missing config for GENEVE
| * 04a553d8ac bridge: mcast: fix disabled snooping after long uptime
| * 9c333d9891 llc: call sock_orphan() at release time
| * c59ed6592f ipv6: Ensure natural alignment of const ipv6 loopback and router addresses
| * 2f3d9829f7 net: dsa: qca8k: fix illegal usage of GPIO
| * 1e4c227805 ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550()
| * 3b84b7000c ixgbe: Refactor overtemp event handling
| * 9c8eafc5e9 ixgbe: Refactor returning internal error codes
| * b383d4ea27 tcp: add sanity checks to rx zerocopy
| * 046260ce7c net: lan966x: Fix port configuration when using SGMII interface
| * d2f1b7fe74 ipmr: fix kernel panic when forwarding mcast packets
| * 03dc5b73af ipv4: raw: add drop reasons
| * d54e4da98b ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()
| * 262caadfa9 selftests: net: give more time for GRO aggregation
| * 53e94ec530 HID: hidraw: fix a problem of memory leak in hidraw_release()
| * db6338f459 scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler
| * 81e92f0c97 regulator: ti-abb: don't use devm_platform_ioremap_resource_byname for shared interrupt register
| * 7eb86ddaf1 scsi: isci: Fix an error code problem in isci_io_request_build()
| * 206dcd2624 drm: using mul_u32_u32() requires linux/math64.h
| * a2f30104fe wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update
| * 071d98d5ee perf: Fix the nr_addr_filters fix
| * 8eea7e1d69 drm/amdkfd: Fix 'node' NULL check in 'svm_range_get_range_boundaries()'
| * 7513f0906c drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()'
| * af8e292615 drm/amdgpu: Fix with right return code '-EIO' in 'amdgpu_gmc_vram_checking()'
| * d282ea0703 drm/amd/powerplay: Fix kzalloc parameter 'ATOM_Tonga_PPM_Table' in 'get_platform_power_management_table()'
| * 3fbfeb8536 ceph: fix invalid pointer access if get_quota_realm return ERR_PTR
| * 7f2649c942 ceph: fix deadlock or deadcode of misusing dget()
| * 692ead237d ceph: reinitialize mds feature bit even when session in open
| * 1d9c777d3e blk-mq: fix IO hang from sbitmap wakeup race
| * 1f7a018857 virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings
| * b602f098f7 drm/amdkfd: Fix lock dependency warning with srcu
| * 8b25d39716 drm/amdkfd: Fix lock dependency warning
| * 49a7b708da libsubcmd: Fix memory leak in uniq()
| * 2c1164ad92 misc: lis3lv02d_i2c: Add missing setting of the reg_ctrl callback
| * 91f1977487 9p: Fix initialisation of netfs_inode for 9p
| * fc557b76dc PCI/AER: Decode Requester ID when no error info found
| * 83c895561a PCI: Fix 64GT/s effective data rate calculation
| * 521f28eedd spmi: mediatek: Fix UAF on device remove
| * 089ebfab24 fs/kernfs/dir: obey S_ISGID
| * c13bcbdb84 tty: allow TIOCSLCKTRMIOS with CAP_CHECKPOINT_RESTORE
| * d8d7ffefc0 selftests/sgx: Fix linker script asserts
| * fa3f6cd20d usb: hub: Add quirk to decrease IN-ep poll interval for Microchip USB491x hub
| * 9cdf5ddb06 usb: hub: Replace hardcoded quirk value with BIT() macro
| * 4c8ca96124 perf cs-etm: Bump minimum OpenCSD version to ensure a bugfix is present
| * 1d83c85922 PCI: switchtec: Fix stdev_release() crash after surprise hot remove
| * 5e0160dab1 PCI: Only override AMD USB controller if required
| * 26b8a35fef mailbox: arm_mhuv2: Fix a bug for mhuv2_sender_interrupt
| * 6e8c0eda6c mfd: ti_am335x_tscadc: Fix TI SoC dependencies
| * 52e7f05549 xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import
| * e827364bc1 i3c: master: cdns: Update maximum prescaler value for i2c clock
| * 4f7dad73df um: time-travel: fix time corruption
| * d8512cc8ac um: net: Fix return type of uml_net_start_xmit()
| * d8264ce2f8 um: Don't use vfprintf() for os_info()
| * a95e52af36 um: Fix naming clash between UML and scheduler
| * 7d1c4e5809 leds: trigger: panic: Don't register panic notifier if creating the trigger failed
| * 2cb659ef0a ALSA: hda/conexant: Fix headset auto detect fail in cx8070 and SN6140
| * 05a0900bd7 drm/amdkfd: Fix iterator used outside loop in 'kfd_add_peer_prop()'
| * 34bb1b97c3 drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()'
| * 66d38977e2 drm/amdgpu: Fix '*fw' from request_firmware() not released in 'amdgpu_ucode_request()'
| * da08dbb647 drm/amdgpu: Let KFD sync with VM fences
| * adae24c5b3 drm/amdgpu: Fix ecc irq enable/disable unpaired
| * aade0a0760 clk: imx: clk-imx8qxp: fix LVDS bypass, pixel and phy clocks
| * 7294b1bbaa drm/amd/display: make flip_timestamp_in_us a 64-bit variable
| * c95d2144be watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786
| * ec74a45e80 clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
| * 14992bc77f clk: hi3620: Fix memory leak in hi3620_mmc_clk_init()
| * d443fb67ca drm/amdgpu: fix ftrace event amdgpu_bo_move always move on same heap
| * fe7e8ec072 drm/msm/dpu: fix writeback programming for YUV cases
| * 7593e62702 drm/msm/dpu: Ratelimit framedone timeout msgs
| * fb017c3e6a drm/amd/display: For prefetch mode > 0, extend prefetch if possible
| * 4ef53b7e30 media: i2c: imx335: Fix hblank min/max values
| * 5008bde32c media: ddbridge: fix an error code problem in ddb_probe
| * 6408851d05 media: amphion: remove mutext lock in condition of wait_event
| * 5108a2dc2d IB/ipoib: Fix mcast list locking
| * fe80290b2a drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time
| * 7c972c8945 f2fs: fix to tag gcing flag on page during block migration
| * fb55c3cee6 hwmon: (nct6775) Fix fan speed set failure in automatic mode
| * bf808f5868 media: rkisp1: Fix IRQ disable race issue
| * f0d0fe3787 media: rkisp1: Store IRQ lines
| * fb71b54856 media: rkisp1: Fix IRQ handler return values
| * 1c51b6b0c6 media: rkisp1: Drop IRQF_SHARED
| * c3f77c5d63 ALSA: hda: Intel: add HDA_ARL PCI ID support
| * 3b28da57d0 PCI: add INTEL_HDA_ARL to pci_ids.h
| * 16786b7090 media: rockchip: rga: fix swizzling for RGB formats
| * 1ef8beb4bf media: stk1160: Fixed high volume of stk1160_dbg messages
| * 25eaa9f999 drm/mipi-dsi: Fix detach call without attach
| * f3e41cc260 drm/framebuffer: Fix use of uninitialized variable
| * 406f8d5bad drm/drm_file: fix use of uninitialized variable
| * 48ad42cd95 ASoC: amd: Add new dmi entries for acp5x platform
| * b6ca70f06e f2fs: fix write pointers on zoned device after roll forward
| * 9773a96eac drm/amd/display: Fix tiled display misalignment
| * 126543736f drm/bridge: anx7625: Fix Set HPD irq detect window to 2ms
| * 3c2bd20dc9 drm/panel-edp: Add override_edid_mode quirk for generic edp
| * 055c849724 RDMA/IPoIB: Fix error code return in ipoib_mcast_join
| * c4cb42824e fast_dput(): handle underflows gracefully
| * 0ee8e0a183 ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument
| * 52e25a323c ALSA: hda: Refer to correct stream index at loops
| * b1020a5467 f2fs: fix to check return value of f2fs_reserve_new_block()
| * 332a7c108e net: dsa: qca8k: put MDIO bus OF node on qca8k_mdio_register() failure
| * 0438a985de octeontx2-af: Fix max NPC MCAM entry check while validating ref_entry
| * 95173204b1 i40e: Fix VF disable behavior to block all traffic
| * 9f9ac39adb bridge: cfm: fix enum typo in br_cc_ccm_tx_parse
| * a243e0818e net/smc: disable SEID on non-s390 archs where virtual ISM may be used
| * 388736c62b Bluetooth: L2CAP: Fix possible multiple reject send
| * 6d95ade9e6 Bluetooth: hci_sync: fix BR/EDR wakeup bug
| * a836b1c333 Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066
| * da1a6e9f01 wifi: cfg80211: free beacon_ies when overridden from hidden BSS
| * 3bb09b9af1 wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift()
| * 12473265f5 libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relos
| * 68ef19417a wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices
| * e15fa0c67e arm64: dts: amlogic: fix format for s4 uart node
| * 9e8338b72b ice: fix pre-shifted bit usage
| * 9c5541f3f0 arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property
| * 2fdbf9d9a0 arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
| * fd9a2c7003 md: Whenassemble the array, consult the superblock of the freshest device
| * 8ae4201900 block: prevent an integer overflow in bvec_try_merge_hw_page
| * 44f6b75c09 net: dsa: mv88e6xxx: Fix mv88e6352_serdes_get_stats error path
| * 0edb3ae8bf net: atlantic: eliminate double free in error handling logic
| * ea12794ea6 ice: fix ICE_AQ_VSI_Q_OPT_RSS_* register values
| * d4560c11c3 scsi: hisi_sas: Set .phy_attached before notifing phyup event HISI_PHYE_PHY_UP_PM
| * dc15b313f3 ARM: dts: imx23/28: Fix the DMA controller node name
| * 9388665a12 ARM: dts: imx23-sansa: Use preferred i2c-gpios properties
| * fb8e41af95 ARM: dts: imx27-apf27dev: Fix LED name
| * 6ebe86575b ARM: dts: imx25/27: Pass timing0
| * 68b2e26225 ARM: dts: imx25: Fix the iim compatible string
| * af7bbdac89 block/rnbd-srv: Check for unlikely string overflow
| * 238ec612a2 ionic: bypass firmware cmds when stuck in reset
| * 434fcaf372 ionic: pass opcode to devcmd_wait
| * 7dc0fefd37 net: phy: at803x: fix passing the wrong reference for config_intr
| * e7398f3e45 ARM: dts: imx1: Fix sram node
| * 7721a55c02 ARM: dts: imx27: Fix sram node
| * 8a0285ed7e ARM: dts: imx: Use flash@0,0 pattern
| * 8953b37bb1 ARM: dts: imx25/27-eukrea: Fix RTC node name
| * 1acdaf9f29 ARM: dts: rockchip: fix rk3036 hdmi ports node
| * 574dcd3126 wifi: wfx: fix possible NULL pointer dereference in wfx_set_mfp_ap()
| * 5a44a664ab bpf: Set uattr->batch.count as zero before batched update or deletion
| * 7719e56b20 scsi: libfc: Fix up timeout error in fc_fcp_rec_error()
| * 73fe92ddf9 scsi: libfc: Don't schedule abort twice
| * d6d6fe4bb1 bpf: Check rcu_read_lock_trace_held() before calling bpf map helpers
| * c07965d1a7 wifi: ath11k: fix race due to setting ATH11K_FLAG_EXT_IRQ_ENABLED too early
| * 25c6f49ef5 wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()
| * db30f469ae ARM: dts: imx7s: Fix nand-controller #size-cells
| * 6fa750d62f ARM: dts: imx7s: Fix lcdif compatible
| * c9c2a35820 ARM: dts: imx7d: Fix coresight funnel ports
| * 89fdf0a2c7 scsi: arcmsr: Support new PCI device IDs 1883 and 1886
| * 61c859bd66 scsi: mpi3mr: Add PCI checks where SAS5116 diverges from SAS4116
| * 5c4cbec510 net: usb: ax88179_178a: avoid two consecutive device resets
| * cd4cdad9bd bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk
| * c0d5a69322 PCI: Add no PM reset quirk for NVIDIA Spectrum devices
| * 04dcef4a78 scsi: lpfc: Fix possible file string name overflow when updating firmware
| * c0a96adce2 soc: xilinx: fix unhandled SGI warning message
| * 01946c3c83 soc: xilinx: Fix for call trace due to the usage of smp_processor_id()
| * fd937767d5 selftests/bpf: Fix issues in setup_classid_environment()
| * f58cfb63e4 wifi: rt2x00: correct wrong BBP register in RxDCOC calibration
| * ad0e7bbc0b selftests/bpf: Fix pyperf180 compilation failure with clang18
| * 76ab331d6d selftests/bpf: satisfy compiler by having explicit return in btf test
| * 739b3ccd94 wifi: rt2x00: restart beacon queue when hardware reset
| * 6d2cbf517d ext4: avoid online resizing failures due to oversized flex bg
| * dd10f82ece ext4: remove unnecessary check from alloc_flex_gd()
| * 60292a12a0 ext4: unify the type of flexbg_size to unsigned int
| * 069ede0475 ext4: fix inconsistent between segment fstrim and full fstrim
| * 80cab9dad5 ecryptfs: Reject casefold directory inodes
| * e8ca3e7330 SUNRPC: Fix a suspicious RCU usage warning
| * 0671f42a9c KVM: s390: fix setting of fpc register
| * 7a4d6481fb s390/ptrace: handle setting of fpc register correctly
| * 08f65c9067 s390/vfio-ap: fix sysfs status attribute for AP queue devices
| * d6c8d8ab76 arch: consolidate arch_irq_work_raise prototypes
| * 3537f92cd2 jfs: fix array-index-out-of-bounds in diNewExt
| * b03d76cc66 rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock()
| * ea4eb77c53 afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()
| * eef7c4cd98 afs: fix the usage of read_seqbegin_or_lock() in afs_lookup_volume_rcu()
| * 91256fcd57 crypto: stm32/crc32 - fix parsing list of devices
| * e0e78522b4 erofs: fix ztailpacking for subpage compressed blocks
| * 6c7bdb97d4 crypto: octeontx2 - Fix cptvf driver cleanup
| * 75b0f71b26 pstore/ram: Fix crash when setting number of cpus to an odd number
| * 32e8f2d955 jfs: fix uaf in jfs_evict_inode
| * 70780914cb jfs: fix array-index-out-of-bounds in dbAdjTree
| * cab0c265ba jfs: fix slab-out-of-bounds Read in dtSearch
| * e4cbc857d7 UBSAN: array-index-out-of-bounds in dtSplitRoot
| * 42f433785f FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree
| * 185d97e5be ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events
| * 31569995fc PM / devfreq: Synchronize devfreq_monitor_[start/stop]
| * 7633b7a036 ACPI: NUMA: Fix the logic of getting the fake_pxm value
| * 33650372e3 ACPI: extlog: fix NULL pointer dereference check
| * 431c1a4921 PNP: ACPI: fix fortify warning
| * 81eb8b56e7 ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop
| * 4d4e06eaa2 audit: Send netlink ACK before setting connection in auditd_set
| * 3430936a01 regulator: core: Only increment use_count when enable_count changes
| * b3ae38966d debugobjects: Stop accessing objects after releasing hash bucket lock
| * 74ec093dba perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file
| * d67e43be0e x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel
| * abd26515d4 powerpc/lib: Validate size for vector operations
| * 0be5614f26 powerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE
| * d4908b3431 x86/boot: Ignore NMIs during very early boot
| * a6fd14db75 powerpc/64s: Fix CONFIG_NUMA=n build due to create_section_mapping()
| * cf3256c431 powerpc/mm: Fix build failures due to arch_reserved_kernel_pages()
| * 7ad4b2a6b2 powerpc: Fix build error due to is_valid_bugaddr()
| * d87d9a23a1 drivers/perf: pmuv3: don't expose SW_INCR event in sysfs
| * 4431284f4a arm64: irq: set the correct node for VMAP stack
| * d482d61025 powerpc/mm: Fix null-pointer dereference in pgtable_cache_add
| * 9e5c37e0fa asm-generic: make sparse happy with odd-sized put_unaligned_*()
* | f28d3f0d96 Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
* | 7a8376be74 ANDROID: use reserved cpucaps for new capability
* | c801066eca Revert "mm/sparsemem: fix race in accessing memory_section->usage"
* | 2dbddbe358 Merge 6.1.76 into android-6.1
|\|
| * e5c3b988b8 Linux 6.1.76
| * d7dc6a8604 net/mlx5e: Handle hardware IPsec limits events
| * e90c7d26ca serial: core: fix kernel-doc for uart_port_unlock_irqrestore()
| * c02d3872c8 x86/entry/ia32: Ensure s32 is sign extended to s64
| * cf0b4ba4b0 tick/sched: Preserve number of idle sleeps across CPU hotplug events
| * e333bbb557 mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan
| * ec745eeff4 cxl/region:Fix overflow issue in alloc_hpa()
| * 1111abee59 MIPS: lantiq: register smp_ops on non-smp platforms
| * b086f6d979 spi: fix finalize message on error return
| * 598af91f62 spi: bcm-qspi: fix SFDP BFPT read by usig mspi read
| * a2fa86e2bb drm/bridge: anx7625: Ensure bridge is suspended in disable()
| * 9564767b67 block: Move checking GENHD_FL_NO_PART to bdev_add_partition()
| * 4b84411165 gpio: eic-sprd: Clear interrupt after set the interrupt type
| * 23cf4cf429 drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
| * ba930885bf drm/exynos: fix accidental on-stack copy of exynos_drm_plane
| * c1cd4f9da5 drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case
| * 6ba690e7f7 drm/bridge: parade-ps8640: Ensure bridge is suspended in .post_disable()
| * 279f1cc562 drm/bridge: sii902x: Fix audio codec unregistration
| * e0f83c234e drm/bridge: sii902x: Fix probing race issue
| * c46f9c7f93 drm/bridge: sii902x: Use devm_regulator_bulk_get_enable()
| * ed555f5b5c drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33]
| * 6b7fb2903a drm/bridge: parade-ps8640: Wait for HPD when doing an AUX transfer
| * f9a4c401bf Revert "powerpc/64s: Increase default stack size to 32KB"
| * ec5e692cba drm/panel-edp: drm/panel-edp: Fix AUO B116XAK01 name and timing
| * f91c77d2c3 btrfs: zoned: optimize hint byte for zoned allocator
| * 4c45143447 btrfs: zoned: factor out prepare_allocation_zoned()
| * b168029d67 serial: sc16is7xx: fix unconditional activation of THRI interrupt
| * 49d733c4bb serial: sc16is7xx: Use port lock wrappers
| * 4fd9a02121 serial: core: Provide port lock wrappers
| * e11dea8f50 dlm: use kernel_connect() and kernel_bind()
| * fd7c2ffa0e ARM: dts: qcom: sdx55: fix USB SS wakeup
| * ecf87621b4 ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
| * 34d2c909c7 ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
| * bba1320ef2 ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12
| * 46cd7ef69f ARM: dts: qcom: sdx55: fix USB wakeup interrupt types
| * b87a1229d8 pipe: wakeup wr_wait after setting max_usage
| * 6f5c4aaddd fs/pipe: move check to pipe_has_watch_queue()
| * 28f010dc50 thermal: intel: hfi: Add syscore callbacks for system-wide PM
| * b2517d1412 thermal: intel: hfi: Disable an HFI instance when all its CPUs go offline
| * a8056e821c thermal: intel: hfi: Refactor enabling code into helper functions
| * e1c9d32c98 PM: sleep: Fix possible deadlocks in core system-wide PM code
| * a9dbf8ca31 PM: core: Remove unnecessary (void *) conversions
| * ea3357c6cf bus: mhi: ep: Do not allocate event ring element on stack
| * 512fc4d735 media: ov13b10: Enable runtime PM before registering async sub-device
| * a14c2431e5 media: ov13b10: Support device probe in non-zero ACPI D state
| * 33bf23c994 erofs: fix lz4 inplace decompression
| * 2197389e1a erofs: get rid of the remaining kmap_atomic()
| * 471ab2e8b7 drm/amdgpu/pm: Fix the power source flag error
| * b4cbd01832 drm/amd/display: Port DENTIST hang and TDR fixes to OTG disable W/A
| * 7960f14fca drm/bridge: nxp-ptn3460: simplify some error checking
| * 6341140b04 platform/x86: intel-uncore-freq: Fix types in sysfs callbacks
| * 85d16c03dd drm/amd/display: Disable PSR-SU on Parade 0803 TCON again
| * b5fcb340b7 drm/tidss: Fix atomic_flush check
| * 2a81e844d1 drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking
| * 62f2e79cf9 drm: Don't unref the same fb many times by mistake due to deadlock handling
| * 635e996e6e cpufreq: intel_pstate: Refine computation of P-state for given frequency
| * 242996f500 gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04
| * 6c495c84e2 xfs: read only mounts with fsopen mount API are busted
| * 7f95f6997f firmware: arm_scmi: Check mailbox/SMT channel for consistency
| * 2c939c74ef ksmbd: fix global oob in ksmbd_nl_policy
| * 2841631a03 platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe
| * 8e34430e33 netfilter: nf_tables: reject QUEUE/DROP verdict parameters
| * af149a4689 netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain
| * 5e7d8ddf2a hv_netvsc: Calculate correct ring size when PAGE_SIZE is not 4 Kbytes
| * aa2cc93639 wifi: iwlwifi: fix a memory corruption
| * dcc54a54de exec: Fix error handling in begin_new_exec()
| * 4646445756 rbd: don't move requests to the running list on errors
| * 6e6bca99e8 btrfs: don't abort filesystem when attempting to snapshot deleted subvolume
| * 52e02f26d0 btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args
| * 86aff7c5f7 btrfs: don't warn if discard range is not aligned to sector
| * b60f748a2f btrfs: tree-checker: fix inline ref size in error messages
| * c91c247be4 btrfs: ref-verify: free ref cache before clearing mount opt
| * 9ebd514fbd btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted
| * d9c54763e5 nbd: always initialize struct msghdr completely
| * 0a5a083c2b net: fec: fix the unhandled context fault from smmu
| * 5b1086d226 fjes: fix memleaks in fjes_hw_setup
| * 4b4dcb3f42 selftests: netdevsim: fix the udp_tunnel_nic test
| * cec65f09c4 net: mvpp2: clear BM pool before initialization
| * acb6eaf2ea net: stmmac: Wait a bit for the reset to take effect
| * 67ee37360d netfilter: nf_tables: validate NFPROTO_* family
| * ed5b62bbd4 netfilter: nf_tables: restrict anonymous set and map names to 16 bytes
| * c25d7922ef btrfs: fix race between reading a directory and adding entries to it
| * fd968e683b btrfs: refresh dir last index during a rewinddir(3) call
| * a045b6b197 btrfs: set last dir index to the current last index when opening dir
| * 2aa515b5b5 btrfs: fix infinite directory reads
| * bc6e242bb7 netfilter: nft_limit: reject configurations that cause integer overflow
| * c817f5c016 rcu: Defer RCU kthreads wakeup when CPU is dying
| * b2fa86b2ac net/mlx5e: fix a potential double-free in fs_any_create_groups
| * 42876db001 net/mlx5e: fix a double-free in arfs_create_groups
| * 890881d10f net/mlx5e: Allow software parsing when IPsec crypto is enabled
| * 62ce16005e net/mlx5: Use mlx5 device constant for selecting CQ period mode for ASO
| * 75d9ed4930 net/mlx5: DR, Can't go to uplink vport on RX rule
| * e54aedd4d0 net/mlx5: DR, Use the right GVMI number for drop action
| * f11792c389 ipv6: init the accept_queue's spinlocks in inet6_create
| * de061604f8 netlink: fix potential sleeping issue in mqueue_flush_file
| * 90fba981ca tcp: Add memory barrier to tcp_push()
| * ab49164c60 afs: Hide silly-rename files from userspace
| * f4f7e696db tracing: Ensure visibility when inserting an element into tracing_map
| * 82a9bc343b netfs, fscache: Prevent Oops in fscache_put_cache()
| * 71024928b3 net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv
| * fcb0b4b6bc net: micrel: Fix PTP frame parsing for lan8814
| * 7a581f597a tun: add missing rx stats accounting in tun_xdp_act
| * 41e7decdad tun: fix missing dropped counter in tun_xdp_act
| * a2232f29bf net: fix removing a namespace with conflicting altnames
| * 6646145be9 udp: fix busy polling
| * 660c3053d9 llc: Drop support for ETH_P_TR_802_2.
| * 6d53b813ff llc: make llc_ui_sendmsg() more robust against bonding changes
| * c5e7fa4f9d vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING
| * 4ee0613868 bnxt_en: Wait for FLR to complete during probe
| * b1e0a68a0c tcp: make sure init the accept_queue's spinlocks once
| * 6994dba063 net/smc: fix illegal rmb_desc access in SMC-D connection dump
| * 49aaeb8c53 wifi: mac80211: fix potential sta-link leak
| * b59e08c872 drm/amd/display: pbn_div need be updated for hotplug event
| * a5046e5eb8 Revert "drm/amd: Enable PCIe PME from D3"
| * b1c06ee2d1 ksmbd: Add missing set_freezable() for freezable kthread
| * 844dfef316 ksmbd: send lease break notification on FILE_RENAME_INFORMATION
| * de603a52af ksmbd: don't increment epoch if current state and request state are same
| * e61fc656ce ksmbd: fix potential circular locking issue in smb2_set_ea()
| * 8fa25e67fd ksmbd: set v2 lease version on lease upgrade
| * 3101b9fd74 mm: page_alloc: unreserve highatomic page blocks before oom
| * 1d15da5601 LoongArch/smp: Call rcutree_report_cpu_starting() earlier
| * 0e0653d53a serial: sc16is7xx: improve do/while loop in sc16is7xx_irq()
| * 80beb4424d serial: sc16is7xx: remove obsolete loop in sc16is7xx_port_irq()
| * de8e41f78f serial: sc16is7xx: fix invalid sc16is7xx_lines bitfield in case of probe error
| * 416b10d281 serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO
| * 4b068e55bf serial: sc16is7xx: change EFR lock to operate on each channels
| * f6c58552a8 serial: sc16is7xx: remove unused line structure member
| * 6dca71e6e1 serial: sc16is7xx: remove global regmap from struct sc16is7xx_port
| * 9bcb019aee serial: sc16is7xx: remove wasteful static buffer in sc16is7xx_regmap_name()
| * 45ec1b7acc serial: sc16is7xx: improve regmap debugfs by using one regmap per port
| * 362be9ec32 rename(): fix the locking of subdirectories
| * 68ed9e3332 mm/sparsemem: fix race in accessing memory_section->usage
| * 367a47ef4c mm/rmap: fix misplaced parenthesis of a likely()
| * 5d01dcda81 ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
| * 13a6ceeb5b nouveau/vmm: don't set addr on the fail path to avoid warning
| * 40c23b5e07 rtc: Extend timeout for waiting for UIP to clear to 1s
| * 7971389316 rtc: Add support for configuring the UIP timeout for RTC reads
| * fd1f5396be rtc: mc146818-lib: Adjust failure return code for mc146818_get_time()
| * 911e7206c8 rtc: Adjust failure return code for cmos_set_alarm()
| * aca1ea92f5 rtc: cmos: Use ACPI alarm for non-Intel x86 systems too
| * 2b1dc0666e arm64: Rename ARM64_WORKAROUND_2966298
| * 9fec4db7ff media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run
| * a33fbb8b6d mmc: mmc_spi: remove custom DMA mapped buffers
| * c4edcd134b mmc: core: Use mrq.sbc in close-ended ffu
| * d78fac87c6 media: videobuf2-dma-sg: fix vmap callback
| * c160f2ac85 scripts/get_abi: fix source path leak
| * efe3ec7066 docs: kernel_abi.py: fix command injection
| * c014490c0b lsm: new security_file_ioctl_compat() hook
| * 2647770eac arm64: dts: qcom: sm8150: fix USB DP/DM HS PHY interrupts
| * 0168530568 arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts
| * 69ee126bba arm64: dts: qcom: sc7280: fix usb_1 wakeup interrupt types
| * eec1f92949 arm64: dts: qcom: sm8150: fix USB wakeup interrupt types
| * 595d35c6ae arm64: dts: qcom: sdm845: fix USB wakeup interrupt types
| * 8191aa4146 arm64: dts: qcom: sc7180: fix USB wakeup interrupt types
| * 9f29c5d2bf scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan()
| * 2ab32986a0 dmaengine: fix NULL pointer in channel unregistration function
| * 0c8ada71d9 iio: adc: ad7091r: Enable internal vref if external vref is not supplied
| * fcf8e37152 async: Introduce async_schedule_dev_nocall()
| * 6e8aab4de7 async: Split async_schedule_node_domain()
| * b37c1b0db1 parisc/power: Fix power soft-off button emulation on qemu
| * 71602d95ae parisc/firmware: Fix F-extend for PDC addresses
| * 0b093176fd bus: mhi: host: Add spinlock to protect WP access when queueing TREs
| * 3c5ec66b4b bus: mhi: host: Drop chan lock before queuing buffers
| * 2df39ac8f8 bus: mhi: host: Add alignment check for event ring read pointer
| * 574f69b46b mips: Fix max_mapnr being uninitialized on early stages
| * 6690a0acbb s390/vfio-ap: let on_scan_complete() callback filter matrix and update guest's APCB
| * baf3fcb268 s390/vfio-ap: loop over the shadow APCB when filtering guest's AP configuration
| * d6b8d034b5 s390/vfio-ap: always filter entire AP matrix
| * 51a7c02bc7 media: ov9734: Enable runtime PM before registering async sub-device
| * f4bb1d5daf rpmsg: virtio: Free driver_override when rpmsg_remove()
| * e8757cd139 media: imx355: Enable runtime PM before registering async sub-device
| * 8a7729cda2 PM / devfreq: Fix buffer overflow in trans_stat_show
| * f4518de40a s390/vfio-ap: unpin pages on gisc registration failure
| * dbc9a791a7 crypto: s390/aes - Fix buffer overread in CTR mode
| * aa8aa16ed9 hwrng: core - Fix page fault dead lock on mmap-ed hwrng
| * 3a081586c7 PM: hibernate: Enforce ordering during image compression/decompression
| * 680eb0a993 crypto: api - Disallow identical driver names
| * 562850a008 btrfs: sysfs: validate scrub_speed_max value
| * 29e2da3eab OPP: Pass rounded rate to _set_opp()
| * 4b5f8a187f arm64: properly install vmlinuz.efi
| * 852b6b2a2f ext4: allow for the last group to be marked as trimmed
| * 137568aa54 iio: adc: ad7091r: Allow users to configure device events
| * 6f57121e9c iio: adc: ad7091r: Set alert bit in config register
| * fafda9f08a Revert "nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB"
| * c519a9054b usb: dwc3: gadget: Handle EP0 request dequeuing properly
| * c8fe8ce07f usb: dwc3: gadget: Queue PM runtime idle on disconnect event
| * ce27046883 usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
* 0eac7b614d Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
* 63040ce8e9 Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
* 50fe3d2012 ANDROID: Add symbols for IIO SCMI module
* e666b8755f ANDROID: Update symbols list for open-dice.ko

Change-Id: Icb970da9bfba44d188465ce8c8148858a4a2fb1a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-05-30 15:23:39 +00:00
Paul Lawrence
e302f3a21b ANDROID: incremental-fs: Make work with 16k pages
Bug: 260919895
Test: incfs_test passes
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Change-Id: Ia4fbb6011930b085bc00a36851e9b0e8559d3dc5
(cherry picked from commit 5ac10739bcf2dae9220a7a39392aa41235bc64c2)
2024-05-29 13:21:53 +00:00
Qianfeng Rong
68c821783c UPSTREAM: epoll: be better about file lifetimes
epoll can call out to vfs_poll() with a file pointer that may race with
the last 'fput()'. That would make f_count go down to zero, and while
the ep->mtx locking means that the resulting file pointer tear-down will
be blocked until the poll returns, it means that f_count is already
dead, and any use of it won't actually get a reference to the file any
more: it's dead regardless.

Make sure we have a valid ref on the file pointer before we call down to
vfs_poll() from the epoll routines.

Bug: 341834298
Change-Id: Iefa13cd84102ded3e104c030c8d7d0b7a8c1eab2
Link: https://lore.kernel.org/lkml/0000000000002d631f0615918f1e@google.com/
Reported-by: syzbot+045b454ab35fd82a35fb@syzkaller.appspotmail.com
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 4efaa5acf0a1d2b5947f98abb3acf8bfd966422b)
Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.corp-partner.google.com>
2024-05-23 18:50:17 +08:00
Robin Hsu
274e3e9696 ANDROID: export one function for mm metrics
export function for sysfs node formating

Bug: 299190787
Change-Id: I71e6a0815efa8df99d036bf457b8a0081999f3de
Signed-off-by: Robin Hsu <robinhsu@google.com>
2024-05-15 02:15:23 +00:00
Kalesh Singh
1794308d46 ANDROID: 16K: Fix show maps CFI failure
If the kernel is built CONFIG_CFI_CLANG=y, reading smaps
may cause a panic. This is due to a failed CFI check; which
is triggered becuase the signature of the function pointer for
printing smaps padding VMAs does not match exactly with that
for show_smap().

Fix this by casting the function pointer to the expected type
based on whether printing maps or smaps padding.

Bug: 330117029
Bug: 327600007
Bug: 330767927
Bug: 328266487
Bug: 329803029
Change-Id: I65564a547dacbc4131f8557344c8c96e51f90cd5
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-05-02 22:14:25 +00:00
Kalesh Singh
72a9c0a205 ANDROID: 16K: Handle pad VMA splits and merges
In some cases a VMA with padding representation may be split, and
therefore the padding flags must be updated accordingly.

There are 3 cases to handle:

Given:
    | DDDDPPPP |

where:
    - D represents 1 page of data;
    - P represents 1 page of padding;
    - | represents the boundaries (start/end) of the VMA

1) Split exactly at the padding boundary

    | DDDDPPPP | --> | DDDD | PPPP |

    - Remove padding flags from the first VMA.
    - The second VMA is all padding

2) Split within the padding area

    | DDDDPPPP | --> | DDDDPP | PP |

    - Subtract the length of the second VMA from the first VMA's
      padding.
    - The second VMA is all padding, adjust its padding length (flags)

3) Split within the data area

    | DDDDPPPP | --> | DD | DDPPPP |

    - Remove padding flags from the first VMA.
    - The second VMA is has the same padding as from before the split.

To simplify the semantics merging of padding VMAs is not allowed.

If a split produces a VMA that is entirely padding, show_[s]maps()
only outputs the padding VMA entry (as the data entry is of length 0).

Bug: 330117029
Bug: 327600007
Bug: 330767927
Bug: 328266487
Bug: 329803029
Change-Id: Ie2628ced5512e2c7f8af25fabae1f38730c8bb1a
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-05-02 22:14:25 +00:00
Kalesh Singh
2ca5e076c9 ANDROID: 16K: Separate padding from ELF LOAD segment mappings
In has been found that some in-field apps depend on the output of
/proc/*/maps to determine the address ranges of other operations.

With the extension of LOAD segments VMAs to be contiguous in memory,
the apps may perform operations on an area that is not backed by the
underlying file, which results in a SIGBUS. Other apps have crashed
with yet unindentified reasons.

To avoid breaking in-field apps, maintain the output of /proc/*/[s]maps
with PROT_NONE VMAs for the padding pages of LOAD segments instead of
showing the segment extensions.

NOTE: This does not allocate actual backing VMAs for the shown
      PROT_NONE mappings.

This approach maintains 2 possible assumptions that userspace (apps)
could be depending on:
   1) That LOAD segment mappings are "contiguous" (not speparated by
      unrelated mappings) in memory.
   2) That no virtual address space is available between mappings of
      consecutive LOAD segments for the same ELF.

For example the output of /proc/*/[s]maps before and after this change
is shown below. Segments maintain PROT_NONE gaps ("[page size compat]")
for app compatiblity but these are not backed by actual slab VMA memory.

Maps Before:

7fb03604d000-7fb036051000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
7fb036051000-7fb036055000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
7fb036055000-7fb036059000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
7fb036059000-7fb03605a000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so

Maps After:

7fc707390000-7fc707393000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
7fc707393000-7fc707394000 ---p 00000000 00:00 0                          [page size compat]
7fc707394000-7fc707398000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
7fc707398000-7fc707399000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
7fc707399000-7fc70739c000 ---p 00000000 00:00 0                          [page size compat]
7fc70739c000-7fc70739d000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so

Smaps Before:

7fb03604d000-7fb036051000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                 16 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                  16 kB
Pss:                   0 kB
Pss_Dirty:             0 kB
Shared_Clean:         16 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:           16 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd mr mw me
7fb036051000-7fb036055000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                 16 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                  16 kB
Pss:                   0 kB
Pss_Dirty:             0 kB
Shared_Clean:         16 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:           16 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd ex mr mw me
7fb036055000-7fb036059000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                 16 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                   4 kB
Pss:                   4 kB
Pss_Dirty:             4 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         4 kB
Referenced:            4 kB
Anonymous:             4 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd mr mw me ac
7fb036059000-7fb03605a000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                  4 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                   4 kB
Pss:                   4 kB
Pss_Dirty:             4 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         4 kB
Referenced:            4 kB
Anonymous:             4 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd wr mr mw me ac

Smaps After:

7fc707390000-7fc707393000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                 12 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                  12 kB
Pss:                   0 kB
Shared_Clean:         12 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:           12 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd mr mw me ??
7fc707393000-7fc707394000 ---p 00000000 00:00 0                          [page size compat]
Size:                  4 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                   0 kB
Pss:                   0 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:            0 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: mr mw me
7fc707394000-7fc707398000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                 16 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                  16 kB
Pss:                   0 kB
Shared_Clean:         16 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:           16 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd ex mr mw me
7fc707398000-7fc707399000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                  4 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                   4 kB
Pss:                   4 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         4 kB
Referenced:            4 kB
Anonymous:             4 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd mr mw me ac ?? ??
7fc707399000-7fc70739c000 ---p 00000000 00:00 0                          [page size compat]
Size:                 12 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                   0 kB
Pss:                   0 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:            0 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: mr mw me ac
7fc70739c000-7fc70739d000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so
Size:                  4 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                   4 kB
Pss:                   4 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         4 kB
Referenced:            4 kB
Anonymous:             4 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd wr mr mw me ac

Bug: 330117029
Bug: 327600007
Bug: 330767927
Bug: 328266487
Bug: 329803029
Change-Id: I12bf2c106fafc74a500d79155b81dde5db42661e
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-05-02 22:14:25 +00:00
Lokesh Gidra
ce2896c0c6 BACKPORT: userfaultfd: use per-vma locks in userfaultfd operations
All userfaultfd operations, except write-protect, opportunistically use
per-vma locks to lock vmas.  On failure, attempt again inside mmap_lock
critical section.

Write-protect operation requires mmap_lock as it iterates over multiple
vmas.

Link: https://lkml.kernel.org/r/20240215182756.3448972-5-lokeshgidra@google.com
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: Nicolas Geoffray <ngeoffray@google.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Tim Murray <timmurray@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

(cherry picked from commit 867a43a34ff8a38772212045262b2c9b77807ea3)
Conflicts:
	mm/userfaultfd.c

1. Resolve conflict in validate_dst_vma() due to absence of
   range_in_vma().
2. Use 'page' instead of 'folio' for BUG_ON on copy_from_user() failure
   in COPY ioctl.
3. Resolve conflict around mfill_file_over_size().
4. Resolve conflict in comment for __mcopy_atomic_hugetlb() due to
   function name change.
5. Resolve conflict due to use of 'flags' instead of 'mode' in
   __mcopy_atomic_hugetlb().
6. Use find_vma() and validate_dst_vma() in mwriteprotect_range()
   instead of find_dst_vma().

Bug: 320478828
Change-Id: I6d5b7101218cb1b11329108c3f31f12bb1caebc6
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
2024-04-22 18:09:14 +00:00
Lokesh Gidra
a5b6040d5c BACKPORT: userfaultfd: protect mmap_changing with rw_sem in userfaulfd_ctx
Increments and loads to mmap_changing are always in mmap_lock critical
section.  This ensures that if userspace requests event notification for
non-cooperative operations (e.g.  mremap), userfaultfd operations don't
occur concurrently.

This can be achieved by using a separate read-write semaphore in
userfaultfd_ctx such that increments are done in write-mode and loads in
read-mode, thereby eliminating the dependency on mmap_lock for this
purpose.

This is a preparatory step before we replace mmap_lock usage with per-vma
locks in fill/move ioctls.

Link: https://lkml.kernel.org/r/20240215182756.3448972-3-lokeshgidra@google.com
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>
Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Nicolas Geoffray <ngeoffray@google.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Tim Murray <timmurray@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

(cherry picked from commit 5e4c24a57b0c126686534b5b159a406c5dd02400)
Conflicts:
	fs/userfaultfd.c
	include/linux/userfaultfd_k.h
	mm/userfaultfd.c

1. Functions passing control from fs/userfaultfd.c to mm/userfaultfd.c
   were renamed after 6.1.
   a. Replace mfill_atomic_copy() with mcopy_atomic()
   b. Replace mfill_atomic_zeropage() with mfill_zeropage()
   c. Replace mfill_atomic_continue() with mcopy_continue()
   d. Replace mfill_atomic() with __mcopy_atomic()
   e. Replace mfill_atomic_hugetlb() with __mcopy_atomic_hugetlb()
2. uffd flags were unified into a single parameter after 6.1. Replace
   'flags' with 'mcopy_mode' and 'mode'.
3. Fetch dst_mm from dst_vma in __mcopy_atomic_hugetlb().

Bug: 320478828
Change-Id: I77615c36a0c891801c9eb9de3609df4e7f125c39
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
2024-04-22 18:09:14 +00:00
Lokesh Gidra
6b5ee039a1 BACKPORT: userfaultfd: move userfaultfd_ctx struct to header file
Patch series "per-vma locks in userfaultfd", v7.

Performing userfaultfd operations (like copy/move etc.) in critical
section of mmap_lock (read-mode) causes significant contention on the lock
when operations requiring the lock in write-mode are taking place
concurrently.  We can use per-vma locks instead to significantly reduce
the contention issue.

Android runtime's Garbage Collector uses userfaultfd for concurrent
compaction.  mmap-lock contention during compaction potentially causes
jittery experience for the user.  During one such reproducible scenario,
we observed the following improvements with this patch-set:

- Wall clock time of compaction phase came down from ~3s to <500ms
- Uninterruptible sleep time (across all threads in the process) was
  ~10ms (none in mmap_lock) during compaction, instead of >20s

This patch (of 4):

Move the struct to userfaultfd_k.h to be accessible from mm/userfaultfd.c.
There are no other changes in the struct.

This is required to prepare for using per-vma locks in userfaultfd
operations.

Link: https://lkml.kernel.org/r/20240215182756.3448972-1-lokeshgidra@google.com
Link: https://lkml.kernel.org/r/20240215182756.3448972-2-lokeshgidra@google.com
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>
Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Nicolas Geoffray <ngeoffray@google.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Tim Murray <timmurray@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

(cherry picked from commit f91e6b41dd11daffb138e3afdb4804aefc3d4e1b)
Conflicts:
	include/linux/userfaultfd_k.h

1. Retain 'sysctl_unprivileged_userfaultfd' global variable.

Bug: 320478828
Change-Id: Iebaae028d5e793dd50342b141c1d46b79026834a
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
2024-04-22 18:09:14 +00:00
Lokesh Gidra
abd6748ba6 UPSTREAM: userfaultfd: fix return error if mmap_changing is non-zero in MOVE ioctl
To be consistent with other uffd ioctl's returning EAGAIN when
mmap_changing is detected, we should change UFFDIO_MOVE to do the same.

Link: https://lkml.kernel.org/r/20240117223922.1445327-1-lokeshgidra@google.com
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Acked-by: Suren Baghdasaryan <surenb@google.com>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Nicolas Geoffray <ngeoffray@google.com>
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

(cherry picked from commit 6ca03f1bb5a7427a66df62c954b3500a4255cdb9)

Bug: 274911254
Change-Id: I3499e3987bf72d3d7a307165e0f9d1ed6d2b0611
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
2024-04-22 18:09:14 +00:00
Andrea Arcangeli
5025ad140e BACKPORT: userfaultfd: UFFDIO_MOVE uABI
Implement the uABI of UFFDIO_MOVE ioctl.
UFFDIO_COPY performs ~20% better than UFFDIO_MOVE when the application
needs pages to be allocated [1]. However, with UFFDIO_MOVE, if pages are
available (in userspace) for recycling, as is usually the case in heap
compaction algorithms, then we can avoid the page allocation and memcpy
(done by UFFDIO_COPY). Also, since the pages are recycled in the
userspace, we avoid the need to release (via madvise) the pages back to
the kernel [2].

We see over 40% reduction (on a Google pixel 6 device) in the compacting
thread's completion time by using UFFDIO_MOVE vs.  UFFDIO_COPY.  This was
measured using a benchmark that emulates a heap compaction implementation
using userfaultfd (to allow concurrent accesses by application threads).
More details of the usecase are explained in [2].  Furthermore,
UFFDIO_MOVE enables moving swapped-out pages without touching them within
the same vma.  Today, it can only be done by mremap, however it forces
splitting the vma.

[1] https://lore.kernel.org/all/1425575884-2574-1-git-send-email-aarcange@redhat.com/
[2] https://lore.kernel.org/linux-mm/CA+EESO4uO84SSnBhArH4HvLNhaUQ5nZKNKXqxRCyjniNVjp0Aw@mail.gmail.com/

Update for the ioctl_userfaultfd(2)  manpage:

   UFFDIO_MOVE
       (Since Linux xxx)  Move a continuous memory chunk into the
       userfault registered range and optionally wake up the blocked
       thread. The source and destination addresses and the number of
       bytes to move are specified by the src, dst, and len fields of
       the uffdio_move structure pointed to by argp:

           struct uffdio_move {
               __u64 dst;    /* Destination of move */
               __u64 src;    /* Source of move */
               __u64 len;    /* Number of bytes to move */
               __u64 mode;   /* Flags controlling behavior of move */
               __s64 move;   /* Number of bytes moved, or negated error */
           };

       The following value may be bitwise ORed in mode to change the
       behavior of the UFFDIO_MOVE operation:

       UFFDIO_MOVE_MODE_DONTWAKE
              Do not wake up the thread that waits for page-fault
              resolution

       UFFDIO_MOVE_MODE_ALLOW_SRC_HOLES
              Allow holes in the source virtual range that is being moved.
              When not specified, the holes will result in ENOENT error.
              When specified, the holes will be accounted as successfully
              moved memory. This is mostly useful to move hugepage aligned
              virtual regions without knowing if there are transparent
              hugepages in the regions or not, but preventing the risk of
              having to split the hugepage during the operation.

       The move field is used by the kernel to return the number of
       bytes that was actually moved, or an error (a negated errno-
       style value).  If the value returned in move doesn't match the
       value that was specified in len, the operation fails with the
       error EAGAIN.  The move field is output-only; it is not read by
       the UFFDIO_MOVE operation.

       The operation may fail for various reasons. Usually, remapping of
       pages that are not exclusive to the given process fail; once KSM
       might deduplicate pages or fork() COW-shares pages during fork()
       with child processes, they are no longer exclusive. Further, the
       kernel might only perform lightweight checks for detecting whether
       the pages are exclusive, and return -EBUSY in case that check fails.
       To make the operation more likely to succeed, KSM should be
       disabled, fork() should be avoided or MADV_DONTFORK should be
       configured for the source VMA before fork().

       This ioctl(2) operation returns 0 on success.  In this case, the
       entire area was moved.  On error, -1 is returned and errno is
       set to indicate the error.  Possible errors include:

       EAGAIN The number of bytes moved (i.e., the value returned in
              the move field) does not equal the value that was
              specified in the len field.

       EINVAL Either dst or len was not a multiple of the system page
              size, or the range specified by src and len or dst and len
              was invalid.

       EINVAL An invalid bit was specified in the mode field.

       ENOENT
              The source virtual memory range has unmapped holes and
              UFFDIO_MOVE_MODE_ALLOW_SRC_HOLES is not set.

       EEXIST
              The destination virtual memory range is fully or partially
              mapped.

       EBUSY
              The pages in the source virtual memory range are either
              pinned or not exclusive to the process. The kernel might
              only perform lightweight checks for detecting whether the
              pages are exclusive. To make the operation more likely to
              succeed, KSM should be disabled, fork() should be avoided
              or MADV_DONTFORK should be configured for the source virtual
              memory area before fork().

       ENOMEM Allocating memory needed for the operation failed.

       ESRCH
              The target process has exited at the time of a UFFDIO_MOVE
              operation.

Link: https://lkml.kernel.org/r/20231206103702.3873743-3-surenb@google.com
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: Nicolas Geoffray <ngeoffray@google.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: ZhangPeng <zhangpeng362@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

(cherry picked from commit adef440691bab824e39c1b17382322d195e1fab0)
Conflicts:
        mm/huge_memory.c
        mm/userfaultfd.c

1. Add vma parameter in mmu_notifier_range_init() calls.
2. Replace folio_move_anon_rmap() with page_move_anon_rmap().
3. Remove vma parameter in pmd_mkwrite() calls.
4. Replace pte_offset_map_nolock() with pte_offset_map()+pte_lockptr()
combo.
5. Remove VM_SHADOW_STACK in vma_move_compatible().
6. Replace pmdp_get_lockless() with pmd_read_atomic().

Bug: 274911254
Change-Id: I1116f15a395f1a8bac176906f7f9c2411e59dc54
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
2024-04-22 18:09:14 +00:00
Greg Kroah-Hartman
0e5af42a0a Merge 6.1.78 into android14-6.1-lts
Changes in 6.1.78
	ext4: regenerate buddy after block freeing failed if under fc replay
	dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools
	dmaengine: ti: k3-udma: Report short packet errors
	dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA
	dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
	phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
	dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
	phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
	cifs: failure to add channel on iface should bump up weight
	drm/msms/dp: fixed link clock divider bits be over written in BPC unknown case
	drm/msm/dp: return correct Colorimetry for DP_TEST_DYNAMIC_RANGE_CEA case
	drm/msm/dpu: check for valid hw_pp in dpu_encoder_helper_phys_cleanup
	net: stmmac: xgmac: fix handling of DPP safety error for DMA channels
	wifi: mac80211: fix waiting for beacons logic
	netdevsim: avoid potential loop in nsim_dev_trap_report_work()
	net: atlantic: Fix DMA mapping for PTP hwts ring
	selftests: net: cut more slack for gro fwd tests.
	selftests: net: avoid just another constant wait
	tunnels: fix out of bounds access when building IPv6 PMTU error
	atm: idt77252: fix a memleak in open_card_ubr0
	octeontx2-pf: Fix a memleak otx2_sq_init
	hwmon: (aspeed-pwm-tacho) mutex for tach reading
	hwmon: (coretemp) Fix out-of-bounds memory access
	hwmon: (coretemp) Fix bogus core_id to attr name mapping
	inet: read sk->sk_family once in inet_recv_error()
	drm/i915/gvt: Fix uninitialized variable in handle_mmio()
	rxrpc: Fix response to PING RESPONSE ACKs to a dead call
	tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()
	af_unix: Call kfree_skb() for dead unix_(sk)->oob_skb in GC.
	ppp_async: limit MRU to 64K
	selftests: cmsg_ipv6: repeat the exact packet
	netfilter: nft_compat: narrow down revision to unsigned 8-bits
	netfilter: nft_compat: reject unused compat flag
	netfilter: nft_compat: restrict match/target protocol to u16
	drm/amd/display: Implement bounds check for stream encoder creation in DCN301
	netfilter: nft_ct: reject direction for ct id
	netfilter: nft_set_pipapo: store index in scratch maps
	netfilter: nft_set_pipapo: add helper to release pcpu scratch area
	netfilter: nft_set_pipapo: remove scratch_aligned pointer
	fs/ntfs3: Fix an NULL dereference bug
	scsi: core: Move scsi_host_busy() out of host lock if it is for per-command
	blk-iocost: Fix an UBSAN shift-out-of-bounds warning
	fs: dlm: don't put dlm_local_addrs on heap
	mtd: parsers: ofpart: add workaround for #size-cells 0
	ALSA: usb-audio: Add delay quirk for MOTU M Series 2nd revision
	ALSA: usb-audio: Add a quirk for Yamaha YIT-W12TX transmitter
	ALSA: usb-audio: add quirk for RODE NT-USB+
	USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
	USB: serial: option: add Fibocom FM101-GL variant
	USB: serial: cp210x: add ID for IMST iM871A-USB
	usb: dwc3: host: Set XHCI_SG_TRB_CACHE_SIZE_QUIRK
	usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK
	hrtimer: Report offline hrtimer enqueue
	Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
	Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
	io_uring/net: fix sr->len for IORING_OP_RECV with MSG_WAITALL and buffers
	Revert "ASoC: amd: Add new dmi entries for acp5x platform"
	vhost: use kzalloc() instead of kmalloc() followed by memset()
	RDMA/irdma: Fix support for 64k pages
	f2fs: add helper to check compression level
	block: treat poll queue enter similarly to timeouts
	clocksource: Skip watchdog check for large watchdog intervals
	net: stmmac: xgmac: use #define for string constants
	ALSA: usb-audio: Sort quirk table entries
	net: stmmac: xgmac: fix a typo of register name in DPP safety handling
	netfilter: nft_set_rbtree: skip end interval element from gc
	Linux 6.1.78

Change-Id: Iba16875d4cb88deffea077cf69495f9fe447ea23
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-19 12:19:39 +00:00
Greg Kroah-Hartman
20b90d46a0 Merge 6.1.77 into android14-6.1-lts
Changes in 6.1.77
	asm-generic: make sparse happy with odd-sized put_unaligned_*()
	powerpc/mm: Fix null-pointer dereference in pgtable_cache_add
	arm64: irq: set the correct node for VMAP stack
	drivers/perf: pmuv3: don't expose SW_INCR event in sysfs
	powerpc: Fix build error due to is_valid_bugaddr()
	powerpc/mm: Fix build failures due to arch_reserved_kernel_pages()
	powerpc/64s: Fix CONFIG_NUMA=n build due to create_section_mapping()
	x86/boot: Ignore NMIs during very early boot
	powerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE
	powerpc/lib: Validate size for vector operations
	x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel
	perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file
	debugobjects: Stop accessing objects after releasing hash bucket lock
	regulator: core: Only increment use_count when enable_count changes
	audit: Send netlink ACK before setting connection in auditd_set
	ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop
	PNP: ACPI: fix fortify warning
	ACPI: extlog: fix NULL pointer dereference check
	ACPI: NUMA: Fix the logic of getting the fake_pxm value
	PM / devfreq: Synchronize devfreq_monitor_[start/stop]
	ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events
	FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree
	UBSAN: array-index-out-of-bounds in dtSplitRoot
	jfs: fix slab-out-of-bounds Read in dtSearch
	jfs: fix array-index-out-of-bounds in dbAdjTree
	jfs: fix uaf in jfs_evict_inode
	pstore/ram: Fix crash when setting number of cpus to an odd number
	crypto: octeontx2 - Fix cptvf driver cleanup
	erofs: fix ztailpacking for subpage compressed blocks
	crypto: stm32/crc32 - fix parsing list of devices
	afs: fix the usage of read_seqbegin_or_lock() in afs_lookup_volume_rcu()
	afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()
	rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock()
	jfs: fix array-index-out-of-bounds in diNewExt
	arch: consolidate arch_irq_work_raise prototypes
	s390/vfio-ap: fix sysfs status attribute for AP queue devices
	s390/ptrace: handle setting of fpc register correctly
	KVM: s390: fix setting of fpc register
	SUNRPC: Fix a suspicious RCU usage warning
	ecryptfs: Reject casefold directory inodes
	ext4: fix inconsistent between segment fstrim and full fstrim
	ext4: unify the type of flexbg_size to unsigned int
	ext4: remove unnecessary check from alloc_flex_gd()
	ext4: avoid online resizing failures due to oversized flex bg
	wifi: rt2x00: restart beacon queue when hardware reset
	selftests/bpf: satisfy compiler by having explicit return in btf test
	selftests/bpf: Fix pyperf180 compilation failure with clang18
	wifi: rt2x00: correct wrong BBP register in RxDCOC calibration
	selftests/bpf: Fix issues in setup_classid_environment()
	soc: xilinx: Fix for call trace due to the usage of smp_processor_id()
	soc: xilinx: fix unhandled SGI warning message
	scsi: lpfc: Fix possible file string name overflow when updating firmware
	PCI: Add no PM reset quirk for NVIDIA Spectrum devices
	bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk
	net: usb: ax88179_178a: avoid two consecutive device resets
	scsi: mpi3mr: Add PCI checks where SAS5116 diverges from SAS4116
	scsi: arcmsr: Support new PCI device IDs 1883 and 1886
	ARM: dts: imx7d: Fix coresight funnel ports
	ARM: dts: imx7s: Fix lcdif compatible
	ARM: dts: imx7s: Fix nand-controller #size-cells
	wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()
	wifi: ath11k: fix race due to setting ATH11K_FLAG_EXT_IRQ_ENABLED too early
	bpf: Check rcu_read_lock_trace_held() before calling bpf map helpers
	scsi: libfc: Don't schedule abort twice
	scsi: libfc: Fix up timeout error in fc_fcp_rec_error()
	bpf: Set uattr->batch.count as zero before batched update or deletion
	wifi: wfx: fix possible NULL pointer dereference in wfx_set_mfp_ap()
	ARM: dts: rockchip: fix rk3036 hdmi ports node
	ARM: dts: imx25/27-eukrea: Fix RTC node name
	ARM: dts: imx: Use flash@0,0 pattern
	ARM: dts: imx27: Fix sram node
	ARM: dts: imx1: Fix sram node
	net: phy: at803x: fix passing the wrong reference for config_intr
	ionic: pass opcode to devcmd_wait
	ionic: bypass firmware cmds when stuck in reset
	block/rnbd-srv: Check for unlikely string overflow
	ARM: dts: imx25: Fix the iim compatible string
	ARM: dts: imx25/27: Pass timing0
	ARM: dts: imx27-apf27dev: Fix LED name
	ARM: dts: imx23-sansa: Use preferred i2c-gpios properties
	ARM: dts: imx23/28: Fix the DMA controller node name
	scsi: hisi_sas: Set .phy_attached before notifing phyup event HISI_PHYE_PHY_UP_PM
	ice: fix ICE_AQ_VSI_Q_OPT_RSS_* register values
	net: atlantic: eliminate double free in error handling logic
	net: dsa: mv88e6xxx: Fix mv88e6352_serdes_get_stats error path
	block: prevent an integer overflow in bvec_try_merge_hw_page
	md: Whenassemble the array, consult the superblock of the freshest device
	arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
	arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property
	ice: fix pre-shifted bit usage
	arm64: dts: amlogic: fix format for s4 uart node
	wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices
	libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relos
	wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift()
	wifi: cfg80211: free beacon_ies when overridden from hidden BSS
	Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066
	Bluetooth: hci_sync: fix BR/EDR wakeup bug
	Bluetooth: L2CAP: Fix possible multiple reject send
	net/smc: disable SEID on non-s390 archs where virtual ISM may be used
	bridge: cfm: fix enum typo in br_cc_ccm_tx_parse
	i40e: Fix VF disable behavior to block all traffic
	octeontx2-af: Fix max NPC MCAM entry check while validating ref_entry
	net: dsa: qca8k: put MDIO bus OF node on qca8k_mdio_register() failure
	f2fs: fix to check return value of f2fs_reserve_new_block()
	ALSA: hda: Refer to correct stream index at loops
	ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument
	fast_dput(): handle underflows gracefully
	RDMA/IPoIB: Fix error code return in ipoib_mcast_join
	drm/panel-edp: Add override_edid_mode quirk for generic edp
	drm/bridge: anx7625: Fix Set HPD irq detect window to 2ms
	drm/amd/display: Fix tiled display misalignment
	f2fs: fix write pointers on zoned device after roll forward
	ASoC: amd: Add new dmi entries for acp5x platform
	drm/drm_file: fix use of uninitialized variable
	drm/framebuffer: Fix use of uninitialized variable
	drm/mipi-dsi: Fix detach call without attach
	media: stk1160: Fixed high volume of stk1160_dbg messages
	media: rockchip: rga: fix swizzling for RGB formats
	PCI: add INTEL_HDA_ARL to pci_ids.h
	ALSA: hda: Intel: add HDA_ARL PCI ID support
	media: rkisp1: Drop IRQF_SHARED
	media: rkisp1: Fix IRQ handler return values
	media: rkisp1: Store IRQ lines
	media: rkisp1: Fix IRQ disable race issue
	hwmon: (nct6775) Fix fan speed set failure in automatic mode
	f2fs: fix to tag gcing flag on page during block migration
	drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time
	IB/ipoib: Fix mcast list locking
	media: amphion: remove mutext lock in condition of wait_event
	media: ddbridge: fix an error code problem in ddb_probe
	media: i2c: imx335: Fix hblank min/max values
	drm/amd/display: For prefetch mode > 0, extend prefetch if possible
	drm/msm/dpu: Ratelimit framedone timeout msgs
	drm/msm/dpu: fix writeback programming for YUV cases
	drm/amdgpu: fix ftrace event amdgpu_bo_move always move on same heap
	clk: hi3620: Fix memory leak in hi3620_mmc_clk_init()
	clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
	watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786
	drm/amd/display: make flip_timestamp_in_us a 64-bit variable
	clk: imx: clk-imx8qxp: fix LVDS bypass, pixel and phy clocks
	drm/amdgpu: Fix ecc irq enable/disable unpaired
	drm/amdgpu: Let KFD sync with VM fences
	drm/amdgpu: Fix '*fw' from request_firmware() not released in 'amdgpu_ucode_request()'
	drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()'
	drm/amdkfd: Fix iterator used outside loop in 'kfd_add_peer_prop()'
	ALSA: hda/conexant: Fix headset auto detect fail in cx8070 and SN6140
	leds: trigger: panic: Don't register panic notifier if creating the trigger failed
	um: Fix naming clash between UML and scheduler
	um: Don't use vfprintf() for os_info()
	um: net: Fix return type of uml_net_start_xmit()
	um: time-travel: fix time corruption
	i3c: master: cdns: Update maximum prescaler value for i2c clock
	xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import
	mfd: ti_am335x_tscadc: Fix TI SoC dependencies
	mailbox: arm_mhuv2: Fix a bug for mhuv2_sender_interrupt
	PCI: Only override AMD USB controller if required
	PCI: switchtec: Fix stdev_release() crash after surprise hot remove
	perf cs-etm: Bump minimum OpenCSD version to ensure a bugfix is present
	usb: hub: Replace hardcoded quirk value with BIT() macro
	usb: hub: Add quirk to decrease IN-ep poll interval for Microchip USB491x hub
	selftests/sgx: Fix linker script asserts
	tty: allow TIOCSLCKTRMIOS with CAP_CHECKPOINT_RESTORE
	fs/kernfs/dir: obey S_ISGID
	spmi: mediatek: Fix UAF on device remove
	PCI: Fix 64GT/s effective data rate calculation
	PCI/AER: Decode Requester ID when no error info found
	9p: Fix initialisation of netfs_inode for 9p
	misc: lis3lv02d_i2c: Add missing setting of the reg_ctrl callback
	libsubcmd: Fix memory leak in uniq()
	drm/amdkfd: Fix lock dependency warning
	drm/amdkfd: Fix lock dependency warning with srcu
	virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings
	blk-mq: fix IO hang from sbitmap wakeup race
	ceph: reinitialize mds feature bit even when session in open
	ceph: fix deadlock or deadcode of misusing dget()
	ceph: fix invalid pointer access if get_quota_realm return ERR_PTR
	drm/amd/powerplay: Fix kzalloc parameter 'ATOM_Tonga_PPM_Table' in 'get_platform_power_management_table()'
	drm/amdgpu: Fix with right return code '-EIO' in 'amdgpu_gmc_vram_checking()'
	drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()'
	drm/amdkfd: Fix 'node' NULL check in 'svm_range_get_range_boundaries()'
	perf: Fix the nr_addr_filters fix
	wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update
	drm: using mul_u32_u32() requires linux/math64.h
	scsi: isci: Fix an error code problem in isci_io_request_build()
	regulator: ti-abb: don't use devm_platform_ioremap_resource_byname for shared interrupt register
	scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler
	HID: hidraw: fix a problem of memory leak in hidraw_release()
	selftests: net: give more time for GRO aggregation
	ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()
	ipv4: raw: add drop reasons
	ipmr: fix kernel panic when forwarding mcast packets
	net: lan966x: Fix port configuration when using SGMII interface
	tcp: add sanity checks to rx zerocopy
	ixgbe: Refactor returning internal error codes
	ixgbe: Refactor overtemp event handling
	ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550()
	net: dsa: qca8k: fix illegal usage of GPIO
	ipv6: Ensure natural alignment of const ipv6 loopback and router addresses
	llc: call sock_orphan() at release time
	bridge: mcast: fix disabled snooping after long uptime
	selftests: net: add missing config for GENEVE
	netfilter: conntrack: correct window scaling with retransmitted SYN
	netfilter: nf_tables: restrict tunnel object to NFPROTO_NETDEV
	netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
	netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations
	net: ipv4: fix a memleak in ip_setup_cork
	af_unix: fix lockdep positive in sk_diag_dump_icons()
	selftests: net: fix available tunnels detection
	net: sysfs: Fix /sys/class/net/<iface> path
	selftests: team: Add missing config options
	selftests: bonding: Check initial state
	arm64: irq: set the correct node for shadow call stack
	mm, kmsan: fix infinite recursion due to RCU critical section
	Revert "drm/amd/display: Disable PSR-SU on Parade 0803 TCON again"
	drm/msm/dsi: Enable runtime PM
	LoongArch/smp: Call rcutree_report_cpu_starting() at tlb_init()
	gve: Fix use-after-free vulnerability
	bonding: remove print in bond_verify_device_path
	ASoC: codecs: lpass-wsa-macro: fix compander volume hack
	ASoC: codecs: wsa883x: fix PA volume control
	drm/amdgpu: Fix missing error code in 'gmc_v6/7/8/9_0_hw_init()'
	Linux 6.1.77

Change-Id: I8d69fc7831db64d8a0fad88a318f03052f8bbf69
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-17 08:34:35 +00:00
Greg Kroah-Hartman
2dbddbe358 This is the 6.1.76 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmW64xYACgkQONu9yGCS
 aT7kVA/+KKlE3UFuGmV1ZmiHagHF+oRZKSk9m97F5zgfAcEHAcTnnuikzvJHuepU
 4hPMsH+tTXafOJLh81bv7IH3RhHtvmQZPQyWUw7ysY9ms/7CZxjkuirxLWI3evUG
 lre7OiApyOPkxERBfA5f9r2D1ufXC742xcAdaXrn+GSZd4nuId5f0IbHmfdNv/MV
 zTt6+0qRU3TMpsUdqp0rIm/0KUXtopCDFf2fI/lIImAvN2onuiqDy+TC0FJ0ErTQ
 C3wTEi1j9u6l3AO51OYm57TbKj/KmVOcQdcQyskHGHbB+7nS9z29LXQyorRUKqkv
 KTs739kgG8GH0ZegTwPVPCx5t1SBzy8fuzI2c2MMVfNCT6rWJVS7brzeb7zDLuRT
 9pSr9MnoQNYMhJ3IlPvgPHKwvpP4t2el7Z8noVTRXHDjrkC238gloHwvH78/b2ao
 bXO3DRKTzB4Vv/Q8YUPFmj5fhPqz5lnK6idr4r72JSlzfjxtYoPAKwYihDGxmeLN
 mWikAPepLqoGg/P2ztKhV/fL9TVhJB+d2YM5op/b+pUxZtYdiJODefFF1ebBbF34
 sRG12htP7GV/MTkxC7Yu0h3vS3HWVHugHMBIXXUnqlOANMUbyAMEQW+xkdS/W5bd
 QnowcQr+DT1A5b9P1bYXB7efNiHENxo/jvuJTrzZmLioy1MPqeE=
 =219k
 -----END PGP SIGNATURE-----

Merge 6.1.76 into android-6.1

Changes in 6.1.76
	usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
	usb: dwc3: gadget: Queue PM runtime idle on disconnect event
	usb: dwc3: gadget: Handle EP0 request dequeuing properly
	Revert "nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB"
	iio: adc: ad7091r: Set alert bit in config register
	iio: adc: ad7091r: Allow users to configure device events
	ext4: allow for the last group to be marked as trimmed
	arm64: properly install vmlinuz.efi
	OPP: Pass rounded rate to _set_opp()
	btrfs: sysfs: validate scrub_speed_max value
	crypto: api - Disallow identical driver names
	PM: hibernate: Enforce ordering during image compression/decompression
	hwrng: core - Fix page fault dead lock on mmap-ed hwrng
	crypto: s390/aes - Fix buffer overread in CTR mode
	s390/vfio-ap: unpin pages on gisc registration failure
	PM / devfreq: Fix buffer overflow in trans_stat_show
	media: imx355: Enable runtime PM before registering async sub-device
	rpmsg: virtio: Free driver_override when rpmsg_remove()
	media: ov9734: Enable runtime PM before registering async sub-device
	s390/vfio-ap: always filter entire AP matrix
	s390/vfio-ap: loop over the shadow APCB when filtering guest's AP configuration
	s390/vfio-ap: let on_scan_complete() callback filter matrix and update guest's APCB
	mips: Fix max_mapnr being uninitialized on early stages
	bus: mhi: host: Add alignment check for event ring read pointer
	bus: mhi: host: Drop chan lock before queuing buffers
	bus: mhi: host: Add spinlock to protect WP access when queueing TREs
	parisc/firmware: Fix F-extend for PDC addresses
	parisc/power: Fix power soft-off button emulation on qemu
	async: Split async_schedule_node_domain()
	async: Introduce async_schedule_dev_nocall()
	iio: adc: ad7091r: Enable internal vref if external vref is not supplied
	dmaengine: fix NULL pointer in channel unregistration function
	scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan()
	arm64: dts: qcom: sc7180: fix USB wakeup interrupt types
	arm64: dts: qcom: sdm845: fix USB wakeup interrupt types
	arm64: dts: qcom: sm8150: fix USB wakeup interrupt types
	arm64: dts: qcom: sc7280: fix usb_1 wakeup interrupt types
	arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts
	arm64: dts: qcom: sm8150: fix USB DP/DM HS PHY interrupts
	lsm: new security_file_ioctl_compat() hook
	docs: kernel_abi.py: fix command injection
	scripts/get_abi: fix source path leak
	media: videobuf2-dma-sg: fix vmap callback
	mmc: core: Use mrq.sbc in close-ended ffu
	mmc: mmc_spi: remove custom DMA mapped buffers
	media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run
	arm64: Rename ARM64_WORKAROUND_2966298
	rtc: cmos: Use ACPI alarm for non-Intel x86 systems too
	rtc: Adjust failure return code for cmos_set_alarm()
	rtc: mc146818-lib: Adjust failure return code for mc146818_get_time()
	rtc: Add support for configuring the UIP timeout for RTC reads
	rtc: Extend timeout for waiting for UIP to clear to 1s
	nouveau/vmm: don't set addr on the fail path to avoid warning
	ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
	mm/rmap: fix misplaced parenthesis of a likely()
	mm/sparsemem: fix race in accessing memory_section->usage
	rename(): fix the locking of subdirectories
	serial: sc16is7xx: improve regmap debugfs by using one regmap per port
	serial: sc16is7xx: remove wasteful static buffer in sc16is7xx_regmap_name()
	serial: sc16is7xx: remove global regmap from struct sc16is7xx_port
	serial: sc16is7xx: remove unused line structure member
	serial: sc16is7xx: change EFR lock to operate on each channels
	serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO
	serial: sc16is7xx: fix invalid sc16is7xx_lines bitfield in case of probe error
	serial: sc16is7xx: remove obsolete loop in sc16is7xx_port_irq()
	serial: sc16is7xx: improve do/while loop in sc16is7xx_irq()
	LoongArch/smp: Call rcutree_report_cpu_starting() earlier
	mm: page_alloc: unreserve highatomic page blocks before oom
	ksmbd: set v2 lease version on lease upgrade
	ksmbd: fix potential circular locking issue in smb2_set_ea()
	ksmbd: don't increment epoch if current state and request state are same
	ksmbd: send lease break notification on FILE_RENAME_INFORMATION
	ksmbd: Add missing set_freezable() for freezable kthread
	Revert "drm/amd: Enable PCIe PME from D3"
	drm/amd/display: pbn_div need be updated for hotplug event
	wifi: mac80211: fix potential sta-link leak
	net/smc: fix illegal rmb_desc access in SMC-D connection dump
	tcp: make sure init the accept_queue's spinlocks once
	bnxt_en: Wait for FLR to complete during probe
	vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING
	llc: make llc_ui_sendmsg() more robust against bonding changes
	llc: Drop support for ETH_P_TR_802_2.
	udp: fix busy polling
	net: fix removing a namespace with conflicting altnames
	tun: fix missing dropped counter in tun_xdp_act
	tun: add missing rx stats accounting in tun_xdp_act
	net: micrel: Fix PTP frame parsing for lan8814
	net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv
	netfs, fscache: Prevent Oops in fscache_put_cache()
	tracing: Ensure visibility when inserting an element into tracing_map
	afs: Hide silly-rename files from userspace
	tcp: Add memory barrier to tcp_push()
	netlink: fix potential sleeping issue in mqueue_flush_file
	ipv6: init the accept_queue's spinlocks in inet6_create
	net/mlx5: DR, Use the right GVMI number for drop action
	net/mlx5: DR, Can't go to uplink vport on RX rule
	net/mlx5: Use mlx5 device constant for selecting CQ period mode for ASO
	net/mlx5e: Allow software parsing when IPsec crypto is enabled
	net/mlx5e: fix a double-free in arfs_create_groups
	net/mlx5e: fix a potential double-free in fs_any_create_groups
	rcu: Defer RCU kthreads wakeup when CPU is dying
	netfilter: nft_limit: reject configurations that cause integer overflow
	btrfs: fix infinite directory reads
	btrfs: set last dir index to the current last index when opening dir
	btrfs: refresh dir last index during a rewinddir(3) call
	btrfs: fix race between reading a directory and adding entries to it
	netfilter: nf_tables: restrict anonymous set and map names to 16 bytes
	netfilter: nf_tables: validate NFPROTO_* family
	net: stmmac: Wait a bit for the reset to take effect
	net: mvpp2: clear BM pool before initialization
	selftests: netdevsim: fix the udp_tunnel_nic test
	fjes: fix memleaks in fjes_hw_setup
	net: fec: fix the unhandled context fault from smmu
	nbd: always initialize struct msghdr completely
	btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted
	btrfs: ref-verify: free ref cache before clearing mount opt
	btrfs: tree-checker: fix inline ref size in error messages
	btrfs: don't warn if discard range is not aligned to sector
	btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args
	btrfs: don't abort filesystem when attempting to snapshot deleted subvolume
	rbd: don't move requests to the running list on errors
	exec: Fix error handling in begin_new_exec()
	wifi: iwlwifi: fix a memory corruption
	hv_netvsc: Calculate correct ring size when PAGE_SIZE is not 4 Kbytes
	netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain
	netfilter: nf_tables: reject QUEUE/DROP verdict parameters
	platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe
	ksmbd: fix global oob in ksmbd_nl_policy
	firmware: arm_scmi: Check mailbox/SMT channel for consistency
	xfs: read only mounts with fsopen mount API are busted
	gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04
	cpufreq: intel_pstate: Refine computation of P-state for given frequency
	drm: Don't unref the same fb many times by mistake due to deadlock handling
	drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking
	drm/tidss: Fix atomic_flush check
	drm/amd/display: Disable PSR-SU on Parade 0803 TCON again
	platform/x86: intel-uncore-freq: Fix types in sysfs callbacks
	drm/bridge: nxp-ptn3460: simplify some error checking
	drm/amd/display: Port DENTIST hang and TDR fixes to OTG disable W/A
	drm/amdgpu/pm: Fix the power source flag error
	erofs: get rid of the remaining kmap_atomic()
	erofs: fix lz4 inplace decompression
	media: ov13b10: Support device probe in non-zero ACPI D state
	media: ov13b10: Enable runtime PM before registering async sub-device
	bus: mhi: ep: Do not allocate event ring element on stack
	PM: core: Remove unnecessary (void *) conversions
	PM: sleep: Fix possible deadlocks in core system-wide PM code
	thermal: intel: hfi: Refactor enabling code into helper functions
	thermal: intel: hfi: Disable an HFI instance when all its CPUs go offline
	thermal: intel: hfi: Add syscore callbacks for system-wide PM
	fs/pipe: move check to pipe_has_watch_queue()
	pipe: wakeup wr_wait after setting max_usage
	ARM: dts: qcom: sdx55: fix USB wakeup interrupt types
	ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12
	ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
	ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
	ARM: dts: qcom: sdx55: fix USB SS wakeup
	dlm: use kernel_connect() and kernel_bind()
	serial: core: Provide port lock wrappers
	serial: sc16is7xx: Use port lock wrappers
	serial: sc16is7xx: fix unconditional activation of THRI interrupt
	btrfs: zoned: factor out prepare_allocation_zoned()
	btrfs: zoned: optimize hint byte for zoned allocator
	drm/panel-edp: drm/panel-edp: Fix AUO B116XAK01 name and timing
	Revert "powerpc/64s: Increase default stack size to 32KB"
	drm/bridge: parade-ps8640: Wait for HPD when doing an AUX transfer
	drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33]
	drm/bridge: sii902x: Use devm_regulator_bulk_get_enable()
	drm/bridge: sii902x: Fix probing race issue
	drm/bridge: sii902x: Fix audio codec unregistration
	drm/bridge: parade-ps8640: Ensure bridge is suspended in .post_disable()
	drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case
	drm/exynos: fix accidental on-stack copy of exynos_drm_plane
	drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
	gpio: eic-sprd: Clear interrupt after set the interrupt type
	block: Move checking GENHD_FL_NO_PART to bdev_add_partition()
	drm/bridge: anx7625: Ensure bridge is suspended in disable()
	spi: bcm-qspi: fix SFDP BFPT read by usig mspi read
	spi: fix finalize message on error return
	MIPS: lantiq: register smp_ops on non-smp platforms
	cxl/region:Fix overflow issue in alloc_hpa()
	mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan
	tick/sched: Preserve number of idle sleeps across CPU hotplug events
	x86/entry/ia32: Ensure s32 is sign extended to s64
	serial: core: fix kernel-doc for uart_port_unlock_irqrestore()
	net/mlx5e: Handle hardware IPsec limits events
	Linux 6.1.76

Change-Id: I4725561e2ca5df042a1fe307af701e7d5e2d06c8
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-16 15:01:11 +00:00
Minchan Kim
59ef545736 ANDROID: vendor_hooks: add restricted vendor hook for meminfo
To report vendor-specific memory statistics, add restricted
vendor hook since normal vendor hook work with only atomic
context.

Bug: 333482947
Change-Id: I5c32961b30f082a8a4aa78906d2fce1cdf4b0d2b
Signed-off-by: Minchan Kim <minchan@google.com>
2024-04-11 00:56:49 +00:00
Greg Kroah-Hartman
3ca4271578 Reapply "Merge tag 'android14-6.1.75_r00' into android14-6.1"
This reverts commit 6bad1052c2, it is the
LTS merge that had to previously get reverted due to being merged too
early.

Cc: Todd Kjos <tkjos@google.com>
Change-Id: I31b7d660bd833cf022ac4870f6d01e723fda5182
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-04-02 19:49:12 +00:00
Daniel Rosenberg
ef39f76e4d ANDROID: fuse-bpf: Fix readdir for getdents
If you call getdents with a buffer size less than a page,
entries can be skipped. This correctly sets the point to continue from.

Bug: 325550828
Test: getdents with low buffer size
Signed-off-by: Daniel Rosenberg <drosen@google.com>
(cherry picked from https://android-review.googlesource.com/q/commit:506cf3f0742432c1995117f83b2528a23944989b)
Merged-In: I324e7e815d31742bd4e2d70c5d07c2b09a67a7c2
Change-Id: I324e7e815d31742bd4e2d70c5d07c2b09a67a7c2
2024-03-13 20:04:29 +00:00
Jaegeuk Kim
fd3551098b BACKPORT: f2fs: split initial and dynamic conditions for extent_cache
Let's allocate the extent_cache tree without dynamic conditions to avoid a
missing condition causing a panic as below.

 # create a file w/ a compressed flag
 # disable the compression
 # panic while updating extent_cache

F2FS-fs (dm-64): Swapfile: last extent is not aligned to section
F2FS-fs (dm-64): Swapfile (3) is not align to section: 1) creat(), 2) ioctl(F2FS_IOC_SET_PIN_FILE), 3) fallocate(2097152 * N)
Adding 124996k swap on ./swap-file.  Priority:0 extents:2 across:17179494468k
==================================================================
BUG: KASAN: null-ptr-deref in instrument_atomic_read_write out/common/include/linux/instrumented.h:101 [inline]
BUG: KASAN: null-ptr-deref in atomic_try_cmpxchg_acquire out/common/include/asm-generic/atomic-instrumented.h:705 [inline]
BUG: KASAN: null-ptr-deref in queued_write_lock out/common/include/asm-generic/qrwlock.h:92 [inline]
BUG: KASAN: null-ptr-deref in __raw_write_lock out/common/include/linux/rwlock_api_smp.h:211 [inline]
BUG: KASAN: null-ptr-deref in _raw_write_lock+0x5a/0x110 out/common/kernel/locking/spinlock.c:295
Write of size 4 at addr 0000000000000030 by task syz-executor154/3327

CPU: 0 PID: 3327 Comm: syz-executor154 Tainted: G           O      5.10.185 #1
Hardware name: emulation qemu-x86/qemu-x86, BIOS 2023.01-21885-gb3cc1cd24d 01/01/2023
Call Trace:
 __dump_stack out/common/lib/dump_stack.c:77 [inline]
 dump_stack_lvl+0x17e/0x1c4 out/common/lib/dump_stack.c:118
 __kasan_report+0x16c/0x260 out/common/mm/kasan/report.c:415
 kasan_report+0x51/0x70 out/common/mm/kasan/report.c:428
 kasan_check_range+0x2f3/0x340 out/common/mm/kasan/generic.c:186
 __kasan_check_write+0x14/0x20 out/common/mm/kasan/shadow.c:37
 instrument_atomic_read_write out/common/include/linux/instrumented.h:101 [inline]
 atomic_try_cmpxchg_acquire out/common/include/asm-generic/atomic-instrumented.h:705 [inline]
 queued_write_lock out/common/include/asm-generic/qrwlock.h:92 [inline]
 __raw_write_lock out/common/include/linux/rwlock_api_smp.h:211 [inline]
 _raw_write_lock+0x5a/0x110 out/common/kernel/locking/spinlock.c:295
 __drop_extent_tree+0xdf/0x2f0 out/common/fs/f2fs/extent_cache.c:1155
 f2fs_drop_extent_tree+0x17/0x30 out/common/fs/f2fs/extent_cache.c:1172
 f2fs_insert_range out/common/fs/f2fs/file.c:1600 [inline]
 f2fs_fallocate+0x19fd/0x1f40 out/common/fs/f2fs/file.c:1764
 vfs_fallocate+0x514/0x9b0 out/common/fs/open.c:310
 ksys_fallocate out/common/fs/open.c:333 [inline]
 __do_sys_fallocate out/common/fs/open.c:341 [inline]
 __se_sys_fallocate out/common/fs/open.c:339 [inline]
 __x64_sys_fallocate+0xb8/0x100 out/common/fs/open.c:339
 do_syscall_64+0x35/0x50 out/common/arch/x86/entry/common.c:46

Bug: 323236756
Cc: stable@vger.kernel.org
Fixes: 72840cccc0a1 ("f2fs: allocate the extent_cache by default")
Reported-and-tested-by: syzbot+d342e330a37b48c094b7@syzkaller.appspotmail.com
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
(cherry picked from commit f803982190f0265fd36cf84670aa6daefc2b0768)
Change-Id: I584b9e37a4790baf5f6613778365b90f128bb765
2024-03-13 08:50:38 +00:00
Paolo Abeni
981ffd6df1 UPSTREAM: epoll: use refcount to reduce ep_mutex contention
We are observing huge contention on the epmutex during an http
connection/rate test:

 83.17% 0.25%  nginx            [kernel.kallsyms]         [k] entry_SYSCALL_64_after_hwframe
[...]
           |--66.96%--__fput
                      |--60.04%--eventpoll_release_file
                                 |--58.41%--__mutex_lock.isra.6
                                           |--56.56%--osq_lock

The application is multi-threaded, creates a new epoll entry for
each incoming connection, and does not delete it before the
connection shutdown - that is, before the connection's fd close().

Many different threads compete frequently for the epmutex lock,
affecting the overall performance.

To reduce the contention this patch introduces explicit reference counting
for the eventpoll struct. Each registered event acquires a reference,
and references are released at ep_remove() time.

The eventpoll struct is released by whoever - among EP file close() and
and the monitored file close() drops its last reference.

Additionally, this introduces a new 'dying' flag to prevent races between
the EP file close() and the monitored file close().
ep_eventpoll_release() marks, under f_lock spinlock, each epitem as dying
before removing it, while EP file close() does not touch dying epitems.

The above is needed as both close operations could run concurrently and
drop the EP reference acquired via the epitem entry. Without the above
flag, the monitored file close() could reach the EP struct via the epitem
list while the epitem is still listed and then try to put it after its
disposal.

An alternative could be avoiding touching the references acquired via
the epitems at EP file close() time, but that could leave the EP struct
alive for potentially unlimited time after EP file close(), with nasty
side effects.

With all the above in place, we can drop the epmutex usage at disposal time.

Overall this produces a significant performance improvement in the
mentioned connection/rate scenario: the mutex operations disappear from
the topmost offenders in the perf report, and the measured connections/rate
grows by ~60%.

To make the change more readable this additionally renames ep_free() to
ep_clear_and_put(), and moves the actual memory cleanup in a separate
ep_free() helper.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Co-developed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Xiumei Mu <xmu@redhiat.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Carlos Maiolino <cmaiolino@redhat.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Jacob Keller <jacob.e.keller@intel.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://lkml.kernel.org/r/4a57788dcaf28f5eb4f8dfddcc3a8b172a7357bb.1679504153.git.pabeni@redhat.com

Bug: 329052712
Change-Id: I78254b584f6fb1c20a1e11b7033d93a7c9fd65fb
(cherry picked from commit 58c9b016e12855286370dfb704c08498edbc857a)
Signed-off-by: Pradeep P V K <quic_pragalla@quicinc.com>
2024-03-11 18:40:30 +00:00
Todd Kjos
6bad1052c2 Revert "Merge tag 'android14-6.1.75_r00' into android14-6.1"
This reverts commit 1dbafe61e3.

Reason for revert: Too early. Needs to wait until 2024-03-27

Change-Id: I769b944bd089aa2278659ec87f7ba4ac4e74ee4a
Signed-off-by: Todd Kjos <tkjos@google.com>
2024-03-07 21:18:27 +00:00
Greg Kroah-Hartman
1dbafe61e3 Merge tag 'android14-6.1.75_r00' into android14-6.1
This merges up to the 6.1.75 LTS release into the android14-6.1 branch.
Included in here are the following commits:

* 6644fcfcbc ANDROID: Fix CRC error with iommu_* functions
* c84ac52917 Revert "bpf: add percpu stats for bpf_map elements insertions/deletions"
* 0125855f7e Revert "bpf: Add map and need_defer parameters to .map_fd_put_ptr()"
* 329c931b9d Revert "bpf: Defer the free of inner map when necessary"
*   c16bb76a0c Merge 6.1.75 into android14-6.1-lts
|\
| * 883d1a9562 Linux 6.1.75
| * cfa4683828 Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d""
| * f854bff46a arm64: dts: armada-3720-turris-mox: set irq type for RTC
| * 17062a768c Revert "KEYS: encrypted: Add check for strsep"
| * b1cc57f976 riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping
| * 9025ee1079 block: Remove special-casing of compound pages
| * 2c46871ac4 i2c: s3c24xx: fix transferring more than one message in polling mode
| * 63892860b0 i2c: s3c24xx: fix read transfers in polling mode
| * 380540bb06 ipv6: mcast: fix data-race in ipv6_mc_down / mld_ifc_work
| * 8f7f03e8cd selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes
| * 13e6065fed mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure
| * 31944f4264 loop: fix the the direct I/O support check when used on top of block devices
| * f2cc7d90a8 ethtool: netlink: Add missing ethnl_ops_begin/complete
| * 7809296dc1 kdb: Fix a potential buffer overflow in kdb_local()
| * 50ee63b800 ipvs: avoid stat macros calls from preemptible context
| * 4a45e7e7d2 netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description
| * b56bce52f9 netfilter: nf_tables: skip dead set elements in netlink dump
| * 9cb084df01 netfilter: nf_tables: do not allow mismatch field size and set key length
| * 7ae19ee81c netfilter: bridge: replace physindev with physinif in nf_bridge_info
| * 754ca18ed3 netfilter: propagate net to nf_bridge_get_physindev
| * 3f1f505277 netfilter: nf_queue: remove excess nf_bridge variable
| * 52d01a40b7 netfilter: nfnetlink_log: use proper helper for fetching physinif
| * dfa01315c3 netfilter: nft_limit: do not ignore unsupported flags
| * f00f11aae1 netfilter: nf_tables: reject invalid set policy
| * 2f32d518a1 mptcp: relax check on MPC passive fallback
| * 4631c2dd69 LoongArch: BPF: Prevent out-of-bounds memory access
| * ca65da8da1 net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe
| * 4108b86e32 bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS
| * f1ec1b6c5c net: stmmac: ethtool: Fixed calltrace caused by unbalanced disable_irq_wake calls
| * 359fadf5f7 drm/amdkfd: fixes for HMM mem allocation
| * 81b86a10b8 drm/amdkfd: Use resource_size() helper function
| * 1c3aa875db dt-bindings: gpio: xilinx: Fix node address in gpio
| * 24e00f0fa9 net: ravb: Fix dma_addr_t truncation in error case
| * 615501d41b udp: annotate data-races around up->pending
| * 33cf52b6e5 block: ensure we hold a queue reference when using queue limits
| * fdf3df297f mptcp: refine opt_mp_capable determination
| * c0749c8770 mptcp: use OPTION_MPTCP_MPJ_SYN in subflow_check_req()
| * 51e4cb032d mptcp: use OPTION_MPTCP_MPJ_SYNACK in subflow_finish_connect()
| * 081273082d mptcp: strict validation before using mp_opt->hmac
| * 67feafe7a3 mptcp: mptcp_parse_option() fix for MPTCPOPT_MP_JOIN
| * cb183a586e net: phy: micrel: populate .soft_reset for KSZ9131
| * ecf0ebf0e6 amt: do not use overwrapped cb area
| * c96da963de net: ethernet: ti: am65-cpsw: Fix max mtu to fit ethernet frames
| * ee1dc3bf86 net: qualcomm: rmnet: fix global oob in rmnet_policy
| * 93eb80c5c9 s390/pci: fix max size calculation in zpci_memcpy_toio()
| * cad471227a ASoC: mediatek: sof-common: Add NULL check for normal_link string
| * 69f0bebe91 PCI: mediatek-gen3: Fix translation window size calculation
| * 94667790e5 PCI: keystone: Fix race condition when initializing PHYs
| * 11923a8df8 nvmet-tcp: Fix the H2C expected PDU len calculation
| * fb711858e6 nvme: trace: avoid memcpy overflow warning
| * cac037db24 nvmet: re-fix tracing strncpy() warning
| * e92fe6f51b serial: imx: Correct clock error message in function probe()
| * 938b88a2d9 usb: xhci-mtk: fix a short packet issue of gen1 isoc-in transfer
| * 9d4fa5fe2b apparmor: avoid crash when parsed profile name is empty
| * 3a46101871 cxl/region: fix x9 interleave typo
| * 16cbe4bad8 perf env: Avoid recursively taking env->bpf_progs.lock
| * 83ccd15717 nvmet-tcp: fix a crash in nvmet_req_complete()
| * 2871aa4070 nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length
| * 8ed3eb92a5 vdpa: Fix an error handling path in eni_vdpa_probe()
| * b2cb99d26e spmi: mtk-pmif: Serialize PMIF status check and command submission
| * 28a45e15c8 usb: cdc-acm: return correct error code on unsupported break
| * 8fd48981a7 tty: use 'if' in send_break() instead of 'goto'
| * 50608b54ad tty: don't check for signal_pending() in send_break()
| * 6f0cd560ff tty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK
| * 8e426f2499 tty: change tty_write_lock()'s ndelay parameter to bool
| * ed863a4d48 perf genelf: Set ELF program header addresses properly
| * 4cb5213213 perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event()
| * 8f02951cee perf header: Fix one memory leakage in perf_event__fprintf_event_update()
| * eeeb3861c2 iio: adc: ad9467: fix scale setting
| * e2b405b985 iio: adc: ad9467: don't ignore error codes
| * 89398709ae iio: adc: ad9467: fix reset gpio handling
| * f33bdf21e1 selftests/sgx: Skip non X86_64 platform
| * bf92b82101 selftests/sgx: Include memory clobber for inline asm in test enclave
| * 2cfae256a1 selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry
| * eb41e7e8b4 selftests/sgx: Fix uninitialized pointer dereference in error path
| * 63ee7be01a serial: imx: fix tx statemachine deadlock
| * 3f9ec4227e software node: Let args be NULL in software_node_get_reference_args
| * 893c3ca250 acpi: property: Let args be NULL in __acpi_node_get_property_reference
| * 76be69716c base/node.c: initialize the accessor list before registering
| * d5ef7480d6 libapi: Add missing linux/types.h header to get the __u64 type on io.h
| * d74173bda2 serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed
| * e6fce099c9 power: supply: bq256xx: fix some problem in bq256xx_hw_init
| * ddd3fe99b4 power: supply: cw2015: correct time_to_empty units in sysfs
| * 559e25126c MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
| * 2504864be6 MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
| * 69e9a6944d riscv: Fixed wrong register in XIP_FIXUP_FLASH_OFFSET macro
| * add57b5298 riscv: Fix set_direct_map_default_noflush() to reset _PAGE_EXEC
| * b4f4d42765 riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings
| * d2ebb8143b riscv: Fix module_alloc() that did not reset the linear mapping permissions
| * 890cfe5337 riscv: Check if the code to patch lies in the exit section
| * 9ad0ab0bbc mips: Fix incorrect max_low_pfn adjustment
| * 1961a29b89 mips: dmi: Fix early remap on MIPS32
| * e341194063 mfd: intel-lpss: Fix the fractional clock divider flags
| * 7fdc6c187e leds: aw2013: Select missing dependency REGMAP_I2C
| * 527e8c5f3d mfd: syscon: Fix null pointer dereference in of_syscon_register()
| * ac3b65cbc6 ARM: 9330/1: davinci: also select PINCTRL
| * d2ba8eea74 serial: sc16is7xx: set safe default SPI clock frequency
| * 4f61154a68 serial: sc16is7xx: add check for unsupported SPI modes during probe
| * f09b277f73 HID: wacom: Correct behavior when processing some confidence == false touches
| * 710bd46860 iio: adc: ad7091r: Pass iio_dev to event handler
| * dba788e25f KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache
| * 8a4f6a176a KVM: arm64: vgic-v4: Restore pending state on host userspace write
| * 455ebc1910 x86/kvm: Do not try to disable kvmclock if it was not enabled
| * 88f4dd8b9f PCI: mediatek: Clear interrupt status before dispatching handler
| * 0c883bc9fa PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support
| * d3c08d1015 PCI/P2PDMA: Remove reference to pci_p2pdma_map_sg()
| * 970c0899a4 cxl/port: Fix decoder initialization when nr_targets > interleave_ways
| * 23f9749108 Revert "net: rtnetlink: Enslave device before bringing it up"
| * f2ddfc7d3a wifi: mwifiex: configure BSSID consistently when starting AP
| * 54e1864b13 wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors
| * 0075a5d69d wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
| * debfa60412 wifi: mt76: fix broken precal loading from MTD for mt7915
| * 1edce43f47 iommu/dma: Trace bounce buffer usage when mapping buffers
| * cc7e8482c6 iommu/arm-smmu-qcom: Add missing GMU entry to match table
| * 516ecb2436 LoongArch: Fix and simplify fcsr initialization on execve()
| * 6cc9c0af0a bpf: Fix re-attachment branch in bpf_tracing_prog_attach
| * 96860d9ad4 Bluetooth: Fix atomicity violation in {min,max}_key_size_set
| * 7c02ca5542 rootfs: Fix support for rootfstype= when root= is given
| * f5c29a3a7e md/raid1: Use blk_opf_t for read and write operations
| * 7b85554c7c pwm: Fix out-of-bounds access in of_pwm_single_xlate()
| * 00e29df1b4 pwm: jz4740: Don't use dev_err_probe() in .request()
| * a372f1d01b netfilter: nf_tables: check if catch-all set element is active in next generation
| * c6350b5cb7 block: Fix iterating over an empty bio with bio_for_each_folio_all
| * ef31cc8779 block: add check that partition length needs to be aligned with block size
| * 0c8d252d0a drm/amd: Enable PCIe PME from D3
| * f49a30a24f scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State
| * 546e981eea scsi: mpi3mr: Refresh sdev queue depth after controller reset
| * 3378333263 scsi: target: core: add missing file_{start,end}_write()
| * 01644b8616 scsi: ufs: core: Simplify power management during async scan
| * 81f444f228 fbdev: flush deferred IO before closing
| * ccbee2843e fbdev: flush deferred work in fb_deferred_io_fsync()
| * d6cc8dd231 io_uring/rw: ensure io->bytes_done is always initialized
| * c866866c79 ksmbd: only v2 leases handle the directory
| * 380965e48e ksmbd: fix UAF issue in ksmbd_tcp_new_connection()
| * 6eb8015492 ksmbd: validate mech token in session setup
| * 0914dc8041 ALSA: hda/realtek: Enable headset mic on Lenovo M70 Gen5
| * 5648a0087f ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on HP ZBook
| * 3253abcd9b ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq2xxx
| * 29f6eccbcf ALSA: oxygen: Fix right channel of capture volume mixer
| * 104f95698c drm/vmwgfx: Keep a gem reference to user bos in surfaces
| * 5a4087a907 drm/vmwgfx: Fix possible invalid drm gem put calls
| * a71776bbd8 serial: omap: do not override settings for RS485 support
| * b5a2232ba8 serial: 8250_exar: Set missing rs485_supported flag
| * 36b0710502 serial: imx: Ensure that imx_uart_rs485_config() is called with enabled clock
| * d5f13c1d01 serial: core, imx: do not set RS485 enabled if it is not supported
| * dac0dd3d80 serial: 8250_bcm2835aux: Restore clock error handling
| * 15000d6f29 serial: core: make sure RS485 cannot be enabled when it is not supported
| * f790bd27a7 serial: core: fix sanitizing check for RTS settings
| * 974a0a6944 usb: mon: Fix atomicity violation in mon_bin_vma_fault
| * 206e2ddeb7 usb: typec: class: fix typec_altmode_put_partner to put plugs
| * d0320b9ac6 Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"
| * 097cdc78c6 usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled
| * 45c766231e usb: cdns3: fix iso transfer error when mult is not zero
| * 3f2bf7cac0 usb: cdns3: fix uvc failure work since sg support enabled
| * e894b1b038 usb: chipidea: wait controller resume finished for wakeup irq
| * 3450197e9a Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only"
| * 598f9d5a3b Revert "usb: dwc3: Soft reset phy on probe for host"
| * d5c4a04205 usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart
| * 789eade47f usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host()
| * c952654e1a tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug
| * 9ccf64e763 powerpc/64s: Increase default stack size to 32KB
| * 7ac029af00 clocksource/drivers/timer-ti-dm: Fix make W=n kerneldoc warnings
| * 6696f76c32 binder: fix race between mmput() and do_exit()
| * 437360133c xen-netback: don't produce zero-size SKB frags
| * 3ed5f55599 Input: atkbd - use ab83 as id when skipping the getid command
| * 45e565b55b mips/smp: Call rcutree_report_cpu_starting() earlier
| * 16e1d4fa13 binder: fix unused alloc->free_async_space
| * c5255d1229 binder: fix async space check for 0-sized buffers
| * 66b3578797 keys, dns: Fix size check of V1 server-list header
| * 60a9a5fca6 selftests/bpf: Add assert for user stacks in test_task_stack
| * 3590da14e1 of: unittest: Fix of_count_phandle_with_args() expected value message
| * 581ade6be5 fbdev: imxfb: fix left margin setting
| * b9d760dae5 of: Fix double free in of_parse_phandle_with_args_map
| * 676af10d0c ksmbd: validate the zero field of packet header
| * 222618b737 kselftest/alsa - mixer-test: Fix the print format specifier warning
| * b77ae4f8c1 kselftest/alsa - mixer-test: fix the number of parameters to ksft_exit_fail_msg()
| * 74416a207f drm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init
| * 4525525cb7 drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c
| * a9f68a23ca IB/iser: Prevent invalidating wrong MR
| * 96dc4d204a mmc: sdhci_omap: Fix TI SoC dependencies
| * 5aa65e5f20 mmc: sdhci_am654: Fix TI SoC dependencies
| * d8d8897d65 ALSA: scarlett2: Add clamp() in scarlett2_mixer_ctl_put()
| * cda7762bea ALSA: scarlett2: Add missing error checks to *_ctl_get()
| * be0b1be4ac ALSA: scarlett2: Allow passing any output to line_out_remap()
| * be96acd3ea ALSA: scarlett2: Add missing error check to scarlett2_usb_set_config()
| * 6232b7505c ALSA: scarlett2: Add missing error check to scarlett2_config_save()
| * 74341edb7d ASoC: rt5645: Drop double EF20 entry from dmi_platform_data[]
| * 40fe0903fa pwm: stm32: Fix enable count for clk in .probe()
| * 0d554b420c pwm: stm32: Use hweight32 in stm32_pwm_detect_channels
| * ade959ed67 pwm: stm32: Use regmap_clear_bits and regmap_set_bits where applicable
| * c4b1f10f14 clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw
| * 6d98d24917 accel/habanalabs: fix information leak in sec_attest_info()
| * 7ac0adc7df drm/mediatek: dp: Add phy_mtk_dp module as pre-dependency
| * f930dbdc95 clk: si5341: fix an error code problem in si5341_output_clk_set_rate
| * 24961a5dc7 watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused
| * 6317445623 watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
| * 3bde94e858 watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO
| * 06b854238e watchdog: set cdev owner before adding
| * c249ef9d09 drivers: clk: zynqmp: update divider round rate logic
| * b61ca9c34c drivers: clk: zynqmp: calculate closest mux rate
| * 74aeef7e43 clk: qcom: videocc-sm8150: Add missing PLL config property
| * 52d741c95d clk: qcom: videocc-sm8150: Update the videocc resets
| * 52e2ebc064 dt-bindings: clock: Update the videocc resets for sm8150
| * 4f31f357e5 f2fs: fix to check return value of f2fs_recover_xattr_data
| * 2c6537c58b drm/amd/pm: fix a double-free in amdgpu_parse_extended_power_table
| * 4e26e2d485 gpu/drm/radeon: fix two memleaks in radeon_vm_init
| * 35fa2394d2 drivers/amd/pm: fix a use-after-free in kv_parse_power_table
| * f957a1be64 drm/amd/pm: fix a double-free in si_dpm_init
| * 591e77fedc drm/amdgpu/debugfs: fix error code when smc register accessors are NULL
| * 3ec6ce0651 drm/mediatek: Fix underrun in VDO1 when switches off the layer
| * 518efe60bb drm/mediatek: Return error if MDP RDMA failed to enable the clock
| * aa3e61cf89 drm/msm/dpu: Drop enable and frame_count parameters from dpu_hw_setup_misr()
| * 08d7e291af drm/msm/dpu: Set input_sel bit for INTF
| * 9570ae0e1d clk: renesas: rzg2l: Check reset monitor registers
| * 3e1dd6a1b4 clk: renesas: rzg2l-cpg: Reuse code in rzg2l_cpg_reset()
| * 2db7760422 media: dvb-frontends: m88ds3103: Fix a memory leak in an error handling path of m88ds3103_probe()
| * 74e3f165d3 media: dvbdev: drop refcount on error path in dvb_device_open()
| * 4d6e15a5ea f2fs: fix to update iostat correctly in f2fs_filemap_fault()
| * 8835766027 f2fs: fix to check compress file in f2fs_move_file_range()
| * 9bfd5ea715 f2fs: fix to wait on block writeback for post_read case
| * e67911d2ca drm/panel: st7701: Fix AVCL calculation
| * bb17cc851e media: rkisp1: Fix media device memory leak
| * 690b7c356f media: dt-bindings: media: rkisp1: Fix the port description for the parallel interface
| * 438193dcc2 media: imx-mipi-csis: Fix clock handling in remove()
| * df2adafa62 clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config
| * 40a156cf08 RDMA/hns: Fix memory leak in free_mr_init()
| * dada3fdb4e media: cx231xx: fix a memleak in cx231xx_init_isoc
| * b075ed8dcc drm/bridge: tc358767: Fix return value on error case
| * 9a3b226370 drm/bridge: cdns-mhdp8546: Fix use of uninitialized variable
| * 60c23f9aeb drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table
| * 0f19543097 drm/radeon/dpm: fix a memleak in sumo_parse_power_table
| * c4ff554081 drm/radeon: check the alloc_workqueue return value in radeon_crtc_init()
| * 048cbfd605 drm/panfrost: Ignore core_mask for poweroff and disable PWRTRANS irq
| * c32ee7286f ASoC: Intel: glk_rt5682_max98357a: fix board id mismatch
| * 7682ef5c14 drm/drv: propagate errors from drm_modeset_register_all()
| * 19b01c6c19 drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks
| * b234ecad20 drm/msm/mdp4: flush vblank event on disable
| * 982eb772e1 ASoC: cs35l34: Fix GPIO name and drop legacy include
| * 940484c055 ASoC: cs35l33: Fix GPIO name and drop legacy include
| * 2da8e20346 drm/tidss: Fix dss reset
| * 553574c023 drm/tidss: Check for K2G in in dispc_softreset()
| * f099c742ca drm/tidss: Return error value from from softreset
| * 10a437c604 drm/tidss: Move reset to the end of dispc_init()
| * da72ff8def drm/radeon: check return value of radeon_ring_lock()
| * e6667551ed drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check()
| * 9ac2845a2e drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg()
| * f0145860c2 f2fs: fix to avoid dirent corruption
| * 4bab3ad44d drm/bridge: Fix typo in post_disable() description
| * dab1227007 media: rkvdec: Hook the (TRY_)DECODER_CMD stateless ioctls
| * 563f34c24c media: verisilicon: Hook the (TRY_)DECODER_CMD stateless ioctls
| * 32b4b2dde3 media: mtk-jpeg: Remove cancel worker in mtk_jpeg_remove to avoid the crash of multi-core JPEG devices
| * f211621deb media: mtk-jpegdec: export jpeg decoder functions
| * 30773ea47d media: pvrusb2: fix use after free on context disconnection
| * 4019c80968 drm/tilcdc: Fix irq free on unload
| * 81f1bd8596 drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function
| * 37b400c803 drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer
| * dbea48e916 drm/panel-elida-kd35t133: hold panel in reset for unprepare
| * 019bba28d1 RDMA/hns: Fix inappropriate err code for unsupported operations
| * a867b891f9 RDMA/usnic: Silence uninitialized symbol smatch warnings
| * d260b65b2b drm/panfrost: Really power off GPU cores in panfrost_gpu_power_off()
| * 8578a795ba Revert "drm/omapdrm: Annotate dma-fence critical section in commit path"
| * 3e6bf96561 Revert "drm/tidss: Annotate dma-fence critical section in commit path"
| * 544d223d71 ARM: davinci: always select CONFIG_CPU_ARM926T
| * 62a1fedeb1 ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()
| * 1b481cb536 mlxbf_gige: Enable the GigE port in mlxbf_gige_open
| * 7ad5e7a35c mlxbf_gige: Fix intermittent no ip issue
| * 0b5b831122 net/sched: act_ct: fix skb leak and crash on ooo frags
| * b91d31de9a sctp: fix busy polling
| * 9233a88f4b sctp: support MSG_ERRQUEUE flag in recvmsg()
| * 3c0bd2b066 bpf: sockmap, fix proto update hook to avoid dup calls
| * 6e9429f9c6 null_blk: don't cap max_hw_sectors to BLK_DEF_MAX_SECTORS
| * a623d31805 block: make BLK_DEF_MAX_SECTORS unsigned
| * 33f93ce22e Bluetooth: btmtkuart: fix recv_buf() return value
| * 81f3b6ea31 Bluetooth: Fix bogus check for re-auth no supported with non-ssp
| * 55c88a7efb netfilter: nf_tables: mark newset as dead on transaction abort
| * 68aebba59e wifi: iwlwifi: mvm: send TX path flush in rfkill
| * 6cc82456e3 wifi: iwlwifi: mvm: set siso/mimo chains to 1 in FW SMPS request
| * 8915946cde wifi: rtlwifi: rtl8192se: using calculate_bit_shift()
| * 62badccc7c wifi: rtlwifi: rtl8192ee: using calculate_bit_shift()
| * a277e8e9fe wifi: rtlwifi: rtl8192de: using calculate_bit_shift()
| * b716c8483c wifi: rtlwifi: rtl8192ce: using calculate_bit_shift()
| * d938e470b2 wifi: rtlwifi: rtl8192cu: using calculate_bit_shift()
| * 35fb6b7574 wifi: rtlwifi: rtl8192c: using calculate_bit_shift()
| * 937f65a125 wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift()
| * dd9e3d9513 wifi: rtlwifi: add calculate_bit_shift()
| * ce9b43e58c arm64: dts: qcom: ipq6018: Fix up indentation
| * 20fb17328b arm64: dts: qcom: ipq6018: Pad addresses to 8 hex digits
| * ba71baee6e arm64: dts: qcom: ipq6018: Use lowercase hex
| * cb65c2caa1 arm64: dts: qcom: ipq6018: improve pcie phy pcs reg table
| * 45d8d80cda arm64: dts: qcom: ipq6018: fix clock rates for GCC_USB0_MOCK_UTMI_CLK
| * ab23e4ef89 arm64: dts: qcom: sc7280: Mark SDHCI hosts as cache-coherent
| * e765363ecf block: add check of 'minors' and 'first_minor' in device_add_disk()
| * a4529948df arm64: dts: qcom: sm8150-hdk: fix SS USB regulators
| * bf5e9d28a8 soc: qcom: llcc: Fix dis_cap_alloc and retain_on_pc configuration
| * aaf0fc13be dma-mapping: clear dev->dma_mem to NULL after freeing it
| * 542da27eac virtio/vsock: fix logic which reduces credit update messages
| * f69365e3a7 ipmr: support IP_PKTINFO on cache report IGMP msg
| * 0c867561ce selftests/net: fix grep checking for fib_nexthop_multiprefix
| * c458be3909 ARM: dts: stm32: don't mix SCMI and non-SCMI board compatibles
| * fdbe94c524 scsi: hisi_sas: Correct the number of global debugfs registers
| * 6491d9ea93 scsi: hisi_sas: Rollback some operations if FLR failed
| * 3d5a4fa56d scsi: hisi_sas: Replace with standard error code return value
| * 35657d1ba8 arm64: dts: imx8mm: Reduce GPU to nominal speed
| * a4210a686a arm64: dts: renesas: white-hawk-cpu: Fix missing serial console pin control
| * 9f5b79cf12 block: Set memalloc_noio to false on device_add_disk() error path
| * 4196b45370 selftests/bpf: Relax time_tai test for equal timestamps in tai_forward
| * 0c9318d49e wifi: mt76: mt7921: fix country count limitation for CLC
| * fe002eeda4 arm64: dts: mediatek: mt8183: correct MDP3 DMA-related nodes
| * 9c91f58498 dt-bindings: media: mediatek: mdp3: correct RDMA and WROT node with generic names
| * ba5e58dacf arm64: dts: hisilicon: hikey970-pmic: fix regulator cells properties
| * b1d4d54d32 bpf: Fix verification of indirect var-off stack access
| * 4054b2b1e6 wifi: mt76: mt7921s: fix workqueue problem causes STA association fail
| * 4486b2e5db arm64: dts: qcom: sc7280: fix usb_2 wakeup interrupt types
| * 361b4175dd arm64: dts: qcom: sc7280: Mark Adreno SMMU as DMA coherent
| * a16a476b5c arm64: dts: qcom: sc7280: Fix up GPU SIDs
| * 9e1dafa5c3 arm64: dts: qcom: sm8350: Fix DMA0 address
| * 1623432c6a arm64: dts: qcom: sdm845-db845c: correct LED panic indicator
| * 773c09af31 arm64: dts: qcom: qrb5165-rb5: correct LED panic indicator
| * 9435bbc8d9 scsi: fnic: Return error if vmalloc() failed
| * fc3e3c50a0 bpf: fix check for attempt to corrupt spilled pointer
| * 50e9fbddcb selftests/net: specify the interface when do arping
| * 62fca83303 bpf: Defer the free of inner map when necessary
| * e05b322c82 bpf: Add map and need_defer parameters to .map_fd_put_ptr()
| * a6fb03a9c9 bpf: add percpu stats for bpf_map elements insertions/deletions
| * 1010882619 rcu-tasks: Provide rcu_trace_implies_rcu_gp()
| * db44bac18a arm64: dts: qcom: sm6350: Make watchdog bark interrupt edge triggered
| * 8e335e7759 arm64: dts: qcom: sc8280xp: Make watchdog bark interrupt edge triggered
| * 66cdbc4e80 arm64: dts: qcom: sm8250: Make watchdog bark interrupt edge triggered
| * 385f30d448 arm64: dts: qcom: sm8150: Make watchdog bark interrupt edge triggered
| * 5e8267cbc0 arm64: dts: qcom: sdm845: Make watchdog bark interrupt edge triggered
| * bc9a45a06a arm64: dts: qcom: sc7280: Make watchdog bark interrupt edge triggered
| * 30d0c5fe2c arm64: dts: qcom: sc7280: Mark some nodes as 'reserved'
| * 0200f1b6ba arm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered
| * 22529f0ac2 ARM: dts: qcom: sdx65: correct SPMI node name
| * be1f34b93f bpf: enforce precision of R0 on callback return
| * f9f2d957a8 md: synchronize flush io with array reconfiguration
| * b21a16909b selftests/bpf: Fix erroneous bitmask operation
| * ff9935181e arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type
| * e9e59f3ee5 arm64: dts: ti: k3-am62a-main: Fix GPIO pin count in DT nodes
| * 436785a207 wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
| * 6824ed5d5a firmware: meson_sm: populate platform devices from sm device tree data
| * 00ac00ce8d firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
| * ac7c503bd5 net/ncsi: Fix netlink major/minor version numbers
| * 12db013dc9 ARM: dts: qcom: apq8064: correct XOADC register address
| * 638f381ab2 wifi: libertas: stop selecting wext
| * 7dd918d877 wifi: ath11k: Defer on rproc_get failure
| * 799a914e48 bpf: Add crosstask check to __bpf_get_stack
| * 1959a560ac bpf, lpm: Fix check prefixlen before walking trie
| * cd1896b922 wifi: rtw88: fix RX filter in FIF_ALLMULTI flag
| * fdd9364163 wifi: plfxlc: check for allocation failure in plfxlc_usb_wreq_async()
| * a058f0c432 pNFS: Fix the pnfs block driver's calculation of layoutget size
| * b10370b1ea SUNRPC: fix _xprt_switch_find_current_entry logic
| * 19f28fa8be NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT
| * 83f2d54ca3 blocklayoutdriver: Fix reference leak of pnfs_device_node
| * 23ba22557a csky: fix arch_jump_label_transform_static override
| * 4df0c942d0 crypto: scomp - fix req->dst buffer overflow
| * 490adf8be7 crypto: sahara - do not resize req->src when doing hash operations
| * eae15c43be crypto: sahara - fix processing hash requests with req->nbytes < sg->length
| * 6fc9576795 crypto: sahara - improve error handling in sahara_sha_process()
| * 5834cafc1d crypto: sahara - fix wait_for_completion_timeout() error handling
| * 8b355e0478 crypto: sahara - fix ahash reqsize
| * a75ba66b69 crypto: sahara - handle zero-length aes requests
| * 0545801b30 crypto: sahara - avoid skcipher fallback code duplication
| * 635308e604 crypto: virtio - Wait for tasklet to complete on device remove
| * d69d7804cf gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump
| * caae86077d fs: indicate request originates from old mount API
| * 9c285df949 erofs: fix memory leak on short-lived bounced pages
| * 48dcfc42ce pstore: ram_core: fix possible overflow in persistent_ram_init_ecc()
| * d7e4268a51 crypto: hisilicon/zip - save capability registers in probe process
| * a384d7dc4e crypto: hisilicon/sec2 - save capability registers in probe process
| * fc6b944de1 crypto: hisilicon/hpre - save capability registers in probe process
| * 4705731fc5 crypto: hisilicon/qm - add a function to set qm algs
| * 11d7a33905 crypto: hisilicon/zip - add zip comp high perf mode configuration
| * 6412f039ac crypto: hisilicon/qm - save capability registers in qm init process
| * d1f82d7210 crypto: sahara - fix error handling in sahara_hw_descriptor_create()
| * 435303ad8a crypto: sahara - fix processing requests with cryptlen < sg->length
| * e7e8fbfe6d crypto: sahara - fix ahash selftest failure
| * 1f91280362 crypto: sahara - fix cbc selftest failure
| * eecf2e1e0c crypto: sahara - remove FLAGS_NEW_KEY logic
| * 4c0ac81a17 crypto: safexcel - Add error handling for dma_map_sg() calls
| * d5d4dfc73b crypto: af_alg - Disallow multiple in-flight AIO requests
| * f3a11fdd02 crypto: ccp - fix memleak in ccp_init_dm_workarea
| * baa79033e1 crypto: sa2ul - Return crypto_aead_setkey to transfer the error
| * ae4747dab2 crypto: virtio - Handle dataq logic with tasklet
| * e973b045c1 selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket
| * 5389407bba mtd: Fix gluebi NULL pointer dereference caused by ftl notifier
| * 030a1147ed kunit: debugfs: Fix unchecked dereference in debugfs_print_results()
| * b841208b7e ACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error
| * b412c486a3 ACPI: LPSS: Fix the fractional clock divider flags
| * 5980041cba spi: sh-msiof: Enforce fixed DTDL for R-Car H3
| * ea6b597fca efivarfs: Free s_fs_info on unmount
| * d4a9aa7db5 efivarfs: force RO when remounting if SetVariable is not supported
| * 321b3a5592 calipso: fix memory leak in netlbl_calipso_add_pass()
| * 71f47a52ba cpufreq: scmi: process the result of devm_of_clk_add_hw_provider()
| * 04fc66dd2b cpufreq: Use of_property_present() for testing DT property presence
| * 79de65ac39 of: Add of_property_present() helper
| * 426710a2bc platform/x86/intel/vsec: Fix xa_alloc memory leak
| * 0ff5cd92bb platform/x86/intel/vsec: Use mutex for ida_alloc() and ida_free()
| * 1fa4a1e125 platform/x86/intel/vsec: Support private data
| * 3c48b2a7ce platform/x86/intel/vsec: Enhance and Export intel_vsec_add_aux()
| * c25f1555e0 KEYS: encrypted: Add check for strsep
| * 72222dfd76 ACPI: LPIT: Avoid u32 multiplication overflow
| * 2124c5bc22 ACPI: video: check for error while searching for backlight device parent
| * 08f7142e22 mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response
| * a35ab02c85 spi: spi-zynqmp-gqspi: fix driver kconfig dependencies
| * a2da3f9b1a powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
| * f152a6bfd1 powerpc/powernv: Add a null pointer check in opal_powercap_init()
| * 9a523e1da6 powerpc/powernv: Add a null pointer check in opal_event_init()
| * ed8d023cfa powerpc/powernv: Add a null pointer check to scom_debug_init_one()
| * 327d4f2d66 selftests/powerpc: Fix error handling in FPU/VMX preemption tests
| * 026fd977dc powerpc/pseries/memhp: Fix access beyond end of drmem array
| * 63df75d383 powerpc/44x: select I2C for CURRITUCK
| * 2fc51c4b7d powerpc: add crtsavres.o to always-y instead of extra-y
| * 16b88e68b8 powerpc: remove checks for binutils older than 2.25
| * 9dbac9fdae EDAC/thunderx: Fix possible out-of-bounds string access
| * c9275305d6 x86/mce/inject: Clear test status value
| * 0be645792c x86/lib: Fix overflow when counting digits
* | 6e04c1ccf7 Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
* | c0f972f028 UPSTREAM: drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks
* | 8fe0623347 UPSTREAM: drm/msm/dsi: Enable runtime PM
* | c3a1a1e97e Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
* | 48159eff53 Merge 6.1.74 into android14-6.1-lts
|\|
| * 8fd7f44624 Linux 6.1.74
| * a31690d3dd scripts/decode_stacktrace.sh: optionally use LLVM utilities
| * 5e67191818 coresight: etm4x: Fix width of CCITMIN field
| * d08e756e25 PCI: Add ACS quirk for more Zhaoxin Root Ports
| * 41e3e3d813 leds: ledtrig-tty: Free allocated ttyname buffer on deactivate
| * 419602d08b parport: parport_serial: Add Brainboxes device IDs and geometry
| * 3936b54a8d parport: parport_serial: Add Brainboxes BAR details
| * 17a8519cb3 uio: Fix use-after-free in uio_open
| * 08af2ceb83 binder: fix comment on binder_alloc_new_buf() return value
| * 35a3e8ceaf binder: fix trivial typo of binder_free_buf_locked()
| * 9fa04c93f2 binder: fix use-after-free in shinker's callback
| * ee14fd2c8b binder: use EPOLLERR from eventpoll.h
| * bed0acf330 Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
| * e377a3346f ksmbd: free ppace array on error in parse_dacl
| * 09d84f37f8 ksmbd: don't allow O_TRUNC open on read-only share
| * c24fc060ab bpf: Add --skip_encoding_btf_inconsistent_proto, --btf_gen_optimized to pahole flags for v1.25
| * 0d242f739c btf, scripts: Exclude Rust CUs with pahole
| * b976593219 ASoC: SOF: Intel: hda-codec: Delay the codec device registration
| * dcf95b26be ACPI: resource: Add another DMI match for the TongFang GMxXGxx
| * 5816a82caf ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP Envy X360 13-ay0xxx
| * 9d588f3b6f drm/crtc: fix uninitialized variable use
| * 809ebacd22 ARM: sun9i: smp: fix return code check of of_property_match_string
| * 0ce688d88a net: qrtr: ns: Return 0 if server port is not present
| * 1e1b2f34e9 virtio_blk: fix snprintf truncation compiler warning
| * 9efdc0081c ida: Fix crash in ida_free when the bitmap is empty
| * 24f3fec911 pinctrl: cy8c95x0: Fix get_pincfg
| * a54e7741cc pinctrl: cy8c95x0: Fix typo
| * 75e94701c0 drm/amd/display: get dprefclk ss info from integration info table
| * 426ab60bd2 i2c: rk3x: fix potential spinlock recursion on poll
| * 5411e32927 smb: client: fix potential OOB in smb2_dump_detail()
| * da7ba20a71 HID: nintendo: Prevent divide-by-zero on code
| * 87e2739656 dm audit: fix Kconfig so DM_AUDIT depends on BLK_DEV_DM
| * d0085e100f ALSA: hda/realtek: Add quirks for ASUS Zenbook 2022 Models
| * 2b055dc11e ASoC: Intel: bytcr_rt5640: Add new swapped-speakers quirk
| * 8840d3491a ASoC: Intel: bytcr_rt5640: Add quirk for the Medion Lifetab S10346
| * a63ab09a07 platform/x86: thinkpad_acpi: fix for incorrect fan reporting on some ThinkPad systems
| * 44521a5dc4 HID: nintendo: fix initializer element is not constant error
| * 3910d7a441 kselftest: alsa: fixed a print formatting warning
| * 2a36b4e5e6 Input: xpad - add Razer Wolverine V2 support
| * 31fbbc809c wifi: iwlwifi: pcie: avoid a NULL pointer dereference
| * 05d268e2e4 ARC: fix spare error
| * 372a93921e s390/scm: fix virtual vs physical address confusion
| * 626b0c0ab3 Input: i8042 - add nomux quirk for Acer P459-G2-M
| * 30fe4c4135 Input: atkbd - skip ATKBD_CMD_GETID in translated mode
| * b6ef44cb6a reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
| * c5d9fd8c5a Input: psmouse - enable Synaptics InterTouch for ThinkPad L14 G1
| * b0407f68d9 ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI
| * 07787918c6 tracing: Fix uaf issue when open the hist or hist_debug file
| * 851865caac MIPS: dts: loongson: drop incorrect dwmac fallback compatible
| * 708579592c stmmac: dwmac-loongson: drop useless check for compatible fallback
| * e75c3db904 tracing: Add size check when printing trace_marker output
| * 7d885c1717 tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing
| * 3ac74ed58f jbd2: fix soft lockup in journal_finish_inode_data_buffers()
| * bb0e510b74 platform/x86: intel-vbtn: Fix missing tablet-mode-switch events
| * f379394a78 neighbour: Don't let neigh_forced_gc() disable preemption for long
| * 9b5044e17e drm/crtc: Fix uninit-value bug in drm_mode_setcrtc
| * 28c9fced8d jbd2: increase the journal IO's priority
| * 6b15330693 jbd2: correct the printing of write_flags in jbd2_write_superblock()
| * c84f9a5ecb clk: rockchip: rk3128: Fix HCLK_OTG gate register
| * 3fe5fbc3a5 clk: rockchip: rk3568: Add PLL rate for 292.5MHz
| * c3597996a3 LoongArch: Preserve syscall nr across execve()
| * c73cc2310a hwmon: (corsair-psu) Fix probe when built-in
| * 53442204b1 drm/exynos: fix a wrong error checking
| * 1502a9a595 drm/exynos: fix a potential error pointer dereference
| * 92decec3ca drm/amdgpu: Add NULL checks for function pointers
| * 5337fb3eba arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru
| * ce97686124 nvme: prevent potential spectre v1 gadget
| * df2bd52354 nvme: introduce helper function to get ctrl state
| * a50562146d ASoC: ops: add correct range check for limiting volume
| * 01a7727ab7 ASoC: da7219: Support low DC impedance headset
| * a7d15ac085 net/tg3: fix race condition in tg3_reset_task()
| * c342afc146 ASoC: hdac_hda: Conditionally register dais for HDMI and Analog
| * 0f37e198c3 ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13
| * 2fff601a1d nouveau/tu102: flush all pdbs on vmm flush
| * 94d2a9da31 ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available
| * 1613195bf3 ASoC: rt5650: add mutex to avoid the jack detection failure
| * b45e21b529 ASoC: cs43130: Fix incorrect frame delay configuration
| * 0c7833f758 ASoC: cs43130: Fix the position of const qualifier
| * b0c9af3d31 ASoC: Intel: Skylake: mem leak in skl register function
| * 7c09cf8095 ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16
| * 522f69ba6b ASoC: Intel: Skylake: Fix mem leak in few functions
| * 9f1429c5aa arm64: dts: rockchip: fix rk356x pcie msg interrupt name
| * 3996699d1f ASoC: wm8974: Correct boost mixer inputs
| * 63360763bf hwtracing: hisi_ptt: Don't try to attach a task
| * 2e3fc2a45a hwtracing: hisi_ptt: Handle the interrupt in hardirq context
| * 319c5186d6 nvme-core: check for too small lba shift
| * f84b0c6445 blk-mq: don't count completed flush data request as inflight in case of quiesce
| * 366d2101fc smb: client, common: fix fortify warnings
| * 53a37135f7 drm/amdgpu: Fix cat debugfs amdgpu_regs_didt causes kernel null pointer
| * d551c77727 drm/amd/display: update dcn315 lpddr pstate latency
| * 3c781fbb4f nvme-core: fix a memory leak in nvme_ns_info_from_identify()
| * a37096b079 ALSA: hda: intel-nhlt: Ignore vbps when looking for DMIC 32 bps format
| * 08f6de7b3f debugfs: fix automount d_fsdata usage
| * d1d138c043 wifi: mac80211: handle 320 MHz in ieee80211_ht_cap_ie_to_sta_ht_cap
| * 0c880e1e38 wifi: avoid offset calculation on NULL pointer
| * dd9465b108 wifi: cfg80211: lock wiphy mutex for rfkill poll
| * 91edb0cd1b mptcp: fix uninit-value in mptcp_incoming_options
| * 9038962130 ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro
| * 9436ae696a pinctrl: lochnagar: Don't build on MIPS
| * 5de9e9dd18 f2fs: explicitly null-terminate the xattr list
* | 8284d64954 Revert "ipv6: remove max_size check inline with ipv4"
* |   9b95c4490c Merge "Merge 6.1.73 into android14-6.1-lts" into android14-6.1-lts
|\ \
| * | a856aee341 Merge 6.1.73 into android14-6.1-lts
| |\|
| | * fec3b1451d Linux 6.1.73
| | * f9ee31dc7f cifs: fix flushing folio regression for 6.1 backport
| | * 0f22c8a6ef ipv6: remove max_size check inline with ipv4
| | * b2c545c398 Revert "nfsd: separate nfsd_last_thread() from nfsd_put()"
| | * db5f2f4db8 Revert "nfsd: call nfsd_last_thread() before final nfsd_put()"
* | | 1eda34ffd5 ANDROID: db845c: Enable device tree overlay support
|/ /
* | 732ef8a408 Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
* | 7aa979acec Revert "splice, net: Add a splice_eof op to file-ops and socket-ops"
* | a272a3f824 Revert "ipv4, ipv6: Use splice_eof() to flush"
* | f901cbd38f Revert "udp: introduce udp->udp_flags"
* | cef6c6be87 Revert "udp: move udp->no_check6_tx to udp->udp_flags"
* | 8806a26646 Revert "udp: move udp->no_check6_rx to udp->udp_flags"
* | 7b70acfd8e Revert "udp: move udp->gro_enabled to udp->udp_flags"
* | 583a8f8204 Revert "udp: move udp->accept_udp_{l4|fraglist} to udp->udp_flags"
* | cdf5cfe6d1 Revert "udp: lockless UDP_ENCAP_L2TPINUDP / UDP_GRO"
* | f9f95b82b2 Revert "udp: annotate data-races around udp->encap_type"
* | acd1add3c8 Revert "bpf, sockmap: af_unix stream sockets need to hold ref for pair sock"
* | 190985b1db Revert "bpf: decouple prune and jump points"
* | eba57b3513 Revert "bpf: remove unnecessary prune and jump points"
* | 9212bbf98b Revert "bpf: Remove unused insn_cnt argument from visit_[func_call_]insn()"
* | 797e6a76ea Revert "bpf: clean up visit_insn()'s instruction processing"
* | c7b298c1b5 Revert "bpf: Support new 32bit offset jmp instruction"
* | 1699079678 Revert "bpf: handle ldimm64 properly in check_cfg()"
* | 63ca0ed629 Revert "bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4"
* | e1b12db2de Merge 6.1.72 into android14-6.1-lts
|\|
| * 7c58bfa711 Linux 6.1.72
| * 2dbe25ae06 Revert "interconnect: qcom: sm8250: Enable sync_state"
| * f73a374c19 smb3: Replace smb2pdu 1-element arrays with flex-arrays
| * ec162546a7 media: qcom: camss: Comment CSID dt_id field
| * a5c3f2b4ce bpf: syzkaller found null ptr deref in unix_bpf proto add
| * 15db682980 bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4
| * 7cbdf36eab net/sched: act_ct: Always fill offloading tuple iifidx
| * 2be4e8ac2d net/sched: act_ct: additional checks for outdated flows
| * 87318b7e37 f2fs: compress: fix to assign compress_level for lz4 correctly
| * 397f719037 genirq/affinity: Only build SMP-only helper functions on SMP kernels
| * 28c9222e29 mmc: sdhci-sprd: Fix eMMC init failure after hw reset
| * 2813a434d4 mmc: core: Cancel delayed work before releasing host
| * 575e127041 mmc: rpmb: fixes pause retune on all RPMB partitions.
| * 9c5efaa09b mmc: meson-mx-sdhc: Fix initialization frozen issue
| * 48e1d426f4 drm/amd/display: add nv12 bounding box
| * 11c3510d1d drm/amdgpu: skip gpu_info fw loading on navi12
| * dafdeb7b91 mm: fix unmap_mapping_range high bits shift bug
| * 08038069c2 i2c: core: Fix atomic xfer check for non-preempt config
| * 53b42cb33f x86/kprobes: fix incorrect return address calculation in kprobe_emulate_call_indirect
| * d1db1ef5e6 firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards
| * 09a44d994b ring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg()
| * 820a7802f2 btrfs: mark the len field in struct btrfs_ordered_sum as unsigned
| * ab220f4f5c btrfs: fix qgroup_free_reserved_data int overflow
| * 0f74dde5be octeontx2-af: Support variable number of lmacs
| * 7d3912613d octeontx2-af: Fix pause frame configuration
| * a29b15cc68 net/sched: act_ct: Take per-cb reference to tcf_ct_flow_table
| * 2bb4ecb334 netfilter: flowtable: GC pushes back packets to classic path
| * df01de08b4 net/sched: act_ct: Fix promotion of offloaded unreplied tuple
| * 87466a3745 net/sched: act_ct: offload UDP NEW connections
| * 8b160f2fba netfilter: flowtable: cache info of last offload
| * c29a7656f8 netfilter: flowtable: allow unidirectional rules
| * e681f711e9 net: sched: call tcf_ct_params_free to free params in tcf_ct_init
| * d49bf9c1ce mm/memory_hotplug: fix error handling in add_memory_resource()
| * 4666f003af mm/memory_hotplug: add missing mem_hotplug_lock
| * a576780a2a lib/group_cpus.c: avoid acquiring cpu hotplug lock in group_cpus_evenly
| * f33b27f5c3 genirq/affinity: Move group_cpus_evenly() into lib/
| * 617ba3735d genirq/affinity: Rename irq_build_affinity_masks as group_cpus_evenly
| * aeeb4e4e49 genirq/affinity: Don't pass irq_affinity_desc array to irq_build_affinity_masks
| * 9e84d7bb15 genirq/affinity: Pass affinity managed mask array to irq_build_affinity_masks
| * a1dcd17947 genirq/affinity: Remove the 'firstvec' parameter from irq_build_affinity_masks
| * f4fe76467e ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7
| * aee609302d firmware: arm_scmi: Fix frequency truncation by promoting multiplier type
| * 90d1f74c3c bpf, sockmap: af_unix stream sockets need to hold ref for pair sock
| * 5ff1682fec ethtool: don't propagate EOPNOTSUPP from dumps
| * e570b15087 dpaa2-eth: recycle the RX buffer only after all processing done
| * 5b8938fc7d net: dpaa2-eth: rearrange variable in dpaa2_eth_get_ethtool_stats
| * e88275ce7e smb: client: fix missing mode bits for SMB symlinks
| * bf223fd4d9 block: update the stable_writes flag in bdev_add
| * a8e4300ae5 filemap: add a per-mapping stable writes flag
| * d0eafc7631 mm, netfs, fscache: stop read optimisation when folio removed from pagecache
| * bceff380f3 mm: merge folio_has_private()/filemap_release_folio() call pairs
| * 8b6b3ecf0c memory-failure: convert truncate_error_page() to use folio
| * a6f440f3b9 khugepage: replace try_to_release_page() with filemap_release_folio()
| * 4c78612e5f ext4: convert move_extent_per_page() to use folios
| * b92a8f591c media: qcom: camss: Fix set CSI2_RX_CFG1_VC_MODE when VC is greater than 3
| * 710f70555d media: camss: sm8250: Virtual channels for CSID
| * c96a4f9360 selftests: mptcp: set FAILING_LINKS in run_tests
| * 4b85e920af selftests: mptcp: fix fastclose with csum failure
| * 336d1ee07e f2fs: set the default compress_level on ioctl
| * 1ff3f5ef28 f2fs: assign default compression level
| * 55d3f41e55 f2fs: convert to use bitmap API
| * 84a8d913fb f2fs: clean up i_compress_flag and i_compress_level usage
| * 2c14f49916 s390/cpumf: support user space events for counting
| * a1a1e5ce88 s390/mm: add missing arch_set_page_dat() call to vmem_crst_alloc()
| * 31051f722d net/mlx5: Increase size of irq name buffer
| * b5c8e0ff76 blk-mq: make sure active queue usage is held for bio_integrity_prep()
| * 803fb6109f bpf: fix precision backtracking instruction iteration
| * b08acd5c46 bpf: handle ldimm64 properly in check_cfg()
| * 2c795ce090 bpf: Support new 32bit offset jmp instruction
| * b1c780ed3c bpf: clean up visit_insn()'s instruction processing
| * 97bb6dab01 bpf: Remove unused insn_cnt argument from visit_[func_call_]insn()
| * 8266c47d04 bpf: remove unnecessary prune and jump points
| * 743f3548d3 bpf: decouple prune and jump points
| * eb4f2e1788 fbdev: imsttfb: fix double free in probe()
| * f2a79f3651 fbdev: imsttfb: Release framebuffer and dealloc cmap on error path
| * 51a1b94302 arm64: dts: qcom: sdm845: Fix PSCI power domain names
| * 5db8b93cbe arm64: dts: qcom: sdm845: align RPMh regulator nodes with bindings
| * 343bb27e31 wifi: iwlwifi: yoyo: swap cdb and jacket bits values
| * 158b71f3a9 udp: annotate data-races around udp->encap_type
| * 8d929b6c11 udp: lockless UDP_ENCAP_L2TPINUDP / UDP_GRO
| * b680a907d1 udp: move udp->accept_udp_{l4|fraglist} to udp->udp_flags
| * 753886c0b9 udp: move udp->gro_enabled to udp->udp_flags
| * a01cff15cc udp: move udp->no_check6_rx to udp->udp_flags
| * 50e41aa9ea udp: move udp->no_check6_tx to udp->udp_flags
| * e2a4392b61 udp: introduce udp->udp_flags
| * 2489502fb1 ipv4, ipv6: Use splice_eof() to flush
| * 4713b7c756 splice, net: Add a splice_eof op to file-ops and socket-ops
| * ac8c69e448 udp: Convert udp_sendpage() to use MSG_SPLICE_PAGES
| * 6bcc79a4e7 net: Declare MSG_SPLICE_PAGES internal sendmsg() flag
| * 89b51e70e5 bpf, x86: save/restore regs with BPF_DW size
| * 4ee461c5dc bpf, x86: Simplify the parsing logic of structure parameters
| * 605c8d8f99 bpf, x64: Fix tailcall infinite loop
| * 5573fdbc34 srcu: Fix callbacks acceleration mishandling
| * abc3e3fb71 cpu/SMT: Make SMT control more robust against enumeration failures
| * 482fa21635 cpu/SMT: Create topology_smt_thread_allowed()
| * a364c18553 selftests: secretmem: floor the memory size to the multiple of page_size
| * c38c5cfd3e net: Implement missing SO_TIMESTAMPING_NEW cmsg support
| * 14937f47a4 bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters()
| * 55fbcd83aa net: ravb: Wait for operating mode to be applied
| * 8a09b0f01c asix: Add check for usbnet_get_endpoints
| * db9c4a1f37 octeontx2-af: Re-enable MAC TX in otx2_stop processing
| * b67e7d78e4 octeontx2-af: Always configure NIX TX link credits based on max frame size
| * 84c3833a93 net/smc: fix invalid link access in dumping SMC-R connections
| * 0af75845ff net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues
| * 9b05042922 igc: Fix hicredit calculation
| * 7663226274 i40e: Restore VF MSI-X state during PCI reset
| * 5735f529e3 ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux
| * 8719838c12 ASoC: meson: g12a-toacodec: Fix event generation
| * 5de3c8496e ASoC: meson: g12a-tohdmitx: Validate written enum values
| * 95b4d4093a ASoC: meson: g12a-toacodec: Validate written enum values
| * 2f3b6e8600 i40e: fix use-after-free in i40e_aqc_add_filters()
| * 72fa661778 net: Save and restore msg_namelen in sock_sendmsg
| * 81f8a995eb netfilter: nft_immediate: drop chain reference counter on error
| * bb1bf97fa1 net: bcmgenet: Fix FCS generation for fragmented skbuffs
| * e75715e1c2 sfc: fix a double-free bug in efx_probe_filters
| * 725d44e49f ARM: sun9i: smp: Fix array-index-out-of-bounds read in sunxi_mc_smp_init
| * 85f6fae44b selftests: bonding: do not set port down when adding to bond
| * 3edd66bd4e net: Implement missing getsockopt(SO_TIMESTAMPING_NEW)
| * ac5fde92b5 net: annotate data-races around sk->sk_bind_phc
| * c48fcb4f49 net: annotate data-races around sk->sk_tsflags
| * 5d586f7ca0 net-timestamp: extend SOF_TIMESTAMPING_OPT_ID to HW timestamps
| * b2130366a9 can: raw: add support for SO_MARK
| * 633a49e34b r8169: Fix PCI error on system resume
| * 565460e180 net: sched: em_text: fix possible memory leak in em_text_destroy()
| * ac5cbe931c mlxbf_gige: fix receive packet race condition
| * 6d7f454927 ASoC: mediatek: mt8186: fix AUD_PAD_TOP register and offset
| * 811604fb02 ASoC: fsl_rpmsg: Fix error handler with pm_runtime_enable
| * c3a37dc156 igc: Check VLAN EtherType mask
| * 6edff0b838 igc: Check VLAN TCI mask
| * d27b98f4ae igc: Report VLAN EtherType matching back to user
| * e76d1913f6 i40e: Fix filter input checks to prevent config with invalid values
| * 188c9970d0 ice: Shut down VSI with "link-down-on-close" enabled
| * 83b80170b7 ice: Fix link_down_on_close message
| * f3f6a23e05 drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern
| * 6cf7235bc1 octeontx2-af: Fix marking couple of structure as __packed
| * a4b0a9b80a nfc: llcp_core: Hold a ref to llcp_local->dev when holding a ref to llcp_local
| * 282e3fb612 netfilter: nf_tables: set transport offset from mac header for netdev/egress
| * 9487cc4c90 netfilter: use skb_ip_totlen and iph_totlen
| * 5f523f1beb drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer
| * 3da4868907 wifi: iwlwifi: pcie: don't synchronize IRQs from IRQ
| * 493d556278 KVM: x86/pmu: fix masking logic for MSR_CORE_PERF_GLOBAL_CTRL
| * 3152a7d361 cifs: do not depend on release_iface for maintaining iface_list
| * 5982a625fc cifs: cifs_chan_is_iface_active should be called with chan_lock held
| * 4afcb82518 drm/mgag200: Fix gamma lut not initialized for G200ER, G200EV, G200SE
| * b9c370b61d Revert "PCI/ASPM: Remove pcie_aspm_pm_state_change()"
| * af9a530765 mptcp: prevent tcp diag from closing listener subflows
| * 105063f7f4 ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP ProBook 440 G6
| * 0fa3cf2d15 ALSA: hda/realtek: fix mute/micmute LEDs for a HP ZBook
| * beda900d3a ALSA: hda/realtek: enable SND_PCI_QUIRK for hp pavilion 14-ec1xxx series
| * 9539e3b56e block: Don't invalidate pagecache for invalid falloc modes
| * 079eefaecf keys, dns: Fix missing size check of V1 server-list header
* | efec95a6ee Revert "device property: Allow const parameter to dev_fwnode()"
* | 8eac30b25e Merge 6.1.71 into android14-6.1-lts
|\|
| * 38fb82ecd1 Linux 6.1.71
| * 74c4c7d57c Revert "platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe"
| * 7709b16bdb tracing/kprobes: Fix symbol counting logic by looking at modules as well
| * 9dd295341d kallsyms: Make module_kallsyms_on_each_symbol generally available
| * 29cb165771 device property: Allow const parameter to dev_fwnode()
| * e7b0437217 spi: Constify spi parameters of chip select APIs
| * f9a01938e0 NFSD: fix possible oops when nfsd/pool_stats is closed.
| * 899ac41804 ring-buffer: Fix slowpath of interrupted event
| * 0105571f80 netfilter: nf_tables: skip set commit for deleted/destroyed sets
| * 4768430d5a ring-buffer: Remove useless update to write_stamp in rb_try_to_discard()
| * f33c4e4cab tracing: Fix blocked reader of snapshot buffer
| * 09640899e6 ring-buffer: Fix wake ups when buffer_percent is set to 100
| * 4ee9d9291b mm/memory-failure: check the mapcount of the precise page
| * fb21c9780a mm/memory-failure: cast index to loff_t before shifting it
| * be72d197b2 mm: migrate high-order folios in swap cache correctly
| * a8df791470 mm/filemap: avoid buffered read/write race to read inconsistent data
| * b954b92ef0 platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe
| * 7a3bbbadac ksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16()
| * b9c5f0fd5c block: renumber QUEUE_FLAG_HW_WC
| * e21b5fc5b8 spi: atmel: Fix clock issue when using devices with different polarities
| * 025cf65f68 spi: Add APIs in spi core to set/get spi->chip_select and spi->cs_gpiod
| * 64a4eb2982 spi: Reintroduce spi_set_cs_timing()
| * 95e21657ff linux/export: Ensure natural alignment of kcrctab array
| * bb4f791cb2 nfsd: call nfsd_last_thread() before final nfsd_put()
| * 03d68ffc48 nfsd: separate nfsd_last_thread() from nfsd_put()
| * 481561a431 iio: imu: adis16475: add spi_device_id table
| * 027eaeaf32 spi: Introduce spi_get_device_match_data() helper
| * 457a219c84 usb: fotg210-hcd: delete an incorrect bounds test
| * 119127273b ARM: dts: Fix occasional boot hang for am3 usb
| * 98235bc13a ksmbd: fix wrong allocation size update in smb2_open()
| * 04b8e04f8f ksmbd: avoid duplicate opinfo_put() call on error of smb21_lease_break_ack()
| * 34f7d5b5c9 ksmbd: lazy v2 lease break on smb2_write()
| * 500c7a5e9a ksmbd: send v2 lease break notification for directory
| * 1993959460 ksmbd: downgrade RWH lease caching state to RH for directory
| * 2fcb46df34 ksmbd: set v2 lease capability
| * 3eddc811a7 ksmbd: set epoch in create context v2 lease
| * 52a32eafd0 ksmbd: don't update ->op_state as OPLOCK_STATE_NONE on error
| * 0bc46c2370 ksmbd: move setting SMB2_FLAGS_ASYNC_COMMAND and AsyncId
| * d9aa5c1908 ksmbd: release interim response after sending status pending response
| * 013bf453af ksmbd: move oplock handling after unlock parent dir
| * 20dd92c237 ksmbd: separately allocate ci per dentry
| * d5651972e5 ksmbd: fix possible deadlock in smb2_open
| * aabc944ebf ksmbd: prevent memory leak on error return
| * b4a269bb89 ksmbd: fix kernel-doc comment of ksmbd_vfs_kern_path_locked()
| * 699ad8d03c ksmbd: no need to wait for binded connection termination at logoff
| * 3cf4455081 ksmbd: add support for surrogate pair conversion
| * d26e024a5e ksmbd: fix missing RDMA-capable flag for IPoIB device in ksmbd_rdma_capable_netdev()
| * 5113f72225 ksmbd: fix recursive locking in vfs helpers
| * 42e56982be ksmbd: fix kernel-doc comment of ksmbd_vfs_setxattr()
| * 533e6dc446 ksmbd: reorganize ksmbd_iov_pin_rsp()
| * 1d95c5a541 ksmbd: Remove unused field in ksmbd_user struct
| * 5929e98f3b ksmbd: fix potential double free on smb2_read_pipe() error path
| * a7aae713ea ksmbd: fix Null pointer dereferences in ksmbd_update_fstate()
| * 943cebf9ea ksmbd: fix wrong error response status by using set_smb2_rsp_status()
| * 7b58ee8d0b ksmbd: fix race condition between tree conn lookup and disconnect
| * 0090f0bfc2 ksmbd: fix race condition from parallel smb2 lock requests
| * 6584ca894f ksmbd: fix race condition from parallel smb2 logoff requests
| * b3a843caed ksmbd: fix race condition with fp
| * 7345f5dbf6 ksmbd: check iov vector index in ksmbd_conn_write()
| * 8beae8a0a0 ksmbd: return invalid parameter error response if smb2 request is invalid
| * e523a26c05 ksmbd: fix passing freed memory 'aux_payload_buf'
| * b4b3fd1a95 ksmbd: remove unneeded mark_inode_dirty in set_info_sec()
| * 1ee419e08f ksmbd: remove experimental warning
| * 83b01f7330 ksmbd: add missing calling smb2_set_err_rsp() on error
| * 422c0cd016 ksmbd: Fix one kernel-doc comment
| * c20105a897 ksmbd: fix `force create mode' and `force directory mode'
| * f8cf1ebb7d ksmbd: fix wrong interim response on compound
| * 9f297df20d ksmbd: add support for read compound
| * 673e60c691 ksmbd: switch to use kmemdup_nul() helper
| * 0a9b91f45e ksmbd: check if a mount point is crossed during path lookup
| * d782f42eed ksmbd: Fix unsigned expression compared with zero
| * 48cc493840 ksmbd: Replace one-element array with flexible-array member
| * 63fbfd212c ksmbd: Use struct_size() helper in ksmbd_negotiate_smb_dialect()
| * e7ab53bd81 ksmbd: Replace the ternary conditional operator with min()
| * 143da652ce ksmbd: use kvzalloc instead of kvmalloc
| * de43cdaa88 ksmbd: Change the return value of ksmbd_vfs_query_maximal_access to void
| * deb79f20be ksmbd: return a literal instead of 'err' in ksmbd_vfs_kern_path_locked()
| * fe7977b872 ksmbd: use kzalloc() instead of __GFP_ZERO
| * 294a275f37 ksmbd: remove unused ksmbd_tree_conn_share function
| * b069977b2b ksmbd: add mnt_want_write to ksmbd vfs functions
| * 13a5045011 ksmbd: fix posix_acls and acls dereferencing possible ERR_PTR()
| * 1524884c3e ksmbd: call putname after using the last component
| * 30a1344198 ksmbd: fix uninitialized pointer read in smb2_create_link()
| * 6d4e21e369 ksmbd: fix uninitialized pointer read in ksmbd_vfs_rename()
| * 6927ffe747 ksmbd: fix racy issue from using ->d_parent and ->d_name
| * 6e99fbb429 fs: introduce lock_rename_child() helper
| * 965eb86507 ksmbd: remove unused compression negotiate ctx packing
| * 49d9f6ad1e ksmbd: avoid duplicate negotiate ctx offset increments
| * 2182d96ec0 ksmbd: set NegotiateContextCount once instead of every inc
| * 8d271ef5e5 ksmbd: delete asynchronous work from list
| * 4ef3fd2f85 ksmbd: remove unused is_char_allowed function
| * 226aaaa593 ksmbd: Fix parameter name and comment mismatch
| * e8c49f9364 ksmbd: Fix spelling mistake "excceed" -> "exceeded"
| * ada8bcc48a ksmbd: update Kconfig to note Kerberos support and fix indentation
| * 5c0306b0ab ksmbd: Remove duplicated codes
| * b6502c34cf ksmbd: fix typo, syncronous->synchronous
| * 052b41ef2a ksmbd: Implements sess->rpc_handle_list as xarray
| * 264547e13f ksmbd: Convert to use sysfs_emit()/sysfs_emit_at() APIs
| * 87ffbb9e24 ksmbd: Fix resource leak in smb2_lock()
| * d847b75883 ksmbd: use F_SETLK when unlocking a file
| * 343d667dee ksmbd: set SMB2_SESSION_FLAG_ENCRYPT_DATA when enforcing data encryption for this share
| * ab69d3e8f7 ksmbd: replace one-element arrays with flexible-array members
* | 1e63881f5c Merge 6.1.70 into android14-6.1-lts
|\|
| * a507f147e6 Linux 6.1.70
| * a413b88cdb loop: deprecate autoloading callback loop_probe()
| * 75c27bdb21 wifi: nl80211: fix deadlock in nl80211_set_cqm_rssi (6.6.x)
| * 15577a98ef wifi: cfg80211: fix CQM for non-range use
| * 706448f716 fuse: share lookup state between submount and its parent
| * ec7b81b0ab mm/damon/core: make damon_start() waits until kdamond_fn() starts
| * 41f4ff9fe2 x86/alternatives: Sync core before enabling interrupts
| * 425379154b KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy
| * 5dfacfd0fc KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy()
| * 3a0fd93cd9 KVM: arm64: vgic: Simplify kvm_vgic_destroy()
| * 3339028dd0 thunderbolt: Fix memory leak in margining_port_remove()
| * 69b6596c6e lib/vsprintf: Fix %pfwf when current node refcount == 0
| * 2dd6f22860 gpio: dwapb: mask/unmask IRQ when disable/enale it
| * ab1c3f91d1 bus: ti-sysc: Flush posted write only after srst_udelay
| * cd9f9ef59d pinctrl: starfive: jh7100: ignore disabled device tree nodes
| * 7f7efa30fa dm-integrity: don't modify bio's immutable bio_vec in integrity_metadata()
| * 33b976a0f2 tracing / synthetic: Disable events after testing in synth_event_gen_test_init()
| * d2b549d310 scsi: core: Always send batch on reset or error handling command
| * 72e472a91c Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity"
| * 4258274bac selftests: mptcp: join: fix subflow_send_ack lookup
| * a8555c86f5 ublk: move ublk_cancel_dev() out of ub->mutex
| * 1c250f2c5f ubifs: fix possible dereference after free
| * 3c42cc437d btrfs: zoned: no longer count fresh BG region as zone unusable
| * b09a676176 Revert "drm/amd/display: Do not set DRR on pipe commit"
| * 93da3d8af9 dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client
| * e9779fac68 loop: do not enforce max_loop hard limit by (new) default
| * 600043e185 RISC-V: Fix do_notify_resume / do_work_pending prototype
| * 764c6790dd 9p: prevent read overrun in protocol dump tracepoint
| * 7d09c84df5 drm/i915: Reject async flips with bigjoiner
| * c60e10d154 smb: client: fix OOB in smbCalcSize()
| * bef4315f19 smb: client: fix OOB in SMB2_query_info_init()
| * 71fe685b6a smb: client: fix potential OOB in cifs_dump_detail()
| * 277832a306 smb: client: fix OOB in cifsd when receiving compounded resps
| * 3f6da21047 dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp
| * 1092525155 net: ks8851: Fix TX stall caused by TX buffer overrun
| * e9df9f0891 net: rfkill: gpio: set GPIO direction
| * 805611157d net: 9p: avoid freeing uninit memory in p9pdu_vreadf
| * 4c775b4cd8 Input: soc_button_array - add mapping for airplane mode button
| * 5df2b49e7e net: usb: ax88179_178a: avoid failed operations when device is disconnected
| * 0f7bffd40a Bluetooth: Add more enc key size check
| * 39347d6450 Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE
| * e14a7ebafe Bluetooth: L2CAP: Send reject on command corrupted request
| * 37f71e2c9f Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg
| * 470896ecbc Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent
| * d36d945f94 ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA
| * 9599a5e34c USB: serial: option: add Quectel RM500Q R13 firmware support
| * a91fb450df USB: serial: option: add Foxconn T99W265 with new baseline
| * 73b6b6ab03 USB: serial: option: add Quectel EG912Y module support
| * 9b968a7086 USB: serial: ftdi_sio: update Actisense PIDs constant names
| * db57ef0dd4 wifi: cfg80211: fix certs build to not depend on file order
| * ec350809cd wifi: cfg80211: Add my certificate
| * 228d9960ae usb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3
| * 82f913724b ALSA: usb-audio: Increase delay in MOTU M quirk
| * 01bc94b581 iio: triggered-buffer: prevent possible freeing of wrong buffer
| * c508a99fbc iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma()
| * 1b670b0eee iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table
| * 1fe4c93fc7 scsi: bnx2fc: Fix skb double free in bnx2fc_rcv()
| * 66ccf5f743 Input: ipaq-micro-keys - add error handling for devm_kmemdup
| * 3637f6bdfe interconnect: qcom: sm8250: Enable sync_state
| * 90aa62722d iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw
| * 50d60bfc96 interconnect: Treat xlate() returning NULL node as an error
| * 900c1b3c62 drm/i915: Fix ADL+ tiled plane stride when the POT stride is smaller than the original
| * de4349bdf9 drm/i915/mtl: Add MTL for remapping CCS FBs
| * 52c1a67dd3 drm/i915/dpt: Only do the POT stride remap when using DPT
| * 7afe810945 drm/i915: Fix intel_atomic_setup_scalers() plane_state handling
| * b097184f80 drm/i915: Relocate intel_atomic_setup_scalers()
| * 99767368b7 drm/i915/mtl: limit second scaler vertical scaling in ver >= 14
| * 387e807759 nvme-pci: fix sleeping function called from interrupt context
| * b506833ee8 gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl()
| * 6eb51df9e7 pinctrl: at91-pio4: use dedicated lock class for IRQ
| * 903bb0c7b8 x86/xen: add CPU dependencies for 32-bit build
| * 2550d96aa2 i2c: aspeed: Handle the coalesced stop conditions with the start conditions.
| * 5c11f63799 ASoC: fsl_sai: Fix channel swap issue on i.MX8MP
| * 264d8c9b7f ASoC: hdmi-codec: fix missing report for jack initial status
| * 9b4c95a63e afs: Fix use-after-free due to get/remove race in volume tree
| * 17605162e2 afs: Fix overwriting of result of DNS query
| * 791d5409cd keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry
| * 3e617c7e39 net: check dev->gso_max_size in gso_features_check()
| * 087b96adc6 afs: Fix dynamic root lookup DNS check
| * 9c6ea7abe3 afs: Fix the dynamic root's d_delete to always delete unused dentries
| * a70c2dd741 net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev()
| * ea03196ebc net: mana: select PAGE_POOL
| * a1986c429c Bluetooth: hci_event: shut up a false-positive warning
| * fc64715105 Bluetooth: Fix deadlock in vhci_send_frame
| * 3e0d158579 net/rose: fix races in rose_kill_by_device()
| * 51e28c37d9 ethernet: atheros: fix a memleak in atl1e_setup_ring_resources
| * 6707baabe4 net: sched: ife: fix potential use-after-free
| * 31edab1222 net: Return error from sk_stream_wait_connect() if sk_wait_event() fails
| * 9d00421e14 octeontx2-pf: Fix graceful exit during PFC configuration failure
| * b0cee29402 net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above
| * 72b8de75b3 net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors
| * 18b4a5e0c3 net/mlx5e: Correct snprintf truncation handling for fw_version buffer
| * 94c8485b44 net/mlx5: Fix fw tracer first block check
| * 1750f55d85 net/mlx5e: fix a potential double-free in fs_udp_create_groups
| * 01877daaef net/mlx5e: Fix a race in command alloc flow
| * f3739647a7 net/mlx5: Re-organize mlx5_cmd struct
| * 148ec770c6 net/mlx5: Prevent high-rate FW commands from populating all slots
| * bd6e091629 net/mlx5: Introduce and use opcode getter in command interface
| * 0f5de95fa2 net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list()
| * 31037cfcef Revert "net/mlx5e: fix double free of encap_header"
| * 8a84413505 Revert "net/mlx5e: fix double free of encap_header in update funcs"
| * 2f635af7d6 wifi: mac80211: mesh_plink: fix matches_local logic
| * 7a07af00aa wifi: mac80211: mesh: check element parsing succeeded
| * 40ba7f9ab8 wifi: mac80211: check if the existing link config remains unchanged
| * e90da1c7c6 wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock
| * 912652366f s390/vx: fix save/restore of fpu kernel context
| * 0a6e700c3d reset: Fix crash when freeing non-existent optional resets
| * 930a61fd79 ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init
| * 228a00a77d ARM: dts: dra7: Fix DRA7 L3 NoC node register size
| * 913463f8e6 drm/amd/display: fix hw rotated modes when PSR-SU is enabled
| * a4f48f77bb HID: i2c-hid: Add IDEA5002 to i2c_hid_acpi_blacklist[]
| * 413bef367b HID: i2c-hid: acpi: Unify ACPI ID tables format
| * 57a6b0a464 bpf: Fix prog_array_map_poke_run map poke update
| * 4768f82272 kasan: disable kasan_non_canonical_hook() for HW tags
* | 0b58f24c02 Reapply "kasan: print the original fault addr when access invalid shadow"
* | 1ac76d45aa ANDROID: GKI: fix crc issue in include/net/addrconf.h
* | 9b8f2430b3 Revert "cred: switch to using atomic_long_t"
* | d3d46ac25c Merge 6.1.69 into android14-6.1-lts
|\|
| * 4aa6747d93 Linux 6.1.69
| * 325556d46b r8152: fix the autosuspend doesn't work
| * 4c2ad8e39c r8152: remove rtl_vendor_mode function
| * 1d82735f4b r8152: avoid to change cfg for all devices
| * 9b3d3a7f3c net: tls, update curr on splice as well
| * 869aee35cf ring-buffer: Have rb_time_cmpxchg() set the msb counter too
| * c425a772fc ring-buffer: Do not try to put back write_stamp
| * b15cf14869 ring-buffer: Fix a race in rb_time_cmpxchg() for 32 bit archs
| * edbc03d671 ring-buffer: Fix writing to the buffer with max_data_size
| * 6d98d594a5 ring-buffer: Have saved event hold the entire event
| * 7888b607a9 ring-buffer: Do not update before stamp when switching sub-buffers
| * 7043c4610c tracing: Update snapshot buffer on resize if it is allocated
| * 31785cf817 ring-buffer: Fix memory leak of free page
| * 8c3b77ad4e smb: client: fix OOB in smb2_query_reparse_point()
| * d8541c50c6 smb: client: fix NULL deref in asn1_ber_decoder()
| * 9f528a8e68 smb: client: fix OOB in receive_encrypted_standard()
| * 7b0faa541f drm/i915: Fix remapped stride with CCS on ADL+
| * 2090771791 drm/amd/display: Disable PSR-SU on Parade 0803 TCON again
| * a9e2de1943 drm/amdgpu: fix tear down order in amdgpu_vm_pt_free
| * 730b3322b8 btrfs: don't clear qgroup reserved bit in release_folio
| * 9b670e1b64 btrfs: free qgroup reserve when ORDERED_IOERR is set
| * da9b7c651c mm/shmem: fix race in shmem_undo_range w/THP
| * 8ec07b0620 mm/mglru: fix underprotected page cache
| * 40f3ad769e dmaengine: stm32-dma: avoid bitfield overflow assertion
| * 78b2ba39be drm/amdgpu/sdma5.2: add begin/end_use ring callbacks
| * 6a1472d9be team: Fix use-after-free when an option instance allocation fails
| * b01af92818 arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify
| * 0b071a3266 ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS
| * f2955dd3e9 soundwire: stream: fix NULL pointer dereference for multi_link
| * 56f762659a btrfs: do not allow non subvolume root targets for snapshot
| * 557f7ad064 perf: Fix perf_event_validate_size() lockdep splat
| * a684235d30 HID: hid-asus: add const to read-only outgoing usb buffer
| * 2b9e16bc1c arm64: add dependency between vmlinuz.efi and Image
| * 6cb0c71c6e net: usb: qmi_wwan: claim interface 4 for ZTE MF290
| * f7ce765744 asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation
| * fba6e958ca HID: multitouch: Add quirk for HONOR GLO-GXXX touchpad
| * 8f0c858585 HID: hid-asus: reset the backlight brightness level on resume
| * de78e4bdcb nbd: pass nbd_sock to nbd_read_reply() instead of index
| * d482bb5663 HID: add ALWAYS_POLL quirk for Apple kb
| * 541b183be9 HID: glorious: fix Glorious Model I HID report
| * 42b4ab97be platform/x86: intel_telemetry: Fix kernel doc descriptions
| * 355170a7ec LoongArch: Implement constant timer shutdown interface
| * adb6a90754 LoongArch: Add dependency between vmlinuz.efi and vmlinux.efi
| * 943cde1f3d selftests/bpf: fix bpf_loop_bench for new callback verification scheme
| * 1b40f23e70 nvme: catch errors from nvme_configure_metadata()
| * 6cb3741c45 nvme-auth: set explanation code for failure2 msgs
| * 83bb13bf6c nbd: fold nbd config initialization into nbd_alloc_config()
| * 02a4b14d17 bcache: avoid NULL checking to c->root in run_cache_set()
| * 3d3f72efc7 bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc()
| * bc17ec4215 bcache: remove redundant assignment to variable cur_idx
| * be0e2a28e0 bcache: avoid oversize memory allocation by small stripe_size
| * 94070fd668 blk-cgroup: bypass blkcg_deactivate_policy after destroying
| * e52d0eb48e blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!"
| * 5fb6772cb5 stmmac: dwmac-loongson: Add architecture dependency
| * 82c386d736 usb: aqc111: check packet for fixup for true limit
| * d6c02295c8 x86/hyperv: Fix the detection of E820_TYPE_PRAM in a Gen2 VM
| * ae818b2a2e drm/mediatek: Add spinlock for setting vblank event in atomic_begin
| * 73c240e1ec ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE
| * 0c196180b5 PCI: loongson: Limit MRRS to 256
| * 56d1891594 Revert "PCI: acpiphp: Reassign resources on bridge if necessary"
| * 1ec80b9d43 ALSA: hda/realtek: Apply mute LED quirk for HP15-db
| * eeeb91216a ALSA: hda/hdmi: add force-connect quirks for ASUSTeK Z170 variants
| * 82413e9e42 ALSA: hda/hdmi: add force-connect quirk for NUC5CPYB
| * 0dc6a06c48 fuse: dax: set fc->dax to NULL in fuse_dax_conn_free()
| * 36e2497ac7 cred: switch to using atomic_long_t
| * a51f71cd4f net: atlantic: fix double free in ring reinit logic
| * 1646b2929d appletalk: Fix Use-After-Free in atalk_ioctl
| * d835299dde net: stmmac: Handle disabled MDIO busses from devicetree
| * 9aac81639e dpaa2-switch: do not ask for MDB, VLAN and FDB replay
| * a81c7069af dpaa2-switch: fix size of the dma_unmap
| * 9a23be1e58 vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space()
| * 2027dd67c3 sign-file: Fix incorrect return values check
| * 918991db7d stmmac: dwmac-loongson: Make sure MDIO is initialized before use
| * 63387fe87f net: ena: Fix XDP redirection error
| * 2664b56420 net: ena: Fix xdp drops handling due to multibuf packets
| * e312eed27a net: ena: Destroy correct number of xdp queues upon failure
| * 55a43bae08 net: Remove acked SYN flag from packet in the transmit queue correctly
| * 9bb392ee53 qed: Fix a potential use-after-free in qed_cxt_tables_alloc
| * 112792ad36 iavf: Handle ntuple on/off based on new state machines for flow director
| * 11c314a5a4 iavf: Introduce new state machines for flow director
| * 01540ee236 net/rose: Fix Use-After-Free in rose_ioctl
| * 2de2a6cbe1 atm: Fix Use-After-Free in do_vcc_ioctl
| * 3a76dcab2e octeontx2-af: Update RSS algorithm index
| * d0f0786f8c octeontx2-pf: Fix promisc mcam entry action
| * 34b630626a octeontx2-af: fix a use-after-free in rvu_nix_register_reporters
| * e4ce3dc7a0 net: fec: correct queue selection
| * a00dbc6dec net: vlan: introduce skb_vlan_eth_hdr()
| * 7cfbb8bea3 atm: solos-pci: Fix potential deadlock on &tx_queue_lock
| * 35c63d366f atm: solos-pci: Fix potential deadlock on &cli_queue_lock
| * 525904a157 bnxt_en: Fix HWTSTAMP_FILTER_ALL packet timestamp logic
| * ac61251741 bnxt_en: Fix wrong return value check in bnxt_close_nic()
| * 8217f9362c bnxt_en: Save ring error counters across reset
| * 53cacb8cdc bnxt_en: Clear resource reservation during resume
| * ab410db6e9 qca_spi: Fix reset behavior
| * 7e177e5a40 qca_debug: Fix ethtool -G iface tx behavior
| * 2127142c17 qca_debug: Prevent crash on TX ring changes
| * 0da41ddfb2 net: ipv6: support reporting otherwise unknown prefix flags in RTM_NEWPREFIX
| * 514232495a net/mlx5e: Fix possible deadlock on mlx5e_tx_timeout_work
| * 1e8396aab2 HID: lenovo: Restrict detection of patched firmware only to USB cptkbd
| * e0cda159c8 afs: Fix refcount underflow from error handling race
| * a7e6477cc3 ksmbd: fix memory leak in smb2_lock()
| * 8925ab33b3 ext4: fix warning in ext4_dio_write_end_io()
| * 1c077acf24 powerpc/ftrace: Fix stack teardown in ftrace_no_trace
| * 34ae53cccf r8152: add vendor/device ID pair for ASUS USB-C2500
| * cac1218b32 r8152: add vendor/device ID pair for D-Link DUB-E250
| * 893597cbab r8152: add USB device driver for config selection
| * b80d0c6e5b perf/x86/uncore: Don't WARN_ON_ONCE() for a broken discovery table
* bb47960a9d Merge branch 'android14-6.1' into branch 'android14-6.1-lts'

Change-Id: I73d22764ee8804a28bb2fdcbeba633da3e0daaf3
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-03-07 09:28:03 +00:00
Chao Yu
9698f7e8e7 FROMGIT: f2fs: introduce FAULT_BLKADDR_CONSISTENCE
We will encounter below inconsistent status when FAULT_BLKADDR type
fault injection is on.

Info: checkpoint state = d6 :  nat_bits crc fsck compacted_summary orphan_inodes sudden-power-off
[ASSERT] (fsck_chk_inode_blk:1254)  --> ino: 0x1c100 has i_blocks: 000000c0, but has 191 blocks
[FIX] (fsck_chk_inode_blk:1260)  --> [0x1c100] i_blocks=0x000000c0 -> 0xbf
[FIX] (fsck_chk_inode_blk:1269)  --> [0x1c100] i_compr_blocks=0x00000026 -> 0x27
[ASSERT] (fsck_chk_inode_blk:1254)  --> ino: 0x1cadb has i_blocks: 0000002f, but has 46 blocks
[FIX] (fsck_chk_inode_blk:1260)  --> [0x1cadb] i_blocks=0x0000002f -> 0x2e
[FIX] (fsck_chk_inode_blk:1269)  --> [0x1cadb] i_compr_blocks=0x00000011 -> 0x12
[ASSERT] (fsck_chk_inode_blk:1254)  --> ino: 0x1c62c has i_blocks: 00000002, but has 1 blocks
[FIX] (fsck_chk_inode_blk:1260)  --> [0x1c62c] i_blocks=0x00000002 -> 0x1

After we inject fault into f2fs_is_valid_blkaddr() during truncation,
a) it missed to increase @nr_free or @valid_blocks
b) it can cause in blkaddr leak in truncated dnode
Which may cause inconsistent status.

This patch separates FAULT_BLKADDR_CONSISTENCE from FAULT_BLKADDR,
and rename FAULT_BLKADDR to FAULT_BLKADDR_VALIDITY
so that we can:
a) use FAULT_BLKADDR_CONSISTENCE in f2fs_truncate_data_blocks_range()
to simulate inconsistent issue independently, then it can verify fsck
repair flow.
b) FAULT_BLKADDR_VALIDITY fault will not cause any inconsistent status,
we can just use it to check error path handling in kernel side.

Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 313549450
(cherry picked from commit c7115e094ca820bb72e0c89f158d16bc48c6fa04
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: Ifd6527aa2e48d883ae4063bfce1a404ccfbdaa48
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-03-04 18:26:14 +00:00
Chao Yu
cc322f7dee FROMGIT: f2fs: fix to remove unnecessary f2fs_bug_on() to avoid panic
verify_blkaddr() will trigger panic once we inject fault into
f2fs_is_valid_blkaddr(), fix to remove this unnecessary f2fs_bug_on().

Fixes: 18792e64c86d ("f2fs: support fault injection for f2fs_is_valid_blkaddr()")
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 313549450
(cherry picked from commit b896e302f79678451a94769ddd9e52e954c64fbb
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: Ibffad271c17efd219099f07aab54ac080cae4fba
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-03-04 18:26:14 +00:00
Chao Yu
33d3b7311b FROMGIT: f2fs: compress: fix to avoid inconsistence bewteen i_blocks and dnode
In reserve_compress_blocks(), we update blkaddrs of dnode in prior to
inc_valid_block_count(), it may cause inconsistent status bewteen
i_blocks and blkaddrs once inc_valid_block_count() fails.

To fix this issue, it needs to reverse their invoking order.

Fixes: c75488fb4d ("f2fs: introduce F2FS_IOC_RESERVE_COMPRESS_BLOCKS")
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 313549450
(cherry picked from commit 54607494875edd636aff3c21ace3ad9a7da758a9
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: I74a5d1d47246d39b1ed0131c714c6a2a2bfab6cf
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-03-04 18:26:14 +00:00
Sheng Yong
ba28d24cea FROMGIT: f2fs: compress: fix to check unreleased compressed cluster
Compressed cluster may not be released due to we can fail in
release_compress_blocks(), fix to handle reserved compressed
cluster correctly in reserve_compress_blocks().

Fixes: 4c8ff7095b ("f2fs: support data compression")
Signed-off-by: Sheng Yong <shengyong@oppo.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 313549450
(cherry picked from commit eb8fbaa53374e0a2d4381190abfe708481517bbb
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: I2a4223efb548a921a8f28f45798709743e38e899
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-03-04 18:26:14 +00:00
Chao Yu
0c3d1c94c4 FROMGIT: f2fs: compress: fix to cover normal cluster write with cp_rwsem
When we overwrite compressed cluster w/ normal cluster, we should
not unlock cp_rwsem during f2fs_write_raw_pages(), otherwise data
will be corrupted if partial blocks were persisted before CP & SPOR,
due to cluster metadata wasn't updated atomically.

Fixes: 4c8ff7095b ("f2fs: support data compression")
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 313549450
(cherry picked from commit fd244524c2cf07b5f4c3fe8abd6a99225c76544b
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: I231eef3eb7ee5a105ad929718a6d1d67f4950dd2
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-03-04 18:26:14 +00:00
Chao Yu
02a1ce0cf2 FROMGIT: f2fs: compress: fix to guarantee persisting compressed blocks by CP
If data block in compressed cluster is not persisted with metadata
during checkpoint, after SPOR, the data may be corrupted, let's
guarantee to write compressed page by checkpoint.

Fixes: 4c8ff7095b ("f2fs: support data compression")
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 313549450
(cherry picked from commit 8a430dd49e9cb021372b0ad91e60aeef9c6ced00
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: Ie52d0bc7d89ec3111f1f6e8140555358620e875c
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-03-04 18:26:14 +00:00
Greg Kroah-Hartman
c16bb76a0c This is the 6.1.75 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmWy7o0ACgkQONu9yGCS
 aT76JA/9Gh3VNSLG35LaLyq3xGd827N6DPsMzeFHi+MGSyPVg0auE77QkHD/gZl9
 KynmBmz2+9DSoFxymWAS9oEPM8d/vw87AMuSTTct3GKkjEeUcj9lbeOEzgZydXX8
 cJSXvcCeKE3FESU/YbQKxo0N+r7tUDmnCR0edss5/FpYni3jPdg7jdESzGhiCHXj
 r5rjrTE6h7Z/d+2kaKqlheL4o4OkV0YwnFnU2gC3MOOvLmgvXdOVQQsyaZ+WgSAN
 0JS0Q6Xk1xyYWx8iFaLGWIs1pUsQPKxIiRG3N/1KmXITopf2Pu68Yy7ST+YryDkO
 nLcNrr3gsQxrM6MYnEhLzlxs3H1KuAVxJ4Y/dNqJnDxn0OJjcY3repwempz5Sxtk
 0OLDOsCICAiMHeF8rYIGhm09WdowLz0EH+sqadIGqWKzW/BcXqD+r9mpF1lwk1ZL
 FJLgLmtOaG4amI46lEUHQ6ujN7Oad3gLYzudq2zKLeqonSIjm1TuDoMRvHWFsspO
 5i9I0x7Vlo3PqCl7kkKVL9PvVHx6BXJGFShABJqa9ao/oHxkOWuIt26pxUoLUN3P
 7Wa5WnfdlDd9nR3VGHcVe2ncuRmEfuriYpXvItJ7/KJKyIPkGoPehAh+vbZMoEy0
 DwhtD9PPsTlnUufbcZdHavYA1E4y/uXDMOIGB+ERpsTdXh9DwEo=
 =2XHn
 -----END PGP SIGNATURE-----

Merge 6.1.75 into android14-6.1-lts

Changes in 6.1.75
	x86/lib: Fix overflow when counting digits
	x86/mce/inject: Clear test status value
	EDAC/thunderx: Fix possible out-of-bounds string access
	powerpc: remove checks for binutils older than 2.25
	powerpc: add crtsavres.o to always-y instead of extra-y
	powerpc/44x: select I2C for CURRITUCK
	powerpc/pseries/memhp: Fix access beyond end of drmem array
	selftests/powerpc: Fix error handling in FPU/VMX preemption tests
	powerpc/powernv: Add a null pointer check to scom_debug_init_one()
	powerpc/powernv: Add a null pointer check in opal_event_init()
	powerpc/powernv: Add a null pointer check in opal_powercap_init()
	powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
	spi: spi-zynqmp-gqspi: fix driver kconfig dependencies
	mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response
	ACPI: video: check for error while searching for backlight device parent
	ACPI: LPIT: Avoid u32 multiplication overflow
	KEYS: encrypted: Add check for strsep
	platform/x86/intel/vsec: Enhance and Export intel_vsec_add_aux()
	platform/x86/intel/vsec: Support private data
	platform/x86/intel/vsec: Use mutex for ida_alloc() and ida_free()
	platform/x86/intel/vsec: Fix xa_alloc memory leak
	of: Add of_property_present() helper
	cpufreq: Use of_property_present() for testing DT property presence
	cpufreq: scmi: process the result of devm_of_clk_add_hw_provider()
	calipso: fix memory leak in netlbl_calipso_add_pass()
	efivarfs: force RO when remounting if SetVariable is not supported
	efivarfs: Free s_fs_info on unmount
	spi: sh-msiof: Enforce fixed DTDL for R-Car H3
	ACPI: LPSS: Fix the fractional clock divider flags
	ACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error
	kunit: debugfs: Fix unchecked dereference in debugfs_print_results()
	mtd: Fix gluebi NULL pointer dereference caused by ftl notifier
	selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket
	crypto: virtio - Handle dataq logic with tasklet
	crypto: sa2ul - Return crypto_aead_setkey to transfer the error
	crypto: ccp - fix memleak in ccp_init_dm_workarea
	crypto: af_alg - Disallow multiple in-flight AIO requests
	crypto: safexcel - Add error handling for dma_map_sg() calls
	crypto: sahara - remove FLAGS_NEW_KEY logic
	crypto: sahara - fix cbc selftest failure
	crypto: sahara - fix ahash selftest failure
	crypto: sahara - fix processing requests with cryptlen < sg->length
	crypto: sahara - fix error handling in sahara_hw_descriptor_create()
	crypto: hisilicon/qm - save capability registers in qm init process
	crypto: hisilicon/zip - add zip comp high perf mode configuration
	crypto: hisilicon/qm - add a function to set qm algs
	crypto: hisilicon/hpre - save capability registers in probe process
	crypto: hisilicon/sec2 - save capability registers in probe process
	crypto: hisilicon/zip - save capability registers in probe process
	pstore: ram_core: fix possible overflow in persistent_ram_init_ecc()
	erofs: fix memory leak on short-lived bounced pages
	fs: indicate request originates from old mount API
	gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump
	crypto: virtio - Wait for tasklet to complete on device remove
	crypto: sahara - avoid skcipher fallback code duplication
	crypto: sahara - handle zero-length aes requests
	crypto: sahara - fix ahash reqsize
	crypto: sahara - fix wait_for_completion_timeout() error handling
	crypto: sahara - improve error handling in sahara_sha_process()
	crypto: sahara - fix processing hash requests with req->nbytes < sg->length
	crypto: sahara - do not resize req->src when doing hash operations
	crypto: scomp - fix req->dst buffer overflow
	csky: fix arch_jump_label_transform_static override
	blocklayoutdriver: Fix reference leak of pnfs_device_node
	NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT
	SUNRPC: fix _xprt_switch_find_current_entry logic
	pNFS: Fix the pnfs block driver's calculation of layoutget size
	wifi: plfxlc: check for allocation failure in plfxlc_usb_wreq_async()
	wifi: rtw88: fix RX filter in FIF_ALLMULTI flag
	bpf, lpm: Fix check prefixlen before walking trie
	bpf: Add crosstask check to __bpf_get_stack
	wifi: ath11k: Defer on rproc_get failure
	wifi: libertas: stop selecting wext
	ARM: dts: qcom: apq8064: correct XOADC register address
	net/ncsi: Fix netlink major/minor version numbers
	firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
	firmware: meson_sm: populate platform devices from sm device tree data
	wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
	arm64: dts: ti: k3-am62a-main: Fix GPIO pin count in DT nodes
	arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type
	selftests/bpf: Fix erroneous bitmask operation
	md: synchronize flush io with array reconfiguration
	bpf: enforce precision of R0 on callback return
	ARM: dts: qcom: sdx65: correct SPMI node name
	arm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered
	arm64: dts: qcom: sc7280: Mark some nodes as 'reserved'
	arm64: dts: qcom: sc7280: Make watchdog bark interrupt edge triggered
	arm64: dts: qcom: sdm845: Make watchdog bark interrupt edge triggered
	arm64: dts: qcom: sm8150: Make watchdog bark interrupt edge triggered
	arm64: dts: qcom: sm8250: Make watchdog bark interrupt edge triggered
	arm64: dts: qcom: sc8280xp: Make watchdog bark interrupt edge triggered
	arm64: dts: qcom: sm6350: Make watchdog bark interrupt edge triggered
	rcu-tasks: Provide rcu_trace_implies_rcu_gp()
	bpf: add percpu stats for bpf_map elements insertions/deletions
	bpf: Add map and need_defer parameters to .map_fd_put_ptr()
	bpf: Defer the free of inner map when necessary
	selftests/net: specify the interface when do arping
	bpf: fix check for attempt to corrupt spilled pointer
	scsi: fnic: Return error if vmalloc() failed
	arm64: dts: qcom: qrb5165-rb5: correct LED panic indicator
	arm64: dts: qcom: sdm845-db845c: correct LED panic indicator
	arm64: dts: qcom: sm8350: Fix DMA0 address
	arm64: dts: qcom: sc7280: Fix up GPU SIDs
	arm64: dts: qcom: sc7280: Mark Adreno SMMU as DMA coherent
	arm64: dts: qcom: sc7280: fix usb_2 wakeup interrupt types
	wifi: mt76: mt7921s: fix workqueue problem causes STA association fail
	bpf: Fix verification of indirect var-off stack access
	arm64: dts: hisilicon: hikey970-pmic: fix regulator cells properties
	dt-bindings: media: mediatek: mdp3: correct RDMA and WROT node with generic names
	arm64: dts: mediatek: mt8183: correct MDP3 DMA-related nodes
	wifi: mt76: mt7921: fix country count limitation for CLC
	selftests/bpf: Relax time_tai test for equal timestamps in tai_forward
	block: Set memalloc_noio to false on device_add_disk() error path
	arm64: dts: renesas: white-hawk-cpu: Fix missing serial console pin control
	arm64: dts: imx8mm: Reduce GPU to nominal speed
	scsi: hisi_sas: Replace with standard error code return value
	scsi: hisi_sas: Rollback some operations if FLR failed
	scsi: hisi_sas: Correct the number of global debugfs registers
	ARM: dts: stm32: don't mix SCMI and non-SCMI board compatibles
	selftests/net: fix grep checking for fib_nexthop_multiprefix
	ipmr: support IP_PKTINFO on cache report IGMP msg
	virtio/vsock: fix logic which reduces credit update messages
	dma-mapping: clear dev->dma_mem to NULL after freeing it
	soc: qcom: llcc: Fix dis_cap_alloc and retain_on_pc configuration
	arm64: dts: qcom: sm8150-hdk: fix SS USB regulators
	block: add check of 'minors' and 'first_minor' in device_add_disk()
	arm64: dts: qcom: sc7280: Mark SDHCI hosts as cache-coherent
	arm64: dts: qcom: ipq6018: fix clock rates for GCC_USB0_MOCK_UTMI_CLK
	arm64: dts: qcom: ipq6018: improve pcie phy pcs reg table
	arm64: dts: qcom: ipq6018: Use lowercase hex
	arm64: dts: qcom: ipq6018: Pad addresses to 8 hex digits
	arm64: dts: qcom: ipq6018: Fix up indentation
	wifi: rtlwifi: add calculate_bit_shift()
	wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192c: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192cu: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192ce: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192de: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192ee: using calculate_bit_shift()
	wifi: rtlwifi: rtl8192se: using calculate_bit_shift()
	wifi: iwlwifi: mvm: set siso/mimo chains to 1 in FW SMPS request
	wifi: iwlwifi: mvm: send TX path flush in rfkill
	netfilter: nf_tables: mark newset as dead on transaction abort
	Bluetooth: Fix bogus check for re-auth no supported with non-ssp
	Bluetooth: btmtkuart: fix recv_buf() return value
	block: make BLK_DEF_MAX_SECTORS unsigned
	null_blk: don't cap max_hw_sectors to BLK_DEF_MAX_SECTORS
	bpf: sockmap, fix proto update hook to avoid dup calls
	sctp: support MSG_ERRQUEUE flag in recvmsg()
	sctp: fix busy polling
	net/sched: act_ct: fix skb leak and crash on ooo frags
	mlxbf_gige: Fix intermittent no ip issue
	mlxbf_gige: Enable the GigE port in mlxbf_gige_open
	ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()
	ARM: davinci: always select CONFIG_CPU_ARM926T
	Revert "drm/tidss: Annotate dma-fence critical section in commit path"
	Revert "drm/omapdrm: Annotate dma-fence critical section in commit path"
	drm/panfrost: Really power off GPU cores in panfrost_gpu_power_off()
	RDMA/usnic: Silence uninitialized symbol smatch warnings
	RDMA/hns: Fix inappropriate err code for unsupported operations
	drm/panel-elida-kd35t133: hold panel in reset for unprepare
	drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer
	drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function
	drm/tilcdc: Fix irq free on unload
	media: pvrusb2: fix use after free on context disconnection
	media: mtk-jpegdec: export jpeg decoder functions
	media: mtk-jpeg: Remove cancel worker in mtk_jpeg_remove to avoid the crash of multi-core JPEG devices
	media: verisilicon: Hook the (TRY_)DECODER_CMD stateless ioctls
	media: rkvdec: Hook the (TRY_)DECODER_CMD stateless ioctls
	drm/bridge: Fix typo in post_disable() description
	f2fs: fix to avoid dirent corruption
	drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg()
	drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check()
	drm/radeon: check return value of radeon_ring_lock()
	drm/tidss: Move reset to the end of dispc_init()
	drm/tidss: Return error value from from softreset
	drm/tidss: Check for K2G in in dispc_softreset()
	drm/tidss: Fix dss reset
	ASoC: cs35l33: Fix GPIO name and drop legacy include
	ASoC: cs35l34: Fix GPIO name and drop legacy include
	drm/msm/mdp4: flush vblank event on disable
	drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks
	drm/drv: propagate errors from drm_modeset_register_all()
	ASoC: Intel: glk_rt5682_max98357a: fix board id mismatch
	drm/panfrost: Ignore core_mask for poweroff and disable PWRTRANS irq
	drm/radeon: check the alloc_workqueue return value in radeon_crtc_init()
	drm/radeon/dpm: fix a memleak in sumo_parse_power_table
	drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table
	drm/bridge: cdns-mhdp8546: Fix use of uninitialized variable
	drm/bridge: tc358767: Fix return value on error case
	media: cx231xx: fix a memleak in cx231xx_init_isoc
	RDMA/hns: Fix memory leak in free_mr_init()
	clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config
	media: imx-mipi-csis: Fix clock handling in remove()
	media: dt-bindings: media: rkisp1: Fix the port description for the parallel interface
	media: rkisp1: Fix media device memory leak
	drm/panel: st7701: Fix AVCL calculation
	f2fs: fix to wait on block writeback for post_read case
	f2fs: fix to check compress file in f2fs_move_file_range()
	f2fs: fix to update iostat correctly in f2fs_filemap_fault()
	media: dvbdev: drop refcount on error path in dvb_device_open()
	media: dvb-frontends: m88ds3103: Fix a memory leak in an error handling path of m88ds3103_probe()
	clk: renesas: rzg2l-cpg: Reuse code in rzg2l_cpg_reset()
	clk: renesas: rzg2l: Check reset monitor registers
	drm/msm/dpu: Set input_sel bit for INTF
	drm/msm/dpu: Drop enable and frame_count parameters from dpu_hw_setup_misr()
	drm/mediatek: Return error if MDP RDMA failed to enable the clock
	drm/mediatek: Fix underrun in VDO1 when switches off the layer
	drm/amdgpu/debugfs: fix error code when smc register accessors are NULL
	drm/amd/pm: fix a double-free in si_dpm_init
	drivers/amd/pm: fix a use-after-free in kv_parse_power_table
	gpu/drm/radeon: fix two memleaks in radeon_vm_init
	drm/amd/pm: fix a double-free in amdgpu_parse_extended_power_table
	f2fs: fix to check return value of f2fs_recover_xattr_data
	dt-bindings: clock: Update the videocc resets for sm8150
	clk: qcom: videocc-sm8150: Update the videocc resets
	clk: qcom: videocc-sm8150: Add missing PLL config property
	drivers: clk: zynqmp: calculate closest mux rate
	drivers: clk: zynqmp: update divider round rate logic
	watchdog: set cdev owner before adding
	watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO
	watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
	watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused
	clk: si5341: fix an error code problem in si5341_output_clk_set_rate
	drm/mediatek: dp: Add phy_mtk_dp module as pre-dependency
	accel/habanalabs: fix information leak in sec_attest_info()
	clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw
	pwm: stm32: Use regmap_clear_bits and regmap_set_bits where applicable
	pwm: stm32: Use hweight32 in stm32_pwm_detect_channels
	pwm: stm32: Fix enable count for clk in .probe()
	ASoC: rt5645: Drop double EF20 entry from dmi_platform_data[]
	ALSA: scarlett2: Add missing error check to scarlett2_config_save()
	ALSA: scarlett2: Add missing error check to scarlett2_usb_set_config()
	ALSA: scarlett2: Allow passing any output to line_out_remap()
	ALSA: scarlett2: Add missing error checks to *_ctl_get()
	ALSA: scarlett2: Add clamp() in scarlett2_mixer_ctl_put()
	mmc: sdhci_am654: Fix TI SoC dependencies
	mmc: sdhci_omap: Fix TI SoC dependencies
	IB/iser: Prevent invalidating wrong MR
	drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c
	drm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init
	kselftest/alsa - mixer-test: fix the number of parameters to ksft_exit_fail_msg()
	kselftest/alsa - mixer-test: Fix the print format specifier warning
	ksmbd: validate the zero field of packet header
	of: Fix double free in of_parse_phandle_with_args_map
	fbdev: imxfb: fix left margin setting
	of: unittest: Fix of_count_phandle_with_args() expected value message
	selftests/bpf: Add assert for user stacks in test_task_stack
	keys, dns: Fix size check of V1 server-list header
	binder: fix async space check for 0-sized buffers
	binder: fix unused alloc->free_async_space
	mips/smp: Call rcutree_report_cpu_starting() earlier
	Input: atkbd - use ab83 as id when skipping the getid command
	xen-netback: don't produce zero-size SKB frags
	binder: fix race between mmput() and do_exit()
	clocksource/drivers/timer-ti-dm: Fix make W=n kerneldoc warnings
	powerpc/64s: Increase default stack size to 32KB
	tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug
	usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host()
	usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart
	Revert "usb: dwc3: Soft reset phy on probe for host"
	Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only"
	usb: chipidea: wait controller resume finished for wakeup irq
	usb: cdns3: fix uvc failure work since sg support enabled
	usb: cdns3: fix iso transfer error when mult is not zero
	usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled
	Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"
	usb: typec: class: fix typec_altmode_put_partner to put plugs
	usb: mon: Fix atomicity violation in mon_bin_vma_fault
	serial: core: fix sanitizing check for RTS settings
	serial: core: make sure RS485 cannot be enabled when it is not supported
	serial: 8250_bcm2835aux: Restore clock error handling
	serial: core, imx: do not set RS485 enabled if it is not supported
	serial: imx: Ensure that imx_uart_rs485_config() is called with enabled clock
	serial: 8250_exar: Set missing rs485_supported flag
	serial: omap: do not override settings for RS485 support
	drm/vmwgfx: Fix possible invalid drm gem put calls
	drm/vmwgfx: Keep a gem reference to user bos in surfaces
	ALSA: oxygen: Fix right channel of capture volume mixer
	ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq2xxx
	ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on HP ZBook
	ALSA: hda/realtek: Enable headset mic on Lenovo M70 Gen5
	ksmbd: validate mech token in session setup
	ksmbd: fix UAF issue in ksmbd_tcp_new_connection()
	ksmbd: only v2 leases handle the directory
	io_uring/rw: ensure io->bytes_done is always initialized
	fbdev: flush deferred work in fb_deferred_io_fsync()
	fbdev: flush deferred IO before closing
	scsi: ufs: core: Simplify power management during async scan
	scsi: target: core: add missing file_{start,end}_write()
	scsi: mpi3mr: Refresh sdev queue depth after controller reset
	scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State
	drm/amd: Enable PCIe PME from D3
	block: add check that partition length needs to be aligned with block size
	block: Fix iterating over an empty bio with bio_for_each_folio_all
	netfilter: nf_tables: check if catch-all set element is active in next generation
	pwm: jz4740: Don't use dev_err_probe() in .request()
	pwm: Fix out-of-bounds access in of_pwm_single_xlate()
	md/raid1: Use blk_opf_t for read and write operations
	rootfs: Fix support for rootfstype= when root= is given
	Bluetooth: Fix atomicity violation in {min,max}_key_size_set
	bpf: Fix re-attachment branch in bpf_tracing_prog_attach
	LoongArch: Fix and simplify fcsr initialization on execve()
	iommu/arm-smmu-qcom: Add missing GMU entry to match table
	iommu/dma: Trace bounce buffer usage when mapping buffers
	wifi: mt76: fix broken precal loading from MTD for mt7915
	wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
	wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors
	wifi: mwifiex: configure BSSID consistently when starting AP
	Revert "net: rtnetlink: Enslave device before bringing it up"
	cxl/port: Fix decoder initialization when nr_targets > interleave_ways
	PCI/P2PDMA: Remove reference to pci_p2pdma_map_sg()
	PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support
	PCI: mediatek: Clear interrupt status before dispatching handler
	x86/kvm: Do not try to disable kvmclock if it was not enabled
	KVM: arm64: vgic-v4: Restore pending state on host userspace write
	KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache
	iio: adc: ad7091r: Pass iio_dev to event handler
	HID: wacom: Correct behavior when processing some confidence == false touches
	serial: sc16is7xx: add check for unsupported SPI modes during probe
	serial: sc16is7xx: set safe default SPI clock frequency
	ARM: 9330/1: davinci: also select PINCTRL
	mfd: syscon: Fix null pointer dereference in of_syscon_register()
	leds: aw2013: Select missing dependency REGMAP_I2C
	mfd: intel-lpss: Fix the fractional clock divider flags
	mips: dmi: Fix early remap on MIPS32
	mips: Fix incorrect max_low_pfn adjustment
	riscv: Check if the code to patch lies in the exit section
	riscv: Fix module_alloc() that did not reset the linear mapping permissions
	riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings
	riscv: Fix set_direct_map_default_noflush() to reset _PAGE_EXEC
	riscv: Fixed wrong register in XIP_FIXUP_FLASH_OFFSET macro
	MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
	MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
	power: supply: cw2015: correct time_to_empty units in sysfs
	power: supply: bq256xx: fix some problem in bq256xx_hw_init
	serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed
	libapi: Add missing linux/types.h header to get the __u64 type on io.h
	base/node.c: initialize the accessor list before registering
	acpi: property: Let args be NULL in __acpi_node_get_property_reference
	software node: Let args be NULL in software_node_get_reference_args
	serial: imx: fix tx statemachine deadlock
	selftests/sgx: Fix uninitialized pointer dereference in error path
	selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry
	selftests/sgx: Include memory clobber for inline asm in test enclave
	selftests/sgx: Skip non X86_64 platform
	iio: adc: ad9467: fix reset gpio handling
	iio: adc: ad9467: don't ignore error codes
	iio: adc: ad9467: fix scale setting
	perf header: Fix one memory leakage in perf_event__fprintf_event_update()
	perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event()
	perf genelf: Set ELF program header addresses properly
	tty: change tty_write_lock()'s ndelay parameter to bool
	tty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK
	tty: don't check for signal_pending() in send_break()
	tty: use 'if' in send_break() instead of 'goto'
	usb: cdc-acm: return correct error code on unsupported break
	spmi: mtk-pmif: Serialize PMIF status check and command submission
	vdpa: Fix an error handling path in eni_vdpa_probe()
	nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length
	nvmet-tcp: fix a crash in nvmet_req_complete()
	perf env: Avoid recursively taking env->bpf_progs.lock
	cxl/region: fix x9 interleave typo
	apparmor: avoid crash when parsed profile name is empty
	usb: xhci-mtk: fix a short packet issue of gen1 isoc-in transfer
	serial: imx: Correct clock error message in function probe()
	nvmet: re-fix tracing strncpy() warning
	nvme: trace: avoid memcpy overflow warning
	nvmet-tcp: Fix the H2C expected PDU len calculation
	PCI: keystone: Fix race condition when initializing PHYs
	PCI: mediatek-gen3: Fix translation window size calculation
	ASoC: mediatek: sof-common: Add NULL check for normal_link string
	s390/pci: fix max size calculation in zpci_memcpy_toio()
	net: qualcomm: rmnet: fix global oob in rmnet_policy
	net: ethernet: ti: am65-cpsw: Fix max mtu to fit ethernet frames
	amt: do not use overwrapped cb area
	net: phy: micrel: populate .soft_reset for KSZ9131
	mptcp: mptcp_parse_option() fix for MPTCPOPT_MP_JOIN
	mptcp: strict validation before using mp_opt->hmac
	mptcp: use OPTION_MPTCP_MPJ_SYNACK in subflow_finish_connect()
	mptcp: use OPTION_MPTCP_MPJ_SYN in subflow_check_req()
	mptcp: refine opt_mp_capable determination
	block: ensure we hold a queue reference when using queue limits
	udp: annotate data-races around up->pending
	net: ravb: Fix dma_addr_t truncation in error case
	dt-bindings: gpio: xilinx: Fix node address in gpio
	drm/amdkfd: Use resource_size() helper function
	drm/amdkfd: fixes for HMM mem allocation
	net: stmmac: ethtool: Fixed calltrace caused by unbalanced disable_irq_wake calls
	bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS
	net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe
	LoongArch: BPF: Prevent out-of-bounds memory access
	mptcp: relax check on MPC passive fallback
	netfilter: nf_tables: reject invalid set policy
	netfilter: nft_limit: do not ignore unsupported flags
	netfilter: nfnetlink_log: use proper helper for fetching physinif
	netfilter: nf_queue: remove excess nf_bridge variable
	netfilter: propagate net to nf_bridge_get_physindev
	netfilter: bridge: replace physindev with physinif in nf_bridge_info
	netfilter: nf_tables: do not allow mismatch field size and set key length
	netfilter: nf_tables: skip dead set elements in netlink dump
	netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description
	ipvs: avoid stat macros calls from preemptible context
	kdb: Fix a potential buffer overflow in kdb_local()
	ethtool: netlink: Add missing ethnl_ops_begin/complete
	loop: fix the the direct I/O support check when used on top of block devices
	mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure
	selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes
	ipv6: mcast: fix data-race in ipv6_mc_down / mld_ifc_work
	i2c: s3c24xx: fix read transfers in polling mode
	i2c: s3c24xx: fix transferring more than one message in polling mode
	block: Remove special-casing of compound pages
	riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping
	Revert "KEYS: encrypted: Add check for strsep"
	arm64: dts: armada-3720-turris-mox: set irq type for RTC
	Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d""
	Linux 6.1.75

Change-Id: I60398ecc9a2e50206fd9d25c0d6c9ad6e1ca71a0
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-02-19 20:16:38 +00:00
Greg Kroah-Hartman
6e04c1ccf7 Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
We need the updates in the normal branch due to the symbol changes
happening.  This consists of the following changes:

* 92432f07d6 ANDROID: GKI: Update the ABI symbol list
* b86713e341 UPSTREAM: virtio: Add support for no-reset virtio PCI PM
* 7dc3b2e49e UPSTREAM: netfilter: nf_tables: check if catch-all set element is active in next generation
* 8d4d76a2bd UPSTREAM: net: tls, update curr on splice as well
* 9e2b775333 ANDROID: Update the ABI symbol list
* 5a1f8b6b46 ANDROID: Add pci_read_config_word to virtual device symbol list
* e356cae969 ANDROID: Export kthread_set_per_cpu
* 81c922621d ANDROID: GKI: fix ABI breakage in struct ipv6_devconf
* 20131b787f Reapply "net: release reference to inet6_dev pointer"
* c2c0273029 Reapply "net: change accept_ra_min_rtr_lft to affect all RA lifetimes"
* a8053aadca Reapply "net: add sysctl accept_ra_min_rtr_lft"
* fc6c1b3acb ANDROID: GKI: explicit include of stringify.h
* 8481b97df5 BACKPORT: erofs: fix infinite loop due to a race of filling compressed_bvecs
* 886c9d1fc2 ANDROID: arm64: virt: Invalidate tlb once the balloon before reporting/inflating
* 4aedc102c3 ANDROID: arm64: virt: Make the page_relinquish call generic
* d3f73f0452 UPSTREAM: drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks
* df2fe1add7 UPSTREAM: drm/msm/dsi: Enable runtime PM
* 6053d8ffd4 UPSTREAM: arm64: scs: Disable LTO for SCS patching code
* 696293ef72 ANDROID: GKI: Update symbol list for mtk
* 6338e41509 BACKPORT: f2fs: Restrict max filesize for 16K f2fs
* 8c8bcbdf0b BACKPORT: f2fs: Support Block Size == Page Size
* eb20497d6d ANDROID: abi_gki_aarch64_qcom: Update symbol list
* 1e6c1ca9a2 UPSTREAM: usb: typec: tcpm: fix the PD disabled case
* ba97ad7b91 UPSTREAM: netfilter: nf_tables: reject QUEUE/DROP verdict parameters
* 76f0396b57 ANDROID: ABI: Update oplus symbol list
* 016b640235 ANDROID: fuse: Fix the issue of fuse_dentry_canonical_path
* 5eb1cbb384 ANDROID: Update the ABI symbol list
* b53c3cb351 ANDROID: Export cpufreq_driver_test_flags()
* 9b476ebe99 ANDROID: Build null_blk and scsi_debug as kernel modules
* 01472f3af1 ANDROID: GKI: Update the pixel symbol list
* fbcd29ac45 ANDROID: usb: dwc3: export tracepoint for dwc3 read/write
* 0123832f68 ANDROID: scsi: ufs: add vendor hook to override key reprogramming
* 7ce117301e ANDROID: vendor_hooks: Add hook for binder_detect_low_async_space_locked
* 7b6a6228df ANDROID: Update the ABI symbol list
* db94de2a17 ANDROID: Update the ABI representation
* e08371bcf5 UPSTREAM: usb: typec: tcpm: Support multiple capabilities
* 4025820c61 UPSTREAM: usb: typec: tcpm: Parse Accessory Mode information

Change-Id: Ibe422d476544081f14095e025b2a77ab70c577df
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-02-19 15:50:00 +00:00
Sheng Yong
cf3d57ad6f f2fs: add helper to check compression level
commit c571fbb5b59a3741e48014faa92c2f14bc59fe50 upstream.

This patch adds a helper function to check if compression level is
valid.

Meanwhile, this patch fixes a reported issue [1]:

The issue is easily reproducible by:

1. dd if=/dev/zero of=test.img count=100 bs=1M
2. mkfs.f2fs -f -O compression,extra_attr ./test.img
3. mount -t f2fs -o compress_algorithm=zstd:6,compress_chksum,atgc,gc_merge,lazytime ./test.img /mnt

resulting in

[   60.789982] F2FS-fs (loop0): invalid zstd compress level: 6

A bugzilla report has been submitted in
https://bugzilla.kernel.org/show_bug.cgi?id=218471

[1] https://lore.kernel.org/lkml/ZcWDOjKEnPDxZ0Or@google.com/T/

The root cause is commit 00e120b5e4b5 ("f2fs: assign default compression
level") tries to check low boundary of compress level w/ zstd_min_clevel(),
however, since commit e0c1b49f5b ("lib: zstd: Upgrade to latest upstream
zstd version 1.4.10"), zstd supports negative compress level, it cast type
for negative value returned from zstd_min_clevel() to unsigned int in below
check condition, result in repored issue.

	if (level < zstd_min_clevel() || ...

This patch fixes this issue by casting type for level to int before
comparison.

Fixes: 00e120b5e4b5 ("f2fs: assign default compression level")
Signed-off-by: Sheng Yong <shengyong@oppo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-16 19:06:31 +01:00
Alexander Aring
b478e414cf fs: dlm: don't put dlm_local_addrs on heap
[ Upstream commit c51c9cd8addcfbdc097dbefd59f022402183644b ]

This patch removes to allocate the dlm_local_addr[] pointers on the
heap. Instead we directly store the type of "struct sockaddr_storage".
This removes function deinit_local() because it was freeing memory only.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-16 19:06:29 +01:00
Dan Carpenter
ec1bedd797 fs/ntfs3: Fix an NULL dereference bug
[ Upstream commit b2dd7b953c25ffd5912dda17e980e7168bebcf6c ]

The issue here is when this is called from ntfs_load_attr_list().  The
"size" comes from le32_to_cpu(attr->res.data_size) so it can't overflow
on a 64bit systems but on 32bit systems the "+ 1023" can overflow and
the result is zero.  This means that the kmalloc will succeed by
returning the ZERO_SIZE_PTR and then the memcpy() will crash with an
Oops on the next line.

Fixes: be71b5cba2 ("fs/ntfs3: Add attrib operations")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-16 19:06:28 +01:00
Shyam Prasad N
cbc53148cc cifs: failure to add channel on iface should bump up weight
[ Upstream commit 6aac002bcfd554aff6d3ebb55e1660d078d70ab0 ]

After the interface selection policy change to do a weighted
round robin, each iface maintains a weight_fulfilled. When the
weight_fulfilled reaches the total weight for the iface, we know
that the weights can be reset and ifaces can be allocated from
scratch again.

During channel allocation failures on a particular channel,
weight_fulfilled is not incremented. If a few interfaces are
inactive, we could end up in a situation where the active
interfaces are all allocated for the total_weight, and inactive
ones are all that remain. This can cause a situation where
no more channels can be allocated further.

This change fixes it by increasing weight_fulfilled, even when
channel allocation failure happens. This could mean that if
there are temporary failures in channel allocation, the iface
weights may not strictly be adhered to. But that's still okay.

Fixes: a6d8fb54a515 ("cifs: distribute channels across interfaces based on speed")
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-16 19:06:25 +01:00
Baokun Li
78327acd4c ext4: regenerate buddy after block freeing failed if under fc replay
[ Upstream commit c9b528c35795b711331ed36dc3dbee90d5812d4e ]

This mostly reverts commit 6bd97bf273 ("ext4: remove redundant
mb_regenerate_buddy()") and reintroduces mb_regenerate_buddy(). Based on
code in mb_free_blocks(), fast commit replay can end up marking as free
blocks that are already marked as such. This causes corruption of the
buddy bitmap so we need to regenerate it in that case.

Reported-by: Jan Kara <jack@suse.cz>
Fixes: 6bd97bf273 ("ext4: remove redundant mb_regenerate_buddy()")
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20240104142040.2835097-4-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-16 19:06:24 +01:00
Gao Xiang
8481b97df5 BACKPORT: erofs: fix infinite loop due to a race of filling compressed_bvecs
I encountered a race issue after lengthy (~594647 sec) stress tests on
a 64k-page arm64 VM with several 4k-block EROFS images.  The timing
is like below:

z_erofs_try_inplace_io                  z_erofs_fill_bio_vec
  cmpxchg(&compressed_bvecs[].page,
          NULL, ..)
                                        [access bufvec]
  compressed_bvecs[] = *bvec;

Previously, z_erofs_submit_queue() just accessed bufvec->page only, so
other fields in bufvec didn't matter.  After the subpage block support
is landed, .offset and .end can be used too, but filling bufvec isn't
an atomic operation which can cause inconsistency.

Let's use a spinlock to keep the atomicity of each bufvec.

Fixes: 192351616a9d ("erofs: support I/O submission for sub-page compressed blocks")
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Reviewed-by: Sandeep Dhavale <dhavale@google.com>
Reviewed-by: Yue Hu <huyue2@coolpad.com>
Link: https://lore.kernel.org/r/20240125120039.3228103-1-hsiangkao@linux.alibaba.com

Bug: 324640522
(cherry picked from commit cc4b2dd95f0d1eba8c691b36e8f4d1795582f1ff
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ master)

[dhavale: introduced spinlock in struct erofs_workgroup, upstream has a
change where atomic is replaced by lockref but pulling that and related
changes will cause unnecessary churn. Adding spinlock keeps the spirit
of the change in-tact by fixing the race. Also updated commit message
as we are not using lockref.]

Change-Id: Id20a0a433277ab71d46bce48c81824564d1b391d
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
2024-02-12 20:56:13 +00:00
Daniel Rosenberg
6338e41509 BACKPORT: f2fs: Restrict max filesize for 16K f2fs
Blocks are tracked by u32, so the max permitted filesize is
(U32_MAX + 1) * BLOCK_SIZE. Additionally, in order to support crypto
data unit sizes of 4K with a 16K block with IV_INO_LBLK_{32,64}, we must
further restrict max filesize to (U32_MAX + 1) * 4096. This does not
affect 4K blocksize f2fs as the natural limit for files are well below
that.

Fixes: cf46c5872022 ("BACKPORT: Support Block Size == Page Size")
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Change-Id: I8697e37841e1882a3f613e9aab1857ad7e4c3f2f
Bug: 248132568
(cherry picked from commit a6a010f5def544af3efcfe21683905a712b60536)
2024-02-07 00:14:26 +00:00
Daniel Rosenberg
8c8bcbdf0b BACKPORT: f2fs: Support Block Size == Page Size
This allows f2fs to support cases where the block size = page size for
both 4K and 16K block sizes. Other sizes should work as well, should the
need arise. This does not currently support 4K Block size filesystems if
the page size is 16K.

Change-Id: Ifab03cddeec1389a6a3fb64174063ffccbb93072
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Bug: 248132568
(cherry picked from commit 8b8e202be3264fc33464f8dc319e0c1563ac89d8)
(fixed minor conflict in fs/f2fs/inode.c)
2024-02-07 00:14:26 +00:00
Wenchao Hao
3fbfeb8536 ceph: fix invalid pointer access if get_quota_realm return ERR_PTR
[ Upstream commit 0f4cf64eabc6e16cfc2704f1960e82dc79d91c8d ]

This issue is reported by smatch that get_quota_realm() might return
ERR_PTR but we did not handle it. It's not a immediate bug, while we
still should address it to avoid potential bugs if get_quota_realm()
is changed to return other ERR_PTR in future.

Set ceph_snap_realm's pointer in get_quota_realm()'s to address this
issue, the pointer would be set to NULL if get_quota_realm() failed
to get struct ceph_snap_realm, so no ERR_PTR would happen any more.

[ xiubli: minor code style clean up ]

Signed-off-by: Wenchao Hao <haowenchao2@huawei.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:59 +00:00
Xiubo Li
7f2649c942 ceph: fix deadlock or deadcode of misusing dget()
[ Upstream commit b493ad718b1f0357394d2cdecbf00a44a36fa085 ]

The lock order is incorrect between denty and its parent, we should
always make sure that the parent get the lock first.

But since this deadcode is never used and the parent dir will always
be set from the callers, let's just remove it.

Link: https://lore.kernel.org/r/20231116081919.GZ1957730@ZenIV
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:59 +00:00
Venky Shankar
692ead237d ceph: reinitialize mds feature bit even when session in open
[ Upstream commit f48e0342a74d7770cdf1d11894bdc3b6d989b29e ]

Following along the same lines as per the user-space fix. Right
now this isn't really an issue with the ceph kernel driver because
of the feature bit laginess, however, that can change over time
(when the new snaprealm info type is ported to the kernel driver)
and depending on the MDS version that's being upgraded can cause
message decoding issues - so, fix that early on.

Link: http://tracker.ceph.com/issues/63188
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:59 +00:00
David Howells
91f1977487 9p: Fix initialisation of netfs_inode for 9p
[ Upstream commit 9546ac78b232bac56ff975072b1965e0e755ebd4 ]

The 9p filesystem is calling netfs_inode_init() in v9fs_init_inode() -
before the struct inode fields have been initialised from the obtained file
stats (ie. after v9fs_stat2inode*() has been called), but netfslib wants to
set a couple of its fields from i_size.

Reported-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Marc Dionne <marc.dionne@auristor.com>
Tested-by: Dominique Martinet <asmadeus@codewreck.org>
Acked-by: Dominique Martinet <asmadeus@codewreck.org>
cc: Eric Van Hensbergen <ericvh@kernel.org>
cc: Latchesar Ionkov <lucho@ionkov.net>
cc: Dominique Martinet <asmadeus@codewreck.org>
cc: Christian Schoenebeck <linux_oss@crudebyte.com>
cc: v9fs@lists.linux.dev
cc: linux-cachefs@redhat.com
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:59 +00:00
Max Kellermann
089ebfab24 fs/kernfs/dir: obey S_ISGID
[ Upstream commit 5133bee62f0ea5d4c316d503cc0040cac5637601 ]

Handling of S_ISGID is usually done by inode_init_owner() in all other
filesystems, but kernfs doesn't use that function.  In kernfs, struct
kernfs_node is the primary data structure, and struct inode is only
created from it on demand.  Therefore, inode_init_owner() can't be
used and we need to imitate its behavior.

S_ISGID support is useful for the cgroup filesystem; it allows
subtrees managed by an unprivileged process to retain a certain owner
gid, which then enables sharing access to the subtree with another
unprivileged process.

--
v1 -> v2: minor coding style fix (comment)

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20231208093310.297233-2-max.kellermann@ionos.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:58 +00:00
Chao Yu
7c972c8945 f2fs: fix to tag gcing flag on page during block migration
[ Upstream commit 4961acdd65c956e97c1a000c82d91a8c1cdbe44b ]

It needs to add missing gcing flag on page during block migration,
in order to garantee migrated data be persisted during checkpoint,
otherwise out-of-order persistency between data and node may cause
data corruption after SPOR.

Similar issue was fixed by commit 2d1fe8a86b ("f2fs: fix to tag
gcing flag on page during file defragment").

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:56 +00:00
Jaegeuk Kim
b6ca70f06e f2fs: fix write pointers on zoned device after roll forward
[ Upstream commit 9dad4d964291295ef48243d4e03972b85138bc9f ]

1. do roll forward recovery
2. update current segments pointers
3. fix the entire zones' write pointers
4. do checkpoint

Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:55 +00:00
Al Viro
c4cb42824e fast_dput(): handle underflows gracefully
[ Upstream commit 504e08cebe1d4e1efe25f915234f646e74a364a8 ]

If refcount is less than 1, we should just warn, unlock dentry and
return true, so that the caller doesn't try to do anything else.

Taking care of that leaves the rest of "lockref_put_return() has
failed" case equivalent to "decrement refcount and rejoin the
normal slow path after the point where we grab ->d_lock".

NOTE: lockref_put_return() is strictly a fastpath thing - unlike
the rest of lockref primitives, it does not contain a fallback.
Caller (and it looks like fast_dput() is the only legitimate one
in the entire kernel) has to do that itself.  Reasons for
lockref_put_return() failures:
	* ->d_lock held by somebody
	* refcount <= 0
	* ... or an architecture not supporting lockref use of
cmpxchg - sparc, anything non-SMP, config with spinlock debugging...

We could add a fallback, but it would be a clumsy API - we'd have
to distinguish between:
	(1) refcount > 1 - decremented, lock not held on return
	(2) refcount < 1 - left alone, probably no sense to hold the lock
	(3) refcount is 1, no cmphxcg - decremented, lock held on return
	(4) refcount is 1, cmphxcg supported - decremented, lock *NOT* held
	    on return.
We want to return with no lock held in case (4); that's the whole point of that
thing.  We very much do not want to have the fallback in case (3) return without
a lock, since the caller might have to retake it in that case.
So it wouldn't be more convenient than doing the fallback in the caller and
it would be very easy to screw up, especially since the test coverage would
suck - no way to test (3) and (4) on the same kernel build.

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:54 +00:00
Chao Yu
b1020a5467 f2fs: fix to check return value of f2fs_reserve_new_block()
[ Upstream commit 956fa1ddc132e028f3b7d4cf17e6bfc8cb36c7fd ]

Let's check return value of f2fs_reserve_new_block() in do_recover_data()
rather than letting it fails silently.

Also refactoring check condition on return value of f2fs_reserve_new_block()
as below:
- trigger f2fs_bug_on() only for ENOSPC case;
- use do-while statement to avoid redundant codes;

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:54 +00:00
Baokun Li
6d2cbf517d ext4: avoid online resizing failures due to oversized flex bg
[ Upstream commit 5d1935ac02ca5aee364a449a35e2977ea84509b0 ]

When we online resize an ext4 filesystem with a oversized flexbg_size,

     mkfs.ext4 -F -G 67108864 $dev -b 4096 100M
     mount $dev $dir
     resize2fs $dev 16G

the following WARN_ON is triggered:
==================================================================
WARNING: CPU: 0 PID: 427 at mm/page_alloc.c:4402 __alloc_pages+0x411/0x550
Modules linked in: sg(E)
CPU: 0 PID: 427 Comm: resize2fs Tainted: G  E  6.6.0-rc5+ #314
RIP: 0010:__alloc_pages+0x411/0x550
Call Trace:
 <TASK>
 __kmalloc_large_node+0xa2/0x200
 __kmalloc+0x16e/0x290
 ext4_resize_fs+0x481/0xd80
 __ext4_ioctl+0x1616/0x1d90
 ext4_ioctl+0x12/0x20
 __x64_sys_ioctl+0xf0/0x150
 do_syscall_64+0x3b/0x90
==================================================================

This is because flexbg_size is too large and the size of the new_group_data
array to be allocated exceeds MAX_ORDER. Currently, the minimum value of
MAX_ORDER is 8, the minimum value of PAGE_SIZE is 4096, the corresponding
maximum number of groups that can be allocated is:

 (PAGE_SIZE << MAX_ORDER) / sizeof(struct ext4_new_group_data) ≈ 21845

And the value that is down-aligned to the power of 2 is 16384. Therefore,
this value is defined as MAX_RESIZE_BG, and the number of groups added
each time does not exceed this value during resizing, and is added multiple
times to complete the online resizing. The difference is that the metadata
in a flex_bg may be more dispersed.

Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20231023013057.2117948-4-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-05 20:12:49 +00:00