diff --git a/Makefile b/Makefile index 847c4d8..fab4931 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -KERNEL_VERSION = linux-6.12.68 +KERNEL_VERSION = linux-6.12.76 KERNEL_REMOTE = https://cdn.kernel.org/pub/linux/kernel/v6.x/$(KERNEL_VERSION).tar.xz KERNEL_TARBALL = tarballs/$(KERNEL_VERSION).tar.xz KERNEL_SOURCES = $(KERNEL_VERSION) @@ -6,8 +6,8 @@ KERNEL_PATCHES = $(shell find patches/ -name "0*.patch" | sort) KERNEL_C_BUNDLE = kernel.c ABI_VERSION = 5 -FULL_VERSION = 5.2.1 -TIMESTAMP = "Tue Feb 17 16:15:12 CET 2026" +FULL_VERSION = 5.3.0 +TIMESTAMP = "Tue Mar 10 13:28:56 CET 2026" KERNEL_FLAGS = KBUILD_BUILD_TIMESTAMP=$(TIMESTAMP) KERNEL_FLAGS += KBUILD_BUILD_USER=root diff --git a/patches-tee/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch b/patches-tee/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch index 885c5aa..121e125 100644 --- a/patches-tee/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch +++ b/patches-tee/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch @@ -1,4 +1,4 @@ -From d182aced6eb0b6a2ef37c527a5bdc4edc9309814 Mon Sep 17 00:00:00 2001 +From 657f3ea1bfeb76ddc6bc4af9eb23dc77a1ff8a1a Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Fri, 10 Sep 2021 13:05:01 +0200 Subject: [PATCH 1/4] virtio: enable DMA API if memory is restricted diff --git a/patches-tee/0002-x86-sev-write-AP-reset-vector.patch b/patches-tee/0002-x86-sev-write-AP-reset-vector.patch index 17044e6..8cb7c52 100644 --- a/patches-tee/0002-x86-sev-write-AP-reset-vector.patch +++ b/patches-tee/0002-x86-sev-write-AP-reset-vector.patch @@ -1,4 +1,4 @@ -From e1efec284a4fd0c93bbf0dbdff93de155ca57d75 Mon Sep 17 00:00:00 2001 +From 85875d63186b73e8b524204ee10385f979f49d48 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 20 Oct 2022 10:23:16 +0200 Subject: [PATCH 2/4] x86/sev: write AP reset vector diff --git a/patches-tee/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch b/patches-tee/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch index af2b8f1..b2a77eb 100644 --- a/patches-tee/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch +++ b/patches-tee/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch @@ -1,4 +1,4 @@ -From 626b9774b46c065a2e35c85175bc297fa18c6db0 Mon Sep 17 00:00:00 2001 +From 702d45def09ba1783735f654a6686c1aa1f601e9 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Wed, 3 Aug 2022 12:35:12 +0200 Subject: [PATCH 3/4] Implement driver to retrieve secrets from cmdline diff --git a/patches-tee/0004-x86-sev-Avoid-using-native_cpuid.patch b/patches-tee/0004-x86-sev-Avoid-using-native_cpuid.patch index 2371909..8b24e9f 100644 --- a/patches-tee/0004-x86-sev-Avoid-using-native_cpuid.patch +++ b/patches-tee/0004-x86-sev-Avoid-using-native_cpuid.patch @@ -1,4 +1,4 @@ -From 4f32badc01e04101f6f1011a1ef987f790479d23 Mon Sep 17 00:00:00 2001 +From 3b114c42aaf912e8da93252c5562f7635a8b2199 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Wed, 5 Jun 2024 16:20:08 +0200 Subject: [PATCH 4/4] x86/sev: Avoid using native_cpuid diff --git a/patches/0001-krunfw-Don-t-panic-when-init-dies.patch b/patches/0001-krunfw-Don-t-panic-when-init-dies.patch index 8652b9d..74577ef 100644 --- a/patches/0001-krunfw-Don-t-panic-when-init-dies.patch +++ b/patches/0001-krunfw-Don-t-panic-when-init-dies.patch @@ -1,7 +1,7 @@ -From a394a9bf8eb5716dce71a31879ceb698e33af2a6 Mon Sep 17 00:00:00 2001 +From 817f5791591a123e06fa85993aa24f2e4367c506 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 2 Mar 2023 07:34:49 +0100 -Subject: [PATCH 01/22] krunfw: Don't panic when init dies +Subject: [PATCH 01/26] krunfw: Don't panic when init dies In libkrun, the isolated process runs as PID 1. When it exits, trigger an orderly reboot instead of panic'ing. diff --git a/patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch b/patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch index 3401f9a..2b344ff 100644 --- a/patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch +++ b/patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch @@ -1,7 +1,7 @@ -From e163341cc6e989390ff80648a6b1dd0b4008e1a1 Mon Sep 17 00:00:00 2001 +From db750d64e3f36576b667b67e979ec800a1eec872 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Mon, 16 May 2022 16:04:27 +0200 -Subject: [PATCH 02/22] krunfw: Ignore run_cmd on orderly reboot +Subject: [PATCH 02/26] krunfw: Ignore run_cmd on orderly reboot We don't really support restarting the conventional way, so ignore "run_cmd" so we can fall back to an emergency sync and reboot. diff --git a/patches/0003-vsock-dgram-generalize-recvmsg-and-drop-transport-dg.patch b/patches/0003-vsock-dgram-generalize-recvmsg-and-drop-transport-dg.patch index 494d02d..931411a 100644 --- a/patches/0003-vsock-dgram-generalize-recvmsg-and-drop-transport-dg.patch +++ b/patches/0003-vsock-dgram-generalize-recvmsg-and-drop-transport-dg.patch @@ -1,7 +1,7 @@ -From bf68cd730c769f73a2a6da9ed0b928c03c53bfac Mon Sep 17 00:00:00 2001 +From 56ef3652b6666b91c1c66fa94aedac70a934bfb2 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:28 +0000 -Subject: [PATCH 03/22] vsock/dgram: generalize recvmsg and drop +Subject: [PATCH 03/26] vsock/dgram: generalize recvmsg and drop transport->dgram_dequeue This commit drops the transport->dgram_dequeue callback and makes @@ -232,7 +232,7 @@ index 9b1f9a83c711..3ef8ff2a8b3c 100644 { return false; diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c -index 7eccd6708d66..dea4f9474228 100644 +index aca3132689cf..956109393596 100644 --- a/net/vmw_vsock/vmci_transport.c +++ b/net/vmw_vsock/vmci_transport.c @@ -1731,57 +1731,40 @@ static int vmci_transport_dgram_enqueue( diff --git a/patches/0004-vsock-refactor-transport-lookup-code.patch b/patches/0004-vsock-refactor-transport-lookup-code.patch index 6be420f..6804bad 100644 --- a/patches/0004-vsock-refactor-transport-lookup-code.patch +++ b/patches/0004-vsock-refactor-transport-lookup-code.patch @@ -1,7 +1,7 @@ -From 8dce0bd708b16d791c3d5d9099e3b3c50b18ef00 Mon Sep 17 00:00:00 2001 +From 385e0bdc508313f07f59bbe26cf91ed6d97eaf39 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:29 +0000 -Subject: [PATCH 04/22] vsock: refactor transport lookup code +Subject: [PATCH 04/26] vsock: refactor transport lookup code Introduce new reusable function vsock_connectible_lookup_transport() that performs the transport lookup logic. diff --git a/patches/0005-vsock-support-multi-transport-datagrams.patch b/patches/0005-vsock-support-multi-transport-datagrams.patch index b2a4385..071c5fd 100644 --- a/patches/0005-vsock-support-multi-transport-datagrams.patch +++ b/patches/0005-vsock-support-multi-transport-datagrams.patch @@ -1,7 +1,7 @@ -From 2e093eb6bbfb99d68cd71a92fa929a128433e0ae Mon Sep 17 00:00:00 2001 +From 774a9ccd77a3adb0f736f3f2323bde3d0b06b210 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:30 +0000 -Subject: [PATCH 05/22] vsock: support multi-transport datagrams +Subject: [PATCH 05/26] vsock: support multi-transport datagrams This patch adds support for multi-transport datagrams. diff --git a/patches/0006-vsock-make-vsock-bind-reusable.patch b/patches/0006-vsock-make-vsock-bind-reusable.patch index 374bafd..a3992da 100644 --- a/patches/0006-vsock-make-vsock-bind-reusable.patch +++ b/patches/0006-vsock-make-vsock-bind-reusable.patch @@ -1,7 +1,7 @@ -From b9632d96d2c287948e959b7e0233d0c246183e45 Mon Sep 17 00:00:00 2001 +From 4038db5595d575390c8a0d283ae647bf9d3e96c9 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:31 +0000 -Subject: [PATCH 06/22] vsock: make vsock bind reusable +Subject: [PATCH 06/26] vsock: make vsock bind reusable This commit makes the bind table management functions in vsock usable for different bind tables. For use by datagrams in a future patch. diff --git a/patches/0007-virtio-vsock-add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch b/patches/0007-virtio-vsock-add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch index a997872..4f0b758 100644 --- a/patches/0007-virtio-vsock-add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch +++ b/patches/0007-virtio-vsock-add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch @@ -1,7 +1,7 @@ -From 03feb0f933b67d149ab2297399c4f72ebbedfc87 Mon Sep 17 00:00:00 2001 +From 881d7e95e6f0e8dae002a32a2a88d7c08b083b54 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:32 +0000 -Subject: [PATCH 07/22] virtio/vsock: add VIRTIO_VSOCK_F_DGRAM feature bit +Subject: [PATCH 07/26] virtio/vsock: add VIRTIO_VSOCK_F_DGRAM feature bit This commit adds a feature bit for virtio vsock to support datagrams. diff --git a/patches/0008-virtio-vsock-support-dgrams.patch b/patches/0008-virtio-vsock-support-dgrams.patch index 155f0b0..f94dbbb 100644 --- a/patches/0008-virtio-vsock-support-dgrams.patch +++ b/patches/0008-virtio-vsock-support-dgrams.patch @@ -1,7 +1,7 @@ -From ac5661ab5f36de3671e01d1b1fad73da61c6ce6d Mon Sep 17 00:00:00 2001 +From 518275adea4e66da9b19bff00439b127926692e6 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:33 +0000 -Subject: [PATCH 08/22] virtio/vsock: support dgrams +Subject: [PATCH 08/26] virtio/vsock: support dgrams This commit adds support for datagrams over virtio/vsock. diff --git a/patches/0009-Transparent-Socket-Impersonation-implementation.patch b/patches/0009-Transparent-Socket-Impersonation-implementation.patch index 9e63e17..e7bbdc2 100644 --- a/patches/0009-Transparent-Socket-Impersonation-implementation.patch +++ b/patches/0009-Transparent-Socket-Impersonation-implementation.patch @@ -1,7 +1,7 @@ -From caf92f0bcd22041f8982d080acdda8ce5fe36db0 Mon Sep 17 00:00:00 2001 +From 338b7e34b57dfb82129ec2b022735c3e3f71ef59 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 19 May 2022 22:38:26 +0200 -Subject: [PATCH 09/22] Transparent Socket Impersonation implementation +Subject: [PATCH 09/26] Transparent Socket Impersonation implementation Transparent Socket Impersonation (AF_TSI) is an address family that provides sockets presenting two simultaneous personalities, one of diff --git a/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch b/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch index a1ad8bf..b322cf9 100644 --- a/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch +++ b/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch @@ -1,7 +1,7 @@ -From 9b2c6ca26f98ba3c4b1052f35c437983533bf73c Mon Sep 17 00:00:00 2001 +From 936b1f01fece38e5c2c2038c9fdd50214fb08ec9 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 19 May 2022 22:42:01 +0200 -Subject: [PATCH 10/22] tsi: allow hijacking sockets (tsi_hijack) +Subject: [PATCH 10/26] tsi: allow hijacking sockets (tsi_hijack) Add a kernel command line option (tsi_hijack) enabling users to request the kernel to hijack AF_INET(SOCK_STREAM || SOCK_DGRAM) diff --git a/patches/0011-arm64-cpufeature-Unify-SCOPE_LOCAL_CPU-early-late-be.patch b/patches/0011-arm64-cpufeature-Unify-SCOPE_LOCAL_CPU-early-late-be.patch index cd10112..2b91ea1 100644 --- a/patches/0011-arm64-cpufeature-Unify-SCOPE_LOCAL_CPU-early-late-be.patch +++ b/patches/0011-arm64-cpufeature-Unify-SCOPE_LOCAL_CPU-early-late-be.patch @@ -1,7 +1,7 @@ -From c65c789690dfb531781ca150c053c3136868f1f2 Mon Sep 17 00:00:00 2001 +From 84ed5b2bc46d5022f246c55aa06922551f83cda3 Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Wed, 25 Sep 2024 16:35:34 +0200 -Subject: [PATCH 11/22] arm64: cpufeature: Unify SCOPE_LOCAL_CPU early & late +Subject: [PATCH 11/26] arm64: cpufeature: Unify SCOPE_LOCAL_CPU early & late behavior SCOPE_LOCAL_CPU is mostly used for CPU errata. The early feature logic diff --git a/patches/0012-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch b/patches/0012-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch index 2b89b07..9583446 100644 --- a/patches/0012-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch +++ b/patches/0012-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch @@ -1,7 +1,7 @@ -From 1a05ae9a6599e0575aecbba9eb0c789c3618ff98 Mon Sep 17 00:00:00 2001 +From 313af1b4bd78ce8673610442a39a1311b8bd3b1d Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:20 +0900 -Subject: [PATCH 12/22] prctl: Introduce PR_{SET,GET}_MEM_MODEL +Subject: [PATCH 12/26] prctl: Introduce PR_{SET,GET}_MEM_MODEL On some architectures, it is possible to query and/or change the CPU memory model. This allows userspace to switch to a stricter memory model diff --git a/patches/0013-arm64-Implement-PR_-GET-SET-_MEM_MODEL-for-always-TS.patch b/patches/0013-arm64-Implement-PR_-GET-SET-_MEM_MODEL-for-always-TS.patch index bb49208..c8fc6b8 100644 --- a/patches/0013-arm64-Implement-PR_-GET-SET-_MEM_MODEL-for-always-TS.patch +++ b/patches/0013-arm64-Implement-PR_-GET-SET-_MEM_MODEL-for-always-TS.patch @@ -1,7 +1,7 @@ -From 969cc6ca6ea39ece386f968694199d4ab6b558f8 Mon Sep 17 00:00:00 2001 +From 0d269370cdb6cb89f683528f6b28e08a5c9da7cf Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:21 +0900 -Subject: [PATCH 13/22] arm64: Implement PR_{GET,SET}_MEM_MODEL for always-TSO +Subject: [PATCH 13/26] arm64: Implement PR_{GET,SET}_MEM_MODEL for always-TSO CPUs Some ARM64 implementations are known to always use the TSO memory model. @@ -27,10 +27,10 @@ Reviewed-by: Neal Gompa create mode 100644 arch/arm64/kernel/cpufeature_impdef.c diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 40ae4dd961b1..54f10dc3e404 100644 +index 0e2902f38e70..8d77fef0ae68 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -2262,6 +2262,15 @@ config ARM64_DEBUG_PRIORITY_MASKING +@@ -2263,6 +2263,15 @@ config ARM64_DEBUG_PRIORITY_MASKING If unsure, say N endif # ARM64_PSEUDO_NMI diff --git a/patches/0014-arm64-Introduce-scaffolding-to-add-ACTLR_EL1-to-thre.patch b/patches/0014-arm64-Introduce-scaffolding-to-add-ACTLR_EL1-to-thre.patch index ea25b12..a09c29a 100644 --- a/patches/0014-arm64-Introduce-scaffolding-to-add-ACTLR_EL1-to-thre.patch +++ b/patches/0014-arm64-Introduce-scaffolding-to-add-ACTLR_EL1-to-thre.patch @@ -1,7 +1,7 @@ -From 6cfd22e2c52688ed1b86bf31369b2e2f1844a8f4 Mon Sep 17 00:00:00 2001 +From 2cd2b566c238c1c120cc17a1c20bcfa17a8b69b8 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:22 +0900 -Subject: [PATCH 14/22] arm64: Introduce scaffolding to add ACTLR_EL1 to thread +Subject: [PATCH 14/26] arm64: Introduce scaffolding to add ACTLR_EL1 to thread state Some CPUs expose IMPDEF features in ACTLR_EL1 that can be meaningfully @@ -24,10 +24,10 @@ Reviewed-by: Neal Gompa 5 files changed, 44 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 54f10dc3e404..287e67575e75 100644 +index 8d77fef0ae68..cf75e6b64ffa 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -428,6 +428,9 @@ config KASAN_SHADOW_OFFSET +@@ -429,6 +429,9 @@ config KASAN_SHADOW_OFFSET config UNWIND_TABLES bool diff --git a/patches/0015-arm64-Implement-Apple-IMPDEF-TSO-memory-model-contro.patch b/patches/0015-arm64-Implement-Apple-IMPDEF-TSO-memory-model-contro.patch index 6925236..c0de058 100644 --- a/patches/0015-arm64-Implement-Apple-IMPDEF-TSO-memory-model-contro.patch +++ b/patches/0015-arm64-Implement-Apple-IMPDEF-TSO-memory-model-contro.patch @@ -1,7 +1,7 @@ -From e3d1eab5e09ebbbdc0e436226f2fb5314f71013b Mon Sep 17 00:00:00 2001 +From 0ff74dd6e1a08b75f7c45d3b792dc7a47e18fe97 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:23 +0900 -Subject: [PATCH 15/22] arm64: Implement Apple IMPDEF TSO memory model control +Subject: [PATCH 15/26] arm64: Implement Apple IMPDEF TSO memory model control Apple CPUs may implement the TSO memory model as an optional configurable mode. This allows x86 emulators to simplify their @@ -27,10 +27,10 @@ Reviewed-by: Neal Gompa create mode 100644 arch/arm64/include/asm/apple_cpufeature.h diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 287e67575e75..651158b54b44 100644 +index cf75e6b64ffa..4331bbad4e68 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -2267,6 +2267,8 @@ endif # ARM64_PSEUDO_NMI +@@ -2268,6 +2268,8 @@ endif # ARM64_PSEUDO_NMI config ARM64_MEMORY_MODEL_CONTROL bool "Runtime memory model control" diff --git a/patches/0016-drm-virtio-Support-fence-passing-feature.patch b/patches/0016-drm-virtio-Support-fence-passing-feature.patch index 187bb6a..767a5c4 100644 --- a/patches/0016-drm-virtio-Support-fence-passing-feature.patch +++ b/patches/0016-drm-virtio-Support-fence-passing-feature.patch @@ -1,7 +1,7 @@ -From 3d4e0d6840f26edf46f8239158665a6e3802f7a2 Mon Sep 17 00:00:00 2001 +From 58c83b2acea8f37909ae2e12928ad652fd8ce522 Mon Sep 17 00:00:00 2001 From: Dmitry Osipenko Date: Sat, 7 Oct 2023 22:47:47 +0300 -Subject: [PATCH 16/22] drm/virtio: Support fence-passing feature +Subject: [PATCH 16/26] drm/virtio: Support fence-passing feature Support extended version of VIRTIO_GPU_CMD_SUBMIT_3D command that allows passing in-fence IDs to host for waiting, removing need to do expensive diff --git a/patches/0017-Enable-64-bit-processes-to-use-compat-input-syscalls.patch b/patches/0017-Enable-64-bit-processes-to-use-compat-input-syscalls.patch index c1964ed..04bda56 100644 --- a/patches/0017-Enable-64-bit-processes-to-use-compat-input-syscalls.patch +++ b/patches/0017-Enable-64-bit-processes-to-use-compat-input-syscalls.patch @@ -1,7 +1,7 @@ -From 8b166f2a17abfc7ef6ae76fda5b5201ed4e9b604 Mon Sep 17 00:00:00 2001 +From 8932f5b0d9d9923a2ac2b09f8b17d3255d04ce09 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 8 Oct 2024 11:24:25 +0200 -Subject: [PATCH 17/22] Enable 64 bit processes to use compat input syscalls +Subject: [PATCH 17/26] Enable 64 bit processes to use compat input syscalls The compat variant of input syscalls is only enabled for 32 bit tasks, but in some cases, such as userspace emulation, it's useful to @@ -64,7 +64,7 @@ index 3b7bb12b023b..e78c0492ce0d 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index 0d1d70aded38..eb86e4778b27 100644 +index af143d3af85f..085d2ffe8f48 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1599,6 +1599,11 @@ struct task_struct { diff --git a/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch b/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch index 617935f..72947a1 100644 --- a/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch +++ b/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch @@ -1,7 +1,7 @@ -From c7683ffac2b75bbbc4150d3a2305dcc1c46835b4 Mon Sep 17 00:00:00 2001 +From d56d9ed7805cfda7e9abf484cdc0de2771566c08 Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Sun, 20 Oct 2024 01:23:41 +0900 -Subject: [PATCH 18/22] dax: Allow block size > PAGE_SIZE +Subject: [PATCH 18/26] dax: Allow block size > PAGE_SIZE For virtio-dax, the file/FS blocksize is irrelevant. FUSE always uses large DAX blocks (2MiB), which will work with all host page sizes. Since diff --git a/patches/0019-mm-Fix-__wp_page_copy_user-fallback-path-for-remote-.patch b/patches/0019-mm-Fix-__wp_page_copy_user-fallback-path-for-remote-.patch index 17eac12..6746b38 100644 --- a/patches/0019-mm-Fix-__wp_page_copy_user-fallback-path-for-remote-.patch +++ b/patches/0019-mm-Fix-__wp_page_copy_user-fallback-path-for-remote-.patch @@ -1,7 +1,7 @@ -From d89d7262ddab1ddbd3cdeb999602ccaba57823dc Mon Sep 17 00:00:00 2001 +From 5b2548b89b041ae10a33cc5a19d87a2cb71647be Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Mon, 21 Oct 2024 23:21:16 +0900 -Subject: [PATCH 19/22] mm: Fix __wp_page_copy_user fallback path for remote mm +Subject: [PATCH 19/26] mm: Fix __wp_page_copy_user fallback path for remote mm If the source page is a PFN mapping, we copy back from userspace. However, if this fault is a remote access, we cannot use diff --git a/patches/0020-virtgpu-gem-partial-map.patch b/patches/0020-virtgpu-gem-partial-map.patch index 97698df..de3e861 100644 --- a/patches/0020-virtgpu-gem-partial-map.patch +++ b/patches/0020-virtgpu-gem-partial-map.patch @@ -1,7 +1,7 @@ -From d034b7e317ab68d956a260ade8bed025967eb3cf Mon Sep 17 00:00:00 2001 +From f43b1aa436d0f7b4bf02f85a12fcebc74c052743 Mon Sep 17 00:00:00 2001 From: Sasha Finkelstein Date: Fri, 17 Jan 2025 12:34:23 +0100 -Subject: [PATCH 20/22] virtgpu: gem partial map +Subject: [PATCH 20/26] virtgpu: gem partial map Those are useful to implement coherent cross-vm mmap. diff --git a/patches/0021-virtgpu-mixed-page-size.patch b/patches/0021-virtgpu-mixed-page-size.patch index ed15e45..8bfcc0c 100644 --- a/patches/0021-virtgpu-mixed-page-size.patch +++ b/patches/0021-virtgpu-mixed-page-size.patch @@ -1,7 +1,7 @@ -From 0cd08a24977bf58aa646683b02ae756f2b565734 Mon Sep 17 00:00:00 2001 +From 0d62c564ec641c16079f6a2bfccf2ea983cad594 Mon Sep 17 00:00:00 2001 From: Sasha Finkelstein Date: Fri, 17 Jan 2025 12:34:28 +0100 -Subject: [PATCH 21/22] virtgpu: mixed page size +Subject: [PATCH 21/26] virtgpu: mixed page size This allows running different page sizes between host and guest on platforms that support mixed page sizes. diff --git a/patches/0022-fuse-mark-DAX-inode-releases-as-blocking.patch b/patches/0022-fuse-mark-DAX-inode-releases-as-blocking.patch index dfec5b5..b5e93c3 100644 --- a/patches/0022-fuse-mark-DAX-inode-releases-as-blocking.patch +++ b/patches/0022-fuse-mark-DAX-inode-releases-as-blocking.patch @@ -1,7 +1,7 @@ -From 3bfc38f2afde71218eb2a30f9113dc2b13409790 Mon Sep 17 00:00:00 2001 +From 96fb35fd5e6840e1563bf9f56c488af396020c8a Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Sun, 18 Jan 2026 23:37:30 +0100 -Subject: [PATCH 22/22] fuse: mark DAX inode releases as blocking +Subject: [PATCH 22/26] fuse: mark DAX inode releases as blocking Commit 26e5c67deb2e ("fuse: fix livelock in synchronous file put from fuseblk workers") made fputs on closing files always asynchronous. diff --git a/patches/0023-Revert-vsock-virtio-Fix-message-iterator-handling-on.patch b/patches/0023-Revert-vsock-virtio-Fix-message-iterator-handling-on.patch new file mode 100644 index 0000000..0188eab --- /dev/null +++ b/patches/0023-Revert-vsock-virtio-Fix-message-iterator-handling-on.patch @@ -0,0 +1,37 @@ +From f1ce09fd1d1ee16731ae8809d019ec4caba9d896 Mon Sep 17 00:00:00 2001 +From: Sergio Lopez +Date: Tue, 10 Mar 2026 13:33:02 +0100 +Subject: [PATCH 23/26] Revert "vsock/virtio: Fix message iterator handling on + transmit path" + +This reverts commit e6cee5d4a122ca9d6b7bb8fa09e498c60b9f208c. +--- + net/vmw_vsock/virtio_transport_common.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c +index b3ee9ce90b5d..f274cde784f7 100644 +--- a/net/vmw_vsock/virtio_transport_common.c ++++ b/net/vmw_vsock/virtio_transport_common.c +@@ -106,15 +106,13 @@ static int virtio_transport_fill_skb(struct sk_buff *skb, + size_t len, + bool zcopy) + { +- struct msghdr *msg = info->msg; +- + if (zcopy) +- return __zerocopy_sg_from_iter(msg, NULL, skb, +- &msg->msg_iter, ++ return __zerocopy_sg_from_iter(info->msg, NULL, skb, ++ &info->msg->msg_iter, + len); + + virtio_vsock_skb_put(skb, len); +- return skb_copy_datagram_from_iter_full(skb, 0, &msg->msg_iter, len); ++ return skb_copy_datagram_from_iter(skb, 0, &info->msg->msg_iter, len); + } + + static void virtio_transport_init_hdr(struct sk_buff *skb, +-- +2.52.0 + diff --git a/patches/0024-Revert-vsock-virtio-Allocate-nonlinear-SKBs-for-hand.patch b/patches/0024-Revert-vsock-virtio-Allocate-nonlinear-SKBs-for-hand.patch new file mode 100644 index 0000000..45ddb3b --- /dev/null +++ b/patches/0024-Revert-vsock-virtio-Allocate-nonlinear-SKBs-for-hand.patch @@ -0,0 +1,37 @@ +From 6e47c66e5e9c4278cb27e501d3ad2824092445fe Mon Sep 17 00:00:00 2001 +From: Sergio Lopez +Date: Tue, 10 Mar 2026 13:33:11 +0100 +Subject: [PATCH 24/26] Revert "vsock/virtio: Allocate nonlinear SKBs for + handling large transmit buffers" + +This reverts commit 69c5bf306115e6047e0d902f8c6551fff74a71ff. +--- + net/vmw_vsock/virtio_transport_common.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c +index f274cde784f7..4733c1d234d5 100644 +--- a/net/vmw_vsock/virtio_transport_common.c ++++ b/net/vmw_vsock/virtio_transport_common.c +@@ -111,8 +111,7 @@ static int virtio_transport_fill_skb(struct sk_buff *skb, + &info->msg->msg_iter, + len); + +- virtio_vsock_skb_put(skb, len); +- return skb_copy_datagram_from_iter(skb, 0, &info->msg->msg_iter, len); ++ return memcpy_from_msg(skb_put(skb, len), info->msg, len); + } + + static void virtio_transport_init_hdr(struct sk_buff *skb, +@@ -295,7 +294,7 @@ static struct sk_buff *virtio_transport_alloc_skb(struct virtio_vsock_pkt_info * + if (!zcopy) + skb_len += payload_len; + +- skb = virtio_vsock_alloc_skb(skb_len, GFP_KERNEL); ++ skb = virtio_vsock_alloc_linear_skb(skb_len, GFP_KERNEL); + if (!skb) + return NULL; + +-- +2.52.0 + diff --git a/patches/0025-Revert-vhost-vsock-Allocate-nonlinear-SKBs-for-handl.patch b/patches/0025-Revert-vhost-vsock-Allocate-nonlinear-SKBs-for-handl.patch new file mode 100644 index 0000000..a8e9460 --- /dev/null +++ b/patches/0025-Revert-vhost-vsock-Allocate-nonlinear-SKBs-for-handl.patch @@ -0,0 +1,97 @@ +From a5d4bbafb75eba1205fb00b4ba8073f7461954de Mon Sep 17 00:00:00 2001 +From: Sergio Lopez +Date: Tue, 10 Mar 2026 13:33:20 +0100 +Subject: [PATCH 25/26] Revert "vhost/vsock: Allocate nonlinear SKBs for + handling large receive buffers" + +This reverts commit 65e808a6023f883f298db734444a9c38e45af740. +--- + drivers/vhost/vsock.c | 8 +++++--- + include/linux/virtio_vsock.h | 32 +++----------------------------- + 2 files changed, 8 insertions(+), 32 deletions(-) + +diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c +index deaadc2503a2..ad89ee3676db 100644 +--- a/drivers/vhost/vsock.c ++++ b/drivers/vhost/vsock.c +@@ -352,7 +352,7 @@ vhost_vsock_alloc_skb(struct vhost_virtqueue *vq, + return NULL; + + /* len contains both payload and hdr */ +- skb = virtio_vsock_alloc_skb(len, GFP_KERNEL); ++ skb = virtio_vsock_alloc_linear_skb(len, GFP_KERNEL); + if (!skb) + return NULL; + +@@ -381,8 +381,10 @@ vhost_vsock_alloc_skb(struct vhost_virtqueue *vq, + + virtio_vsock_skb_put(skb, payload_len); + +- if (skb_copy_datagram_from_iter(skb, 0, &iov_iter, payload_len)) { +- vq_err(vq, "Failed to copy %zu byte payload\n", payload_len); ++ nbytes = copy_from_iter(skb->data, payload_len, &iov_iter); ++ if (nbytes != payload_len) { ++ vq_err(vq, "Expected %zu byte payload, got %zu bytes\n", ++ payload_len, nbytes); + kfree_skb(skb); + return NULL; + } +diff --git a/include/linux/virtio_vsock.h b/include/linux/virtio_vsock.h +index e3d7afa29894..1ff7389ed244 100644 +--- a/include/linux/virtio_vsock.h ++++ b/include/linux/virtio_vsock.h +@@ -49,48 +49,22 @@ static inline void virtio_vsock_skb_clear_tap_delivered(struct sk_buff *skb) + + static inline void virtio_vsock_skb_put(struct sk_buff *skb, u32 len) + { +- DEBUG_NET_WARN_ON_ONCE(skb->len); +- +- if (skb_is_nonlinear(skb)) +- skb->len = len; +- else +- skb_put(skb, len); ++ skb_put(skb, len); + } + + static inline struct sk_buff * +-__virtio_vsock_alloc_skb_with_frags(unsigned int header_len, +- unsigned int data_len, +- gfp_t mask) ++virtio_vsock_alloc_linear_skb(unsigned int size, gfp_t mask) + { + struct sk_buff *skb; +- int err; + +- skb = alloc_skb_with_frags(header_len, data_len, +- PAGE_ALLOC_COSTLY_ORDER, &err, mask); ++ skb = alloc_skb(size, mask); + if (!skb) + return NULL; + + skb_reserve(skb, VIRTIO_VSOCK_SKB_HEADROOM); +- skb->data_len = data_len; + return skb; + } + +-static inline struct sk_buff * +-virtio_vsock_alloc_linear_skb(unsigned int size, gfp_t mask) +-{ +- return __virtio_vsock_alloc_skb_with_frags(size, 0, mask); +-} +- +-static inline struct sk_buff *virtio_vsock_alloc_skb(unsigned int size, gfp_t mask) +-{ +- if (size <= SKB_WITH_OVERHEAD(PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) +- return virtio_vsock_alloc_linear_skb(size, mask); +- +- size -= VIRTIO_VSOCK_SKB_HEADROOM; +- return __virtio_vsock_alloc_skb_with_frags(VIRTIO_VSOCK_SKB_HEADROOM, +- size, mask); +-} +- + static inline void + virtio_vsock_skb_queue_head(struct sk_buff_head *list, struct sk_buff *skb) + { +-- +2.52.0 + diff --git a/patches/0026-Revert-vsock-virtio-cap-TX-credit-to-local-buffer-si.patch b/patches/0026-Revert-vsock-virtio-cap-TX-credit-to-local-buffer-si.patch new file mode 100644 index 0000000..cf7a072 --- /dev/null +++ b/patches/0026-Revert-vsock-virtio-cap-TX-credit-to-local-buffer-si.patch @@ -0,0 +1,53 @@ +From 7eeeb4e671c6812258937a9662b29d4dfc45a260 Mon Sep 17 00:00:00 2001 +From: Sergio Lopez +Date: Tue, 10 Mar 2026 16:00:26 +0100 +Subject: [PATCH 26/26] Revert "vsock/virtio: cap TX credit to local buffer + size" + +This reverts commit c0e42fb0e054c2b2ec4ee80f48ccd256ae0227ce. +--- + net/vmw_vsock/virtio_transport_common.c | 14 ++------------ + 1 file changed, 2 insertions(+), 12 deletions(-) + +diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c +index 4733c1d234d5..bed7fe5a7203 100644 +--- a/net/vmw_vsock/virtio_transport_common.c ++++ b/net/vmw_vsock/virtio_transport_common.c +@@ -850,15 +850,6 @@ virtio_transport_seqpacket_dequeue(struct vsock_sock *vsk, + } + EXPORT_SYMBOL_GPL(virtio_transport_seqpacket_dequeue); + +-static u32 virtio_transport_tx_buf_size(struct virtio_vsock_sock *vvs) +-{ +- /* The peer advertises its receive buffer via peer_buf_alloc, but we +- * cap it to our local buf_alloc so a remote peer cannot force us to +- * queue more data than our own buffer configuration allows. +- */ +- return min(vvs->peer_buf_alloc, vvs->buf_alloc); +-} +- + int + virtio_transport_seqpacket_enqueue(struct vsock_sock *vsk, + struct msghdr *msg, +@@ -868,7 +859,7 @@ virtio_transport_seqpacket_enqueue(struct vsock_sock *vsk, + + spin_lock_bh(&vvs->tx_lock); + +- if (len > virtio_transport_tx_buf_size(vvs)) { ++ if (len > vvs->peer_buf_alloc) { + spin_unlock_bh(&vvs->tx_lock); + return -EMSGSIZE; + } +@@ -938,8 +929,7 @@ static s64 virtio_transport_has_space(struct virtio_vsock_sock *vvs) + * we have bytes in flight (tx_cnt - peer_fwd_cnt), the subtraction + * does not underflow. + */ +- bytes = (s64)virtio_transport_tx_buf_size(vvs) - +- (vvs->tx_cnt - vvs->peer_fwd_cnt); ++ bytes = (s64)vvs->peer_buf_alloc - (vvs->tx_cnt - vvs->peer_fwd_cnt); + if (bytes < 0) + bytes = 0; + +-- +2.52.0 +