diff --git a/Makefile b/Makefile index 8590a2f..6baf820 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -KERNEL_VERSION = linux-6.12.3 +KERNEL_VERSION = linux-6.12.12 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 = 4 -FULL_VERSION = 4.7.1 -TIMESTAMP = "Mon Jan 20 16:45:32 CET 2025" +FULL_VERSION = 4.8.0 +TIMESTAMP = "Mon Feb 3 12:07:59 CET 2025" KERNEL_FLAGS = KBUILD_BUILD_TIMESTAMP=$(TIMESTAMP) KERNEL_FLAGS += KBUILD_BUILD_USER=root diff --git a/patches-sev/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch b/patches-sev/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch index 7831205..e9f42c9 100644 --- a/patches-sev/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch +++ b/patches-sev/0001-virtio-enable-DMA-API-if-memory-is-restricted.patch @@ -1,4 +1,4 @@ -From 08321e01f374236bbd4358824a7d0bed75db56ca Mon Sep 17 00:00:00 2001 +From 3cdd1e7073a04145ead29ce2929806b6c51c6b2b 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 @@ -32,7 +32,7 @@ index b9095751e43b..9e6420d5bc66 100644 if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1)) diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c -index 98374ed7c577..8daebc83208c 100644 +index 0112742e4504..84bfe596405f 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -6,6 +6,7 @@ diff --git a/patches-sev/0002-x86-sev-write-AP-reset-vector.patch b/patches-sev/0002-x86-sev-write-AP-reset-vector.patch index 07bc7b7..21cf039 100644 --- a/patches-sev/0002-x86-sev-write-AP-reset-vector.patch +++ b/patches-sev/0002-x86-sev-write-AP-reset-vector.patch @@ -1,4 +1,4 @@ -From 9da8c48cd0849c0c58b848c01f8cca7adf79ee70 Mon Sep 17 00:00:00 2001 +From ff833b3915a24afda4ba722b282bbb9106f2efe5 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-sev/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch b/patches-sev/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch index 1726c49..ee6939b 100644 --- a/patches-sev/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch +++ b/patches-sev/0003-Implement-driver-to-retrieve-secrets-from-cmdline.patch @@ -1,4 +1,4 @@ -From ff94a2d240ee168296ce4e2bb3370ee10272bbef Mon Sep 17 00:00:00 2001 +From f58ad6fcbd4e17bdab18489c7f1704ef694d17a8 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-sev/0004-x86-sev-Avoid-using-native_cpuid.patch b/patches-sev/0004-x86-sev-Avoid-using-native_cpuid.patch index dffad50..80212da 100644 --- a/patches-sev/0004-x86-sev-Avoid-using-native_cpuid.patch +++ b/patches-sev/0004-x86-sev-Avoid-using-native_cpuid.patch @@ -1,4 +1,4 @@ -From 459990b97e11b3be4272d06b4647bdab6bdf099e Mon Sep 17 00:00:00 2001 +From 5ed2eee642191331953448a3de62ddbea4189cdd 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 70464a1..6561782 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 784c1bce5f1ca4c39d6c94dd1db220291cb26f9a Mon Sep 17 00:00:00 2001 +From 0cd52cfd16b4ba16e0a938fb368db82cbabcb4e3 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 2 Mar 2023 07:34:49 +0100 -Subject: [PATCH 01/19] krunfw: Don't panic when init dies +Subject: [PATCH 01/22] 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 be425b3..746026e 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 c843c27bf58ade43ae935391ade4908d980ba1a2 Mon Sep 17 00:00:00 2001 +From 74add18a2324033242375735a1a10583d0649bd1 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Mon, 16 May 2022 16:04:27 +0200 -Subject: [PATCH 02/19] krunfw: Ignore run_cmd on orderly reboot +Subject: [PATCH 02/22] 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 331b401..cdc3d34 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 71445bf49bdd1eeb6e5f199b1c8eca36586708fc Mon Sep 17 00:00:00 2001 +From c59d9f765e8e220b2d819323c89c6106853a977b Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:28 +0000 -Subject: [PATCH 03/19] vsock/dgram: generalize recvmsg and drop +Subject: [PATCH 03/22] vsock/dgram: generalize recvmsg and drop transport->dgram_dequeue This commit drops the transport->dgram_dequeue callback and makes @@ -81,10 +81,10 @@ index 9e85424c8343..fe0fb5c01823 100644 /* STREAM. */ /* TODO: stream_bind() */ diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c -index dfd29160fe11..014b8414a7d6 100644 +index 15724f171b0f..a94f7f4b6f5f 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c -@@ -1277,10 +1277,62 @@ static int vsock_dgram_connect(struct socket *sock, +@@ -1311,10 +1311,62 @@ static int vsock_dgram_connect(struct socket *sock, int __vsock_dgram_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, int flags) { @@ -203,10 +203,10 @@ index b58c3818f284..48008d8341d7 100644 .stream_dequeue = virtio_transport_stream_dequeue, .stream_enqueue = virtio_transport_stream_enqueue, diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c -index 9acc13ab3f82..13ae96f0d2ec 100644 +index 7f7de6d88096..17e8f2078e8d 100644 --- a/net/vmw_vsock/virtio_transport_common.c +++ b/net/vmw_vsock/virtio_transport_common.c -@@ -1047,6 +1047,24 @@ int virtio_transport_dgram_bind(struct vsock_sock *vsk, +@@ -1050,6 +1050,24 @@ int virtio_transport_dgram_bind(struct vsock_sock *vsk, } EXPORT_SYMBOL_GPL(virtio_transport_dgram_bind); diff --git a/patches/0004-vsock-refactor-transport-lookup-code.patch b/patches/0004-vsock-refactor-transport-lookup-code.patch index 504bc81..02298bc 100644 --- a/patches/0004-vsock-refactor-transport-lookup-code.patch +++ b/patches/0004-vsock-refactor-transport-lookup-code.patch @@ -1,7 +1,7 @@ -From 99a059c51f1d19be35e622e8297c4f5d9ee94b6e Mon Sep 17 00:00:00 2001 +From 1c7c134fb4f8b22cca987ec00ff14e57ffaecde1 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:29 +0000 -Subject: [PATCH 04/19] vsock: refactor transport lookup code +Subject: [PATCH 04/22] vsock: refactor transport lookup code Introduce new reusable function vsock_connectible_lookup_transport() that performs the transport lookup logic. @@ -14,10 +14,10 @@ Signed-off-by: Bobby Eshleman 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c -index 014b8414a7d6..5a45600002f5 100644 +index a94f7f4b6f5f..48c38f4dd09f 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c -@@ -425,6 +425,22 @@ static void vsock_deassign_transport(struct vsock_sock *vsk) +@@ -427,6 +427,22 @@ static void vsock_deassign_transport(struct vsock_sock *vsk) vsk->transport = NULL; } @@ -40,7 +40,7 @@ index 014b8414a7d6..5a45600002f5 100644 /* Assign a transport to a socket and call the .init transport callback. * * Note: for connection oriented socket this must be called when vsk->remote_addr -@@ -465,13 +481,8 @@ int vsock_assign_transport(struct vsock_sock *vsk, struct vsock_sock *psk) +@@ -467,13 +483,8 @@ int vsock_assign_transport(struct vsock_sock *vsk, struct vsock_sock *psk) break; case SOCK_STREAM: case SOCK_SEQPACKET: diff --git a/patches/0005-vsock-support-multi-transport-datagrams.patch b/patches/0005-vsock-support-multi-transport-datagrams.patch index 28b9f1d..cf1a2bd 100644 --- a/patches/0005-vsock-support-multi-transport-datagrams.patch +++ b/patches/0005-vsock-support-multi-transport-datagrams.patch @@ -1,7 +1,7 @@ -From 448088b2a662ed19728b42e75c9a5f500d2c5359 Mon Sep 17 00:00:00 2001 +From 5d4877987ae261f78b4bba7030ed3d157af6e51e Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:30 +0000 -Subject: [PATCH 05/19] vsock: support multi-transport datagrams +Subject: [PATCH 05/22] vsock: support multi-transport datagrams This patch adds support for multi-transport datagrams. @@ -82,10 +82,10 @@ index 954c5d66f8e4..741d643534f4 100644 int virtio_transport_dgram_get_cid(struct sk_buff *skb, unsigned int *cid); int virtio_transport_dgram_get_port(struct sk_buff *skb, unsigned int *port); diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c -index 5a45600002f5..2c4fda4215f1 100644 +index 48c38f4dd09f..2dcb36d85743 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c -@@ -441,6 +441,18 @@ vsock_connectible_lookup_transport(unsigned int cid, __u8 flags) +@@ -443,6 +443,18 @@ vsock_connectible_lookup_transport(unsigned int cid, __u8 flags) return transport; } @@ -104,7 +104,7 @@ index 5a45600002f5..2c4fda4215f1 100644 /* Assign a transport to a socket and call the .init transport callback. * * Note: for connection oriented socket this must be called when vsk->remote_addr -@@ -477,7 +489,8 @@ int vsock_assign_transport(struct vsock_sock *vsk, struct vsock_sock *psk) +@@ -479,7 +491,8 @@ int vsock_assign_transport(struct vsock_sock *vsk, struct vsock_sock *psk) switch (sk->sk_type) { case SOCK_DGRAM: @@ -114,7 +114,7 @@ index 5a45600002f5..2c4fda4215f1 100644 break; case SOCK_STREAM: case SOCK_SEQPACKET: -@@ -694,6 +707,9 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, +@@ -705,6 +718,9 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, static int __vsock_bind_dgram(struct vsock_sock *vsk, struct sockaddr_vm *addr) { @@ -124,7 +124,7 @@ index 5a45600002f5..2c4fda4215f1 100644 return vsk->transport->dgram_bind(vsk, addr); } -@@ -1178,19 +1194,24 @@ static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg, +@@ -1212,19 +1228,24 @@ static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg, lock_sock(sk); @@ -156,7 +156,7 @@ index 5a45600002f5..2c4fda4215f1 100644 /* Ensure this address is of the right type and is a valid * destination. */ -@@ -1199,11 +1220,27 @@ static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg, +@@ -1233,11 +1254,27 @@ static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg, remote_addr->svm_cid = transport->get_local_cid(); if (!vsock_addr_bound(remote_addr)) { @@ -184,7 +184,7 @@ index 5a45600002f5..2c4fda4215f1 100644 if (remote_addr->svm_cid == VMADDR_CID_ANY) remote_addr->svm_cid = transport->get_local_cid(); -@@ -1211,23 +1248,23 @@ static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg, +@@ -1245,23 +1282,23 @@ static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg, /* XXX Should connect() or this function ensure remote_addr is * bound? */ @@ -217,7 +217,7 @@ index 5a45600002f5..2c4fda4215f1 100644 out: release_sock(sk); return err; -@@ -1261,13 +1298,18 @@ static int vsock_dgram_connect(struct socket *sock, +@@ -1295,13 +1332,18 @@ static int vsock_dgram_connect(struct socket *sock, if (err) goto out; @@ -274,10 +274,10 @@ index 48008d8341d7..f64281de9783 100644 .dgram_allow = virtio_transport_dgram_allow, .dgram_get_cid = virtio_transport_dgram_get_cid, diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c -index 13ae96f0d2ec..2a0f720e33d8 100644 +index 17e8f2078e8d..0cebeeb1c94a 100644 --- a/net/vmw_vsock/virtio_transport_common.c +++ b/net/vmw_vsock/virtio_transport_common.c -@@ -1040,13 +1040,6 @@ bool virtio_transport_stream_allow(u32 cid, u32 port) +@@ -1043,13 +1043,6 @@ bool virtio_transport_stream_allow(u32 cid, u32 port) } EXPORT_SYMBOL_GPL(virtio_transport_stream_allow); diff --git a/patches/0006-vsock-make-vsock-bind-reusable.patch b/patches/0006-vsock-make-vsock-bind-reusable.patch index 44c469d..adf3e7f 100644 --- a/patches/0006-vsock-make-vsock-bind-reusable.patch +++ b/patches/0006-vsock-make-vsock-bind-reusable.patch @@ -1,7 +1,7 @@ -From 7409ec09ad5cb801a3a22c2ab14ecfef6db7fa74 Mon Sep 17 00:00:00 2001 +From 62e557477f1d893e16d79f9bd003cac8c64193ac Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:31 +0000 -Subject: [PATCH 06/19] vsock: make vsock bind reusable +Subject: [PATCH 06/22] 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. @@ -12,10 +12,10 @@ Signed-off-by: Bobby Eshleman 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c -index 2c4fda4215f1..fc4d894a62bd 100644 +index 2dcb36d85743..6f6bce0cebb1 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c -@@ -233,11 +233,12 @@ static void __vsock_remove_connected(struct vsock_sock *vsk) +@@ -235,11 +235,12 @@ static void __vsock_remove_connected(struct vsock_sock *vsk) sock_put(&vsk->sk); } @@ -30,7 +30,7 @@ index 2c4fda4215f1..fc4d894a62bd 100644 if (vsock_addr_equals_addr(addr, &vsk->local_addr)) return sk_vsock(vsk); -@@ -250,6 +251,11 @@ static struct sock *__vsock_find_bound_socket(struct sockaddr_vm *addr) +@@ -252,6 +253,11 @@ static struct sock *__vsock_find_bound_socket(struct sockaddr_vm *addr) return NULL; } @@ -42,7 +42,7 @@ index 2c4fda4215f1..fc4d894a62bd 100644 static struct sock *__vsock_find_connected_socket(struct sockaddr_vm *src, struct sockaddr_vm *dst) { -@@ -649,12 +655,17 @@ static void vsock_pending_work(struct work_struct *work) +@@ -660,12 +666,17 @@ static void vsock_pending_work(struct work_struct *work) /**** SOCKET OPERATIONS ****/ @@ -62,7 +62,7 @@ index 2c4fda4215f1..fc4d894a62bd 100644 if (!port) port = get_random_u32_above(LAST_RESERVED_PORT); -@@ -670,7 +681,8 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, +@@ -681,7 +692,8 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, new_addr.svm_port = port++; @@ -72,7 +72,7 @@ index 2c4fda4215f1..fc4d894a62bd 100644 found = true; break; } -@@ -687,7 +699,8 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, +@@ -698,7 +710,8 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, return -EACCES; } @@ -82,7 +82,7 @@ index 2c4fda4215f1..fc4d894a62bd 100644 return -EADDRINUSE; } -@@ -699,11 +712,17 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, +@@ -710,11 +723,17 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, * by AF_UNIX. */ __vsock_remove_bound(vsk); 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 b227be1..753435c 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 c1fc9e5866174b3ec0330c94f2441d836f265008 Mon Sep 17 00:00:00 2001 +From edbbbdb92698f8ef428febcfc18a72f8b38369e2 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:32 +0000 -Subject: [PATCH 07/19] virtio/vsock: add VIRTIO_VSOCK_F_DGRAM feature bit +Subject: [PATCH 07/22] 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 fd9e012..bf191bc 100644 --- a/patches/0008-virtio-vsock-support-dgrams.patch +++ b/patches/0008-virtio-vsock-support-dgrams.patch @@ -1,7 +1,7 @@ -From e567f3d4119b15ce9cad78c5acfd8812d0d53309 Mon Sep 17 00:00:00 2001 +From ca240ff91185b1e0062cf53ebf620538fe592e83 Mon Sep 17 00:00:00 2001 From: Bobby Eshleman Date: Sat, 10 Jun 2023 00:58:33 +0000 -Subject: [PATCH 08/19] virtio/vsock: support dgrams +Subject: [PATCH 08/22] virtio/vsock: support dgrams This commit adds support for datagrams over virtio/vsock. @@ -157,18 +157,18 @@ index 9c25f267bbc0..27b4b2b8bf13 100644 enum virtio_vsock_op { diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c -index fc4d894a62bd..9875d6b0cd70 100644 +index 6f6bce0cebb1..00f54afdd222 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c -@@ -117,6 +117,7 @@ - static int __vsock_bind(struct sock *sk, struct sockaddr_vm *addr); +@@ -118,6 +118,7 @@ static int __vsock_bind(struct sock *sk, struct sockaddr_vm *addr); static void vsock_sk_destruct(struct sock *sk); static int vsock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb); + static void vsock_close(struct sock *sk, long timeout); +static bool sock_type_connectible(u16 type); /* Protocol family. */ struct proto vsock_proto = { -@@ -183,6 +184,8 @@ struct list_head vsock_connected_table[VSOCK_HASH_SIZE]; +@@ -185,6 +186,8 @@ struct list_head vsock_connected_table[VSOCK_HASH_SIZE]; EXPORT_SYMBOL_GPL(vsock_connected_table); DEFINE_SPINLOCK(vsock_table_lock); EXPORT_SYMBOL_GPL(vsock_table_lock); @@ -177,7 +177,7 @@ index fc4d894a62bd..9875d6b0cd70 100644 /* Autobind this socket to the local address if necessary. */ static int vsock_auto_bind(struct vsock_sock *vsk) -@@ -205,6 +208,9 @@ static void vsock_init_tables(void) +@@ -207,6 +210,9 @@ static void vsock_init_tables(void) for (i = 0; i < ARRAY_SIZE(vsock_connected_table); i++) INIT_LIST_HEAD(&vsock_connected_table[i]); @@ -187,7 +187,7 @@ index fc4d894a62bd..9875d6b0cd70 100644 } static void __vsock_insert_bound(struct list_head *list, -@@ -233,8 +239,8 @@ static void __vsock_remove_connected(struct vsock_sock *vsk) +@@ -235,8 +241,8 @@ static void __vsock_remove_connected(struct vsock_sock *vsk) sock_put(&vsk->sk); } @@ -198,7 +198,7 @@ index fc4d894a62bd..9875d6b0cd70 100644 { struct vsock_sock *vsk; -@@ -251,6 +257,23 @@ struct sock *vsock_find_bound_socket_common(struct sockaddr_vm *addr, +@@ -253,6 +259,23 @@ struct sock *vsock_find_bound_socket_common(struct sockaddr_vm *addr, return NULL; } @@ -222,7 +222,7 @@ index fc4d894a62bd..9875d6b0cd70 100644 static struct sock *__vsock_find_bound_socket(struct sockaddr_vm *addr) { return vsock_find_bound_socket_common(addr, vsock_bound_sockets(addr)); -@@ -290,6 +313,14 @@ void vsock_insert_connected(struct vsock_sock *vsk) +@@ -292,6 +315,14 @@ void vsock_insert_connected(struct vsock_sock *vsk) } EXPORT_SYMBOL_GPL(vsock_insert_connected); @@ -237,7 +237,7 @@ index fc4d894a62bd..9875d6b0cd70 100644 void vsock_remove_bound(struct vsock_sock *vsk) { spin_lock_bh(&vsock_table_lock); -@@ -341,7 +372,10 @@ EXPORT_SYMBOL_GPL(vsock_find_connected_socket); +@@ -343,7 +374,10 @@ EXPORT_SYMBOL_GPL(vsock_find_connected_socket); void vsock_remove_sock(struct vsock_sock *vsk) { @@ -249,7 +249,7 @@ index fc4d894a62bd..9875d6b0cd70 100644 vsock_remove_connected(vsk); } EXPORT_SYMBOL_GPL(vsock_remove_sock); -@@ -723,11 +757,19 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, +@@ -734,11 +768,19 @@ static int __vsock_bind_connectible(struct vsock_sock *vsk, return vsock_bind_common(vsk, addr, vsock_bind_table, VSOCK_HASH_SIZE + 1); } @@ -273,7 +273,7 @@ index fc4d894a62bd..9875d6b0cd70 100644 return vsk->transport->dgram_bind(vsk, addr); } -@@ -758,7 +800,7 @@ static int __vsock_bind(struct sock *sk, struct sockaddr_vm *addr) +@@ -769,7 +811,7 @@ static int __vsock_bind(struct sock *sk, struct sockaddr_vm *addr) break; case SOCK_DGRAM: @@ -345,10 +345,10 @@ index f64281de9783..fd8cb26e0a67 100644 static struct virtio_driver virtio_vsock_driver = { diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c -index 2a0f720e33d8..91012c46f8be 100644 +index 0cebeeb1c94a..5cd569dae7ca 100644 --- a/net/vmw_vsock/virtio_transport_common.c +++ b/net/vmw_vsock/virtio_transport_common.c -@@ -133,6 +133,35 @@ static void virtio_transport_init_hdr(struct sk_buff *skb, +@@ -136,6 +136,35 @@ static void virtio_transport_init_hdr(struct sk_buff *skb, hdr->fwd_cnt = cpu_to_le32(0); } @@ -384,7 +384,7 @@ index 2a0f720e33d8..91012c46f8be 100644 static void virtio_transport_copy_nonlinear_skb(const struct sk_buff *skb, void *dst, size_t len) -@@ -235,7 +264,9 @@ EXPORT_SYMBOL_GPL(virtio_transport_deliver_tap_pkt); +@@ -238,7 +267,9 @@ EXPORT_SYMBOL_GPL(virtio_transport_deliver_tap_pkt); static u16 virtio_transport_get_type(struct sock *sk) { @@ -395,7 +395,7 @@ index 2a0f720e33d8..91012c46f8be 100644 return VIRTIO_VSOCK_TYPE_STREAM; else return VIRTIO_VSOCK_TYPE_SEQPACKET; -@@ -833,14 +864,30 @@ virtio_transport_seqpacket_enqueue(struct vsock_sock *vsk, +@@ -836,14 +867,30 @@ virtio_transport_seqpacket_enqueue(struct vsock_sock *vsk, } EXPORT_SYMBOL_GPL(virtio_transport_seqpacket_enqueue); @@ -432,7 +432,7 @@ index 2a0f720e33d8..91012c46f8be 100644 s64 virtio_transport_stream_has_data(struct vsock_sock *vsk) { -@@ -1040,30 +1087,6 @@ bool virtio_transport_stream_allow(u32 cid, u32 port) +@@ -1043,30 +1090,6 @@ bool virtio_transport_stream_allow(u32 cid, u32 port) } EXPORT_SYMBOL_GPL(virtio_transport_stream_allow); @@ -463,7 +463,7 @@ index 2a0f720e33d8..91012c46f8be 100644 int virtio_transport_connect(struct vsock_sock *vsk) { struct virtio_vsock_pkt_info info = { -@@ -1096,7 +1119,33 @@ virtio_transport_dgram_enqueue(struct vsock_sock *vsk, +@@ -1099,7 +1122,33 @@ virtio_transport_dgram_enqueue(struct vsock_sock *vsk, struct msghdr *msg, size_t dgram_len) { @@ -498,7 +498,7 @@ index 2a0f720e33d8..91012c46f8be 100644 } EXPORT_SYMBOL_GPL(virtio_transport_dgram_enqueue); -@@ -1167,6 +1216,7 @@ static int virtio_transport_reset_no_sock(const struct virtio_transport *t, +@@ -1172,6 +1221,7 @@ static int virtio_transport_reset_no_sock(const struct virtio_transport *t, .reply = true, }; struct sk_buff *reply; @@ -506,7 +506,7 @@ index 2a0f720e33d8..91012c46f8be 100644 /* Send RST only if the original pkt is not a RST pkt */ if (le16_to_cpu(hdr->op) == VIRTIO_VSOCK_OP_RST) -@@ -1181,7 +1231,7 @@ static int virtio_transport_reset_no_sock(const struct virtio_transport *t, +@@ -1186,7 +1236,7 @@ static int virtio_transport_reset_no_sock(const struct virtio_transport *t, le64_to_cpu(hdr->src_cid), le32_to_cpu(hdr->src_port)); if (!reply) @@ -515,7 +515,7 @@ index 2a0f720e33d8..91012c46f8be 100644 return t->send_pkt(reply); } -@@ -1401,6 +1451,21 @@ virtio_transport_recv_enqueue(struct vsock_sock *vsk, +@@ -1414,6 +1464,21 @@ virtio_transport_recv_enqueue(struct vsock_sock *vsk, kfree_skb(skb); } @@ -537,7 +537,7 @@ index 2a0f720e33d8..91012c46f8be 100644 static int virtio_transport_recv_connected(struct sock *sk, struct sk_buff *skb) -@@ -1578,7 +1643,8 @@ virtio_transport_recv_listen(struct sock *sk, struct sk_buff *skb, +@@ -1591,7 +1656,8 @@ virtio_transport_recv_listen(struct sock *sk, struct sk_buff *skb, static bool virtio_transport_valid_type(u16 type) { return (type == VIRTIO_VSOCK_TYPE_STREAM) || @@ -547,7 +547,7 @@ index 2a0f720e33d8..91012c46f8be 100644 } /* We are under the virtio-vsock's vsock->rx_lock or vhost-vsock's vq->mutex -@@ -1592,40 +1658,52 @@ void virtio_transport_recv_pkt(struct virtio_transport *t, +@@ -1605,40 +1671,52 @@ void virtio_transport_recv_pkt(struct virtio_transport *t, struct vsock_sock *vsk; struct sock *sk; bool space_available; @@ -610,10 +610,10 @@ index 2a0f720e33d8..91012c46f8be 100644 sock_put(sk); goto free_pkt; } -@@ -1641,12 +1719,18 @@ void virtio_transport_recv_pkt(struct virtio_transport *t, - - /* Check if sk has been closed before lock_sock */ - if (sock_flag(sk, SOCK_DONE)) { +@@ -1657,12 +1735,18 @@ void virtio_transport_recv_pkt(struct virtio_transport *t, + */ + if (sock_flag(sk, SOCK_DONE) || + (sk->sk_state != TCP_LISTEN && vsk->transport != &t->transport)) { - (void)virtio_transport_reset_no_sock(t, skb); + if (type != VIRTIO_VSOCK_TYPE_DGRAM) + (void)virtio_transport_reset_no_sock(t, skb); @@ -630,7 +630,7 @@ index 2a0f720e33d8..91012c46f8be 100644 space_available = virtio_transport_space_update(sk, skb); /* Update CID in case it has changed after a transport reset event */ -@@ -1678,6 +1762,7 @@ void virtio_transport_recv_pkt(struct virtio_transport *t, +@@ -1694,6 +1778,7 @@ void virtio_transport_recv_pkt(struct virtio_transport *t, break; } diff --git a/patches/0009-Transparent-Socket-Impersonation-implementation.patch b/patches/0009-Transparent-Socket-Impersonation-implementation.patch index b6706fe..9ad1a5d 100644 --- a/patches/0009-Transparent-Socket-Impersonation-implementation.patch +++ b/patches/0009-Transparent-Socket-Impersonation-implementation.patch @@ -1,7 +1,7 @@ -From 5aa4b81b960a8cebb8365596a4253d5a2591d2ec Mon Sep 17 00:00:00 2001 +From a1aecba57722abd6e28b11127ea69908d9a669ed Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 19 May 2022 22:38:26 +0200 -Subject: [PATCH 09/19] Transparent Socket Impersonation implementation +Subject: [PATCH 09/22] Transparent Socket Impersonation implementation Transparent Socket Impersonation (AF_TSI) is an address family that provides sockets presenting two simultaneous personalities, AF_INET diff --git a/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch b/patches/0010-tsi-allow-hijacking-sockets-tsi_hijack.patch index 0c503f6..b264d81 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 9c52a8990c5df53a2cfe3ba1d7b220ed26607623 Mon Sep 17 00:00:00 2001 +From b8e2dae206af875963d75ed1df1739340abd0517 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Thu, 19 May 2022 22:42:01 +0200 -Subject: [PATCH 10/19] tsi: allow hijacking sockets (tsi_hijack) +Subject: [PATCH 10/22] 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 f8cb03e..07d9235 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 74b584bdff56c762b881cd499f1cc14de83c2d5c Mon Sep 17 00:00:00 2001 +From 73ce060237f5afbefce548ac6e3d9571d3d0aaed Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Wed, 25 Sep 2024 16:35:34 +0200 -Subject: [PATCH 11/19] arm64: cpufeature: Unify SCOPE_LOCAL_CPU early & late +Subject: [PATCH 11/22] 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 38182f7..9dddd54 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 c9afe590f6028ce4ed674b9c648053d0a080c2d2 Mon Sep 17 00:00:00 2001 +From 48c28f6b904508198784dc24a083b0de0d311dd7 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:20 +0900 -Subject: [PATCH 12/19] prctl: Introduce PR_{SET,GET}_MEM_MODEL +Subject: [PATCH 12/22] 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 2681893..efe8e8b 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 7e959884e3965e17af8f3ccd1b1b5a1cb4e97bc3 Mon Sep 17 00:00:00 2001 +From 1d6179146dfe91ec0717fa69cedad6d6b7d4c01e Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:21 +0900 -Subject: [PATCH 13/19] arm64: Implement PR_{GET,SET}_MEM_MODEL for always-TSO +Subject: [PATCH 13/22] 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 22f8a7bca6d2..07447cca16f9 100644 +index a11a7a42edbf..dee1e752cf55 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -2250,6 +2250,15 @@ config ARM64_DEBUG_PRIORITY_MASKING +@@ -2261,6 +2261,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 ff38635..46e8ad0 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 84db5973c1484ef3dcf9f959597c97a9ea3fe816 Mon Sep 17 00:00:00 2001 +From cee8f7fa1ef6b3852bed3587ae9d888de34d4464 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:22 +0900 -Subject: [PATCH 14/19] arm64: Introduce scaffolding to add ACTLR_EL1 to thread +Subject: [PATCH 14/22] arm64: Introduce scaffolding to add ACTLR_EL1 to thread state Some CPUs expose IMPDEF features in ACTLR_EL1 that can be meaningfully @@ -24,7 +24,7 @@ Reviewed-by: Neal Gompa 5 files changed, 44 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 07447cca16f9..343a2abab42f 100644 +index dee1e752cf55..7023615aac6e 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -428,6 +428,9 @@ config KASAN_SHADOW_OFFSET 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 048ce4f..0d8a32b 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 d38c52ef771b223fa12af0e8a16015decc13566d Mon Sep 17 00:00:00 2001 +From de25ff20d16765cd1baffe243760123251f5acca Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 11 Apr 2024 09:51:23 +0900 -Subject: [PATCH 15/19] arm64: Implement Apple IMPDEF TSO memory model control +Subject: [PATCH 15/22] 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 343a2abab42f..c30fc0652744 100644 +index 7023615aac6e..c90800ec7097 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -2255,6 +2255,8 @@ endif # ARM64_PSEUDO_NMI +@@ -2266,6 +2266,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 b5fcc7d..77c8c7b 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 99b59fd16fe07659a9abc9e9d7a6045c1830a869 Mon Sep 17 00:00:00 2001 +From f524b7992832c6bf05088c8fa88c038e9bc20d9e Mon Sep 17 00:00:00 2001 From: Dmitry Osipenko Date: Sat, 7 Oct 2023 22:47:47 +0300 -Subject: [PATCH 16/19] drm/virtio: Support fence-passing feature +Subject: [PATCH 16/22] 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 af7e0c8..a1fa353 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 bc4718794c6665a8c03b241378df16e22fba84d1 Mon Sep 17 00:00:00 2001 +From 812ea83ade5134c30e99538ad3d594e14b09fc80 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Tue, 8 Oct 2024 11:24:25 +0200 -Subject: [PATCH 17/19] Enable 64 bit processes to use compat input syscalls +Subject: [PATCH 17/22] 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,10 +64,10 @@ index 3b7bb12b023b..e78c0492ce0d 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index bb343136ddd0..838147192986 100644 +index 02eaf84c8626..d5f5214e4ba3 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1591,6 +1591,11 @@ struct task_struct { +@@ -1598,6 +1598,11 @@ struct task_struct { #ifdef CONFIG_USER_EVENTS struct user_event_mm *user_event_mm; #endif diff --git a/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch b/patches/0018-dax-Allow-block-size-PAGE_SIZE.patch index 1e2fc69..a4f9e8b 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 4002c9981f0317581fe05faa62bc9a2867fade65 Mon Sep 17 00:00:00 2001 +From 81e606e2ae66aebcfd86617ff9f9763e5834e6cf Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Sun, 20 Oct 2024 01:23:41 +0900 -Subject: [PATCH 18/19] dax: Allow block size > PAGE_SIZE +Subject: [PATCH 18/22] 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 2805834..fcc4963 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 63e6b500aa921fbc6feb0a2dd6512f7c371b6db5 Mon Sep 17 00:00:00 2001 +From 79a9402cfbcef8239b6662945caa1334a68f94a0 Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Mon, 21 Oct 2024 23:21:16 +0900 -Subject: [PATCH 19/19] mm: Fix __wp_page_copy_user fallback path for remote mm +Subject: [PATCH 19/22] 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 @@ -58,7 +58,7 @@ Signed-off-by: Asahi Lina 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mm/memory.c b/mm/memory.c -index bdf77a3ec47b..8a846c7b1e70 100644 +index d322ddfe6791..be9feeb96c51 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3081,13 +3081,18 @@ static inline int __wp_page_copy_user(struct page *dst, struct page *src, diff --git a/patches/0021-virtgpu-gem-partial-map.patch b/patches/0020-virtgpu-gem-partial-map.patch similarity index 82% rename from patches/0021-virtgpu-gem-partial-map.patch rename to patches/0020-virtgpu-gem-partial-map.patch index b539fbb..0b3947e 100644 --- a/patches/0021-virtgpu-gem-partial-map.patch +++ b/patches/0020-virtgpu-gem-partial-map.patch @@ -1,4 +1,7 @@ +From dd15b6a92fe87c23c1ad2edd730a224528a982b0 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 Those are useful to implement coherent cross-vm mmap. @@ -8,7 +11,7 @@ Signed-off-by: Sasha Finkelstein 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_vram.c b/drivers/gpu/drm/virtio/virtgpu_vram.c -index 25df81c027837c248a746e41856b5aa7e216b8d5..64e2c6dbdd678ac4c0da89fdd4c9dbf937c2c335 100644 +index 25df81c02783..64e2c6dbdd67 100644 --- a/drivers/gpu/drm/virtio/virtgpu_vram.c +++ b/drivers/gpu/drm/virtio/virtgpu_vram.c @@ -56,12 +56,11 @@ static int virtio_gpu_vram_mmap(struct drm_gem_object *obj, @@ -26,10 +29,6 @@ index 25df81c027837c248a746e41856b5aa7e216b8d5..64e2c6dbdd678ac4c0da89fdd4c9dbf9 vm_size, vma->vm_page_prot); return ret; } - ---- -base-commit: 643e2e259c2b25a2af0ae4c23c6e16586d9fd19c -change-id: 20250109-virtgpu-gem-partial-map-335ec40656d1 - - +-- +2.45.2 diff --git a/patches/0022-virtgpu-mixed-page-size.patch b/patches/0021-virtgpu-mixed-page-size.patch similarity index 74% rename from patches/0022-virtgpu-mixed-page-size.patch rename to patches/0021-virtgpu-mixed-page-size.patch index 6d0caee..d8c5c35 100644 --- a/patches/0022-virtgpu-mixed-page-size.patch +++ b/patches/0021-virtgpu-mixed-page-size.patch @@ -1,7 +1,9 @@ +From 8e0b7c16e860752d43baf79be11af648ad5abc76 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 -This allows running different page sizes between host and guest on -platforms that support mixed page sizes. +This allows running different page sizes between host and guest on platforms that support mixed page sizes. Signed-off-by: Sasha Finkelstein --- @@ -9,10 +11,10 @@ Signed-off-by: Sasha Finkelstein 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_vram.c b/drivers/gpu/drm/virtio/virtgpu_vram.c -index 25df81c027837c248a746e41856b5aa7e216b8d5..8a0577c2170ec9c12cad12be57f9a41c14f04660 100644 +index 64e2c6dbdd67..cbadcba2c773 100644 --- a/drivers/gpu/drm/virtio/virtgpu_vram.c +++ b/drivers/gpu/drm/virtio/virtgpu_vram.c -@@ -138,6 +138,12 @@ bool virtio_gpu_is_vram(struct virtio_gpu_object *bo) +@@ -137,6 +137,12 @@ bool virtio_gpu_is_vram(struct virtio_gpu_object *bo) return bo->base.base.funcs == &virtio_gpu_vram_funcs; } @@ -25,7 +27,7 @@ index 25df81c027837c248a746e41856b5aa7e216b8d5..8a0577c2170ec9c12cad12be57f9a41c static int virtio_gpu_vram_map(struct virtio_gpu_object *bo) { int ret; -@@ -150,8 +156,8 @@ static int virtio_gpu_vram_map(struct virtio_gpu_object *bo) +@@ -149,8 +155,8 @@ static int virtio_gpu_vram_map(struct virtio_gpu_object *bo) return -EINVAL; spin_lock(&vgdev->host_visible_lock); @@ -36,10 +38,6 @@ index 25df81c027837c248a746e41856b5aa7e216b8d5..8a0577c2170ec9c12cad12be57f9a41c spin_unlock(&vgdev->host_visible_lock); if (ret) - ---- -base-commit: 643e2e259c2b25a2af0ae4c23c6e16586d9fd19c -change-id: 20250109-virtgpu-mixed-page-size-282b8f4a02fc - - +-- +2.45.2 diff --git a/patches/0023-arch-x86-boot-compressed-use-std-gnu11-flag.patch b/patches/0022-arch-x86-efi-libstub-use-std-gnu11-flag.patch similarity index 93% rename from patches/0023-arch-x86-boot-compressed-use-std-gnu11-flag.patch rename to patches/0022-arch-x86-efi-libstub-use-std-gnu11-flag.patch index bdabcc7..000b4c8 100644 --- a/patches/0023-arch-x86-boot-compressed-use-std-gnu11-flag.patch +++ b/patches/0022-arch-x86-efi-libstub-use-std-gnu11-flag.patch @@ -1,7 +1,7 @@ -From ed8a28bfd78e90ae9fe27b6eafe1affd93a80f71 Mon Sep 17 00:00:00 2001 +From ba829a18ace81c1e1f06b1a93eb31b294f0ba729 Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Mon, 20 Jan 2025 16:38:26 +0100 -Subject: [PATCH 23/27] arch/x86,efi/libstub: use -std=gnu11 flag +Subject: [PATCH 22/22] arch/x86,efi/libstub: use -std=gnu11 flag GCC 15 defaults to gnu23, but the kernel is not compatible to that standard. Other parts of the kernel use -std=gnu11, so let's do the same