Linux/linux bea8d77drivers/staging/octeon octeon-stubs.h, drivers/staging/rtl8723bs/core rtw_mlme.c rtw_recv.c

Merge tag 'staging-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging driver updates from Greg KH:
 "Here is the "big" set of staging driver changes for 7.1-rc1.

  Nothing major in here at all, just lots of little cleanups for the
  staging drivers, driven by new developers getting their feet wet in
  kernel development. "Largest" thing in here is the change of some of
  the octeon variable types into proper kernel ones.

  Full details are in the shortlog.

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'staging-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (154 commits)
  staging: rtl8723bs: remove redundant & parentheses
  staging: most: dim2: replace BUG_ON() in poison_channel()
  staging: most: dim2: replace BUG_ON() in enqueue()

    [18 lines not shown]
DeltaFile
+807-807drivers/staging/octeon/octeon-stubs.h
+95-124drivers/staging/rtl8723bs/core/rtw_mlme.c
+72-68drivers/staging/rtl8723bs/core/rtw_recv.c
+65-66drivers/staging/rtl8723bs/core/rtw_ieee80211.c
+55-61drivers/staging/rtl8723bs/core/rtw_security.c
+60-51drivers/staging/rtl8723bs/core/rtw_cmd.c
+1,154-1,17785 files not shown
+1,726-2,25891 files

Linux/linux 99ef60ddrivers/power/supply max77759_charger.c, drivers/usb/dwc3 dwc3-imx.c

Merge tag 'usb-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB / Thunderbolt updates from Greg KH:
 "Here is the big set of USB and Thunderbolt changes for 7.1-rc1.

  Lots of little things in here, nothing major, just constant
  improvements, updates, and new features. Highlights are:

   - new USB power supply driver support.

     These changes did touch outside of drivers/usb/ but got acks from
     the relevant mantainers for them.

   - dts file updates and conversions

   - string function conversions into "safer" ones

   - new device quirks


    [37 lines not shown]
DeltaFile
+767-122drivers/usb/typec/tcpm/tcpm.c
+774-0drivers/power/supply/max77759_charger.c
+448-0drivers/usb/dwc3/dwc3-imx.c
+178-205drivers/usb/host/xhci-hub.c
+123-108drivers/usb/host/xhci.c
+137-29include/linux/mfd/max77759.h
+2,427-464128 files not shown
+4,767-1,385134 files

Linux/linux 73398c2drivers/tty/serial esp32_uart.c esp32_acm.c, drivers/tty/serial/8250 8250_pci.c

Merge tag 'tty-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull tty/serial updates from Greg KH:
 "Here is the set of tty and serial driver changes for 7.1-rc1.

  Not much here this cycle, biggest thing is the removal of an old
  driver that never got any actual hardware support (esp32), and the
  second try to moving the tty ports to their own workqueues (first try
  was in 7.0-rc1 but was reverted due to problems)

  Otherwise it's just a small set of driver updates and some vt modifier
  key enhancements.

  All have been in linux-next for a while with no reported issues"

* tag 'tty-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (35 commits)
  tty: serial: ip22zilog: Fix section mispatch warning
  hvc/xen: Check console connection flag
  serial: sh-sci: Add support for RZ/G3L RSCI

    [18 lines not shown]
DeltaFile
+0-779drivers/tty/serial/esp32_uart.c
+0-459drivers/tty/serial/esp32_acm.c
+126-27drivers/tty/serial/amba-pl011.c
+74-6drivers/tty/vt/keyboard.c
+51-0drivers/tty/serial/8250/8250_pci.c
+45-3drivers/tty/vt/vt.c
+296-1,27437 files not shown
+534-1,36643 files

Linux/linux 40735a6include/linux memcontrol.h, mm userfaultfd.c memcontrol.c

Merge tag 'mm-stable-2026-04-18-02-14' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull more MM updates from Andrew Morton:

 - "Eliminate Dying Memory Cgroup" (Qi Zheng and Muchun Song)

   Address the longstanding "dying memcg problem". A situation wherein a
   no-longer-used memory control group will hang around for an extended
   period pointlessly consuming memory

 - "fix unexpected type conversions and potential overflows" (Qi Zheng)

   Fix a couple of potential 32-bit/64-bit issues which were identified
   during review of the "Eliminate Dying Memory Cgroup" series

 - "kho: history: track previous kernel version and kexec boot count"
   (Breno Leitao)

   Use Kexec Handover (KHO) to pass the previous kernel's version string

    [87 lines not shown]
DeltaFile
+399-291mm/userfaultfd.c
+425-215mm/memcontrol.c
+221-82mm/vmscan.c
+124-94mm/mprotect.c
+99-106mm/zswap.c
+98-95include/linux/memcontrol.h
+1,366-88378 files not shown
+2,831-1,69284 files

Linux/linux faeab16Documentation/devicetree/bindings/pinctrl realtek,rtd1625-pinctrl.yaml, drivers/pinctrl pinctrl-rockchip.c

Merge tag 'pinctrl-v7.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control updates from Linus Walleij:
 "Core changes:

   - Perform basic checks on pin config properties so as not to allow
     directly contradictory settings such as setting a pin to more than
     one bias or drive mode

   - Handle input-threshold-voltage-microvolt property

   - Introduce pinctrl_gpio_get_config() handling in the core for SCMI
     GPIO using pin control

  New drivers:

   - GPIO-by-pin control driver (also appearing in the GPIO pull
     request) fulfilling a promise on a comment from Grant Likely many
     years ago: "can't GPIO just be a front-end for pin control?" it

    [45 lines not shown]
DeltaFile
+3,138-0drivers/pinctrl/realtek/pinctrl-rtd1625.c
+1,610-0drivers/pinctrl/qcom/pinctrl-hawi.c
+1,545-0drivers/pinctrl/qcom/pinctrl-eliza.c
+897-0drivers/pinctrl/qcom/pinctrl-ipq5210.c
+312-1drivers/pinctrl/pinctrl-rockchip.c
+260-0Documentation/devicetree/bindings/pinctrl/realtek,rtd1625-pinctrl.yaml
+7,762-1114 files not shown
+9,879-606120 files

Linux/linux 401b0e0Documentation/ABI/testing sysfs-bus-i3c, drivers/i3c master.c

Merge tag 'i3c/for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux

Pull i3c updates from Alexandre Belloni:
 "Subsystem:
   - add sysfs option to rescan bus via entdaa
   - fix error code handling for send_ccc_cmd

  Drivers:
   - mipi-i3c-hci-pci: Intel Nova Lake-H I3C support"

* tag 'i3c/for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux: (22 commits)
  i3c: mipi-i3c-hci: fix IBI payload length calculation for final status
  i3c: master: adi: Fix error propagation for CCCs
  i3c: master: Fix error codes at send_ccc_cmd
  i3c: master: Move bus_init error suppression
  i3c: master: Move entdaa error suppression
  i3c: master: Move rstdaa error suppression
  i3c: dw: Simplify xfer cleanup with __free(kfree)
  i3c: dw: Fix memory leak in dw_i3c_master_i3c_xfers()

    [13 lines not shown]
DeltaFile
+138-0drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c
+70-43drivers/i3c/master.c
+14-37drivers/i3c/master/dw-i3c-master.c
+30-5drivers/i3c/master/mipi-i3c-hci/core.c
+20-0Documentation/ABI/testing/sysfs-bus-i3c
+3-6drivers/i3c/master/renesas-i3c.c
+275-915 files not shown
+293-10011 files

Linux/linux eb5249barch/parisc Kconfig, arch/parisc/include/asm checksum.h

Merge tag 'parisc-for-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux

Pull parisc architecture updates from Helge Deller:

 - A fix to make modules on 32-bit parisc architecture work again

 - Drop ip_fast_csum() inline assembly to avoid unaligned memory
   accesses

 - Allow to build kernel without 32-bit VDSO

 - Reference leak fix in error path in LED driver

* tag 'parisc-for-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: led: fix reference leak on failed device registration
  module.lds.S: Fix modules on 32-bit parisc architecture
  parisc: Allow to build without VDSO32
  parisc: Include 32-bit VDSO only when building for 32-bit or compat mode
  parisc: Allow to disable COMPAT mode on 64-bit kernel

    [7 lines not shown]
DeltaFile
+0-99arch/parisc/lib/checksum.c
+2-87arch/parisc/include/asm/checksum.h
+9-9arch/parisc/kernel/signal.c
+7-4arch/parisc/kernel/syscall.S
+4-4drivers/parisc/ccio-dma.c
+6-1arch/parisc/Kconfig
+28-20410 files not shown
+56-21216 files

Linux/linux 9055c64arch/powerpc/kernel fadump.c, arch/x86/kernel alternative.c

Merge tag 'memblock-v7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock

Pull memblock updates from Mike Rapoport:

 - improve debuggability of reserve_mem kernel parameter handling with
   print outs in case of a failure and debugfs info showing what was
   actually reserved

 - Make memblock_free_late() and free_reserved_area() use the same core
   logic for freeing the memory to buddy and ensure it takes care of
   updating memblock arrays when ARCH_KEEP_MEMBLOCK is enabled.

* tag 'memblock-v7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
  x86/alternative: delay freeing of smp_locks section
  memblock: warn when freeing reserved memory before memory map is initialized
  memblock, treewide: make memblock_free() handle late freeing
  memblock: make free_reserved_area() update memblock if ARCH_KEEP_MEMBLOCK=y
  memblock: extract page freeing from free_reserved_area() into a helper
  memblock: make free_reserved_area() more robust

    [7 lines not shown]
DeltaFile
+178-53mm/memblock.c
+0-46mm/page_alloc.c
+40-3tools/testing/memblock/internal.h
+0-25mm/mm_init.c
+18-6arch/x86/kernel/alternative.c
+2-14arch/powerpc/kernel/fadump.c
+238-14719 files not shown
+272-19925 files

Linux/linux fba676bDocumentation/devicetree/bindings/i2c intel,ixp4xx-i2c.yaml, drivers/i2c/busses i2c-tegra.c i2c-k1.c

Merge tag 'i2c-for-7.1-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c updates from Wolfram Sang:
 "The biggest news in this pull request is that it will start the last
  cycle of me handling the I2C subsystem. From 7.2. on, I will pass
  maintainership to Andi Shyti who has been maintaining the I2C drivers
  for a while now and who has done a great job in doing so.

  We will use this cycle for a hopefully smooth transition. Thanks must
  go to Andi for stepping up! I will still be around for guidance.

  Updates:
   - generic cleanups in npcm7xx, qcom-cci, xiic and designware DT
     bindings
   - atr: use kzalloc_flex for alias pool allocation
   - ixp4xx: convert bindings to DT schema
   - ocores: use read_poll_timeout_atomic() for polling waits
   - qcom-geni: skip extra TX DMA TRE for single read messages
   - s3c24xx: validate SMBus block length before using it

    [41 lines not shown]
DeltaFile
+393-137drivers/i2c/busses/i2c-tegra.c
+235-79drivers/i2c/busses/i2c-k1.c
+164-31drivers/i2c/busses/i2c-rtl9300.c
+42-55drivers/i2c/busses/i2c-xiic.c
+41-0Documentation/devicetree/bindings/i2c/intel,ixp4xx-i2c.yaml
+9-15drivers/i2c/busses/i2c-ocores.c
+884-31718 files not shown
+967-39024 files

Linux/linux 1e76965drivers/char/ipmi ssif_bmc.c ipmi_ssif.c

Merge tag 'for-linus-7.1-1' of https://github.com/cminyard/linux-ipmi

Pull ipmi updates from Corey Minyard:
 "Small updates and fixes (mostly to the BMC software):

   - Fix one issue in the host side driver where a kthread can be left
     running on a specific memory allocation failre at probe time

   - Replace system_wq with system_percpu_wq so system_wq can eventually
     go away"

* tag 'for-linus-7.1-1' of https://github.com/cminyard/linux-ipmi:
  ipmi:ssif: Clean up kthread on errors
  ipmi:ssif: Remove unnecessary indention
  ipmi: ssif_bmc: Fix KUnit test link failure when KUNIT=m
  ipmi: ssif_bmc: add unit test for state machine
  ipmi: ssif_bmc: change log level to dbg in irq callback
  ipmi: ssif_bmc: fix message desynchronization after truncated response
  ipmi: ssif_bmc: fix missing check for copy_to_user() partial failure

    [2 lines not shown]
DeltaFile
+396-9drivers/char/ipmi/ssif_bmc.c
+24-17drivers/char/ipmi/ipmi_ssif.c
+5-5drivers/char/ipmi/ipmi_msghandler.c
+10-0drivers/char/ipmi/Kconfig
+435-314 files

Linux/linux df8f618tools/include/uapi/drm i915_drm.h drm.h, tools/perf/pmu-events/arch/arm64/nvidia/t410 metrics.json misc.json

Merge tag 'perf-tools-for-v7.1-2026-04-17' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

Pull perf tools updates from Namhyung Kim:
 "perf report:

   - Add 'comm_nodigit' sort key to combine similar threads that only
     have different numbers in the comm. In the following example, the
     'comm_nodigit' will have samples from all threads starting with
     "bpfrb/" into an entry "bpfrb/<N>".

        $ perf report -s comm_nodigit,comm -H
        ...
        #
        #    Overhead  CommandNoDigit / Command
        # ...........  ........................
        #
            20.30%     swapper
               20.30%     swapper
            13.37%     chrome

    [120 lines not shown]
DeltaFile
+0-3,916tools/include/uapi/drm/i915_drm.h
+3,916-0tools/perf/trace/beauty/include/uapi/drm/i915_drm.h
+0-1,491tools/include/uapi/drm/drm.h
+1,491-0tools/perf/trace/beauty/include/uapi/drm/drm.h
+722-0tools/perf/pmu-events/arch/arm64/nvidia/t410/metrics.json
+642-0tools/perf/pmu-events/arch/arm64/nvidia/t410/misc.json
+6,771-5,407242 files not shown
+12,229-7,108248 files

Linux/linux e86ffbe. MAINTAINERS

MAINTAINERS: update Dave's kdump reviewer email address

Use my personal email address due to the Red Hat work will stop soon

Link: https://lore.kernel.org/ad8GFhh3SI1wb7IC@darkstar.users.ipa.redhat.com
Signed-off-by: Dave Young <ruirui.yang at linux.dev>
Acked-by: Dave Young <dyoung at redhat.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+1-1MAINTAINERS
+1-11 files

Linux/linux 0b5e8d7. MAINTAINERS

MAINTAINERS: add page cache reviewer

Add myself as a page cache reviewer since I tend to review changes in
these areas anyway.

[akpm at linux-foundation.org: add linux-mm at kvack.org]
Link: https://lore.kernel.org/20260415174039.13016-2-jack@suse.cz
Signed-off-by: Jan Kara <jack at suse.cz>
Acked-by: Matthew Wilcox (Oracle) <willy at infradead.org>
Acked-by: Lorenzo Stoakes <ljs at kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+2-0MAINTAINERS
+2-01 files

Linux/linux 57294a9mm migrate_device.c

mm/migrate_device: remove dead migration entry check in migrate_vma_collect_huge_pmd()

The softleaf_is_migration() check is unreachable as entries that are not
device_private are filtered out.  Similarly, the PTE-level equivalent in
migrate_vma_collect_pmd() skips migration entries.

This dead branch also contained a double spin_unlock(ptl) bug.

Link: https://lore.kernel.org/20260212014611.416695-1-dave@stgolabs.net
Fixes: a30b48bf1b244 ("mm/migrate_device: implement THP migration of zone device pages")
Signed-off-by: Davidlohr Bueso <dave at stgolabs.net>
Suggested-by: Matthew Brost <matthew.brost at intel.com>
Reviewed-by: Alistair Popple <apopple at nvidia.com>
Acked-by: Balbir Singh <balbirs at nvidia.com>
Acked-by: David Hildenbrand (Arm) <david at kernel.org>
Cc: Byungchul Park <byungchul at sk.com>
Cc: Gregory Price <gourry at gourry.net>
Cc: Jason Gunthorpe <jgg at ziepe.ca>
Cc: John Hubbard <jhubbard at nvidia.com>

    [7 lines not shown]
DeltaFile
+0-6mm/migrate_device.c
+0-61 files

Linux/linux b5a9ac2. MAINTAINERS

MAINTAINERS: drop include/linux/liveupdate from LIVE UPDATE

The directory does not exist any more.

Link: https://lore.kernel.org/20260414121752.1912847-4-pratyush@kernel.org
Signed-off-by: Pratyush Yadav (Google) <pratyush at kernel.org>
Reviewed-by: Pasha Tatashin <pasha.tatashin at soleen.com>
Acked-by: Mike Rapoport (Microsoft) <rppt at kernel.org>
Reviewed-by: David Hildenbrand (Arm) <david at kernel.org>
Reviewed-by: SeongJae Park <sj at kernel.org>
Cc: Alexander Graf <graf at amazon.com>
Cc: Baoquan He <bhe at redhat.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+0-1MAINTAINERS
+0-11 files

Linux/linux 60087b4. MAINTAINERS CREDITS

MAINTAINERS: update kexec/kdump maintainers entries

Update KEXEC and KDUMP maintainer entries by adding the live update group
maintainers.  Remove Vivek Goyal due to inactivity to keep the MAINTAINERS
file up-to-date, and add Vivek to the CREDITS file to recognize their
contributions.

Link: https://lore.kernel.org/20260413121146.49215-1-pasha.tatashin@soleen.com
Signed-off-by: Pasha Tatashin <pasha.tatashin at soleen.com>
Acked-by: Pratyush Yadav <pratyush at kernel.org>
Acked-by: Mike Rapoport (Microsoft) <rppt at kernel.org>
Cc: Diego Viola <diego.viola at gmail.com>
Cc: Jakub Kacinski <kuba at kernel.org>
Cc: Magnus Karlsson <magnus.karlsson at intel.com>
Cc: Mark Brown <broonie at kernel.org>
Cc: Martin Kepplinger <martink at posteo.de>
Cc: Masahiro Yamada <masahiroy at kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+6-1MAINTAINERS
+4-0CREDITS
+10-12 files

Linux/linux 3de705amm vmscan.c

mm/vmscan: avoid false-positive -Wuninitialized warning

When the -fsanitize=bounds sanitizer is enabled, gcc-16 sometimes runs
into a corner case in the read_ctrl_pos() pos function, where it sees
possible undefined behavior from the 'tier' index overflowing, presumably
in the case that this was called with a negative tier:

In function 'get_tier_idx',
    inlined from 'isolate_folios' at mm/vmscan.c:4671:14:
mm/vmscan.c: In function 'isolate_folios':
mm/vmscan.c:4645:29: error: 'pv.refaulted' is used uninitialized [-Werror=uninitialized]

Part of the problem seems to be that read_ctrl_pos() has unusual calling
conventions since commit 37a260870f2c ("mm/mglru: rework type selection")
where passing MAX_NR_TIERS makes it accumulate all tiers but passing a
smaller positive number makes it read a single tier instead.

Shut up the warning by adding a fake initialization to the two instances
of this variable that can run into that corner case.

    [20 lines not shown]
DeltaFile
+2-2mm/vmscan.c
+2-21 files

Linux/linux de61e40. MAINTAINERS

MAINTAINERS: drop include/linux/kho/abi/ from KHO

The KHO entry already includes include/linux/kho.  Listing its
subdirectory is redundant.

Link: https://lore.kernel.org/20260414121752.1912847-3-pratyush@kernel.org
Signed-off-by: Pratyush Yadav (Google) <pratyush at kernel.org>
Reviewed-by: Pasha Tatashin <pasha.tatashin at soleen.com>
Acked-by: Mike Rapoport (Microsoft) <rppt at kernel.org>
Reviewed-by: David Hildenbrand (Arm) <david at kernel.org>
Reviewed-by: SeongJae Park <sj at kernel.org>
Cc: Alexander Graf <graf at amazon.com>
Cc: Baoquan He <bhe at redhat.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+0-1MAINTAINERS
+0-11 files

Linux/linux d432e88tools/testing/selftests/mm charge_reserved_hugetlb.sh

selftests: mm: skip charge_reserved_hugetlb without killall

charge_reserved_hugetlb.sh tears down background writers with killall from
psmisc.  Minimal Ubuntu images do not always provide that tool, so the
selftest fails in cleanup for an environment reason rather than for the
hugetlb behavior it is trying to cover.

Skip the test when killall is unavailable, similar to the existing root
check, so these environments report the dependency clearly instead of
failing the test.

Link: https://lore.kernel.org/20260410044139.67480-1-create0818@163.com
Signed-off-by: Cao Ruichuang <create0818 at 163.com>
Acked-by: Mike Rapoport (Microsoft) <rppt at kernel.org>
Cc: David Hildenbrand <david at kernel.org>
Cc: "Liam R. Howlett" <Liam.Howlett at oracle.com>
Cc: Lorenzo Stoakes <ljs at kernel.org>
Cc: Michal Hocko <mhocko at suse.com>
Cc: Shuah Khan <shuah at kernel.org>

    [3 lines not shown]
DeltaFile
+5-0tools/testing/selftests/mm/charge_reserved_hugetlb.sh
+5-01 files

Linux/linux 161ce69fs userfaultfd.c

userfaultfd: allow registration of ranges below mmap_min_addr

The current implementation of validate_range() in fs/userfaultfd.c
performs a hard check against mmap_min_addr.  This is redundant because
UFFDIO_REGISTER operates on memory ranges that must already be backed by a
VMA.

Enforcing mmap_min_addr or capability checks again in userfaultfd is
unnecessary and prevents applications like binary compilers from using
UFFD for valid memory regions mapped by application.

Remove the redundant check for mmap_min_addr.

We started using UFFD instead of the classic mprotect approach in the
binary translator to track application writes.  During development, we
encountered this bug.  The translator cannot control where the translated
application chooses to map its memory and if the app requires a
low-address area, UFFD fails, whereas mprotect would work just fine.  I
believe this is a genuine logic bug rather than an improvement, and I

    [18 lines not shown]
DeltaFile
+0-2fs/userfaultfd.c
+0-21 files

Linux/linux 320c723. MAINTAINERS CREDITS

MAINTAINERS: update KHO and LIVE UPDATE maintainers

Patch series "MAINTAINERS: update KHO and LIVE UPDATE entries".

This series contains some updates for the Kexec Handover (KHO) and Live
update entries.  Patch 1 updates the maintainers list and adds the
liveupdate tree.  Patches 2 and 3 clean up stale files in the list.


This patch (of 3):

I have been helping out with reviewing and developing KHO.  I would also
like to help maintain it.  Change my entry from R to M for KHO and live
update.  Alex has been inactive for a while, so to avoid over-crowding the
KHO entry and to keep the information up-to-date, move his entry from M to
R.

We also now have a tree for KHO and live update at liveupdate/linux.git
where we plan to start maintaining those subsystems and start queuing the

    [11 lines not shown]
DeltaFile
+5-3MAINTAINERS
+4-0CREDITS
+9-32 files

Linux/linux 2f529e7drivers/block/zram zram_drv.c

zram: reject unrecognized type= values in recompress_store()

recompress_store() parses the type= parameter with three if statements
checking for "idle", "huge", and "huge_idle".  An unrecognized value
silently falls through with mode left at 0, causing the recompression pass
to run with no slot filter — processing all slots instead of the
intended subset.

Add a !mode check after the type parsing block to return -EINVAL for
unrecognized values, consistent with the function's other parameter
validation.

Link: https://lore.kernel.org/20260407153027.42425-1-astellman@stellman-greene.com
Signed-off-by: Andrew Stellman <astellman at stellman-greene.com>
Suggested-by: Sergey Senozhatsky <senozhatsky at chromium.org>
Reviewed-by: Sergey Senozhatsky <senozhatsky at chromium.org>
Cc: Jens Axboe <axboe at kernel.dk>
Cc: Minchan Kim <minchan at kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+2-0drivers/block/zram/zram_drv.c
+2-01 files

Linux/linux 3bc181cmm mprotect.c

mm/mprotect: move softleaf code out of the main function

Patch series "mm/mprotect: micro-optimization work", v3.

Micro-optimize the change_protection functionality and the
change_pte_range() routine.  This set of functions works in an incredibly
tight loop, and even small inefficiencies are incredibly evident when spun
hundreds, thousands or hundreds of thousands of times.

There was an attempt to keep the batching functionality as much as
possible, which introduced some part of the slowness, but not all of it. 
Removing it for !arm64 architectures would speed mprotect() up even
further, but could easily pessimize cases where large folios are mapped
(which is not as rare as it seems, particularly when it comes to the page
cache these days).

The micro-benchmark used for the tests was [0] (usable using
google/benchmark and g++ -O2 -lbenchmark repro.cpp)


    [52 lines not shown]
DeltaFile
+67-60mm/mprotect.c
+67-601 files

Linux/linux 77c368finclude/linux mmzone.h

mm/sparse: fix comment for section map alignment

The comment in mmzone.h currently details exhaustive per-architecture
bit-width lists and explains alignment using min(PAGE_SHIFT,
PFN_SECTION_SHIFT).  Such details risk falling out of date over time and
may inadvertently be left un-updated.

We always expect a single section to cover full pages.  Therefore, we can
safely assume that PFN_SECTION_SHIFT is large enough to accommodate
SECTION_MAP_LAST_BIT.  We use BUILD_BUG_ON() to ensure this.

Update the comment to accurately reflect this consensus, making it clear
that we rely on a single section covering full pages.

Link: https://lore.kernel.org/20260402102320.3617578-1-songmuchun@bytedance.com
Signed-off-by: Muchun Song <songmuchun at bytedance.com>
Acked-by: David Hildenbrand (Arm) <david at kernel.org>
Cc: Liam Howlett <liam.howlett at oracle.com>
Cc: Lorenzo Stoakes (Oracle) <ljs at kernel.org>

    [5 lines not shown]
DeltaFile
+10-15include/linux/mmzone.h
+10-151 files

Linux/linux 89e613bmm mprotect.c

mm/mprotect: special-case small folios when applying permissions

The common order-0 case is important enough to want its own branch, and
avoids the hairy, large loop logic that the CPU does not seem to handle
particularly well.

While at it, encourage the compiler to inline batch PTE logic and resolve
constant branches by adding __always_inline strategically.

Link: https://lore.kernel.org/20260402141628.3367596-3-pfalcato@suse.de
Signed-off-by: Pedro Falcato <pfalcato at suse.de>
Suggested-by: David Hildenbrand (Arm) <david at kernel.org>
Reviewed-by: Lorenzo Stoakes (Oracle) <ljs at kernel.org>
Tested-by: Luke Yang <luyang at redhat.com>
Reviewed-by: Vlastimil Babka (SUSE) <vbabka at kernel.org>
Cc: Dev Jain <dev.jain at arm.com>
Cc: Jann Horn <jannh at google.com>
Cc: Jiri Hladky <jhladky at redhat.com>
Cc: Liam Howlett <liam.howlett at oracle.com>

    [2 lines not shown]
DeltaFile
+57-34mm/mprotect.c
+57-341 files

Linux/linux 19999e4mm vmscan.c

mm: remove '!root_reclaim' checking in should_abort_scan()

Android systems usually use memory.reclaim interface to implement user
space memory management which expects that the requested reclaim target
and actually reclaimed amount memory are not diverging by too much. With
the current MGRLU implementation there is, however, no bail out when the
reclaim target is reached and this could lead to an excessive reclaim
that scales with the reclaim hierarchy size.For example, we can get a
nr_reclaimed=394/nr_to_reclaim=32 proactive reclaim under a common 1-N
cgroup hierarchy.

This defect arose from the goal of keeping fairness among memcgs that is,
for try_to_free_mem_cgroup_pages -> shrink_node_memcgs -> shrink_lruvec ->
lru_gen_shrink_lruvec -> try_to_shrink_lruvec, the !root_reclaim(sc) check
was there for reclaim fairness, which was necessary before commit
b82b530740b9 ("mm: vmscan: restore incremental cgroup iteration") because
the fairness depended on attempted proportional reclaim from every memcg
under the target memcg.  However after commit b82b530740b9 there is no
longer a need to visit every memcg to ensure fairness.  Let's have

    [20 lines not shown]
DeltaFile
+0-4mm/vmscan.c
+0-41 files

Linux/linux c45b354mm hugetlb.c

mm/hugetlb: fix early boot crash on parameters without '=' separator

If hugepages, hugepagesz, or default_hugepagesz are specified on the
kernel command line without the '=' separator, early parameter parsing
passes NULL to hugetlb_add_param(), which dereferences it in strlen() and
can crash the system during early boot.

Reject NULL values in hugetlb_add_param() and return -EINVAL instead.

Link: https://lore.kernel.org/20260409105437.108686-4-thorsten.blum@linux.dev
Fixes: 5b47c02967ab ("mm/hugetlb: convert cmdline parameters from setup to early")
Signed-off-by: Thorsten Blum <thorsten.blum at linux.dev>
Reviewed-by: Muchun Song <muchun.song at linux.dev>
Cc: David Hildenbrand <david at kernel.org>
Cc: Frank van der Linden <fvdl at google.com>
Cc: Oscar Salvador <osalvador at suse.de>
Cc: <stable at vger.kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+3-0mm/hugetlb.c
+3-01 files

Linux/linux 9a8ea3cDocumentation/filesystems proc.rst

docs: proc: document ProtectionKey in smaps

The ProtectionKey entry was added in v4.9; back then it was x86-specific,
but it now lives in generic code and applies to all architectures
supporting pkeys (currently x86, power, arm64).

Time to document it: add a paragraph to proc.rst about the ProtectionKey
entry.

[akpm at linux-foundation.org: s/system/hardware/, per review discussion]
[akpm at linux-foundation.org: s/hardware/CPU/]
Link: https://lore.kernel.org/20260407125133.564182-1-kevin.brodsky@arm.com
Signed-off-by: Kevin Brodsky <kevin.brodsky at arm.com>
Reported-by: Yury Khrustalev <yury.khrustalev at arm.com>
Acked-by: Vlastimil Babka (SUSE) <vbabka at kernel.org>
Reviewed-by: David Hildenbrand (Arm) <david at kernel.org>
Reviewed-by: Lorenzo Stoakes <ljs at kernel.org>
Acked-by: Dave Hansen <dave.hansen at linux.intel.com>
Cc: Jonathan Corbet <corbet at lwn.net>

    [5 lines not shown]
DeltaFile
+4-0Documentation/filesystems/proc.rst
+4-01 files

Linux/linux 2b19bf0mm vmstat.c

mm/vmstat: fix vmstat_shepherd double-scheduling vmstat_update

vmstat_shepherd uses delayed_work_pending() to check whether vmstat_update
is already scheduled for a given CPU before queuing it.  However,
delayed_work_pending() only tests WORK_STRUCT_PENDING_BIT, which is
cleared the moment a worker thread picks up the work to execute it.

This means that while vmstat_update is actively running on a CPU,
delayed_work_pending() returns false.  If need_update() also returns true
at that point (per-cpu counters not yet zeroed mid-flush), the shepherd
queues a second invocation with delay=0, causing vmstat_update to run
again immediately after finishing.

On a 72-CPU system this race is readily observable: before the fix, many
CPUs show invocation gaps well below 500 jiffies (the minimum
round_jiffies_relative() can produce), with the most extreme cases
reaching 0 jiffies—vmstat_update called twice within the same jiffy.

Fix this by replacing delayed_work_pending() with work_busy(), which

    [42 lines not shown]
DeltaFile
+1-1mm/vmstat.c
+1-11 files

Linux/linux df620ecmm page_io.c

mm/page_io: use sio->len for PSWPIN accounting in sio_read_complete()

sio_read_complete() uses sio->pages to account global PSWPIN vm events,
but sio->pages tracks the number of bvec entries (folios), not base pages.

While large folios cannot currently reach this path (SWP_FS_OPS and
SWP_SYNCHRONOUS_IO are mutually exclusive, and mTHP swap-in allocation is
gated on SWP_SYNCHRONOUS_IO), the accounting is semantically inconsistent
with the per-memcg path which correctly uses folio_nr_pages().

Use sio->len >> PAGE_SHIFT instead, which gives the correct base page
count since sio->len is accumulated via folio_size(folio).

Link: https://lore.kernel.org/20260402061408.36119-1-devnexen@gmail.com
Signed-off-by: David Carlier <devnexen at gmail.com>
Acked-by: David Hildenbrand (Arm) <david at kernel.org>
Cc: Baoquan He <bhe at redhat.com>
Cc: Chris Li <chrisl at kernel.org>
Cc: Kairui Song <kasong at tencent.com>

    [4 lines not shown]
DeltaFile
+1-1mm/page_io.c
+1-11 files