Linux/linux b29fb88fs/smb/server oplock.c auth.c

Merge tag 'v7.0-rc3-ksmbd-server-fixes' of git://git.samba.org/ksmbd

Pull smb server fixes from Steve French:

 - Fix potential use after free errors

 - Fix refcount leak in smb2 open error path

 - Prevent allowing logging signing or encryption keys

* tag 'v7.0-rc3-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
  ksmbd: Don't log keys in SMB3 signing and encryption key generation
  smb: server: fix use-after-free in smb2_open()
  ksmbd: fix use-after-free in smb_lazy_parent_lease_break_close()
  ksmbd: fix use-after-free by using call_rcu() for oplock_info
  ksmbd: fix use-after-free in proc_show_files due to early rcu_read_unlock
  smb/server: Fix another refcount leak in smb2_open()
DeltaFile
+25-10fs/smb/server/oplock.c
+2-20fs/smb/server/auth.c
+5-5fs/smb/server/vfs_cache.c
+4-4fs/smb/server/smb2pdu.c
+3-2fs/smb/server/oplock.h
+39-415 files

Linux/linux b4f0dd3. MAINTAINERS, drivers/block/zram zram_drv.c

Merge tag 'mm-hotfixes-stable-2026-03-09-16-36' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull misc fixes from Andrew Morton:
 "15 hotfixes. 6 are cc:stable. 14 are for MM.

  Singletons, with one doubleton - please see the changelogs for details"

* tag 'mm-hotfixes-stable-2026-03-09-16-36' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  MAINTAINERS, mailmap: update email address for Lorenzo Stoakes
  mm/mmu_notifier: clean up mmu_notifier.h kernel-doc
  uaccess: correct kernel-doc parameter format
  mm/huge_memory: fix a folio_split() race condition with folio_try_get()
  MAINTAINERS: add co-maintainer and reviewer for SLAB ALLOCATOR
  MAINTAINERS: add RELAY entry
  memcg: fix slab accounting in refill_obj_stock() trylock path
  mm/hugetlb.c: use __pa() instead of virt_to_phys() in early bootmem alloc code
  zram: rename writeback_compressed device attr
  tools/testing: fix testing/vma and testing/radix-tree build
  Revert "ptdesc: remove references to folios from __pagetable_ctor() and pagetable_dtor()"

    [4 lines not shown]
DeltaFile
+43-6mm/memfd_luo.c
+22-11MAINTAINERS
+16-15include/linux/mmu_notifier.h
+12-12drivers/block/zram/zram_drv.c
+19-0tools/include/linux/overflow.h
+6-11include/linux/mm.h
+118-5512 files not shown
+163-7318 files

Linux/linux 1e689a5fs/smb/server smb2pdu.c

smb: server: fix use-after-free in smb2_open()

The opinfo pointer obtained via rcu_dereference(fp->f_opinfo) is
dereferenced after rcu_read_unlock(), creating a use-after-free
window.

Cc: stable at vger.kernel.org
Signed-off-by: Marios Makassikis <mmakassikis at freebox.fr>
Acked-by: Namjae Jeon <linkinjeon at kernel.org>
Signed-off-by: Steve French <stfrench at microsoft.com>
DeltaFile
+2-3fs/smb/server/smb2pdu.c
+2-31 files

Linux/linux 4413361fs/smb/server auth.c

ksmbd: Don't log keys in SMB3 signing and encryption key generation

When KSMBD_DEBUG_AUTH logging is enabled, generate_smb3signingkey() and
generate_smb3encryptionkey() log the session, signing, encryption, and
decryption key bytes. Remove the logs to avoid exposing credentials.

Fixes: e2f34481b24d ("cifsd: add server-side procedures for SMB3")
Cc: stable at vger.kernel.org
Signed-off-by: Thorsten Blum <thorsten.blum at linux.dev>
Acked-by: Namjae Jeon <linkinjeon at kernel.org>
Signed-off-by: Steve French <stfrench at microsoft.com>
DeltaFile
+2-20fs/smb/server/auth.c
+2-201 files

Linux/linux 4095501fs/smb/server vfs_cache.c

ksmbd: fix use-after-free in proc_show_files due to early rcu_read_unlock

The opinfo pointer obtained via rcu_dereference(fp->f_opinfo) is
dereferenced after rcu_read_unlock(), creating a use-after-free
window. A concurrent opinfo_put() can free the opinfo between the
unlock and the subsequent access to opinfo->is_lease,
opinfo->o_lease->state, and opinfo->level.

Fix this by deferring rcu_read_unlock() until after all opinfo
field accesses are complete. The values needed (const_names, count,
level) are copied into local variables under the RCU read lock,
and the potentially-sleeping seq_printf calls happen after the
lock is released.

Found by AI-assisted code review (Claude Opus 4.6, Anthropic)
in collaboration with Ali Khaledi.

Cc: stable at vger.kernel.org
Fixes: b38f99c1217a ("ksmbd: add procfs interface for runtime monitoring and statistics")

    [3 lines not shown]
DeltaFile
+5-5fs/smb/server/vfs_cache.c
+5-51 files

Linux/linux 1dfd062fs/smb/server oplock.c oplock.h

ksmbd: fix use-after-free by using call_rcu() for oplock_info

ksmbd currently frees oplock_info immediately using kfree(), even
though it is accessed under RCU read-side critical sections in places
like opinfo_get() and proc_show_files().

Since there is no RCU grace period delay between nullifying the pointer
and freeing the memory, a reader can still access oplock_info
structure after it has been freed. This can leads to a use-after-free
especially in opinfo_get() where atomic_inc_not_zero() is called on
already freed memory.

Fix this by switching to deferred freeing using call_rcu().

Fixes: 18b4fac5ef17 ("ksmbd: fix use-after-free in smb_break_all_levII_oplock()")
Cc: stable at vger.kernel.org
Signed-off-by: Namjae Jeon <linkinjeon at kernel.org>
Signed-off-by: Steve French <stfrench at microsoft.com>
DeltaFile
+21-8fs/smb/server/oplock.c
+3-2fs/smb/server/oplock.h
+24-102 files

Linux/linux eac3361fs/smb/server oplock.c

ksmbd: fix use-after-free in smb_lazy_parent_lease_break_close()

opinfo pointer obtained via rcu_dereference(fp->f_opinfo) is being
accessed after rcu_read_unlock() has been called. This creates a
race condition where the memory could be freed by a concurrent
writer between the unlock and the subsequent pointer dereferences
(opinfo->is_lease, etc.), leading to a use-after-free.

Fixes: 5fb282ba4fef ("ksmbd: fix possible null-deref in smb_lazy_parent_lease_break_close")
Cc: stable at vger.kernel.org
Signed-off-by: Namjae Jeon <linkinjeon at kernel.org>
Signed-off-by: Steve French <stfrench at microsoft.com>
DeltaFile
+4-2fs/smb/server/oplock.c
+4-21 files

Linux/linux c15e7c6fs/smb/server smb2pdu.c

smb/server: Fix another refcount leak in smb2_open()

If ksmbd_override_fsids() fails, we jump to err_out2. At that point, fp is
NULL because it hasn't been assigned dh_info.fp yet, so ksmbd_fd_put(work,
fp) will not be called. However, dh_info.fp was already inserted into the
session file table by ksmbd_reopen_durable_fd(), so it will leak in the
session file table until the session is closed.

Move fp = dh_info.fp; ahead of the ksmbd_override_fsids() check to fix the
problem.

Found by an experimental AI code review agent at Google.

Fixes: c8efcc786146a ("ksmbd: add support for durable handles v1/v2")
Signed-off-by: Guenter Roeck <linux at roeck-us.net>
Reviewed-by: ChenXiaoSong <chenxiaosong at kylinos.cn>
Acked-by: Namjae Jeon <linkinjeon at kernel.org>
Signed-off-by: Steve French <stfrench at microsoft.com>
DeltaFile
+2-1fs/smb/server/smb2pdu.c
+2-11 files

Linux/linux 1f318b9. Makefile

Linux 7.0-rc3
DeltaFile
+1-1Makefile
+1-11 files

Linux/linux fc9f248arch/x86/include/asm efi.h, arch/x86/platform/efi quirks.c efi.c

Merge tag 'efi-fixes-for-v7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi

Pull EFI fix from Ard Biesheuvel:
 "Fix for the x86 EFI workaround keeping boot services code and data
  regions reserved until after SetVirtualAddressMap() completes:
  deferred struct page initialization may result in some of this memory
  being lost permanently"

* tag 'efi-fixes-for-v7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
  x86/efi: defer freeing of boot services memory
DeltaFile
+52-3arch/x86/platform/efi/quirks.c
+1-1arch/x86/include/asm/efi.h
+1-1arch/x86/platform/efi/efi.c
+1-1drivers/firmware/efi/mokvar-table.c
+55-64 files

Linux/linux 014441ddrivers/i2c/busses i2c-i801.c

Merge tag 'i2c-for-7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fix from Wolfram Sang:
 "A revert for the i801 driver restoring old locking behaviour"

* tag 'i2c-for-7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: i801: Revert "i2c: i801: replace acpi_lock with I2C bus lock"
DeltaFile
+10-4drivers/i2c/busses/i2c-i801.c
+10-41 files

Linux/linux c23719aarch/x86/boot/compressed sev.c, arch/x86/entry/vdso/vdso32 sigreturn.S

Merge tag 'x86-urgent-2026-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:

 - Fix SEV guest boot failures in certain circumstances, due to
   very early code relying on a BSS-zeroed variable that isn't
   actually zeroed yet an may contain non-zero bootup values

   Move the variable into the .data section go gain even earlier
   zeroing

 - Expose & allow the IBPB-on-Entry feature on SNP guests, which
   was not properly exposed to guests due to initial implementational
   caution

 - Fix O= build failure when CONFIG_EFI_SBAT_FILE is using relative
   file paths

 - Fix the various SNC (Sub-NUMA Clustering) topology enumeration

    [22 lines not shown]
DeltaFile
+144-55arch/x86/kernel/smpboot.c
+5-31arch/x86/kernel/cpu/resctrl/monitor.c
+30-0arch/x86/entry/vdso/vdso32/sigreturn.S
+11-2arch/x86/kernel/cpu/topology.c
+5-4arch/x86/boot/compressed/sev.c
+8-0arch/x86/mm/numa.c
+203-928 files not shown
+227-9414 files

Linux/linux 6ff1020kernel/time timekeeping.c

Merge tag 'timers-urgent-2026-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fix from Ingo Molnar:
 "Make clock_adjtime() syscall timex validation slightly more permissive
  for auxiliary clocks, to not reject syscalls based on the status field
  that do not try to modify the status field.

  This makes the ABI behavior in clock_adjtime() consistent with
  CLOCK_REALTIME"

* tag 'timers-urgent-2026-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  timekeeping: Fix timex status validation for auxiliary clocks
DeltaFile
+4-2kernel/time/timekeeping.c
+4-21 files

Linux/linux b1b9a9dkernel/sched syscalls.c

Merge tag 'sched-urgent-2026-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fix from Ingo Molnar:
 "Fix a DL scheduler bug that may corrupt internal metrics during PI and
  setscheduler() syscalls, resulting in kernel warnings and misbehavior.

  Found during stress-testing"

* tag 'sched-urgent-2026-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/deadline: Fix missing ENQUEUE_REPLENISH during PI de-boosting
DeltaFile
+30-0kernel/sched/syscalls.c
+30-01 files

Linux/linux 1954c4finclude/linux eventpoll.h

eventpoll: Convert epoll_put_uevent() to scoped user access

Saves two function calls, and one stac/clac pair.

stac/clac is rather expensive on older cpus like Zen 2.

A synthetic network stress test gives a ~1.5% increase of pps
on AMD Zen 2.

Signed-off-by: Eric Dumazet <edumazet at google.com>
Cc: Christophe Leroy <christophe.leroy at csgroup.eu>
Cc: Dave Hansen <dave.hansen at intel.com>
Cc: Kuniyuki Iwashima <kuniyu at google.com>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
DeltaFile
+7-4include/linux/eventpoll.h
+7-41 files

Linux/linux 3b5d535drivers/scsi scsi_devinfo.c scsi_scan.c, drivers/scsi/mpi3mr mpi3mr_fw.c

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
 "Two core changes and the rest in drivers, one core change to quirk the
  behaviour of the Iomega Zip drive and one to fix a hang caused by tag
  reallocation problems, which has mostly been seen by the iscsi client.

  Note the latter fixes the problem but still has a slight sysfs memory
  leak, so will be amended in the next pull request (once we've run the
  fix for the fix through our testing)"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: target: Fix recursive locking in __configfs_open_file()
  scsi: devinfo: Add BLIST_SKIP_IO_HINTS for Iomega ZIP
  scsi: mpi3mr: Clear reset history on ready and recheck state after timeout
  scsi: core: Fix refcount leak for tagset_refcnt
DeltaFile
+6-9drivers/target/target_core_configfs.c
+10-0drivers/scsi/mpi3mr/mpi3mr_fw.c
+1-1drivers/scsi/scsi_devinfo.c
+1-0drivers/scsi/scsi_scan.c
+18-104 files

Linux/linux fb07430drivers/video/fbdev au1100fb.c

Merge tag 'fbdev-for-7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev

Pull fbdev fix from Helge Deller:
 "Silence build error in au1100fb driver found by kernel test robot"

* tag 'fbdev-for-7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
  fbdev: au1100fb: Fix build on MIPS64
DeltaFile
+6-2drivers/video/fbdev/au1100fb.c
+6-21 files

Linux/linux 6deccafarch/parisc/include/asm pgtable.h, arch/parisc/kernel setup.c head.S

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

Pull parisc fixes from Helge Deller:
 "While testing Sasha Levin's 'kallsyms: embed source file:line info in
  kernel stack traces' patch series, which increases the typical kernel
  image size, I found some issues with the parisc initial kernel mapping
  which may prevent the kernel to boot.

  The three small patches here fix this"

* tag 'parisc-for-7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: Fix initial page table creation for boot
  parisc: Check kernel mapping earlier at bootup
  parisc: Increase initial mapping to 64 MB with KALLSYMS
DeltaFile
+12-8arch/parisc/kernel/setup.c
+6-1arch/parisc/kernel/head.S
+1-1arch/parisc/include/asm/pgtable.h
+19-103 files

Linux/linux 8b7f4cdkernel/bpf verifier.c, tools/testing/selftests/bpf/prog_tests reg_bounds.c

Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

Pull bpf fixes from Alexei Starovoitov:

 - Fix u32/s32 bounds when ranges cross min/max boundary (Eduard
   Zingerman)

 - Fix precision backtracking with linked registers (Eduard Zingerman)

 - Fix linker flags detection for resolve_btfids (Ihor Solodrai)

 - Fix race in update_ftrace_direct_add/del (Jiri Olsa)

 - Fix UAF in bpf_trampoline_link_cgroup_shim (Lang Xu)

* tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:
  resolve_btfids: Fix linker flags detection
  selftests/bpf: add reproducer for spurious precision propagation through calls
  bpf: collect only live registers in linked regs

    [5 lines not shown]
DeltaFile
+58-18tools/testing/selftests/bpf/prog_tests/reg_bounds.c
+64-0tools/testing/selftests/bpf/progs/verifier_linked_scalars.c
+42-14tools/testing/selftests/bpf/progs/verifier_scalar_ids.c
+38-1tools/testing/selftests/bpf/progs/verifier_bounds.c
+34-3kernel/bpf/verifier.c
+17-17tools/testing/selftests/bpf/progs/exceptions_assert.c
+253-535 files not shown
+268-6211 files

Linux/linux 03dcad7tools/testing/selftests/rcutorture/configs/rcu TREE06 SRCU-U

Merge tag 'rcu-fixes.v7.0-20260307a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux

Pull RCU selftest fixes from Boqun Feng:
 "Fix a regression in RCU torture test pre-defined scenarios caused by
  commit 7dadeaa6e851 ("sched: Further restrict the preemption modes")
  which limits PREEMPT_NONE to architectures that do not support
  preemption at all and PREEMPT_VOLUNTARY to those architectures that do
  not yet have PREEMPT_LAZY support.

  Since major architectures (e.g. x86 and arm64) no longer support
  CONFIG_PREEMPT_NONE and CONFIG_PREEMPT_VOLUNTARY, using them in
  rcutorture, rcuscale, refscale, and scftorture pre-defined scenarios
  causes config checking errors.

  Switch these kconfigs to PREEMPT_LAZY"

* tag 'rcu-fixes.v7.0-20260307a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux:
  scftorture: Update due to x86 not supporting none/voluntary preemption
  refscale: Update due to x86 not supporting none/voluntary preemption

    [2 lines not shown]
DeltaFile
+4-1tools/testing/selftests/rcutorture/configs/rcu/TREE06
+2-2tools/testing/selftests/rcutorture/configs/rcu/SRCU-U
+3-1tools/testing/selftests/rcutorture/configs/rcu/SRCU-N
+2-2tools/testing/selftests/rcutorture/configs/rcu/TINY01
+3-1tools/testing/selftests/rcutorture/configs/rcu/TREE04
+3-1tools/testing/selftests/rcutorture/configs/rcu/TREE05
+17-811 files not shown
+39-1817 files

Linux/linux aed0af0kernel/trace trace.c trace_events.c

Merge tag 'trace-v7.0-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing fixes from Steven Rostedt:

 - Fix possible NULL pointer dereference in trace_data_alloc()

   On the trace_data_alloc() error path, it can call trigger_data_free()
   with a NULL pointer. This used to be a kfree() but was changed to
   trigger_data_free() to clean up any partial initialization. The issue
   is that trigger_data_free() does not expect a NULL pointer. Have
   trigger_data_free() return safely on NULL pointer.

 - Fix multiple events on the command line and bootconfig

   If multiple events are enabled on the command line separately and not
   grouped, only the last event gets enabled. That is:

      trace_event=sched_switch trace_event=sched_waking


    [26 lines not shown]
DeltaFile
+3-3kernel/trace/trace.c
+5-1kernel/trace/trace_events.c
+3-0kernel/trace/trace_events_trigger.c
+11-43 files

Linux/linux b0dcdcbtools/bpf/resolve_btfids Makefile, tools/testing/selftests/bpf Makefile

resolve_btfids: Fix linker flags detection

The "|| echo -lzstd" default makes zstd an unconditional link
dependency of resolve_btfids. On systems where libzstd-dev is not
installed and pkg-config fails, the linker fails:

  ld: cannot find -lzstd: No such file or directory

libzstd is a transitive dependency of libelf, so the -lzstd flag is
strictly necessary only for static builds [1].

Remove ZSTD_LIBS variable, and instead set LIBELF_LIBS depending on
whether the build is static or not. Use $(HOSTPKG_CONFIG) as primary
source of the flags list.

Also add a default value for HOSTPKG_CONFIG in case it's not built via
the toplevel Makefile. Pass it from selftests/bpf too.

[1] https://lore.kernel.org/bpf/4ff82800-2daa-4b9f-95a9-6f512859ee70@linux.dev/

    [10 lines not shown]
DeltaFile
+7-2tools/bpf/resolve_btfids/Makefile
+1-0tools/testing/selftests/bpf/Makefile
+8-22 files

Linux/linux 7b6e48dDocumentation/hwmon sa67.rst, drivers/hwmon sa67mcu-hwmon.c macsmc-hwmon.c

Merge tag 'hwmon-for-v7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon fixes from Guenter Roeck:

 - Fix initialization commands for AHT20

 - Correct a malformed email address (emc1403)

 - Check the it87_lock() return value

 - Fix inverted polarity (max6639)

 - Fix overflows, underflows, sign extension, and other problems in
   macsmc

 - Fix stack overflow in debugfs read (pmbus/q54sj108a2)

 - Drop support for SMARC-sAM67 (discontinued and never released to
   market)

    [11 lines not shown]
DeltaFile
+0-161drivers/hwmon/sa67mcu-hwmon.c
+26-25drivers/hwmon/macsmc-hwmon.c
+0-41Documentation/hwmon/sa67.rst
+10-9drivers/hwmon/pmbus/q54sj108a2.c
+0-10drivers/hwmon/Kconfig
+4-2drivers/hwmon/aht10.c
+40-2487 files not shown
+46-25513 files

Linux/linux e33aafadrivers/base base.h dd.c, include/linux/device bus.h

Merge tag 'driver-core-7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core

Pull driver core fix from Danilo Krummrich:

 - Revert "driver core: enforce device_lock for driver_match_device()":

   When a device is already present in the system and a driver is
   registered on the same bus, we iterate over all devices registered on
   this bus to see if one of them matches. If we come across an already
   bound one where the corresponding driver crashed while holding the
   device lock (e.g. in probe()) we can't make any progress anymore.

   Thus, revert and clarify that an implementer of struct bus_type must
   not expect match() to be called with the device lock held.

* tag 'driver-core-7.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core:
  Revert "driver core: enforce device_lock for driver_match_device()"
DeltaFile
+1-10drivers/base/base.h
+2-0include/linux/device/bus.h
+1-1drivers/base/dd.c
+4-113 files

Linux/linux 0f912c8arch/x86/kernel head_64.S, arch/x86/xen mmu_pv.c

Merge tag 'for-linus-7.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fixes from Juergen Gross:

 - a cleanup of arch/x86/kernel/head_64.S removing the pre-built page
   tables for Xen guests

 - a small comment update

 - another cleanup for Xen PVH guests mode

 - fix an issue with Xen PV-devices backed by driver domains

* tag 'for-linus-7.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/xenbus: better handle backend crash
  xenbus: add xenbus_device parameter to xenbus_read_driver_state()
  x86/PVH: Use boot params to pass RSDP address in start_info page
  x86/xen: update outdated comment
  xen/acpi-processor: fix _CST detection using undersized evaluation buffer
  x86/xen: Build identity mapping page tables dynamically for XENPV
DeltaFile
+39-3drivers/xen/xenbus/xenbus_probe.c
+17-17drivers/net/xen-netfront.c
+0-28arch/x86/kernel/head_64.S
+14-3drivers/xen/xenbus/xenbus_client.c
+5-5drivers/xen/xen-pciback/xenbus.c
+9-0arch/x86/xen/mmu_pv.c
+84-568 files not shown
+97-7714 files

Linux/linux 325d1bakernel/bpf verifier.c, tools/testing/selftests/bpf/progs verifier_linked_scalars.c verifier_scalar_ids.c

Merge branch 'bpf-fix-precision-backtracking-bug-with-linked-registers'

Eduard Zingerman says:

====================
bpf: Fix precision backtracking bug with linked registers

Emil Tsalapatis reported a verifier bug hit by the scx_lavd sched_ext
scheduler. The essential part of the verifier log looks as follows:

  436: ...
  // checkpoint hit for 438: (1d) if r7 == r8 goto ...
  frame 3: propagating r2,r7,r8
  frame 2: propagating r6
  mark_precise: frame3: last_idx ...
  mark_precise: frame3: regs=r2,r7,r8 stack= before 436: ...
  mark_precise: frame3: regs=r2,r7 stack= before 435: ...
  mark_precise: frame3: regs=r2,r7 stack= before 434: (85) call bpf_trace_vprintk#177
  verifier bug: backtracking call unexpected regs 84

    [31 lines not shown]
DeltaFile
+64-0tools/testing/selftests/bpf/progs/verifier_linked_scalars.c
+42-14tools/testing/selftests/bpf/progs/verifier_scalar_ids.c
+17-17tools/testing/selftests/bpf/progs/exceptions_assert.c
+10-3kernel/bpf/verifier.c
+4-4tools/testing/selftests/bpf/verifier/precise.c
+137-385 files

Linux/linux 223ffb6tools/testing/selftests/bpf/progs verifier_linked_scalars.c

selftests/bpf: add reproducer for spurious precision propagation through calls

Add a test for the scenario described in the previous commit:
an iterator loop with two paths where one ties r2/r7 via
shared scalar id and skips a call, while the other goes
through the call. Precision marks from the linked registers
get spuriously propagated to the call path via
propagate_precision(), hitting "backtracking call unexpected
regs" in backtrack_insn().

Signed-off-by: Eduard Zingerman <eddyz87 at gmail.com>
Link: https://lore.kernel.org/r/20260306-linked-regs-and-propagate-precision-v1-2-18e859be570d@gmail.com
Signed-off-by: Alexei Starovoitov <ast at kernel.org>

DeltaFile
+64-0tools/testing/selftests/bpf/progs/verifier_linked_scalars.c
+64-01 files

Linux/linux 2658a17kernel/bpf verifier.c, tools/testing/selftests/bpf/progs verifier_scalar_ids.c exceptions_assert.c

bpf: collect only live registers in linked regs

Fix an inconsistency between func_states_equal() and
collect_linked_regs():
- regsafe() uses check_ids() to verify that cached and current states
  have identical register id mapping.
- func_states_equal() calls regsafe() only for registers computed as
  live by compute_live_registers().
- clean_live_states() is supposed to remove dead registers from cached
  states, but it can skip states belonging to an iterator-based loop.
- collect_linked_regs() collects all registers sharing the same id,
  ignoring the marks computed by compute_live_registers().
  Linked registers are stored in the state's jump history.
- backtrack_insn() marks all linked registers for an instruction
  as precise whenever one of the linked registers is precise.

The above might lead to a scenario:
- There is an instruction I with register rY known to be dead at I.
- Instruction I is reached via two paths: first A, then B.

    [34 lines not shown]
DeltaFile
+42-14tools/testing/selftests/bpf/progs/verifier_scalar_ids.c
+17-17tools/testing/selftests/bpf/progs/exceptions_assert.c
+10-3kernel/bpf/verifier.c
+4-4tools/testing/selftests/bpf/verifier/precise.c
+73-384 files

Linux/linux 4ae12d8. Makefile, arch/x86/boot/compressed vmlinux.lds.S

Merge tag 'kbuild-fixes-7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux

Pull Kbuild fixes from Nathan Chancellor:

 - Split out .modinfo section from ELF_DETAILS macro, as that macro may
   be used in other areas that expect to discard .modinfo, breaking
   certain image layouts

 - Adjust genksyms parser to handle optional attributes in certain
   declarations, necessary after commit 07919126ecfc ("netfilter:
   annotate NAT helper hook pointers with __rcu")

 - Include resolve_btfids in external module build created by
   scripts/package/install-extmod-build when it may be run on external
   modules

 - Avoid removing objtool binary with 'make clean', as it is required
   for external module builds


    [5 lines not shown]
DeltaFile
+4-4Makefile
+5-3tools/objtool/Makefile
+3-1include/asm-generic/vmlinux.lds.h
+2-2scripts/genksyms/parse.y
+4-0scripts/package/install-extmod-build
+1-1arch/x86/boot/compressed/vmlinux.lds.S
+19-1125 files not shown
+44-1131 files

Linux/linux 591d879arch/s390/include/asm processor.h, arch/s390/lib xor.c

Merge tag 's390-7.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Vasily Gorbik:

 - Fix stackleak and xor lib inline asm, constraints and clobbers to
   prevent miscompilations and incomplete stack poisoning

* tag 's390-7.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/stackleak: Fix __stackleak_poison() inline assembly constraint
  s390/xor: Improve inline assembly constraints
  s390/xor: Fix xor_xc_2() inline assembly constraints
  s390/xor: Fix xor_xc_5() inline assembly
DeltaFile
+5-6arch/s390/lib/xor.c
+1-1arch/s390/include/asm/processor.h
+6-72 files