Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1752 commits
Select commit Hold shift + click to select a range
6be42f0
arm64: cpufeature: Enable BBML2 for NVIDIA Rigel
shankerd04 Oct 13, 2026
34fa781
Merge branches 'for-next/misc', 'for-next/be-gone', 'for-next/smccc-b…
ctmarinas Oct 15, 2026
d0de3a7
Merge branch 'for-next/fw-rmi' into for-next/core
ctmarinas Oct 15, 2026
2225ab3
smb: client: do not pass a NULL buf to is_oplock_break()
Eknight-Eutopia Oct 14, 2026
78f7398
smb: client: reclaim credits for decrypted reads with no matching mid
pcacjr Oct 15, 2026
868e752
mailmap: update entry for Gao Xiang
hsiangkao Oct 14, 2026
90b7e4a
erofs: use on-disk blkszbits for lz4 max pcluster bound
Oct 13, 2026
2f9efb1
gfs2: remove unnecessary check in gfs2_freeze_lock_shared
agruenba Oct 15, 2026
0b58c13
lib/crypto: poly1305: Use size_t length
Oct 14, 2026
e42003d
lib/crypto: chacha: Use size_t length
Oct 14, 2026
f921598
lib/crypto: arm/chacha: Handle lengths of 2 GiB or more in scalar code
Oct 14, 2026
ff2d72f
lib/crypto: mips/chacha: Handle lengths of 2 GiB or more
Oct 14, 2026
20ec691
lib/crypto: md5: remove unused header
raiz-deen Oct 16, 2026
6f88f6c
sched/psi: Remove the RCU wait from trigger destruction
shakeelb Oct 10, 2026
96a494c
sched/cputime: Don't account idle time twice after dyntick-idle
shalseth Oct 7, 2026
fcceb7d
sched/cache: Avoid publishing partial LLC utilization
jemmy512 Oct 13, 2026
0a94d0e
Revert "sched/fair: Remove dead code on enqueue_task_fair()"
Oct 15, 2026
b99b7f6
sched: Replace nr_iowait_cpu() with a bool accessor
cloehle Oct 16, 2026
f5a78ec
perf/x86: Don't WARN when the ext_regs_buf allocation fails
vineashovo Oct 13, 2026
9f61177
VFS: per-fs-type lockdep key for dentry in-lookup locking
neilbrown Oct 2, 2026
11f6be2
VFS: rename lookup_map to dep_map
neilbrown Oct 2, 2026
a5478f5
ovl: provide private lockdep class for dentry->dep_map
neilbrown Oct 2, 2026
8e16857
Merge patch series "Fixes for dentry lockdep tracking on stacking fil…
brauner Oct 16, 2026
c990057
cachefiles: Don't rely on backing fs storage map for most use cases
dhowells Sep 10, 2026
a91015b
cachefiles: Preset the state xattr when creating a new file
dhowells Sep 10, 2026
86bd123
Merge patch series "netfs, cachefiles: Changes for next, primarily oc…
brauner Sep 25, 2026
623de3a
netfs: remove unused fscache_internal.h header
EthanNelson-Moore Sep 18, 2026
9310c6d
cachefiles: Fix unset error when calling netfs_prepare_write_failed()
dhowells Sep 30, 2026
b6134f7
fscache, cachefiles: Fix resize handling
dhowells Oct 8, 2026
31fbbc8
VFS: d_duplicate: repair comments to avoid kernel-doc warnings
rddunlap Oct 1, 2026
d037d22
microblaze: Build userprogs for the correct endianness
t-8ch Sep 19, 2026
a7fdcb2
selftests/configfs: add tests for the userspace interface
leitao Aug 26, 2026
0a51cf5
samples/configfs: add a subsystem that accepts symlinks
leitao Aug 26, 2026
77b20a8
selftests/configfs: cover symlink and unlink
leitao Aug 26, 2026
6b1b324
selftests/configfs: race symlink against rmdir of the target
leitao Aug 26, 2026
e24fdc2
rust: configfs: remove mutability from some field initializers
t-8ch Jul 16, 2026
55389a4
configfs: Constify is_visible/is_visible_bin in configfs_group_operat…
t-8ch Jul 16, 2026
459d4b9
configfs: Treat attribute structures as const internally
t-8ch Jul 16, 2026
ee4f267
configfs: Constify configfs_bin_attribute
t-8ch Jul 16, 2026
f7528cd
configfs: Allow the registration of const struct configfs_attribute
t-8ch Jul 16, 2026
154f74a
samples: configfs: constify the configfs_attribute structures
t-8ch Jul 16, 2026
6c1fa55
Merge tag 'rust-configfs-for-v7.4-rc1' of https://git.kernel.org/pub/…
leitao Oct 16, 2026
1137aa5
erofs: enable iomap for file-backed mounts on unencoded inodes
hsiangkao Oct 17, 2026
3382bee
alpha: select ARCH_SUPPORTS_INT128
mattst88 Oct 17, 2026
a30d7be
alpha: select HAVE_ARCH_COMPILER_H
mattst88 Sep 5, 2026
94e71e5
alpha: select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
mattst88 Sep 5, 2026
965341a
alpha: add HAVE_ARCH_THREAD_STRUCT_WHITELIST support
mattst88 Sep 5, 2026
7ab5de8
alpha: add ARCH_HAS_PTE_SPECIAL support
mattst88 Sep 5, 2026
df26a8f
alpha: add ARCH_SUPPORTS_PAGE_TABLE_CHECK support
mattst88 Sep 5, 2026
533d4a1
alpha: select ARCH_HAS_DEBUG_VM_PGTABLE
mattst88 Sep 5, 2026
4f0a902
alpha: select HAVE_GUP_FAST
mattst88 Sep 5, 2026
4630bd7
alpha: select ARCH_USE_MEMTEST
mattst88 Sep 5, 2026
e517a17
alpha: select SYSCTL_EXCEPTION_TRACE
mattst88 Sep 5, 2026
27f48a2
alpha: discard .eh_frame and the relocation sections
mattst88 Sep 5, 2026
62fc469
alpha: select ARCH_WANT_LD_ORPHAN_WARN
mattst88 Sep 5, 2026
04e57b9
alpha: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
mattst88 Sep 5, 2026
0d4c9dd
alpha: select SPARSE_IRQ
mattst88 Sep 5, 2026
7d1b7e5
xz: add arch-specific tuning for alpha
mattst88 Oct 17, 2026
c437950
alpha: add self-extracting compressed kernel boot stub
mattst88 Oct 17, 2026
7fa247f
alpha: support the remaining kernel compression formats
mattst88 Oct 17, 2026
2ba84bf
alpha: replace dead links in Kconfig help text
mattst88 Oct 1, 2026
bcd2e0a
alpha: correct system descriptions in Kconfig help text
mattst88 Oct 1, 2026
d3851e5
alpha: link platform help text to the alphalinux.org wiki
mattst88 Oct 1, 2026
a2460bf
alpha: default NR_CPUS to 32 for Wildfire
mattst88 Oct 1, 2026
7d2d545
alpha: add missing page_table_check_pte_clear() to ptep_get_and_clear()
mattst88 Oct 8, 2026
4bef20b
alpha: handle VM_FAULT_HWPOISON in do_page_fault()
mattst88 Oct 8, 2026
5cea79a
alpha: describe the PTE read and write enable bits
mattst88 Oct 8, 2026
5072e72
alpha: define granularity hint PTE bits
mattst88 Oct 8, 2026
d25293b
alpha: align hugetlb mappings in arch_get_unmapped_area()
mattst88 Oct 8, 2026
8ba8994
alpha: implement hugetlb support
mattst88 Oct 8, 2026
9b8be19
alpha: load the MMU context when switch_mm() switches the current task
linmag7 Oct 10, 2026
020d2e7
alpha: run check_mmu_context() from finish_arch_post_lock_switch()
linmag7 Oct 10, 2026
0d92845
alpha: only use a targeted tbi() when the target mm is really current
linmag7 Oct 10, 2026
c0db730
alpha: invalidate the local context in flush_tlb_page()
linmag7 Oct 10, 2026
32f4dd4
alpha: fix the local TLB invalidate in flush_tlb_page()
linmag7 Oct 10, 2026
c825bf8
alpha: fix the local TLB invalidate in the UP flush_tlb_page()
linmag7 Oct 10, 2026
721bb7a
alpha: invalidate the local context in flush_tlb_mm()
linmag7 Oct 10, 2026
4244c55
alpha: invalidate the local context in flush_icache_user_page()
linmag7 Oct 10, 2026
16266d5
alpha: do not clear remote MMU contexts in migrate_flush_tlb_page()
linmag7 Oct 10, 2026
fe221b7
alpha: do not skip TLB shootdown IPIs for kthread-borrowed mms
linmag7 Oct 10, 2026
b9fad53
selftests/seccomp: add Alpha support to seccomp_bpf
linmag7 Oct 10, 2026
700ce4d
selftests/nolibc: explicitly disable position independent executables
t-8ch Oct 17, 2026
bceba44
alpha: fix stale user_stack_pointer()
mattst88 Oct 18, 2026
501bcb5
alpha: stop storing the user stack pointer in pt_regs
mattst88 Oct 18, 2026
c5280a5
alpha: use user_stack_pointer() in KSTK_ESP() and dump_elf_thread()
mattst88 Oct 18, 2026
9280e99
alpha: add HAVE_PERF_REGS and HAVE_PERF_USER_STACK_DUMP support
mattst88 Oct 18, 2026
1a85a03
alpha: fill in pc for software event samples
mattst88 Oct 18, 2026
2c8792d
alpha: move Tsunami machine check handling to err_tsunami.c
linmag7 Oct 8, 2026
6634cb1
alpha: describe the Tsunami system machine check frame
linmag7 Oct 8, 2026
a182df7
alpha: bound EV6 logout decoding by the processor area
linmag7 Oct 8, 2026
ea2b073
alpha: decode and acknowledge Tsunami system machine checks
linmag7 Oct 8, 2026
73b8c00
alpha: decode Clipper environmental events
linmag7 Oct 14, 2026
71cf964
alpha: add bounded Clipper console-log scanning
linmag7 Oct 14, 2026
5dbc181
Merge remote-tracking branches 'ras/edac-drivers' and 'ras/edac-misc'…
Oct 18, 2026
2180d11
nios2: ksyms: Declare __mulsi3 export
t-8ch Oct 19, 2026
def41b7
Merge tag 'ipc-7.4-rc1.misc' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Oct 20, 2026
e86d265
Merge tag 'namespace-7.4-rc1.misc' of git://git.kernel.org/pub/scm/li…
torvalds Oct 20, 2026
018cf9b
Merge tag 'kernel-7.4-rc1.signal' of git://git.kernel.org/pub/scm/lin…
torvalds Oct 20, 2026
355da27
Merge tag 'vfs-7.4-rc1.bfs' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Oct 20, 2026
b9a3eae
Merge tag 'vfs-7.4-rc1.bh' of git://git.kernel.org/pub/scm/linux/kern…
torvalds Oct 20, 2026
550a7e2
Merge tag 'vfs-7.4-rc1.binfmt' of git://git.kernel.org/pub/scm/linux/…
torvalds Oct 20, 2026
4effd80
Merge tag 'vfs-7.4-rc1.close_range' of git://git.kernel.org/pub/scm/l…
torvalds Oct 20, 2026
ada21d4
Merge tag 'vfs-7.4-rc1.coredump' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 20, 2026
a1d4585
Merge tag 'vfs-7.4-rc1.file' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Oct 20, 2026
00b04f4
Merge tag 'vfs-7.4-rc1.idmap' of git://git.kernel.org/pub/scm/linux/k…
torvalds Oct 20, 2026
27dd277
Merge tag 'vfs-7.4-rc1.iomap' of git://git.kernel.org/pub/scm/linux/k…
torvalds Oct 20, 2026
0ddc887
Merge tag 'vfs-7.4-rc1.kernfs' of git://git.kernel.org/pub/scm/linux/…
torvalds Oct 20, 2026
96a377b
Merge tag 'vfs-7.4-rc1.lookup' of git://git.kernel.org/pub/scm/linux/…
torvalds Oct 20, 2026
7ed37e9
Merge tag 'vfs-7.4-rc1.misc' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Oct 20, 2026
0cbcaf7
Merge tag 'vfs-7.4-rc1.mount' of git://git.kernel.org/pub/scm/linux/k…
torvalds Oct 20, 2026
2a49d49
Merge tag 'vfs-7.4-rc1.netfs' of git://git.kernel.org/pub/scm/linux/k…
torvalds Oct 20, 2026
a6656ae
Merge tag 'vfs-7.4-rc1.shared.net-next.pidfd' of git://git.kernel.org…
torvalds Oct 20, 2026
58aeff9
Merge tag 'vfs-7.4-rc1.shared.super' of git://git.kernel.org/pub/scm/…
torvalds Oct 20, 2026
f47d223
Merge tag 'vfs-7.4-rc1.sync_close' of git://git.kernel.org/pub/scm/li…
torvalds Oct 20, 2026
c313459
Merge tag 'microblaze-v7.4' of git://git.monstr.eu/linux-2.6-microblaze
torvalds Oct 20, 2026
303bff3
Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kern…
torvalds Oct 20, 2026
ae17101
Merge tag 'edac_updates_for_v7.4_rc1' of git://git.kernel.org/pub/scm…
torvalds Oct 20, 2026
95731ee
Merge tag 'x86_asm_for_v7.4_rc1' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 20, 2026
40082fb
Merge tag 'x86_boot_for_v7.4_rc1' of git://git.kernel.org/pub/scm/lin…
torvalds Oct 20, 2026
06ad059
Merge tag 'x86_bugs_for_v7.4_rc1' of git://git.kernel.org/pub/scm/lin…
torvalds Oct 20, 2026
f3b035b
Merge tag 'x86_cache_for_v7.4_rc1' of git://git.kernel.org/pub/scm/li…
torvalds Oct 20, 2026
1bd2400
Merge tag 'x86_cleanups_for_v7.4_rc1' of git://git.kernel.org/pub/scm…
torvalds Oct 20, 2026
42e6e6a
Merge tag 'x86_cpu_for_v7.4_rc1' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 20, 2026
dd8845d
Merge tag 'x86_fpu_for_v7.4_rc1' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 20, 2026
84568b9
Merge tag 'x86_platform_for_v7.4_rc1' of git://git.kernel.org/pub/scm…
torvalds Oct 20, 2026
0e13591
Merge tag 'x86_sev_for_v7.4_rc1' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 20, 2026
5d92881
Merge tag 'x86_kdump_for_7.4-rc1' of git://git.kernel.org/pub/scm/lin…
torvalds Oct 20, 2026
09789bc
Merge tag 'x86_microcode_for_7.4-rc1' of git://git.kernel.org/pub/scm…
torvalds Oct 20, 2026
568b457
Merge tag 'x86_mm_for_7.4-rc1' of git://git.kernel.org/pub/scm/linux/…
torvalds Oct 20, 2026
4a8bdff
Merge tag 'x86_tdx_for_7.4-rc1' of git://git.kernel.org/pub/scm/linux…
torvalds Oct 20, 2026
cb95904
Merge tag 'sched-core-2026-10-18' of git://git.kernel.org/pub/scm/lin…
torvalds Oct 20, 2026
776bb6d
Merge tag 'locking-core-2026-10-18' of git://git.kernel.org/pub/scm/l…
torvalds Oct 20, 2026
5b6dca0
Merge tag 'objtool-core-2026-10-18' of git://git.kernel.org/pub/scm/l…
torvalds Oct 20, 2026
4cbdd58
Merge tag 'perf-core-2026-10-18' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 20, 2026
6be53e2
Merge tag 'm68k-for-v7.4-tag1' of git://git.kernel.org/pub/scm/linux/…
torvalds Oct 21, 2026
ae3af2d
Merge tag 'nios2_update_for_v7.4_part_2' of git://git.kernel.org/pub/…
torvalds Oct 21, 2026
375d5d5
Merge tag 's390-7.4-1' of git://git.kernel.org/pub/scm/linux/kernel/g…
torvalds Oct 21, 2026
742f62b
Merge tag 'alpha-for-v7.4-tag' of git://git.kernel.org/pub/scm/linux/…
torvalds Oct 21, 2026
2a0d3d7
Merge tag 'for-linus-7.4-rc1-tag' of git://git.kernel.org/pub/scm/lin…
torvalds Oct 21, 2026
542fed2
Merge tag 'nolibc-20261018-for-7.4-1' of git://git.kernel.org/pub/scm…
torvalds Oct 21, 2026
14c8977
Merge tag 'docs-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git…
torvalds Oct 21, 2026
6303381
Merge tag 'cmpxchg-emu.2026.10.12b' of git://git.kernel.org/pub/scm/l…
torvalds Oct 21, 2026
e5d379e
Merge tag 'chrome-platform-v7.4' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 21, 2026
9e947d9
Merge tag 'chrome-platform-firmware-v7.4' of git://git.kernel.org/pub…
torvalds Oct 21, 2026
95615dd
Merge tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux…
torvalds Oct 21, 2026
fe178c2
Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscr…
torvalds Oct 21, 2026
9e73b18
Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsv…
torvalds Oct 21, 2026
1b8fc3d
Merge tag 'for-7.4-tag' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Oct 21, 2026
2f31ddd
Merge tag 'affs-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Oct 21, 2026
d28fb91
Merge tag 'nilfs2-v7.4-tag1' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Oct 21, 2026
dd7b15a
Merge tag 'hfs-v7.4-tag1' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Oct 21, 2026
32543b0
Merge tag 'cifs-for-7.4' of https://git.manguebit.org/linux
torvalds Oct 21, 2026
d4d9eb2
Merge tag 'configfs-7.4-rc1' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Oct 21, 2026
fefd797
Merge tag 'fsnotify_for_v7.4-rc1' of git://git.kernel.org/pub/scm/lin…
torvalds Oct 21, 2026
744e540
Merge tag 'fs_for_v7.4-rc1' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Oct 21, 2026
910a008
Merge tag 'gfs2-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Oct 21, 2026
75663f5
Merge tag 'xfs-merge-7.4' of git://git.kernel.org:/pub/scm/fs/xfs/xfs…
torvalds Oct 21, 2026
7b9498b
Merge tag 'erofs-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/k…
torvalds Oct 21, 2026
72a16bc
Merge tag 'dlm-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/…
torvalds Oct 21, 2026
bd94cd7
x86/hyperv: enable a Xen PV dom0 to use the L0 Hyper-V host
kaniini Jul 23, 2026
32861ea
Drivers: hv: use host frames for GPADLs and SynIC pages when nested o…
kaniini Jul 23, 2026
2d71150
drivers: hv: deliver the VMBus interrupt via a Xen VIRQ when nested o…
kaniini Jul 23, 2026
bb71573
hv_netvsc: DMA-map transmit pages when nested on Xen
kaniini Jul 23, 2026
2cfd11a
x86/hyperv: take vPCI device interrupts through Xen when nested on Xen
kaniini Jul 28, 2026
d30697e
drivers: hv: tear down the Xen VMBus interrupt bridge on unwind
kaniini Sep 17, 2026
a5847da
iommu/xen: Add Xen PV-IOMMU driver
azenla Sep 2, 2026
688dcf9
iommu/xen: Allow the PV-IOMMU driver in a guest
azenla Sep 2, 2026
a75493f
iommu/xen: Give the identity domain a type and ops
azenla Sep 2, 2026
d8663ec
iommu/dma: Don't reserve PCI windows under a paravirtual IOMMU
azenla Sep 2, 2026
47802b8
xen/pcifront: Let callers ask for a device's machine BDF
azenla Sep 2, 2026
7280054
iommu/xen: Default a PV guest to the identity context
azenla Sep 2, 2026
01c0a4c
PCI/MSI: don't write the MSI-X table in a Xen PV guest
azenla Sep 3, 2026
8e96841
iommu/xen: batch map subops over contiguous runs
azenla Sep 3, 2026
88e6da5
iommu/xen: do not claim the IOMMU itself
azenla Sep 3, 2026
1a2561b
x86/xen: disable the right interrupt type when tearing down MSI
azenla Sep 3, 2026
18962ed
iommu/xen: flush the IOTLB once per mapping, not once per subop
azenla Sep 3, 2026
63e3035
iommu/xen: restrict the PV-IOMMU driver to x86
kaniini Sep 17, 2026
ec9f2be
x86/topology: Tolerate lack of APIC when booting as Xen domU
azenla Apr 10, 2025
4548741
x86/CPU/AMD: avoid printing reset reasons on Xen domU
kaniini Sep 4, 2025
05e346f
x86/amd_node: fix integer divide by zero during init
tycho Nov 14, 2025
2d6836a
xen/evtchn: diagnose ring_overflow with post-barrier cons re-read
tycho Jul 20, 2026
cff8091
xen: add xen_mfn_to_node to resolve a foreign frame's host NUMA node
tycho Jul 20, 2026
9096842
xen: make xen_alloc_unpopulated_pages NUMA-aware
tycho Jul 20, 2026
edbdb9a
xen/grant-table: add gnttab_alloc_pages_node
tycho Jul 20, 2026
c4377e3
xen/events: add _on_node variants of the lateeoi bind helpers
tycho Jul 20, 2026
ef852f4
xen/xenbus: home ring mappings on the foreign frame's host node
tycho Jul 20, 2026
a675394
xen/xenbus: add xenbus_setup_ring_node for per-node ring allocation
tycho Jul 20, 2026
a8969da
xen-netback: place per-queue kthreads and IRQs near the ring
tycho Jul 20, 2026
a21734f
xen-blkback: place per-ring kthread and IRQ near the ring
tycho Jul 20, 2026
7130fdf
xen-netfront: place per-queue rings on per-queue nodes, with XPS
tycho Jul 20, 2026
8d93d5f
xen-blkfront: place per-ring buffers on per-hctx nodes
tycho Jul 20, 2026
c8e942a
xen/gntdev: home grant-map placeholder pages on the foreign frame's node
tycho Jul 20, 2026
bff37e3
xen: xlate_mmu: relocate remap_pfn utils
alexandermerritt May 27, 2026
bf3ed93
xen: xlate_mmu: batch gfn mappings
alexandermerritt May 27, 2026
32c760f
feat(xen): deflate balloon via oom notifier
alexandermerritt Aug 6, 2026
b5e0d89
firmware: qemu_fw_cfg: do not use the DMA interface on Xen PV
bleggett Aug 11, 2026
a9b7756
9p/xen: share one frontend across mounts and advertise it
azenla Jul 15, 2026
0349cec
security: Add openpax configuration menus
kaniini Jul 7, 2024
b88d0ef
xattr: add support for retrieving PaX flags stored in xattrs
kaniini Jul 7, 2024
16f7526
mm: add openpax flags, settable via atomics
kaniini Jul 7, 2024
4313a3e
mman: enforce MPROTECT when enabled for a task
kaniini Jul 7, 2024
e0a210b
elf: wire up setup for PaX flags
kaniini Jul 7, 2024
a4e0acc
security: openpax: add OPENPAX_SOFTMODE configuration knob
kaniini Jul 10, 2024
c3beb3f
documentation: add pax_softmode= to kernel parameters doc
kaniini Jul 10, 2024
4f4c695
init: add pax_softmode= kernel command-line option
kaniini Jul 10, 2024
fd68ecf
sysctl: wire up PaX softmode setting
kaniini Jul 10, 2024
a543ddd
elf: only enable PaX features by default if softmode is disabled
kaniini Jul 10, 2024
4d0d1c5
elf: enable PAXF_RANDMMAP if randomize_va_space > 0
kaniini Jul 11, 2024
14c8408
elf: use PAXF_RANDMMAP to control whether ASLR is enabled on a process
kaniini Jul 11, 2024
8fb5629
elf: allow executable stacks if PAXF_EMUTRAMP is enabled
kaniini Jul 11, 2024
bb1ce12
proc: display PaX status in procfs status entries
kaniini Jul 11, 2024
407d775
elf: only test for PAXF_RANDMMAP if OPENPAX is enabled
kaniini Jul 16, 2024
bb0a26c
security: add openpax EMUTRAMP config option
kaniini Jul 21, 2024
1c265fd
elf: simplify executable stack logic
kaniini Jul 21, 2024
35ff4f2
x86: fault: add openpax_fault_is_trampoline to detect if a page-fault…
kaniini Jul 22, 2024
88f09d9
x86: fault: add stack trampoline emulator
kaniini Jul 22, 2024
edac374
x86: fault: hook up stack trampoline emulator
kaniini Jul 22, 2024
0571d5f
security: openpax: add OPENPAX_EMUTRAMP_DEFAULT config option
kaniini Jul 22, 2024
06bf378
elf: enable EMUTRAMP by default if CONFIG_OPENPAX_EMUTRAMP_DEFAULT is…
kaniini Jul 22, 2024
068b7c4
arm64: determine stack entropy based on mmap entropy
thestinger May 22, 2017
766425f
x86: determine stack entropy based on mmap entropy
thestinger May 22, 2017
5df381c
mmap: further improve randomization of brk(2) addresses
kaniini Jul 23, 2024
289b1f4
exec: randomize argument block location
kaniini Jul 23, 2024
8cfa0b9
use maximum supported mmap rnd entropy by default
thestinger May 7, 2017
8971d95
elf: avoid double read of randomize_va_space in OpenPaX flag setup
kaniini Sep 13, 2024
0887f6f
init: provide pax_softmode symbol unconditionally
kaniini Oct 31, 2024
7cee8a1
xen/mem-reservation: add ordered populate
alexandermerritt Sep 24, 2026
7634fda
x86/xen: add batched helpers for remapping a contiguous pfn run
alexandermerritt Sep 24, 2026
cb8536f
xen/mem-reservation: add contiguous mapping helpers
alexandermerritt Sep 24, 2026
fb7758c
xen/balloon: inflate in 2 MiB blocks
alexandermerritt Sep 24, 2026
a7f555a
xen/balloon: deflate in 2 MiB blocks
alexandermerritt Sep 24, 2026
0ac79d1
xen/balloon: deflate 2 MiB blocks in the OOM path
alexandermerritt Sep 24, 2026
422a6f0
x86/xen: take the early CPU frequency from the hypervisor
azenla Aug 22, 2026
ce1f0b6
xen/xenbus: wake the boot device wait when a backend changes state
azenla Aug 22, 2026
590b0ed
automation: rebase edera/mainline onto Linus' tree nightly
kaniini Oct 8, 2026
cb014c9
automation: use REBASE_FEDERATION_RULE_ID for the rebase
kaniini Oct 8, 2026
34115ec
automation: trigger the edera/6.18-lts rebase nightly
kaniini Oct 9, 2026
07fa80f
security: openpax: disable OpenPaX by default
azenla Sep 26, 2026
fb311ca
automation: trigger the edera/6.18-lts backport when a PR merges
kaniini Oct 9, 2026
48e046b
iommu/xen: register before xen-pciback binds its devices
azenla Oct 10, 2026
d61c497
fix(xen/balloon): register the OOM deflate notifier only in domUs
alexandermerritt Oct 16, 2026
c609dc7
xen/balloon: add boot-time extra memory as 2 MiB blocks
alexandermerritt Oct 16, 2026
ab7dcb4
x86/xen: keep dom0's growth room on the balloon
alexandermerritt Oct 16, 2026
fe92b8b
9p/xen: wake ring-space waiters with wake_up()
azenla Oct 18, 2026
6e934d7
9p/xen: reconnect to the backend on resume
azenla Oct 18, 2026
efba450
9p/xen: carry the 9P session across a restore
azenla Oct 18, 2026
898624e
9p/xen: advertise session transfer to the toolstack
azenla Oct 18, 2026
a2f7238
x86/xen: include the Xen types before interface/memory.h
azenla Oct 19, 2026
499e4b7
xen/unpopulated-alloc: borrow from other nodes before carving a region
azenla Oct 19, 2026
1f045c1
xen/unpopulated-alloc: never hand out another node's pages from the n…
azenla Oct 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
247 changes: 247 additions & 0 deletions .automation/skills/upstream-rebase/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,247 @@
---
name: upstream-rebase
description: Nightly rebase of edera/mainline onto torvalds master, run unattended in CI by .github/workflows/upstream-rebase.yml. Covers the replay, conflict resolution, build checks, the audit of upstream fixes that meet the series, and the report the workflow publishes.
---

# Nightly upstream rebase

You are rebasing the Edera downstream kernel series (around 80 commits:
Hyper-V-nested-on-Xen, the Xen PV-IOMMU, NUMA-aware Xen backends, 2 MiB
ballooning, OpenPaX, and assorted fixes) on `edera/mainline` onto Linus'
tree. The goal is a replay that changes **nothing downstream**: every
difference in the final tree must come from the upstream delta alone. Where
that is impossible, because upstream and downstream touched the same code, you
resolve the conflict the way a careful kernel maintainer would and you say
exactly what you did.

This runs unattended. Nobody is watching while you work, and nobody can answer
a question. Everything a reviewer needs has to end up in the report.

## What happens to your result

You cannot push, and nothing you write can cause the branch to be pushed.
Your report can only stop it. When you finish, the workflow independently:

1. runs `verify-upstream-rebase.sh` against your branch, which checks from git
alone that the series sits on the upstream tip, is linear, lost or gained
no commit, and changed the tree by exactly the upstream delta;
2. builds x86_64 and arm64 `vmlinux` with `kernel-build.sh`, which turns on
every downstream feature as a built-in.

If all of that passes **and your report's "Needs a decision" section is
`None.` with nothing marked UNSURE anywhere** (checked by
`report-needs-decision.sh`), the downstream branch is force-pushed to your
branch. Otherwise your branch goes up as a pull request with your report as
the body, and a maintainer reads it.

So a question you raise is never lost to an automatic push. Raise one whenever
a maintainer should see something before the branch moves, even when the
rebase itself is clean, for example an upstream change that reaches a
downstream feature without touching the same lines. Do not use the word UNSURE
for anything else.

So: a conflict you resolve **will** show up as drift and **will** go to a
human. That is the intended outcome, not a failure. Do not try to make a
resolution look clean, and never drop, squash, reorder or reword a downstream
commit to get past the checks. A rebase that reaches review with an honest
report is a success; one that hides a judgement call is not.

## Inputs

The workflow gives you, in the prompt:

- `DOWNSTREAM`: the branch being rebased, `edera/mainline`.
- `OLD_TIP`: its current commit (already checked out).
- `UPSTREAM`: the upstream commit to rebase onto, fetched as the local branch
`upstream-target`.
- `RESULT`: the local branch name your result must end up on.
- `REPORT`: the path your report must be written to.

The automation's own scripts are in `.rebase-tools/scripts/`, copied from the
default branch. Use those, never a copy inside the tree you are rebasing: the
tree is what is under test.

### How to run commands here

Your shell commands are checked against an allowlist that matches the
command's first word. Shell variables, `$(...)`, `<(...)` and `VAR=x cmd`
prefixes will be refused, so in every snippet below `OLD_TIP`, `UPSTREAM`,
`RESULT`, `MB` and `<...>` are placeholders: substitute the literal SHA or
path, or a path you choose. Put scratch files, worktrees and build output
under `.rebase-scratch/` in the repository root (`mkdir -p .rebase-scratch`);
the kernel's `.gitignore` ignores it and nothing reads it after you.

This is a blobless clone: file contents are fetched from GitHub the first time
a command needs them, so the first `git log -p` or checkout over a range is
slower than you expect. That is not a hang.

## 1. Survey

```sh
git merge-base OLD_TIP UPSTREAM # call the result MB
git rev-list --count --no-merges MB..OLD_TIP # downstream commits
git log --oneline --no-merges MB..UPSTREAM # what is new upstream
```

The upstream range is large (a few days of mainline, far more during a merge
window), so do not read it all. Find where it meets the
series:

```sh
git diff --name-only --output=.rebase-scratch/down.files MB..OLD_TIP
git diff --name-only --output=.rebase-scratch/up.files MB..UPSTREAM
comm -12 .rebase-scratch/down.files .rebase-scratch/up.files # both sorted already
git log --oneline --no-merges MB..UPSTREAM -- <each shared path>
```

Read the messages and diffs of those upstream commits. They are where a
textually clean replay can still be semantically wrong: a helper downstream
calls that changed its locking or return convention, a struct field that
moved, a Kconfig symbol that was renamed. Note them; you come back to them in
step 4.

The series may contain a merge commit from an old pull request. Rebasing
flattens it into its commits, which is expected and the checker accepts it;
do not use `--rebase-merges`.

## 2. Rebase

```sh
git switch -c RESULT OLD_TIP
git rebase --onto UPSTREAM MB RESULT
```

When a commit conflicts:

- Read the upstream change that caused it **and** the downstream commit's
intent (its message, and the rest of its diff). Resolve so the downstream
commit does what it did before, on top of what upstream now does.
- Upstream wins on fixes. If an upstream fix changed the code a downstream
commit edits, keep every check, lock, ordering constraint and error path
the fix introduced, and fit the downstream change around it.
- If upstream now contains the downstream change itself (it was upstreamed,
perhaps through a subsystem tree), let the downstream commit go empty and
let git drop it. Record that, with the upstream commit.
- If you cannot tell what the right resolution is, do not guess silently. Make
the most conservative resolution you can defend, mark it **UNSURE** in the
report, and explain both readings.
- Never use `-X ours`, `-X theirs`, `--skip`, or `git checkout --ours/--theirs`
on a whole file to make a conflict go away.

For each conflict, record: the downstream commit (subject), the files, the
upstream commit it collided with, and in a sentence or two what you kept and
why.

## 3. Build

The workflow re-runs these builds itself, but run them here so you can fix
what your resolutions broke. Each takes a while; run them once the rebase is
complete, not after every commit.

```sh
bash .rebase-tools/scripts/kernel-build.sh x86_64 .rebase-scratch/obj-x86 4
bash .rebase-tools/scripts/kernel-build.sh arm64 .rebase-scratch/obj-arm64 4
```

Exit status 3 means a downstream option no longer survives `olddefconfig`:
upstream renamed or re-depended a Kconfig symbol the series relies on (or that
the build script names). Find out which, and say so in the report; if the
build script's list is what is stale, that is a **Needs a decision** item,
not something to work around.

If a build fails because of the rebase (a resolution, or an upstream change a
downstream commit has not caught up with), fix it **in the downstream commit
that is wrong**. Interactive editors do not work here, so drive the todo list
with sed: `git -c sequence.editor="sed -i 's/^pick <sha>/edit <sha>/'" rebase
-i UPSTREAM`, amend, then `git rebase --continue`. Do not add a fix-up commit
on top unless there is no single commit it belongs to; if you must, its
subject starts with `rebase: ` and the report says why.

If a build fails on the pristine upstream tree too, it is not yours: build
UPSTREAM the same way in a `.rebase-scratch/` worktree to confirm, and report
it as pre-existing.

## 4. Audit what upstream brought in

For every upstream commit flagged in step 1, check that its change **survived
the replay**. Ancestry is not enough: a downstream commit replayed on top can
edit the very lines a fix added.

Give fixes the most attention: anything with a `Fixes:` tag, a `CVE-`
reference, or `Cc: stable`. For each one that touched a file the series also
touches:

```sh
git log --oneline UPSTREAM..RESULT -- <files the fix touched>
```

If that returns anything, read the **final tree**, not the commit graph:
confirm the fix's checks and ordering are intact and that downstream code
added after it is covered by them. Grep tree-wide for any function or flag
the fix deliberately removed, in case a downstream commit brought it back.

Also look for semantic collisions that did not conflict: an upstream change
to a function's contract (locking, refcounting, return values, a new required
call) where a downstream commit calls that function. Each one you cannot rule
out is an UNSURE item.

## 5. Check yourself

Run the same checker the workflow will run, so the report can explain its
result rather than be surprised by it:

```sh
bash .rebase-tools/scripts/verify-upstream-rebase.sh OLD_TIP RESULT UPSTREAM
```

Every drift line and every changed commit it lists must be accounted for in
your report by a conflict resolution, a dropped-empty commit or a build fix.
If one is not, you made a change you did not mean to: find it and undo it.

## 6. Report

Write the report to the `REPORT` path, in Markdown. It becomes a pull request
body when a human has to look, so lead with what they must decide. No
preamble, no sign-off.

```markdown
## Summary
One paragraph: the tree, upstream range (N commits, short SHAs and the
`git describe` of each end), downstream commits replayed, conflicts resolved,
commits dropped, and whether you expect the checker to pass.

## Needs a decision
One bullet per question, each starting **UNSURE:**, with both readings and
what you committed. "None." if there is nothing; anything else here stops the
automatic push.

## Conflicts resolved
Per conflict: downstream commit, files, colliding upstream commit, what you
kept and why. "None." if none.

## Dropped downstream commits
Subject and the upstream commit that made it empty. "None." if none.

## Build fixes
What broke, which commit you fixed it in, why. "None." if none.

## Upstream commits that meet the series
`short-sha subject` for each upstream commit that touched a file the series
touches, and for each fix among them your reading of the final tree. "None."
if none.

## Builds
x86_64, arm64: pass, fail (with the first error), or pre-existing failure
(confirmed on pristine upstream).
```

Then stop. Leave RESULT checked out or not; the workflow reads the branch,
not the working tree.

## If you cannot finish

If the rebase cannot be completed (a conflict you cannot resolve at all, a
toolchain that will not run), run `git rebase --abort`, do not create the
RESULT branch, and write the report explaining where you stopped and why. The
workflow treats a missing RESULT branch as a failed night and opens an issue
with your report.
93 changes: 93 additions & 0 deletions .github/scripts/kernel-build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#!/usr/bin/env bash
# Builds the kernel the way the nightly automation judges a branch.
#
# defconfig alone compiles almost none of the Edera series: Hyper-V nesting,
# Xen dom0 and backends, the PV-IOMMU, OpenPaX and the NUMA-aware Xen paths
# are all off in it. This turns them on as built-ins and builds vmlinux, so a
# replay that breaks any of them, or links against a symbol upstream removed,
# fails here. Building only a subdirectory would miss those link errors.
#
# The rebase skill runs this same script before they finish, so
# what Claude checks and what the workflow checks cannot drift apart.
#
# Usage:
# kernel-build.sh <x86_64|arm64> <objdir> [jobs]
#
# Run from the top of a kernel tree. <objdir> is created if missing and may be
# reused between runs. For arm64 it uses CROSS_COMPILE (default
# aarch64-linux-gnu-) unless LLVM is set, in which case it builds with clang.
#
# Exit status: make's on a build failure; 3 if an option it asked for did not
# survive olddefconfig (a Kconfig dependency the series no longer satisfies).

set -euo pipefail

if [ $# -lt 2 ] || [ $# -gt 3 ]; then
echo "usage: $0 <x86_64|arm64> <objdir> [jobs]" >&2
exit 2
fi
arch=$1
objdir=$2
jobs=${3:-$(nproc)}

common=(
XEN XEN_BACKEND XEN_DOM0 XEN_BALLOON XEN_GNTDEV XEN_GRANT_DEV_ALLOC
NUMA ACPI_NUMA MEMORY_HOTPLUG MEMORY_HOTREMOVE ZONE_DEVICE
XEN_UNPOPULATED_ALLOC XEN_BACKEND_NUMA_AFFINITY
XEN_NETDEV_FRONTEND XEN_NETDEV_BACKEND XEN_BLKDEV_FRONTEND XEN_BLKDEV_BACKEND
NET_9P NET_9P_XEN 9P_FS
DRM DRM_VIRTIO_GPU FW_CFG_SYSFS
SECURITY OPENPAX OPENPAX_SOFTMODE OPENPAX_XATTR_PAX_FLAGS OPENPAX_MPROTECT
OPENPAX_EMUTRAMP
)
case $arch in
x86_64)
karch=x86
# make reads LLVM from the environment; x86 is always the gcc build.
unset LLVM
cross=()
opts=(
"${common[@]}"
HYPERVISOR_GUEST PARAVIRT XEN_PV XEN_PVHVM_GUEST PCI_XEN
XEN_PCIDEV_FRONTEND XEN_PCIDEV_BACKEND XEN_IOMMU
HYPERV HYPERV_VMBUS HYPERV_NET PCI_HYPERV PCI_HYPERV_INTERFACE
)
;;
arm64)
karch=arm64
if [ -n "${LLVM:-}" ]; then
cross=(LLVM=1)
else
cross=(CROSS_COMPILE="${CROSS_COMPILE:-aarch64-linux-gnu-}")
fi
opts=("${common[@]}")
;;
*)
echo "unknown arch: $arch" >&2
exit 2
;;
esac

mkdir -p "$objdir"
mk() { make -s ARCH="$karch" "${cross[@]}" O="$objdir" "$@"; }

mk defconfig
enable=()
for o in "${opts[@]}"; do enable+=(--enable "$o"); done
scripts/config --file "$objdir/.config" "${enable[@]}"
mk olddefconfig

# scripts/config writes whatever it is told; olddefconfig then quietly drops
# anything whose dependencies are not met. Catch that, or a Kconfig change
# could switch a downstream feature off without failing the build.
lost=()
for o in "${opts[@]}"; do
grep -qx "CONFIG_$o=y" "$objdir/.config" || lost+=("$o")
done
if [ "${#lost[@]}" -ne 0 ]; then
echo "kernel-build: not enabled after olddefconfig ($arch): ${lost[*]}" >&2
exit 3
fi

mk -j"$jobs" vmlinux
echo "kernel-build: $arch vmlinux built in $objdir"
51 changes: 51 additions & 0 deletions .github/scripts/report-needs-decision.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env bash
# Decides whether the nightly rebase report asks a human for a decision.
#
# The upstream-rebase skill tells Claude to list anything it was unsure about
# under a "## Needs a decision" section, each item marked UNSURE. A rebase can
# be clean by every mechanical measure (no drift, builds pass) and still raise
# such a question: an upstream change that interacts with a downstream feature
# without touching the same lines. The workflow does not push those
# automatically; it opens a pull request so a maintainer sees the question
# before the branch moves.
#
# The report counts as asking for a decision when either:
# - its "Needs a decision" section has any content other than "None.", or
# - any line marks something UNSURE.
# Both err towards a pull request: a stray "UNSURE" costs one review, a missed
# question costs an unreviewed kernel change.
#
# Usage:
# report-needs-decision.sh <report.md>
#
# Prints the section's content when it asks for a decision. Exit status:
# 0 a decision is needed
# 1 no decision is needed
# 2 the report cannot be read

set -euo pipefail

if [ $# -ne 1 ] || [ ! -r "$1" ]; then
echo "usage: $0 <report.md>" >&2
exit 2
fi

awk '
BEGIN { insec = 0; body = ""; unsure = 0 }
/UNSURE/ { unsure = 1 }
/^##?[ \t]/ {
if (tolower($0) ~ /^##?[ \t]+needs a decision[ \t]*$/) { insec = 1; next }
insec = 0
}
insec {
line = $0
gsub(/^[ \t]+|[ \t]+$/, "", line)
if (line == "") next
if (tolower(line) ~ /^(_?none\.?_?|n\/a\.?)$/) next
body = body $0 "\n"
}
END {
if (body != "" || unsure) { printf "%s", body; exit 0 }
exit 1
}
' "$1"
Loading