Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2460 commits
Select commit Hold shift + click to select a range
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
5a44bb4
Merge branches 'acpica' and 'acpi-thermal'
rafaeljw Oct 19, 2026
8669f2b
Merge branch 'acpi-driver'
rafaeljw Oct 19, 2026
c0931ad
Merge branches 'acpi-battery', 'acpi-sbs', 'acpi-button' and 'acpi-vi…
rafaeljw Oct 19, 2026
84c4409
Merge branches 'acpi-pcc', 'acpi-numa', 'acpi-pfrut', 'acpi-misc' and…
rafaeljw Oct 19, 2026
2da80f2
Merge branch 'acpi-cppc'
rafaeljw Oct 19, 2026
eece15c
Merge branch 'pm-cpufreq'
rafaeljw Oct 19, 2026
2f0ba6f
Merge branches 'pm-cpuidle' and 'pm-powercap'
rafaeljw Oct 19, 2026
dc2021e
Merge branch 'pm-runtime'
rafaeljw Oct 19, 2026
6c326a5
Merge branches 'pm-sleep', 'pm-em', 'pm-cpu', 'pm-misc' and 'pm-tools'
rafaeljw Oct 19, 2026
b28d25b
Merge branches 'thermal-intel', 'thermal-docs' and 'thermal-misc'
rafaeljw Oct 19, 2026
503bb6e
Merge branch 'thermal-drivers'
rafaeljw Oct 19, 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
5c85901
signal: use scoped user access for old-style sigaction
torvalds Oct 20, 2026
b040da2
signal: use scoped user access in __save_altstack()
torvalds Oct 20, 2026
ae78eff
compat: use scoped user access in get_compat_sigevent()
torvalds Oct 20, 2026
edc483b
ptrace: use plain get_user()/put_user() for the regset iovec
torvalds Oct 20, 2026
678a029
uprobes: Use get_user() in is_trap_at_addr()
torvalds Oct 20, 2026
9ef61ff
syscall_user_dispatch: Use get_user() for the selector
torvalds Oct 20, 2026
94905fc
bpf: Use get_user() for kprobe_multi symbols and uprobe_multi arrays
torvalds Oct 20, 2026
4e60e85
net: use put_user() for msghdr results written back to user space
torvalds Oct 20, 2026
2806617
x86/entry: Use get_user() for the fast 32-bit syscall EBP fetch
torvalds Oct 20, 2026
9da9f34
x86/signal: Use scoped user access in the sigreturn system calls
torvalds Oct 20, 2026
7941b97
x86/stacktrace: Use scoped user access in copy_stack_frame()
torvalds Oct 20, 2026
0f697d3
perf/x86: Use scoped user access for the user callchain frames
torvalds Oct 20, 2026
05c6ad3
x86/ptrace: Use get_user() in the general register set writers
torvalds Oct 20, 2026
a7de2d2
x86/fpu: Use get_user()/put_user() for the signal frame fields
torvalds Oct 20, 2026
41c83ae
x86/xen: Fix a stale __get_user() reference in a comment
torvalds Oct 20, 2026
8d1cec6
drivers/char/mem: use get_user()/put_user() for /dev/port byte copies
torvalds Oct 20, 2026
198db29
PCI/proc: Use get_user()/put_user() for config space reads and writes
torvalds Oct 20, 2026
d128005
PNP: isapnp: use put_user() in the proc read loop
torvalds Oct 20, 2026
e0d5fa9
ubi: use put_user() when filling the erase counter array
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
05fb07c
vdpa_sim: disable page faults around vringh_need_notify_iotlb()
torvalds Oct 20, 2026
95a214f
vhost: vringh: use get_user()/put_user() for IOTLB 16-bit accesses
torvalds Oct 20, 2026
7389890
xen: use get_user()/put_user() in gntdev and privcmd
torvalds Oct 20, 2026
03c19e4
drm/i915/gem: Don't fault on presumed_offset write-back
torvalds Oct 20, 2026
3a609ff
drm/i915/gem: Use get_user()/put_user() where no locks are held
torvalds Oct 20, 2026
0c5db8a
char: nwflash: use get_user() in write_block()
torvalds Oct 20, 2026
7170bd7
macintosh: ans-lcd: use get_user() for reading user bytes
torvalds Oct 20, 2026
5d64749
x86/sev: Use explicit user-or-kernel accessors for #VC memory operands
torvalds Oct 20, 2026
f748af3
x86/uaccess: Remove __get_user() and __put_user()
torvalds Oct 20, 2026
ae17101
Merge tag 'edac_updates_for_v7.4_rc1' of git://git.kernel.org/pub/scm…
torvalds Oct 20, 2026
ef9a9b6
alpha: use scoped user access in osf_sigaction()
torvalds Oct 20, 2026
9622c1b
alpha: use scoped user access in the sigreturn path
torvalds Oct 20, 2026
872df69
alpha: use scoped user access when setting up signal frames
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
cdb6b49
hexagon: use scoped user access for the signal frame
torvalds Oct 20, 2026
1d82db2
nios2: check the signal frame address before writing to it
torvalds Oct 20, 2026
939e5a4
nios2: use scoped user access for the signal frame
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
8eb93b8
alpha: use get_kernel_nofault() in dik_show_code()
torvalds Oct 20, 2026
5a36c24
openrisc: use get_kernel_nofault() in show_registers()
torvalds Oct 20, 2026
7318a05
alpha: split the prefetch check in do_page_fault() by mode
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
0a4e3e9
ARM: signal: check the FDPIC function descriptor address
torvalds Oct 20, 2026
600740a
ARM: signal: stop using __put_user() for the signal frame
torvalds Oct 20, 2026
48e5959
ARM: OABI: use scoped user access in epoll_put_uevent()
torvalds Oct 20, 2026
bb4e937
s390: use get_user()/put_user() instead of the unchecked variants
torvalds Oct 20, 2026
05b163d
powerpc/powernv: use get_user()/put_user() in the LPC debugfs files
torvalds Oct 20, 2026
a79bb50
KVM: PPC: Book3S HV: use get_user()/put_user() for the HPT fd
torvalds Oct 20, 2026
cc3ff64
powerpc/signal32: use get_user() for the single context reads
torvalds Oct 20, 2026
2f0bb47
powerpc/signal64: use get_user() for the single context reads
torvalds Oct 20, 2026
52907f0
powerpc/signal64: use scoped user access in setup_trampoline()
torvalds Oct 20, 2026
5dcf330
powerpc/align: use get_user_instr() for a user-mode instruction
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
2c455dd
smb client: fix mis-merge with fileattr_set taking a const idmap
torvalds Oct 21, 2026
0d508d4
Merge tag 'audit-pr-20261016' of git://git.kernel.org/pub/scm/linux/k…
torvalds Oct 21, 2026
331eadd
Merge tag 'selinux-pr-20261015' of git://git.kernel.org/pub/scm/linux…
torvalds Oct 21, 2026
a804c57
Merge tag 'lsm-pr-20261016' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Oct 21, 2026
14b482c
drm/i915/gem: ignore errors on presumed_offset write-back
torvalds Oct 21, 2026
22a78a2
Merge __{get,put}_user() removal branch
torvalds Oct 21, 2026
9ba46df
Merge tag 'bitmap-for-v7.4-rc1' of https://github.com/norov/linux
torvalds Oct 21, 2026
a7f2bc8
Merge tag 'rcu.2026.10.12b' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Oct 21, 2026
12d5fc9
Merge tag 'rust-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git…
torvalds Oct 21, 2026
bb29b95
Merge tag 'kbuild-7.4-1' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Oct 21, 2026
a56a18c
Merge tag 'csd-lock.2026.10.12a' of git://git.kernel.org/pub/scm/linu…
torvalds Oct 21, 2026
1fbe92c
Merge tag 'irq-core-2026-10-20' of git://git.kernel.org/pub/scm/linux…
torvalds Oct 21, 2026
2e973d4
Merge tag 'irq-drivers-2026-10-20' of git://git.kernel.org/pub/scm/li…
torvalds Oct 21, 2026
b4460f8
Merge tag 'timers-clocksource-2026-10-20' of git://git.kernel.org/pub…
torvalds Oct 21, 2026
aaf3d47
Merge tag 'timers-core-2026-10-20' of git://git.kernel.org/pub/scm/li…
torvalds Oct 21, 2026
1ae0ee1
Merge tag 'timers-nohz-2026-10-20' of git://git.kernel.org/pub/scm/li…
torvalds Oct 21, 2026
ccc4d9f
Merge tag 'timers-vdso-2026-10-20' of git://git.kernel.org/pub/scm/li…
torvalds Oct 21, 2026
4df4d2a
Merge tag 'acpi-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Oct 21, 2026
df37e39
Merge tag 'pm-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g…
torvalds Oct 22, 2026
4403278
Merge tag 'thermal-7.4-rc1' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Oct 22, 2026
16a092f
x86/hyperv: enable a Xen PV dom0 to use the L0 Hyper-V host
kaniini Jul 23, 2026
6efe57d
Drivers: hv: use host frames for GPADLs and SynIC pages when nested o…
kaniini Jul 23, 2026
8c4dfa7
drivers: hv: deliver the VMBus interrupt via a Xen VIRQ when nested o…
kaniini Jul 23, 2026
e42df1a
hv_netvsc: DMA-map transmit pages when nested on Xen
kaniini Jul 23, 2026
fb6a97c
x86/hyperv: take vPCI device interrupts through Xen when nested on Xen
kaniini Jul 28, 2026
c6a0c69
drivers: hv: tear down the Xen VMBus interrupt bridge on unwind
kaniini Sep 17, 2026
cfbaedc
iommu/xen: Add Xen PV-IOMMU driver
azenla Sep 2, 2026
8b85b23
iommu/xen: Allow the PV-IOMMU driver in a guest
azenla Sep 2, 2026
f277a73
iommu/xen: Give the identity domain a type and ops
azenla Sep 2, 2026
f51f42f
iommu/dma: Don't reserve PCI windows under a paravirtual IOMMU
azenla Sep 2, 2026
8f59d6c
xen/pcifront: Let callers ask for a device's machine BDF
azenla Sep 2, 2026
8d4347b
iommu/xen: Default a PV guest to the identity context
azenla Sep 2, 2026
83a0c62
PCI/MSI: don't write the MSI-X table in a Xen PV guest
azenla Sep 3, 2026
8210e13
iommu/xen: batch map subops over contiguous runs
azenla Sep 3, 2026
864cbcb
iommu/xen: do not claim the IOMMU itself
azenla Sep 3, 2026
cf1e7f4
x86/xen: disable the right interrupt type when tearing down MSI
azenla Sep 3, 2026
92f3567
iommu/xen: flush the IOTLB once per mapping, not once per subop
azenla Sep 3, 2026
b16269b
iommu/xen: restrict the PV-IOMMU driver to x86
kaniini Sep 17, 2026
fe2a5d3
x86/topology: Tolerate lack of APIC when booting as Xen domU
azenla Apr 10, 2025
987d076
x86/CPU/AMD: avoid printing reset reasons on Xen domU
kaniini Sep 4, 2025
f9176c1
x86/amd_node: fix integer divide by zero during init
tycho Nov 14, 2025
e430346
xen/evtchn: diagnose ring_overflow with post-barrier cons re-read
tycho Jul 20, 2026
3e3c30b
xen: add xen_mfn_to_node to resolve a foreign frame's host NUMA node
tycho Jul 20, 2026
ba3f325
xen: make xen_alloc_unpopulated_pages NUMA-aware
tycho Jul 20, 2026
47328b9
xen/grant-table: add gnttab_alloc_pages_node
tycho Jul 20, 2026
ff69efd
xen/events: add _on_node variants of the lateeoi bind helpers
tycho Jul 20, 2026
2c97b10
xen/xenbus: home ring mappings on the foreign frame's host node
tycho Jul 20, 2026
0da34be
xen/xenbus: add xenbus_setup_ring_node for per-node ring allocation
tycho Jul 20, 2026
1631f2a
xen-netback: place per-queue kthreads and IRQs near the ring
tycho Jul 20, 2026
a5e0a69
xen-blkback: place per-ring kthread and IRQ near the ring
tycho Jul 20, 2026
de439f2
xen-netfront: place per-queue rings on per-queue nodes, with XPS
tycho Jul 20, 2026
ff77b7e
xen-blkfront: place per-ring buffers on per-hctx nodes
tycho Jul 20, 2026
77e4bd8
xen/gntdev: home grant-map placeholder pages on the foreign frame's node
tycho Jul 20, 2026
e9964c7
xen: xlate_mmu: relocate remap_pfn utils
alexandermerritt May 27, 2026
0ef8181
xen: xlate_mmu: batch gfn mappings
alexandermerritt May 27, 2026
29b276e
feat(xen): deflate balloon via oom notifier
alexandermerritt Aug 6, 2026
32f6257
firmware: qemu_fw_cfg: do not use the DMA interface on Xen PV
bleggett Aug 11, 2026
969f5f0
9p/xen: share one frontend across mounts and advertise it
azenla Jul 15, 2026
c2e3a26
security: Add openpax configuration menus
kaniini Jul 7, 2024
926892c
xattr: add support for retrieving PaX flags stored in xattrs
kaniini Jul 7, 2024
7421567
mm: add openpax flags, settable via atomics
kaniini Jul 7, 2024
1d430ed
mman: enforce MPROTECT when enabled for a task
kaniini Jul 7, 2024
c6160d9
elf: wire up setup for PaX flags
kaniini Jul 7, 2024
0edc8d6
security: openpax: add OPENPAX_SOFTMODE configuration knob
kaniini Jul 10, 2024
605b8e0
documentation: add pax_softmode= to kernel parameters doc
kaniini Jul 10, 2024
81c4dbf
init: add pax_softmode= kernel command-line option
kaniini Jul 10, 2024
dde1909
sysctl: wire up PaX softmode setting
kaniini Jul 10, 2024
1a8acff
elf: only enable PaX features by default if softmode is disabled
kaniini Jul 10, 2024
564e586
elf: enable PAXF_RANDMMAP if randomize_va_space > 0
kaniini Jul 11, 2024
dad464f
elf: use PAXF_RANDMMAP to control whether ASLR is enabled on a process
kaniini Jul 11, 2024
10fccec
elf: allow executable stacks if PAXF_EMUTRAMP is enabled
kaniini Jul 11, 2024
2dc6341
proc: display PaX status in procfs status entries
kaniini Jul 11, 2024
3473bc3
elf: only test for PAXF_RANDMMAP if OPENPAX is enabled
kaniini Jul 16, 2024
0e6f9a7
security: add openpax EMUTRAMP config option
kaniini Jul 21, 2024
9e233ed
elf: simplify executable stack logic
kaniini Jul 21, 2024
c81c386
x86: fault: add openpax_fault_is_trampoline to detect if a page-fault…
kaniini Jul 22, 2024
b52dd6c
x86: fault: add stack trampoline emulator
kaniini Jul 22, 2024
eb719a5
x86: fault: hook up stack trampoline emulator
kaniini Jul 22, 2024
5f7d53c
security: openpax: add OPENPAX_EMUTRAMP_DEFAULT config option
kaniini Jul 22, 2024
3bf5ac9
elf: enable EMUTRAMP by default if CONFIG_OPENPAX_EMUTRAMP_DEFAULT is…
kaniini Jul 22, 2024
ba1adc2
arm64: determine stack entropy based on mmap entropy
thestinger May 22, 2017
7b801d9
x86: determine stack entropy based on mmap entropy
thestinger May 22, 2017
01c3f77
mmap: further improve randomization of brk(2) addresses
kaniini Jul 23, 2024
44340ad
exec: randomize argument block location
kaniini Jul 23, 2024
17598a2
use maximum supported mmap rnd entropy by default
thestinger May 7, 2017
3a0f736
elf: avoid double read of randomize_va_space in OpenPaX flag setup
kaniini Sep 13, 2024
c556f75
init: provide pax_softmode symbol unconditionally
kaniini Oct 31, 2024
38ff1f3
xen/mem-reservation: add ordered populate
alexandermerritt Sep 24, 2026
bd1f256
x86/xen: add batched helpers for remapping a contiguous pfn run
alexandermerritt Sep 24, 2026
3b88037
xen/mem-reservation: add contiguous mapping helpers
alexandermerritt Sep 24, 2026
c598b24
xen/balloon: inflate in 2 MiB blocks
alexandermerritt Sep 24, 2026
6cdce84
xen/balloon: deflate in 2 MiB blocks
alexandermerritt Sep 24, 2026
285352e
xen/balloon: deflate 2 MiB blocks in the OOM path
alexandermerritt Sep 24, 2026
c7f8140
x86/xen: take the early CPU frequency from the hypervisor
azenla Aug 22, 2026
5da55da
xen/xenbus: wake the boot device wait when a backend changes state
azenla Aug 22, 2026
d2e5216
automation: rebase edera/mainline onto Linus' tree nightly
kaniini Oct 8, 2026
8569a1e
automation: use REBASE_FEDERATION_RULE_ID for the rebase
kaniini Oct 8, 2026
8ea377c
automation: trigger the edera/6.18-lts rebase nightly
kaniini Oct 9, 2026
11d3152
security: openpax: disable OpenPaX by default
azenla Sep 26, 2026
9f60053
automation: trigger the edera/6.18-lts backport when a PR merges
kaniini Oct 9, 2026
c07705b
iommu/xen: register before xen-pciback binds its devices
azenla Oct 10, 2026
f3f533f
fix(xen/balloon): register the OOM deflate notifier only in domUs
alexandermerritt Oct 16, 2026
fcbe0c2
xen/balloon: add boot-time extra memory as 2 MiB blocks
alexandermerritt Oct 16, 2026
9e4f6e3
x86/xen: keep dom0's growth room on the balloon
alexandermerritt Oct 16, 2026
7efa595
9p/xen: wake ring-space waiters with wake_up()
azenla Oct 18, 2026
172d420
9p/xen: reconnect to the backend on resume
azenla Oct 18, 2026
e8b2346
9p/xen: carry the 9P session across a restore
azenla Oct 18, 2026
667c410
9p/xen: advertise session transfer to the toolstack
azenla Oct 18, 2026
80f8126
x86/xen: include the Xen types before interface/memory.h
azenla Oct 19, 2026
ae8152a
xen/unpopulated-alloc: borrow from other nodes before carving a region
azenla Oct 19, 2026
f34bd0f
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