From 5c3ca46d4820b019ebf46472e3a95e288f0c7b5d Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 10 Mar 2026 13:29:28 +0100 Subject: [PATCH 1/3] Rebase on a 6.12.76 kernel Rebase on the latest LTS 6.12.x kernel. No changes needed in the downstream patches. Signed-off-by: Sergio Lopez --- Makefile | 6 +++--- ...0001-virtio-enable-DMA-API-if-memory-is-restricted.patch | 2 +- patches-tee/0002-x86-sev-write-AP-reset-vector.patch | 2 +- ...-Implement-driver-to-retrieve-secrets-from-cmdline.patch | 2 +- patches-tee/0004-x86-sev-Avoid-using-native_cpuid.patch | 2 +- patches/0001-krunfw-Don-t-panic-when-init-dies.patch | 2 +- patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch | 2 +- ...ock-dgram-generalize-recvmsg-and-drop-transport-dg.patch | 4 ++-- patches/0004-vsock-refactor-transport-lookup-code.patch | 2 +- patches/0005-vsock-support-multi-transport-datagrams.patch | 2 +- patches/0006-vsock-make-vsock-bind-reusable.patch | 2 +- ...-virtio-vsock-add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch | 2 +- patches/0008-virtio-vsock-support-dgrams.patch | 2 +- ...09-Transparent-Socket-Impersonation-implementation.patch | 2 +- patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch | 2 +- ...m64-cpufeature-Unify-SCOPE_LOCAL_CPU-early-late-be.patch | 2 +- patches/0012-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch | 2 +- ...m64-Implement-PR_-GET-SET-_MEM_MODEL-for-always-TS.patch | 6 +++--- ...m64-Introduce-scaffolding-to-add-ACTLR_EL1-to-thre.patch | 6 +++--- ...m64-Implement-Apple-IMPDEF-TSO-memory-model-contro.patch | 6 +++--- patches/0016-drm-virtio-Support-fence-passing-feature.patch | 2 +- ...able-64-bit-processes-to-use-compat-input-syscalls.patch | 4 ++-- patches/0018-dax-Allow-block-size-PAGE_SIZE.patch | 2 +- ...-Fix-__wp_page_copy_user-fallback-path-for-remote-.patch | 2 +- patches/0020-virtgpu-gem-partial-map.patch | 2 +- patches/0021-virtgpu-mixed-page-size.patch | 2 +- patches/0022-fuse-mark-DAX-inode-releases-as-blocking.patch | 2 +- 27 files changed, 37 insertions(+), 37 deletions(-) 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..0ba1c97 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 70b8ab2d1d4ba865efe08ba1307f694b9f154859 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..1265c7a 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 b7bfb048dc9df54f4dc742e4787766a7fd2e39f8 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..1073a17 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 8dfe0e6ed7600a8cd1e2caa7b1e61116493d5001 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..ba9fc7b 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 c388e16aabfa5e989d0ca71c95ac24acfd72d2d4 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..4fe218c 100644 --- a/patches/0001-krunfw-Don-t-panic-when-init-dies.patch +++ b/patches/0001-krunfw-Don-t-panic-when-init-dies.patch @@ -1,4 +1,4 @@ -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 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..a108ee0 100644 --- a/patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch +++ b/patches/0002-krunfw-Ignore-run_cmd-on-orderly-reboot.patch @@ -1,4 +1,4 @@ -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 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..089a850 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,4 +1,4 @@ -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 @@ -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..6ac31e3 100644 --- a/patches/0004-vsock-refactor-transport-lookup-code.patch +++ b/patches/0004-vsock-refactor-transport-lookup-code.patch @@ -1,4 +1,4 @@ -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 diff --git a/patches/0005-vsock-support-multi-transport-datagrams.patch b/patches/0005-vsock-support-multi-transport-datagrams.patch index b2a4385..e5109ba 100644 --- a/patches/0005-vsock-support-multi-transport-datagrams.patch +++ b/patches/0005-vsock-support-multi-transport-datagrams.patch @@ -1,4 +1,4 @@ -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 diff --git a/patches/0006-vsock-make-vsock-bind-reusable.patch b/patches/0006-vsock-make-vsock-bind-reusable.patch index 374bafd..244dc7e 100644 --- a/patches/0006-vsock-make-vsock-bind-reusable.patch +++ b/patches/0006-vsock-make-vsock-bind-reusable.patch @@ -1,4 +1,4 @@ -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 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..848ad41 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,4 +1,4 @@ -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 diff --git a/patches/0008-virtio-vsock-support-dgrams.patch b/patches/0008-virtio-vsock-support-dgrams.patch index 155f0b0..a74992f 100644 --- a/patches/0008-virtio-vsock-support-dgrams.patch +++ b/patches/0008-virtio-vsock-support-dgrams.patch @@ -1,4 +1,4 @@ -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 diff --git a/patches/0009-Transparent-Socket-Impersonation-implementation.patch b/patches/0009-Transparent-Socket-Impersonation-implementation.patch index 9e63e17..67e4c98 100644 --- a/patches/0009-Transparent-Socket-Impersonation-implementation.patch +++ b/patches/0009-Transparent-Socket-Impersonation-implementation.patch @@ -1,4 +1,4 @@ -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 diff --git a/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch b/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch index a1ad8bf..c0ad7f6 100644 --- a/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch +++ b/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch @@ -1,4 +1,4 @@ -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) 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..aa4f6b4 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,4 +1,4 @@ -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 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..33d64dc 100644 --- a/patches/0012-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch +++ b/patches/0012-prctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch @@ -1,4 +1,4 @@ -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 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..0b0f7e2 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,4 +1,4 @@ -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 @@ -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..0c2b92c 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,4 +1,4 @@ -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 @@ -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..83404ff 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,4 +1,4 @@ -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 @@ -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..fd935d1 100644 --- a/patches/0016-drm-virtio-Support-fence-passing-feature.patch +++ b/patches/0016-drm-virtio-Support-fence-passing-feature.patch @@ -1,4 +1,4 @@ -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 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..d0497b8 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,4 +1,4 @@ -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 @@ -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..98bf41b 100644 --- a/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch +++ b/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch @@ -1,4 +1,4 @@ -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 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..a5f7071 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,4 +1,4 @@ -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 diff --git a/patches/0020-virtgpu-gem-partial-map.patch b/patches/0020-virtgpu-gem-partial-map.patch index 97698df..b40a19a 100644 --- a/patches/0020-virtgpu-gem-partial-map.patch +++ b/patches/0020-virtgpu-gem-partial-map.patch @@ -1,4 +1,4 @@ -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 diff --git a/patches/0021-virtgpu-mixed-page-size.patch b/patches/0021-virtgpu-mixed-page-size.patch index ed15e45..1957bb1 100644 --- a/patches/0021-virtgpu-mixed-page-size.patch +++ b/patches/0021-virtgpu-mixed-page-size.patch @@ -1,4 +1,4 @@ -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 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..b03a920 100644 --- a/patches/0022-fuse-mark-DAX-inode-releases-as-blocking.patch +++ b/patches/0022-fuse-mark-DAX-inode-releases-as-blocking.patch @@ -1,4 +1,4 @@ -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 From eba1c59f16673237e5b9c862f2214a16524533e0 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 10 Mar 2026 13:35:47 +0100 Subject: [PATCH 2/3] Include patchs reverting nonlinear SKBs on vsock The vsock implementation in libkrun can't deal with packets splitted among multiple descriptors. Until we add support for it, let's revert the patches in the kernel triggering this behavior. Fixes: containers/libkrun#535 Signed-off-by: Sergio Lopez --- ...able-DMA-API-if-memory-is-restricted.patch | 2 +- .../0002-x86-sev-write-AP-reset-vector.patch | 2 +- ...ver-to-retrieve-secrets-from-cmdline.patch | 2 +- ...004-x86-sev-Avoid-using-native_cpuid.patch | 2 +- ...01-krunfw-Don-t-panic-when-init-dies.patch | 2 +- ...nfw-Ignore-run_cmd-on-orderly-reboot.patch | 2 +- ...ralize-recvmsg-and-drop-transport-dg.patch | 2 +- ...vsock-refactor-transport-lookup-code.patch | 2 +- ...ck-support-multi-transport-datagrams.patch | 2 +- .../0006-vsock-make-vsock-bind-reusable.patch | 2 +- ...add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch | 2 +- .../0008-virtio-vsock-support-dgrams.patch | 2 +- ...-Socket-Impersonation-implementation.patch | 2 +- ...i-allow-hijacking-sockets-tsi_hijack.patch | 2 +- ...-Unify-SCOPE_LOCAL_CPU-early-late-be.patch | 2 +- ...ctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch | 2 +- ...PR_-GET-SET-_MEM_MODEL-for-always-TS.patch | 2 +- ...scaffolding-to-add-ACTLR_EL1-to-thre.patch | 2 +- ...Apple-IMPDEF-TSO-memory-model-contro.patch | 2 +- ...virtio-Support-fence-passing-feature.patch | 2 +- ...ocesses-to-use-compat-input-syscalls.patch | 2 +- .../0018-dax-Allow-block-size-PAGE_SIZE.patch | 2 +- ..._copy_user-fallback-path-for-remote-.patch | 2 +- patches/0020-virtgpu-gem-partial-map.patch | 2 +- patches/0021-virtgpu-mixed-page-size.patch | 2 +- ...-mark-DAX-inode-releases-as-blocking.patch | 2 +- ...tio-Fix-message-iterator-handling-on.patch | 37 +++++++ ...tio-Allocate-nonlinear-SKBs-for-hand.patch | 37 +++++++ ...ck-Allocate-nonlinear-SKBs-for-handl.patch | 97 +++++++++++++++++++ 29 files changed, 197 insertions(+), 26 deletions(-) create mode 100644 patches/0023-Revert-vsock-virtio-Fix-message-iterator-handling-on.patch create mode 100644 patches/0024-Revert-vsock-virtio-Allocate-nonlinear-SKBs-for-hand.patch create mode 100644 patches/0025-Revert-vhost-vsock-Allocate-nonlinear-SKBs-for-handl.patch 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 0ba1c97..b0bf942 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 70b8ab2d1d4ba865efe08ba1307f694b9f154859 Mon Sep 17 00:00:00 2001 +From 18d2a787f2160edb05cd536fb74109e47ff8e2b8 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 1265c7a..0e8aa3d 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 b7bfb048dc9df54f4dc742e4787766a7fd2e39f8 Mon Sep 17 00:00:00 2001 +From 84452765ffa7957a573d4782eced150043dbf7d6 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 1073a17..cb746bf 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 8dfe0e6ed7600a8cd1e2caa7b1e61116493d5001 Mon Sep 17 00:00:00 2001 +From aa4dfd6648a87fc12da362ab2381accd31ce212e 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 ba9fc7b..57cd857 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 c388e16aabfa5e989d0ca71c95ac24acfd72d2d4 Mon Sep 17 00:00:00 2001 +From d0d3b5b18f81c9660e201b056909e0f52c519546 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 4fe218c..5dad8a1 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 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/25] 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 a108ee0..f5822a5 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 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/25] 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 089a850..d03275e 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 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/25] vsock/dgram: generalize recvmsg and drop transport->dgram_dequeue This commit drops the transport->dgram_dequeue callback and makes diff --git a/patches/0004-vsock-refactor-transport-lookup-code.patch b/patches/0004-vsock-refactor-transport-lookup-code.patch index 6ac31e3..748b935 100644 --- a/patches/0004-vsock-refactor-transport-lookup-code.patch +++ b/patches/0004-vsock-refactor-transport-lookup-code.patch @@ -1,7 +1,7 @@ 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/25] 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 e5109ba..a1ba896 100644 --- a/patches/0005-vsock-support-multi-transport-datagrams.patch +++ b/patches/0005-vsock-support-multi-transport-datagrams.patch @@ -1,7 +1,7 @@ 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/25] 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 244dc7e..2ec80bd 100644 --- a/patches/0006-vsock-make-vsock-bind-reusable.patch +++ b/patches/0006-vsock-make-vsock-bind-reusable.patch @@ -1,7 +1,7 @@ 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/25] 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 848ad41..cecfd5a 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 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/25] 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 a74992f..3310de1 100644 --- a/patches/0008-virtio-vsock-support-dgrams.patch +++ b/patches/0008-virtio-vsock-support-dgrams.patch @@ -1,7 +1,7 @@ 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/25] 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 67e4c98..8d61199 100644 --- a/patches/0009-Transparent-Socket-Impersonation-implementation.patch +++ b/patches/0009-Transparent-Socket-Impersonation-implementation.patch @@ -1,7 +1,7 @@ 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/25] 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 c0ad7f6..06cb0c6 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 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/25] 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 aa4f6b4..9fc74d3 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 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/25] 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 33d64dc..e804903 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 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/25] 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 0b0f7e2..616c55e 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 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/25] arm64: Implement PR_{GET,SET}_MEM_MODEL for always-TSO CPUs Some ARM64 implementations are known to always use the TSO memory model. 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 0c2b92c..7c6820f 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 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/25] arm64: Introduce scaffolding to add ACTLR_EL1 to thread state Some CPUs expose IMPDEF features in ACTLR_EL1 that can be meaningfully 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 83404ff..7cec72d 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 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/25] 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 diff --git a/patches/0016-drm-virtio-Support-fence-passing-feature.patch b/patches/0016-drm-virtio-Support-fence-passing-feature.patch index fd935d1..02790e5 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 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/25] 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 d0497b8..31bc055 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 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/25] 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 diff --git a/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch b/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch index 98bf41b..2962050 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 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/25] 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 a5f7071..1ab1100 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 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/25] 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 b40a19a..267db9e 100644 --- a/patches/0020-virtgpu-gem-partial-map.patch +++ b/patches/0020-virtgpu-gem-partial-map.patch @@ -1,7 +1,7 @@ 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/25] 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 1957bb1..c3e60ef 100644 --- a/patches/0021-virtgpu-mixed-page-size.patch +++ b/patches/0021-virtgpu-mixed-page-size.patch @@ -1,7 +1,7 @@ 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/25] 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 b03a920..3ddb0bb 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 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/25] 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..e0b0737 --- /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/25] 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..66ef29f --- /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/25] 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..66558bd --- /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/25] 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 + From 64a526eba8aa3fc459fb0504974a045c945edcbf Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 10 Mar 2026 16:02:13 +0100 Subject: [PATCH 3/3] Include a patch reverting vsock TX credit cap Commit c0e42fb0e054c2b2ec4ee80f48ccd256ae0227ce backports "vsock/virtio: cap TX credit to local buffer size", which breaks libkrun's vsock implementation since we don't expect the peer to not honor our buf_alloc value. This causes us to miss sending credit updates, leading to the kernel thinking the socket has ran out of space. Temporarily revert it until we have a libkrun release supporting this behavior. Signed-off-by: Sergio Lopez --- ...able-DMA-API-if-memory-is-restricted.patch | 2 +- .../0002-x86-sev-write-AP-reset-vector.patch | 2 +- ...ver-to-retrieve-secrets-from-cmdline.patch | 2 +- ...004-x86-sev-Avoid-using-native_cpuid.patch | 2 +- ...01-krunfw-Don-t-panic-when-init-dies.patch | 2 +- ...nfw-Ignore-run_cmd-on-orderly-reboot.patch | 2 +- ...ralize-recvmsg-and-drop-transport-dg.patch | 2 +- ...vsock-refactor-transport-lookup-code.patch | 2 +- ...ck-support-multi-transport-datagrams.patch | 2 +- .../0006-vsock-make-vsock-bind-reusable.patch | 2 +- ...add-VIRTIO_VSOCK_F_DGRAM-feature-bit.patch | 2 +- .../0008-virtio-vsock-support-dgrams.patch | 2 +- ...-Socket-Impersonation-implementation.patch | 2 +- ...i-allow-hijacking-sockets-tsi_hijack.patch | 2 +- ...-Unify-SCOPE_LOCAL_CPU-early-late-be.patch | 2 +- ...ctl-Introduce-PR_-SET-GET-_MEM_MODEL.patch | 2 +- ...PR_-GET-SET-_MEM_MODEL-for-always-TS.patch | 2 +- ...scaffolding-to-add-ACTLR_EL1-to-thre.patch | 2 +- ...Apple-IMPDEF-TSO-memory-model-contro.patch | 2 +- ...virtio-Support-fence-passing-feature.patch | 2 +- ...ocesses-to-use-compat-input-syscalls.patch | 2 +- .../0018-dax-Allow-block-size-PAGE_SIZE.patch | 2 +- ..._copy_user-fallback-path-for-remote-.patch | 2 +- patches/0020-virtgpu-gem-partial-map.patch | 2 +- patches/0021-virtgpu-mixed-page-size.patch | 2 +- ...-mark-DAX-inode-releases-as-blocking.patch | 2 +- ...tio-Fix-message-iterator-handling-on.patch | 2 +- ...tio-Allocate-nonlinear-SKBs-for-hand.patch | 2 +- ...ck-Allocate-nonlinear-SKBs-for-handl.patch | 2 +- ...tio-cap-TX-credit-to-local-buffer-si.patch | 53 +++++++++++++++++++ 30 files changed, 82 insertions(+), 29 deletions(-) create mode 100644 patches/0026-Revert-vsock-virtio-cap-TX-credit-to-local-buffer-si.patch 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 b0bf942..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 18d2a787f2160edb05cd536fb74109e47ff8e2b8 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 0e8aa3d..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 84452765ffa7957a573d4782eced150043dbf7d6 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 cb746bf..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 aa4dfd6648a87fc12da362ab2381accd31ce212e 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 57cd857..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 d0d3b5b18f81c9660e201b056909e0f52c519546 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 5dad8a1..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 817f5791591a123e06fa85993aa24f2e4367c506 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 2 Mar 2023 07:34:49 +0100 -Subject: [PATCH 01/25] 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 f5822a5..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 db750d64e3f36576b667b67e979ec800a1eec872 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Mon, 16 May 2022 16:04:27 +0200 -Subject: [PATCH 02/25] 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 d03275e..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 56ef3652b6666b91c1c66fa94aedac70a934bfb2 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:28 +0000 -Subject: [PATCH 03/25] 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 diff --git a/patches/0004-vsock-refactor-transport-lookup-code.patch b/patches/0004-vsock-refactor-transport-lookup-code.patch index 748b935..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 385e0bdc508313f07f59bbe26cf91ed6d97eaf39 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:29 +0000 -Subject: [PATCH 04/25] 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 a1ba896..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 774a9ccd77a3adb0f736f3f2323bde3d0b06b210 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:30 +0000 -Subject: [PATCH 05/25] 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 2ec80bd..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 4038db5595d575390c8a0d283ae647bf9d3e96c9 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:31 +0000 -Subject: [PATCH 06/25] 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 cecfd5a..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 881d7e95e6f0e8dae002a32a2a88d7c08b083b54 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:32 +0000 -Subject: [PATCH 07/25] 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 3310de1..f94dbbb 100644 --- a/patches/0008-virtio-vsock-support-dgrams.patch +++ b/patches/0008-virtio-vsock-support-dgrams.patch @@ -1,7 +1,7 @@ From 518275adea4e66da9b19bff00439b127926692e6 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:33 +0000 -Subject: [PATCH 08/25] 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 8d61199..e7bbdc2 100644 --- a/patches/0009-Transparent-Socket-Impersonation-implementation.patch +++ b/patches/0009-Transparent-Socket-Impersonation-implementation.patch @@ -1,7 +1,7 @@ From 338b7e34b57dfb82129ec2b022735c3e3f71ef59 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 19 May 2022 22:38:26 +0200 -Subject: [PATCH 09/25] 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 06cb0c6..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 936b1f01fece38e5c2c2038c9fdd50214fb08ec9 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 19 May 2022 22:42:01 +0200 -Subject: [PATCH 10/25] 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 9fc74d3..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 84ed5b2bc46d5022f246c55aa06922551f83cda3 Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Wed, 25 Sep 2024 16:35:34 +0200 -Subject: [PATCH 11/25] 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 e804903..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 313af1b4bd78ce8673610442a39a1311b8bd3b1d Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:20 +0900 -Subject: [PATCH 12/25] 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 616c55e..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 0d269370cdb6cb89f683528f6b28e08a5c9da7cf Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:21 +0900 -Subject: [PATCH 13/25] 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. 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 7c6820f..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 2cd2b566c238c1c120cc17a1c20bcfa17a8b69b8 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:22 +0900 -Subject: [PATCH 14/25] 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 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 7cec72d..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 0ff74dd6e1a08b75f7c45d3b792dc7a47e18fe97 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:23 +0900 -Subject: [PATCH 15/25] 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 diff --git a/patches/0016-drm-virtio-Support-fence-passing-feature.patch b/patches/0016-drm-virtio-Support-fence-passing-feature.patch index 02790e5..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 58c83b2acea8f37909ae2e12928ad652fd8ce522 Mon Sep 17 00:00:00 2001 From: Dmitry Osipenko Date: Sat, 7 Oct 2023 22:47:47 +0300 -Subject: [PATCH 16/25] 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 31bc055..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 8932f5b0d9d9923a2ac2b09f8b17d3255d04ce09 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 8 Oct 2024 11:24:25 +0200 -Subject: [PATCH 17/25] 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 diff --git a/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch b/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch index 2962050..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 d56d9ed7805cfda7e9abf484cdc0de2771566c08 Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Sun, 20 Oct 2024 01:23:41 +0900 -Subject: [PATCH 18/25] 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 1ab1100..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 5b2548b89b041ae10a33cc5a19d87a2cb71647be Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Mon, 21 Oct 2024 23:21:16 +0900 -Subject: [PATCH 19/25] 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 267db9e..de3e861 100644 --- a/patches/0020-virtgpu-gem-partial-map.patch +++ b/patches/0020-virtgpu-gem-partial-map.patch @@ -1,7 +1,7 @@ From f43b1aa436d0f7b4bf02f85a12fcebc74c052743 Mon Sep 17 00:00:00 2001 From: Sasha Finkelstein Date: Fri, 17 Jan 2025 12:34:23 +0100 -Subject: [PATCH 20/25] 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 c3e60ef..8bfcc0c 100644 --- a/patches/0021-virtgpu-mixed-page-size.patch +++ b/patches/0021-virtgpu-mixed-page-size.patch @@ -1,7 +1,7 @@ From 0d62c564ec641c16079f6a2bfccf2ea983cad594 Mon Sep 17 00:00:00 2001 From: Sasha Finkelstein Date: Fri, 17 Jan 2025 12:34:28 +0100 -Subject: [PATCH 21/25] 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 3ddb0bb..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 96fb35fd5e6840e1563bf9f56c488af396020c8a Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Sun, 18 Jan 2026 23:37:30 +0100 -Subject: [PATCH 22/25] 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 index e0b0737..0188eab 100644 --- a/patches/0023-Revert-vsock-virtio-Fix-message-iterator-handling-on.patch +++ b/patches/0023-Revert-vsock-virtio-Fix-message-iterator-handling-on.patch @@ -1,7 +1,7 @@ From f1ce09fd1d1ee16731ae8809d019ec4caba9d896 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 10 Mar 2026 13:33:02 +0100 -Subject: [PATCH 23/25] Revert "vsock/virtio: Fix message iterator handling on +Subject: [PATCH 23/26] Revert "vsock/virtio: Fix message iterator handling on transmit path" This reverts commit e6cee5d4a122ca9d6b7bb8fa09e498c60b9f208c. 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 index 66ef29f..45ddb3b 100644 --- a/patches/0024-Revert-vsock-virtio-Allocate-nonlinear-SKBs-for-hand.patch +++ b/patches/0024-Revert-vsock-virtio-Allocate-nonlinear-SKBs-for-hand.patch @@ -1,7 +1,7 @@ From 6e47c66e5e9c4278cb27e501d3ad2824092445fe Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 10 Mar 2026 13:33:11 +0100 -Subject: [PATCH 24/25] Revert "vsock/virtio: Allocate nonlinear SKBs for +Subject: [PATCH 24/26] Revert "vsock/virtio: Allocate nonlinear SKBs for handling large transmit buffers" This reverts commit 69c5bf306115e6047e0d902f8c6551fff74a71ff. 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 index 66558bd..a8e9460 100644 --- a/patches/0025-Revert-vhost-vsock-Allocate-nonlinear-SKBs-for-handl.patch +++ b/patches/0025-Revert-vhost-vsock-Allocate-nonlinear-SKBs-for-handl.patch @@ -1,7 +1,7 @@ From a5d4bbafb75eba1205fb00b4ba8073f7461954de Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 10 Mar 2026 13:33:20 +0100 -Subject: [PATCH 25/25] Revert "vhost/vsock: Allocate nonlinear SKBs for +Subject: [PATCH 25/26] Revert "vhost/vsock: Allocate nonlinear SKBs for handling large receive buffers" This reverts commit 65e808a6023f883f298db734444a9c38e45af740. 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 +