Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1982 commits
Select commit Hold shift + click to select a range
57492da
genirq/kexec: Do not take the bus lock of an interrupt chip on the cr…
iav Oct 15, 2026
9a62816
veth: fix stale peer max_mtu on XDP program replacement
Oct 20, 2026
6252388
scsi: ufs: bsg: Complete the job on error
stanley-jhu Oct 15, 2026
a3e6b9d
scsi: ufs: bsg: Clear the reply buffer before use
stanley-jhu Oct 15, 2026
657a3f1
scsi: ufs: core: Clear stale UIC result byte before peer DME retries
stanley-jhu Oct 15, 2026
e89d8e7
scsi: libiscsi_tcp: Prevent R2T range check overflow
Oct 19, 2026
3c9620a
scsi: ufs: core: Remove an always-false WARN_ONCE()
stanley-jhu Oct 22, 2026
5e208e3
scsi: ufs: core: Remove completed-without-interrupt path in ufshcd_ab…
stanley-jhu Oct 22, 2026
e93fbad
compat: avoid double rounding in times()
Denny-Lin Oct 20, 2026
4dd4043
stackdepot: stop preallocating after the final pool
Oct 22, 2026
03ea1f7
ocfs2: snapshot the dentry name while tracing file release
zzzccc427 Oct 22, 2026
fa5ee14
ocfs2/cluster: remove zero-address nodes from IP tree on teardown
zzzccc427 Oct 20, 2026
1b6f6cf
mm/hugetlb: don't clear the resv_map of a VMA whose lock is held
josefbacik Oct 15, 2026
fb307ea
mm/mremap: fix calling fixup_hugetlb_reservations() on the wrong VMA
davidhildenbrand Oct 15, 2026
7ea08a7
mm/hugetlb: account migration target folio in per-node NR_HUGETLB vmstat
Sep 23, 2026
e9d4d0f
mm: disallow ioremap'ing ordinary RAM in generic_access_phys()
davidhildenbrand Oct 13, 2026
6dddcb5
mm/madvise: add cond_resched() in THP branch of madvise_cold_or_pageo…
Oct 10, 2026
fe6e101
mm/mlock: use a long for the page count in mlock_fixup()
zeldovich Oct 14, 2026
87f6bb4
userfaultfd: fix UFFDIO_MOVE livelock on large folio with extra refer…
Oct 12, 2026
695d0c9
mm/percpu: account full object size for percpu memory allocations
hygoni Oct 13, 2026
be6be67
mm/madvise: atomically clear the young bit on THP MADV_COLD
heatd Oct 13, 2026
1900cb4
ipc/shm: fix RSS accounting for hugetlb shared memory
Oct 14, 2026
f48ad20
mm: vmscan: don't count per-node proactive reclaim as memory pressure
Oct 12, 2026
98e52d6
mm/swap: fix swap_cache_get_folio() returning a folio that left the s…
mrpre Oct 15, 2026
abdf941
mm/page_alloc: count guard pages as free again when their buddy merges
rikvanriel Oct 16, 2026
5b040ba
mm/truncate: fix the zeroing end of pagecache_isize_extended()
zeldovich Oct 16, 2026
38efa98
mm/mremap: populate calculated fields in vrm state correctly
ljskernel Oct 19, 2026
e251079
mm/mremap: correctly uncharge accountable VMAs in error path
ljskernel Oct 19, 2026
a402a7a
mm/vmscan: reclaim every zone in per-node proactive reclaim
gourry-hacks Oct 19, 2026
41a885c
mm/mempolicy: apply bind policies against the scoped allocation zone
gourry-hacks Oct 18, 2026
cb24274
riscv: mm: exclude invalid THP PMDs from page table check
cuiyunhui May 23, 2026
482a6e8
mm: multi-gen LRU: fix NULL lruvec->pgdat deref with memcg disabled o…
sidchintamaneni Oct 17, 2026
e87cd6f
fscrypt: Fix missing barrier in fscrypt_find_mode_key()
LiBaokun96 Oct 24, 2026
fa12106
fbdev: atmel_lcdfb: fix list_first_entry() on possibly empty modelist…
Oct 23, 2026
035b737
timers/itimer: Keep a nonzero value at CPU timer expiry
Denny-Lin Oct 20, 2026
4c4c4a6
time/namespace: Fix overflow when converting absolute deadlines
Denny-Lin Oct 20, 2026
2da8a5e
KVM: arm64: Set HCR_EL2.BSU to Inner Shareable for guests
ftabba Oct 16, 2026
5c4d3a1
ceph: avoid pending truncate during nonblocking cap acquire
MaxKellermann Sep 4, 2026
acaec29
ceph: fix out-of-bounds read in ceph_netfs_issue_op_inline()
Sep 10, 2026
e9d72cf
ceph: reject mdsmaps that claim more than CEPH_MAX_MDS ranks
n132 Sep 15, 2026
5ab17ed
ceph: require the dentry lease record to cover struct ceph_mds_reply_…
n132 Sep 15, 2026
046d542
libceph: only set read_from_replica on read requests
xiubli Sep 4, 2026
7f4f3e6
libceph: Fix unsafe decode in ceph_redirect_decode()
Sep 9, 2026
ab62a36
libceph: Fix multiple unsafe decodes in ceph_oloc_decode()
Sep 9, 2026
23e0bbd
libceph: reject mismatched CRUSH weight-set sizes
felix314159 Sep 10, 2026
de314d2
libceph: reject an initial monmap with no monitors
yogeshgaur-intel Sep 11, 2026
f0dbd6b
ceph: fix integer overflow in the snap trace bounds check
n132 Sep 15, 2026
112f3db
ceph: Fix xattr buffer leak in __send_cap()
ISCAS-Vulab Sep 17, 2026
410855d
ceph: Fix mds session leak in __open_export_target_session()
ISCAS-Vulab Sep 17, 2026
813221c
ceph: fix 32-bit overflow in readdir reply count check
jj-anssi Sep 23, 2026
e1cf4b4
libceph: fix out-of-bounds reads from repeated CRUSH bucket entries
jj-anssi Sep 23, 2026
5f4eda6
ceph: clamp MDS reply result code to the errno range
DawnAA Sep 26, 2026
32da9f4
ceph: don't fail write_begin with -EAGAIN after flushing old snapc
vshankar Oct 7, 2026
512b5cf
ceph: validate fscrypt auth blob length
gitterable Oct 8, 2026
ff6e8ae
ceph: bound name skips in ceph_mdsmap_decode() by the message end
gitterable Oct 8, 2026
fa6e532
ceph: validate MDS reply fragtree split array length
gitterable Oct 8, 2026
6f8082c
ceph: validate encoded xattr name lengths
gitterable Oct 8, 2026
c94e08a
ceph: fix uninitialized err in ceph_netfs_issue_read()
Oct 20, 2026
2431c46
f2fs: fix to update superblock crc in sanity_check_area_boundary()
chaseyu Oct 26, 2026
a55460a
ASoC: qcom: qdsp6: q6afe: fix clk vote response type mismatch
valpackett Oct 16, 2026
e4ab85f
ASoC: codecs: wsa884x: Accept temperatures across the full trim range
Oct 23, 2026
9189524
ASoC: codecs: wsa883x: Accept temperatures across the full trim range
Oct 23, 2026
1179a86
net: usb: pegasus: check rx pkt_len against the received length
Oct 21, 2026
b124b5a
bonding: fix out-of-bounds read of arp_ip_target
mrpre Oct 23, 2026
0cc5459
ipmr: fully initialize the synthetic IP header in ipmr_get_route()
idosch Oct 25, 2026
01c9e30
dt-bindings: clock: ma35d1: Document the missing crystal inputs
miquelraynal Sep 30, 2026
a3d1e34
tcp: limit tcp_tso_rtt_log to a valid shift count
Yingjieflash Oct 23, 2026
a6814a0
xsk: restore UMEM flags after failed pool assignment
jopamo Oct 21, 2026
9e48dbf
loop: check for read-write open mode on LOOP_SET_STATUS in lo_compat_…
domenukk Oct 25, 2026
834ca8b
ALSA: usb-audio: Bound packet copies by the PCM buffer size
x8svc Oct 26, 2026
db13dbe
ALSA: hda: Reject codec reset on ASoC (ext_ops) buses
ujfalusi Oct 27, 2026
4d81692
ixgbe: reserve TX timestamp after skb preparation
Oct 26, 2026
66995f7
ASoC: hdac_hda: Balance the runtime PM disable in codec remove
ujfalusi Oct 27, 2026
a6a7601
LoongArch: Call cpu_final_simd() with pure_initcall()
chenhuacai Oct 27, 2026
45d58b3
LoongArch: Use pa_to_nid()/nid_to_addrbase() rather than hard-code
chenhuacai Oct 27, 2026
a307ab3
LoongArch: Remove arch-specific __smp_mb__{before,after}_atomic()
seehearfeel Oct 27, 2026
53e0ad9
LoongArch: Remove redundant call in update_bp_registers()
seehearfeel Oct 27, 2026
18de298
LoongArch: Fix bitmask corruption in update_bp_registers()
seehearfeel Oct 27, 2026
eef4bbc
LoongArch: Fix architectural naming typo for CSR_FWPS_SKIP
seehearfeel Oct 27, 2026
815c31e
LoongArch: Only send SIGTRAP signal if necessary in do_watch()
seehearfeel Oct 27, 2026
4e4c973
LoongArch: Fix perf hardware breakpoint failure via installation
seehearfeel Oct 27, 2026
f584124
cpufreq: stats: Fix potential out-of-bounds access in deferred reset
Oct 27, 2026
1e70a9c
arm64/mm: restrict transparent contpte mappings to valid PTEs
zhaogogyi Oct 23, 2026
1916c2f
perf machine: Fix NULL deref in thread__resolve_callchain_sample()
lyt123-jpg Oct 27, 2026
03bb7b9
drm/amdkfd: stop restore retries on device unplug
karawitan Oct 13, 2026
ec01397
drm/amd/display: take a runtime PM reference only when a CRTC turns on
luigi-lauro Oct 16, 2026
cfa7fd5
drm/amdgpu: reject CS chunks too large for kvmalloc()
Jie1zhang Oct 18, 2026
08a3f27
drm/amdkfd: split vram_pages of SVM ranges prefetched without a GPU m…
Jie1zhang Oct 13, 2026
48f413a
drm/amd/display: Initialize missing TD-LUT programming inputs
thnkslprpt Oct 11, 2026
7f1ed72
drm/amdkfd: validate SRAT subtables before parsing
Oct 16, 2026
7f695fb
drm/amdkfd: evict the queues only once for CRIU PROCESS_INFO
Jie1zhang Oct 12, 2026
3646b7c
net: limit priority VLAN untag depth
kamil-sawicki Oct 24, 2026
33e747a
macvlan: fix passthru promiscuity accounting while down
Oct 22, 2026
5e3cdfc
net: hisilicon: hisi_femac: Stop the receiver before releasing the RX…
yangfl Oct 25, 2026
2ebe4f0
fs/ntfs3: bound CreateAttribute asize against record_size in do_action
bl4ckhyun Jul 31, 2026
6132975
fs/ntfs3: bound DeleteAttribute asize against rec->used in do_action
bl4ckhyun Aug 3, 2026
241fed9
ntfs3: fix mapping pairs bounds check for alignment
zenghongling0719 Aug 5, 2026
9a04833
ASoC: hdac_hda: Keep runtime PM state in sync across codec remove/probe
ujfalusi Oct 27, 2026
63c2733
ppp: fix stale pointer access after pskb_may_pull in ppp_ccp_peek
Oct 23, 2026
36c3af0
nvmet-rdma: reject short connection requests
winmin Oct 16, 2026
224aa11
nvmet-fc: only send read data for successful commands
andrea-parri Oct 22, 2026
5dc1fa0
nvmet: pci-epf: report transport errors in command completions
andrea-parri Oct 22, 2026
868a29f
nvmet: pci-epf: require SGLs to match the command data length
andrea-parri Oct 22, 2026
d679289
nvmet-auth: fix error handling on CHALLENGE failure
Oct 26, 2026
5e4325c
nvmet-fc: Tear down the association when the admin queue allocation f…
guixinliu1995 Oct 26, 2026
80b1428
nvme-tcp: start error recovery when read_sock fails
Oct 27, 2026
32bfe3e
nvme-tcp: fix io_work priority inversion when send_mutex is held
Seiji-Nishikawa Oct 14, 2026
13ebf8e
nvmet: Finish the blk plug when integrity allocation fails
guixinliu1995 Oct 28, 2026
1890437
nvmet: Free the old negotiation state when restarting authentication
guixinliu1995 Oct 28, 2026
129119b
kgdb: Fix buffer overflow in the 'm' packet handler
martinfong Sep 14, 2026
009c3d4
kgdb: Fix buffer overflow in the 'M' and 'X' packet handlers
martinfong Sep 22, 2026
61e7228
kgdb: Fix buffer overflow in the qRcmd packet handler
martinfong Sep 16, 2026
b80b417
fsverity: Be more careful with return value of ->get_verity_descriptor()
Oct 25, 2026
74cc51e
irqchip/riscv-imsic: Report successful hardware retrigger
thnkslprpt Oct 26, 2026
4d4bd7b
irqchip/irq-msi-lib: Free wired MSI descriptors
thnkslprpt Oct 25, 2026
6ad9711
Revert "net: advertise TCP MSS from the configured MTU, not the learn…
echoowall Oct 26, 2026
084a923
apparmor: fix NULL ctx->peer derefs in unix socket ctx updates
mbelair-canonical Aug 24, 2026
a20f98f
apparmor: don't revalidate inherited files under files->file_lock
gegarcia Oct 16, 2026
f8cd83f
r8152: Use BMSR to detect the link state
Oct 26, 2026
0aba8e7
mount: refuse setns() with a shared fs_struct again
josefbacik Oct 8, 2026
2470509
userns: don't drop the exec securebits
brauner Oct 26, 2026
bf04f8b
blk-iocost: abort weight transfer on invalid donation weights
alahaiyo Oct 19, 2026
594a389
proc: don't let an entry below /proc/<pid>/net be a mountpoint
brauner Oct 24, 2026
f021ba9
tcp: check congestion control restriction first
Oct 27, 2026
8c054c7
apparmor: fix refcount leak in aa_get_newest_profile()
jrjohansen Oct 20, 2026
4971c6f
apparmor: avoid potential double free when remapping DFA tables
lrq-max Oct 8, 2026
e5b1fef
apparmor: check accept index + 1 is in bounds
Sep 16, 2026
7d6ecca
net/packet: check TX_RING fragments before memory accounting
kylebot-oai Oct 28, 2026
464df36
tcp: fix reordering addition overflow in MTU probing
kylebot-oai Oct 28, 2026
a08cef6
apparmor: remove fs entries created by a failed policy load
gegarcia Oct 14, 2026
7d0e4a0
aio: fix NULL deref when a fault races ring truncation
masoncl Oct 29, 2026
4a70894
backing-file: enforce append-only and immutable backing inodes
brauner Oct 29, 2026
325b62c
iov_iter: fix NULL deref in iov_iter_alignment()
masoncl Oct 29, 2026
8bceb60
splice: avoid stale f_pos writeback on error
4ncientH Oct 18, 2026
0da582b
fs: let backing files inherit FMODE_NONOTIFY from the user file
Oct 29, 2026
f4acf47
fs: skip copy_file_range write limits when there is no data
Denny-Lin Oct 26, 2026
662ac91
fs: don't fail __d_obtain_alias() for unlinked inodes
amir73il Oct 30, 2026
3377832
init/bootconfig: pass init arguments in documented order
thnkslprpt Oct 27, 2026
99c09b6
ocfs2: read the xattr entry hash before defragmenting the bucket
josephhz Oct 24, 2026
26d2534
apparmor: fix uninitialized variable warning in aa_inherit_files
jrjohansen Oct 29, 2026
5d68f3f
apparmor: on failed load ensure profile files are removed before parent
jrjohansen Oct 29, 2026
a97aa83
xen-netback: Fix XenBus connection failure cleanup
dinhngtu Nov 9, 2026
c5f54af
xen-netback: Zero out sring pointers on unmap
dinhngtu Nov 7, 2026
1cdda83
Linux 6.18.63
gregkh Nov 10, 2026
ba320aa
x86/hyperv: enable a Xen PV dom0 to use the L0 Hyper-V host
kaniini Jul 23, 2026
4110fe8
Drivers: hv: use host frames for GPADLs and SynIC pages when nested o…
kaniini Jul 23, 2026
2c45cfe
drivers: hv: deliver the VMBus interrupt via a Xen VIRQ when nested o…
kaniini Jul 23, 2026
58f3e1e
hv_netvsc: DMA-map transmit pages when nested on Xen
kaniini Jul 23, 2026
346c688
x86/hyperv: take vPCI device interrupts through Xen when nested on Xen
kaniini Jul 28, 2026
5e820d9
drivers: hv: tear down the Xen VMBus interrupt bridge on unwind
kaniini Sep 17, 2026
c335fa5
iommu/xen: Add Xen PV-IOMMU driver
azenla Sep 2, 2026
c4d3560
iommu/xen: Allow the PV-IOMMU driver in a guest
azenla Sep 2, 2026
e8d5aa2
iommu/xen: Give the identity domain a type and ops
azenla Sep 2, 2026
dbde507
iommu/dma: Don't reserve PCI windows under a paravirtual IOMMU
azenla Sep 2, 2026
2b95b2b
xen/pcifront: Let callers ask for a device's machine BDF
azenla Sep 2, 2026
8e68484
iommu/xen: Default a PV guest to the identity context
azenla Sep 2, 2026
e4b2ce8
PCI/MSI: don't write the MSI-X table in a Xen PV guest
azenla Sep 3, 2026
f31bc8b
iommu/xen: batch map subops over contiguous runs
azenla Sep 3, 2026
b53034f
iommu/xen: do not claim the IOMMU itself
azenla Sep 3, 2026
44ad2a0
x86/xen: disable the right interrupt type when tearing down MSI
azenla Sep 3, 2026
a1b6fc5
iommu/xen: flush the IOTLB once per mapping, not once per subop
azenla Sep 3, 2026
951b8b0
iommu/xen: restrict the PV-IOMMU driver to x86
kaniini Sep 17, 2026
9586cf5
x86/topology: Tolerate lack of APIC when booting as Xen domU
azenla Apr 10, 2025
e6bf2f3
x86/CPU/AMD: avoid printing reset reasons on Xen domU
kaniini Sep 4, 2025
c46dc9c
9p/xen: share one frontend across mounts and advertise it (6.18)
azenla Jul 15, 2026
6025fca
x86/amd_node: fix integer divide by zero during init
tycho Nov 14, 2025
294a6dc
xen/evtchn: diagnose ring_overflow with post-barrier cons re-read
tycho Jul 20, 2026
5df498b
xen: add xen_mfn_to_node to resolve a foreign frame's host NUMA node
tycho Jul 20, 2026
d66d00b
xen: make xen_alloc_unpopulated_pages NUMA-aware
tycho Jul 20, 2026
11acd3f
xen/grant-table: add gnttab_alloc_pages_node
tycho Jul 20, 2026
8cc8c87
xen/events: add _on_node variants of the lateeoi bind helpers
tycho Jul 20, 2026
bb1651e
xen/xenbus: home ring mappings on the foreign frame's host node
tycho Jul 20, 2026
8fe11c2
xen/xenbus: add xenbus_setup_ring_node for per-node ring allocation
tycho Jul 20, 2026
d7239b0
xen-netback: place per-queue kthreads and IRQs near the ring
tycho Jul 20, 2026
c44ae03
xen-blkback: place per-ring kthread and IRQ near the ring
tycho Jul 20, 2026
db8ed0c
xen-netfront: place per-queue rings on per-queue nodes, with XPS
tycho Jul 20, 2026
16af422
xen-blkfront: place per-ring buffers on per-hctx nodes
tycho Jul 20, 2026
7d764db
xen/gntdev: home grant-map placeholder pages on the foreign frame's node
tycho Jul 20, 2026
f1ac2bb
xen: xlate_mmu: relocate remap_pfn utils
alexandermerritt May 27, 2026
1593534
xen: xlate_mmu: batch gfn mappings
alexandermerritt May 27, 2026
c33fc44
feat(xen): deflate balloon via oom notifier
alexandermerritt Aug 6, 2026
b51489a
firmware: qemu_fw_cfg: do not use the DMA interface on Xen PV
bleggett Aug 11, 2026
f3c5f13
security: Add openpax configuration menus
kaniini Jul 7, 2024
c8f4cd0
xattr: add support for retrieving PaX flags stored in xattrs
kaniini Jul 7, 2024
3a27344
mm: add openpax flags, settable via atomics
kaniini Jul 7, 2024
dc3f7d6
mman: enforce MPROTECT when enabled for a task
kaniini Jul 7, 2024
2fd59b2
elf: wire up setup for PaX flags
kaniini Jul 7, 2024
86e355f
security: openpax: add OPENPAX_SOFTMODE configuration knob
kaniini Jul 10, 2024
a61d9c4
documentation: add pax_softmode= to kernel parameters doc
kaniini Jul 10, 2024
ee86070
init: add pax_softmode= kernel command-line option
kaniini Jul 10, 2024
1bdf4d4
sysctl: wire up PaX softmode setting
kaniini Jul 10, 2024
15a71a9
elf: only enable PaX features by default if softmode is disabled
kaniini Jul 10, 2024
ab5db43
elf: enable PAXF_RANDMMAP if randomize_va_space > 0
kaniini Jul 11, 2024
8861329
elf: use PAXF_RANDMMAP to control whether ASLR is enabled on a process
kaniini Jul 11, 2024
0a59303
elf: allow executable stacks if PAXF_EMUTRAMP is enabled
kaniini Jul 11, 2024
96fb7d5
proc: display PaX status in procfs status entries
kaniini Jul 11, 2024
9a91334
elf: only test for PAXF_RANDMMAP if OPENPAX is enabled
kaniini Jul 16, 2024
f44b387
security: add openpax EMUTRAMP config option
kaniini Jul 21, 2024
d98f794
elf: simplify executable stack logic
kaniini Jul 21, 2024
51de976
x86: fault: add openpax_fault_is_trampoline to detect if a page-fault…
kaniini Jul 22, 2024
64d5dd1
x86: fault: add stack trampoline emulator
kaniini Jul 22, 2024
1668fe6
x86: fault: hook up stack trampoline emulator
kaniini Jul 22, 2024
f76f00d
security: openpax: add OPENPAX_EMUTRAMP_DEFAULT config option
kaniini Jul 22, 2024
635ab59
elf: enable EMUTRAMP by default if CONFIG_OPENPAX_EMUTRAMP_DEFAULT is…
kaniini Jul 22, 2024
34cd7a2
arm64: determine stack entropy based on mmap entropy
thestinger May 22, 2017
6fa6267
x86: determine stack entropy based on mmap entropy
thestinger May 22, 2017
1f39369
mmap: further improve randomization of brk(2) addresses
kaniini Jul 23, 2024
15f84e3
exec: randomize argument block location
kaniini Jul 23, 2024
4fce508
use maximum supported mmap rnd entropy by default
thestinger May 7, 2017
03f30a2
elf: avoid double read of randomize_va_space in OpenPaX flag setup
kaniini Sep 13, 2024
df0a2e3
init: provide pax_softmode symbol unconditionally
kaniini Oct 31, 2024
626441c
security: openpax: disable OpenPaX by default
azenla Sep 26, 2026
d44fde8
xen/mem-reservation: add ordered populate
alexandermerritt Sep 24, 2026
1062af8
x86/xen: add batched helpers for remapping a contiguous pfn run
alexandermerritt Sep 24, 2026
d73dea8
xen/mem-reservation: add contiguous mapping helpers
alexandermerritt Sep 24, 2026
896d5cb
xen/balloon: inflate in 2 MiB blocks
alexandermerritt Sep 24, 2026
d10952c
xen/balloon: deflate in 2 MiB blocks
alexandermerritt Sep 24, 2026
a5d9d9f
xen/balloon: deflate 2 MiB blocks in the OOM path
alexandermerritt Sep 24, 2026
86b2c34
automation: rebase edera/6.18-lts onto stable linux-6.18.y nightly
kaniini Oct 9, 2026
ef07663
automation: propose a 6.18-lts backport for each merged mainline PR
kaniini Oct 9, 2026
6ea43b4
automation: allow github-actions to initiate workflows
azenla Oct 12, 2026
ed753b0
iommu/xen: register before xen-pciback binds its devices
azenla Oct 10, 2026
2b36628
automation: do not fail backport retries when nothing needs retrying
kaniini Oct 12, 2026
8f960b1
x86/xen: take the early CPU frequency from the hypervisor
azenla Aug 22, 2026
9909c32
xen/xenbus: wake the boot device wait when a backend changes state
azenla Aug 22, 2026
7351d79
fix(xen/balloon): register the OOM deflate notifier only in domUs
alexandermerritt Oct 16, 2026
12ed636
xen/balloon: add boot-time extra memory as 2 MiB blocks
alexandermerritt Oct 16, 2026
6f194b7
x86/xen: keep dom0's growth room on the balloon
alexandermerritt Oct 16, 2026
d11e331
9p/xen: wake ring-space waiters with wake_up()
azenla Oct 18, 2026
c9bbf73
9p/xen: reconnect to the backend on resume
azenla Oct 18, 2026
d472ad5
9p/xen: carry the 9P session across a restore
azenla Oct 18, 2026
ea70a93
9p/xen: advertise session transfer to the toolstack
azenla Oct 18, 2026
063a98f
x86/xen: include the Xen types before interface/memory.h
azenla Oct 19, 2026
b119d2e
xen/unpopulated-alloc: borrow from other nodes before carving a region
azenla Oct 19, 2026
c3e5abd
xen/unpopulated-alloc: never hand out another node's pages from the n…
azenla Oct 19, 2026
b80e43d
automation: request reviews of LTS backports from the patch authors
kaniini Oct 23, 2026
b04990f
automation: allow landing an approved rebase by hand
kaniini Oct 23, 2026
e69b425
automation: audit edera/6.18-lts weekly for missing mainline commits
kaniini Oct 23, 2026
6b99c1a
iommu/xen: take the old domain in attach_dev (#58)
graysonguarino Oct 26, 2026
68e2be7
automation: build x86_64 on the Edera host config
kaniini Oct 26, 2026
71a2c9d
automation: repair a rebase whose build fails instead of proposing it
kaniini Oct 26, 2026
6df2e2e
Revert "x86/xen: include the Xen types before interface/memory.h"
alexandermerritt Oct 23, 2026
375f71d
Revert "x86/xen: keep dom0's growth room on the balloon"
alexandermerritt Oct 23, 2026
d451e62
Revert "xen/balloon: add boot-time extra memory as 2 MiB blocks"
alexandermerritt Oct 23, 2026
390607f
xen/unpopulated-alloc: add push_page()
alexandermerritt Oct 21, 2026
072495a
xen/unpopulated-alloc: keep boot-time address space as 2 MiB blocks
alexandermerritt Oct 27, 2026
958435c
xen/balloon: grow dom0 into 2 MiB blocks from the unpopulated allocator
alexandermerritt Oct 27, 2026
e11b39e
xen/balloon: report how far dom0 can still grow
alexandermerritt Oct 27, 2026
6070b07
ci: file a Linear issue for pull requests opened without one
kdaula Nov 3, 2026
33f41a7
9p/xen: grant each ring page by its own frame
kdaula Nov 3, 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
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .automation/backport-skip
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Edera commits on edera/mainline that must never be backported to
# edera/6.18-lts, one subject per line, exactly as the commit has it.
#
# Each pull request merged into edera/mainline is backported on its own
# (.github/workflows/lts-backport.yml); label it no-backport to opt out. This
# file is for commits that did not arrive through such a pull request, or
# were ported to 6.18 in a form the subject match cannot see. A commit that
# is listed here, or belongs to a no-backport pull request, does not hold up
# later backports that touch the same files.
#
# Blank lines and lines starting with # are ignored.
125 changes: 125 additions & 0 deletions .automation/skills/lts-audit/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
name: lts-audit
description: Weekly audit of edera/6.18-lts for Edera commits from edera/mainline that it lacks, run unattended in CI by .github/workflows/lts-audit.yml. Covers telling a commit that is really missing from one that was ported in another form or does not apply to 6.18, and the triage notes that go into the audit issue.
---

# LTS audit triage

Edera kernel work lands on `edera/mainline` first and flows down to
`edera/6.18-lts`, one backport pull request per mainline pull request. Some
commits still fall through. The workflow has already listed, from git alone,
every Edera commit on mainline that the LTS tree does not seem to have, and
it files that list as an issue whatever you say. Your job is to tell the
maintainers which of those are **really** missing, and what to do about the
rest.

The list comes from `pending-backports.sh`, which counts a mainline commit as
present on the LTS tree only when the LTS series has a commit with the same
subject (ignoring a trailing version tag such as ` (6.18)`) or the same
patch-id. So a commit can be listed although it is there: ported under a
reworded subject and with a changed diff, folded into another commit, or
already in `linux-6.18.y` upstream. And a commit can be listed because it
does not belong on 6.18 at all.

This runs unattended. Nobody can answer a question. Everything a maintainer
needs has to end up in the report.

## Inputs

The workflow gives you, in the prompt:

- `LTS_TIP`: the `edera/6.18-lts` commit audited (checked out). Local branch
`lts-upstream` is its upstream, `linux-6.18.y`; the Edera series is
`<lts-base>..LTS_TIP`, where `<lts-base>` is their merge-base.
- `MAINLINE_TIP`: the `edera/mainline` commit audited (fetched). Local branch
`mainline-upstream` is its upstream, Linus' `master`, and `<mainline-base>`
their merge-base.
- `PENDING`: the commits listed as missing, one per line as `<sha> TAB
<subject>`, oldest first. The shas are mainline commits.
- `STATUS`: what is already happening to them, one per line as `<where> TAB
<subject>`. `<where>` is `#N` for an open pull request into
`edera/6.18-lts` that carries a commit with that subject, or `#N
backport-waiting` / `#N backport-needs-attention` for a merged mainline
pull request whose backport is in that state. It may be empty.
- `REPORT`: the path your report must be written to.

You change nothing: no commits, no branches, no checkouts, no pushes. Read
with `git log`, `git show`, `git diff`, `git range-diff`, `git grep` and the
like.

### How to run commands here

Your shell commands are checked against an allowlist that matches the
command's first words. Shell variables, `$(...)`, `<(...)`, pipes into
commands that are not on the list, and `VAR=x cmd` prefixes will be refused,
so `LTS_TIP`, `<sha>` and `<...>` below are placeholders: substitute the
literal value. Work out the merge-bases once with `git merge-base` and reuse
the hashes.

This is a blobless clone: file contents are fetched from GitHub the first time
a command needs them, so the first `git show` of a commit can be slow. That is
not a hang.

## 1. Read the list

```sh
cat PENDING
cat STATUS
git merge-base LTS_TIP lts-upstream
git merge-base MAINLINE_TIP mainline-upstream
```

A commit with an open backport pull request in `STATUS` is in flight: note
the pull request and move on, unless something in it looks wrong.

## 2. Judge each commit

For every other commit, `git show <sha>` and decide which one of these it is.
Look, in this order:

1. **Ported in another form.** Search the LTS series for the change: the
files it touches (`git log --format='%h %s' <lts-base>..LTS_TIP --
<path>`), distinctive identifiers it adds (`git grep -n <identifier>
LTS_TIP -- <path>`), and its subject with different wording. If an LTS
commit carries the same change, adapted or not, name it, and say how it
differs. Several mainline commits squashed into one LTS commit count.
2. **Already upstream in 6.18.** Edera fixes are sometimes sent upstream and
land in a stable release: look for the change in `lts-upstream` (`git log
--format='%h %s' lts-upstream -- <path>`, then `git show`).
3. **Not applicable to 6.18.** The commit fixes or extends code that only
mainline has, upstream or Edera, and the LTS tree has nothing for it to
apply to. Say what is absent.
4. **Missing.** None of the above: the LTS tree lacks the change. Say what
it does in one line, which later Edera commits in `PENDING` depend on it,
and whether it looks likely to apply to 6.18 as is, or needs adapting (and
why).

When you cannot tell, say **UNSURE**, give both readings and what would
settle it. Never call a commit present on a guess: a maintainer will act on
"ported" by adding it to the skip file, and a commit skipped by mistake is
lost from the LTS tree for good.

## 3. Write the report

Write `REPORT` as Markdown. It is pasted under a table of the commits, so do
not repeat the table. Start with one short paragraph saying how many are
really missing, how many are in flight, and how many need a maintainer to
skip them. Then one entry per commit, in `PENDING` order:

```markdown
### `<sha12>` <subject>

**Missing** | **In flight (#N)** | **Ported as `<lts-sha12>`** | **Upstream in 6.18 as `<sha12>`** | **Not applicable** | **UNSURE**

<two to five sentences: the evidence, and what to do>
```

What to do, by verdict:

- Missing: backport it. If its mainline pull request is in `STATUS` as
waiting or needing attention, point at that pull request.
- Ported, upstream, or not applicable: add its subject, exactly as `PENDING`
has it, to `.automation/backport-skip` on `edera/6.18-lts`, or label its
mainline pull request `no-backport`.

Keep it factual and short. Do not quote large diffs.
206 changes: 206 additions & 0 deletions .automation/skills/mainline-backport/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
---
name: mainline-backport
description: Backport of one merged edera/mainline pull request to edera/6.18-lts, run unattended in CI by .github/workflows/lts-backport.yml. Covers the cherry-picks, adapting a commit to the older kernel, spotting a dependency on another backport, build checks, and the report that becomes the backport pull request.
---

# Mainline pull request backport

Edera kernel work lands on `edera/mainline` first, one pull request at a time,
and every merged pull request is proposed for `edera/6.18-lts` as its own
backport pull request. You are preparing one of those. The workflow has
already worked out which of the pull request's commits the LTS tree still
lacks and hands you that list.

The goal is that each backport changes **exactly what its mainline commit
changes**. Where 6.18 differs from mainline enough that the same change does
not apply, you adapt it the way a careful stable 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 lands on `edera/6.18-lts`: a maintainer
merges the backport pull request, or does not. When you finish, the workflow
independently:

1. runs `verify-backport.sh`, which checks from git alone that your branch
fast-forwards the LTS tip, is linear, and holds one commit per requested
commit, in order, each naming its source with a `(cherry picked from
commit <sha>)` trailer, keeping its source's subject, and changing the
same files by the same +/- lines;
2. builds x86_64 and arm64 `vmlinux` with `kernel-build.sh`.

Both results go into the pull request next to your report. A commit you had
to adapt **will** show up as adapted there. That is expected, not a failure;
your report explains it. Never reword a subject, merge two commits into one,
or split one into two: backports are recognised later by subject, and a
renamed one would be offered again.

## Inputs

The workflow gives you, in the prompt:

- `MAINLINE_PR`: the number and title of the merged pull request.
- `OLD_TIP`: the `edera/6.18-lts` commit to build on (already checked out).
- `REQUEST`: a file listing the pull request's commits to backport, one per
line as `<sha> TAB <subject>`, oldest first. Their objects are already
fetched. Commits the LTS tree already has, and automation-only commits, are
not in it.
- `PENDING`: a file listing every Edera commit on `edera/mainline` that the
LTS tree lacks, in the same format, oldest first. The request's own commits
are among them. The workflow has already checked that nothing earlier in
this list touches the request's files; you look for the dependencies a file
match cannot see.
- `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
commit this run started from. Use those, never the copy inside the tree.

### 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 `OLD_TIP`, `RESULT`, `<sha>` and `<...>` below
are placeholders: substitute the literal value. Put scratch files, worktrees
and build output under `.rebase-scratch/` in the repository root; the
kernel's `.gitignore` ignores it.

This is a blobless clone: file contents are fetched from GitHub the first time
a command needs them, so the first checkout or `git show` can be slow. That is
not a hang.

## 1. Read the request

```sh
cat REQUEST
cat PENDING
git show --stat <sha> # for each requested commit
```

For each commit, read its message and diff, and check what it depends on:
does it call a helper, use a struct field or a Kconfig symbol that 6.18
lacks? If so, where does that come from?

- From an earlier commit in the request: fine, it is backported first.
- From a commit in `PENDING` that is not in the request: this backport has to
**wait** for that one. Stop here; see "If it has to wait".
- From upstream (Linus' tree) only: see the next section.

## 2. Cherry-pick, in order

```sh
git switch -c RESULT OLD_TIP
git cherry-pick -x <sha> # one at a time, oldest first
```

`-x` is required: the trailer it adds is how the checker pairs your commit
with its source. If you have to amend, keep the trailer and the subject.

When a pick conflicts, or applies but would not build or behave the same on
6.18:

- Read what differs between the two kernels around the change, and adapt the
change so it does on 6.18 what it does on mainline. Prefer the smallest
adaptation; do not backport an unrelated upstream refactor to make the
patch apply.
- If the conflict is with Edera code that only a pending commit brings,
that is a dependency: **wait**, as above.
- If the commit depends on an upstream change 6.18 lacks and cannot be
adapted without it, do not pull that upstream change in. Leave the commit
out (`git cherry-pick --abort` for that one, then continue with the next)
and make it a **Needs a decision** item saying what it needs.
- If the commit does not apply to 6.18 at all (it fixes code only mainline
has), leave it out the same way and say so.
- If you cannot tell what the right adaptation is, make the most conservative
one you can defend, mark it **UNSURE** in the report, and explain both
readings.
- Never use `-X ours`, `-X theirs`, or `git checkout --ours/--theirs` on a
whole file to make a conflict go away.
- Never commit anything that is not a backport of a requested commit. If a
backport needs a 6.18-only fix to build, fold it into that backport and
report it as an adaptation.

## 3. Build

```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
```

If a build fails because of a backport, fix it **in that backport**: drive the
todo list with sed, `git -c sequence.editor="sed -i 's/^pick <sha>/edit
<sha>/'" rebase -i OLD_TIP`, amend (keeping subject and trailer), then `git
rebase --continue`. Never rebase below OLD_TIP.

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

## 4. Check yourself

```sh
bash .rebase-tools/scripts/verify-backport.sh OLD_TIP RESULT REQUEST
```

Every commit it lists as adapted or left out must be accounted for in your
report. If one is not, you changed something you did not mean to: find it and
undo it.

## 5. Report

Write the report to the `REPORT` path, in Markdown. Its **first line** is the
status, exactly one of:

- `Status: proposed` when the RESULT branch holds a backport for review;
- `Status: waiting` when it has to wait for another backport (no RESULT
branch);
- `Status: not-applicable` when none of the request applies to 6.18 (no
RESULT branch).

The rest becomes the pull request body (or the comment on the mainline pull
request when there is no branch), so lead with what a reviewer must decide.
No preamble, no sign-off.

```markdown
Status: proposed

## Summary
One paragraph: commits requested, backported unchanged, adapted, left out,
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. Every left-out commit is one. "None." if there is
nothing.

## Adapted commits
Per commit: subject, what differs on 6.18, what you changed and why. "None."
if none.

## Left out
Per commit: subject and why. "None." if none.

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

Then stop. The workflow reads the branch, not the working tree.

## If it has to wait

Do not create the RESULT branch. Write the report with `Status: waiting`,
and under `## Waiting on` list each pending commit it needs, as `` `<sha>`
<subject> ``, with one line on what it needs from it. The workflow labels the
mainline pull request `backport-waiting` and tries again once other backports
land.

## If nothing applies, or you cannot finish

If none of the request applies to 6.18, do not create the RESULT branch and
write the report with `Status: not-applicable`, explaining why. If you could
not produce a backport for any other reason, do not create the branch either
and explain what went wrong; the first line is then whatever fits best, and
a missing branch is treated as needing a human either way.
Loading