]> git.proxmox.com Git - pve-kernel.git/commitdiff
update to Proxmox-6.1.10-1
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 7 Feb 2023 13:05:01 +0000 (14:05 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 7 Feb 2023 13:09:31 +0000 (14:09 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
patches/kernel/0009-KVM-x86-emulator-smm-use-smram-structs-in-the-common.patch
patches/kernel/0016-Revert-fortify-Do-not-cast-to-unsigned-char.patch [new file with mode: 0644]
patches/kernel/0016-Revert-gro-add-support-of-hw-gro-packets-to-gro-stac.patch [deleted file]
patches/kernel/0017-Revert-fortify-Do-not-cast-to-unsigned-char.patch [deleted file]
patches/kernel/0019-revert-mm-compatction-fix-set-skip-in.patch [deleted file]
submodules/ubuntu-kernel

index cabb73ed88bd19bf78fcf794b5ad78d0aa3d9a60..768690f1b233ecce76de51e072adfcab60f4ed5d 100644 (file)
@@ -147,10 +147,10 @@ index ce362e88a567..45c4def86cd3 100644
                return 0;
  
 diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
-index 63247c57c72c..4319f65181f7 100644
+index 4ae248e87f5e..a850ea04514e 100644
 --- a/arch/x86/kvm/vmx/vmx.c
 +++ b/arch/x86/kvm/vmx/vmx.c
-@@ -7914,7 +7914,7 @@ static int vmx_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection)
+@@ -7911,7 +7911,7 @@ static int vmx_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection)
        return !is_smm(vcpu);
  }
  
@@ -159,7 +159,7 @@ index 63247c57c72c..4319f65181f7 100644
  {
        struct vcpu_vmx *vmx = to_vmx(vcpu);
  
-@@ -7935,7 +7935,7 @@ static int vmx_enter_smm(struct kvm_vcpu *vcpu, char *smstate)
+@@ -7932,7 +7932,7 @@ static int vmx_enter_smm(struct kvm_vcpu *vcpu, char *smstate)
        return 0;
  }
  
diff --git a/patches/kernel/0016-Revert-fortify-Do-not-cast-to-unsigned-char.patch b/patches/kernel/0016-Revert-fortify-Do-not-cast-to-unsigned-char.patch
new file mode 100644 (file)
index 0000000..892e153
--- /dev/null
@@ -0,0 +1,29 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Thomas Lamprecht <t.lamprecht@proxmox.com>
+Date: Tue, 10 Jan 2023 08:52:40 +0100
+Subject: [PATCH] Revert "fortify: Do not cast to "unsigned char""
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 106b7a61c488d2022f44e3531ce33461c7c0685f.
+
+Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
+Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
+---
+ include/linux/fortify-string.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/linux/fortify-string.h b/include/linux/fortify-string.h
+index 5001a11258e4..1067a8450826 100644
+--- a/include/linux/fortify-string.h
++++ b/include/linux/fortify-string.h
+@@ -18,7 +18,7 @@ void __write_overflow_field(size_t avail, size_t wanted) __compiletime_warning("
+ #define __compiletime_strlen(p)                                       \
+ ({                                                            \
+-      char *__p = (char *)(p);                                \
++      unsigned char *__p = (unsigned char *)(p);              \
+       size_t __ret = SIZE_MAX;                                \
+       size_t __p_size = __member_size(p);                     \
+       if (__p_size != SIZE_MAX &&                             \
diff --git a/patches/kernel/0016-Revert-gro-add-support-of-hw-gro-packets-to-gro-stac.patch b/patches/kernel/0016-Revert-gro-add-support-of-hw-gro-packets-to-gro-stac.patch
deleted file mode 100644 (file)
index a18708e..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Thomas Lamprecht <t.lamprecht@proxmox.com>
-Date: Sat, 7 Jan 2023 13:50:22 +0100
-Subject: [PATCH] Revert "gro: add support of (hw)gro packets to gro stack"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Seems to be the cause of a regression in network performance:
-https://lore.kernel.org/netdev/CAK8fFZ5pzMaw3U1KXgC_OK4shKGsN=HDcR62cfPOuL0umXE1Ww@mail.gmail.com/
-
-This reverts commit 5eddb24901ee49eee23c0bfce6af2e83fd5679bd.
-
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
-Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
----
- net/core/gro.c         | 18 ++++--------------
- net/ipv4/tcp_offload.c | 17 ++---------------
- 2 files changed, 6 insertions(+), 29 deletions(-)
-
-diff --git a/net/core/gro.c b/net/core/gro.c
-index bc9451743307..b4190eb08467 100644
---- a/net/core/gro.c
-+++ b/net/core/gro.c
-@@ -160,7 +160,6 @@ int skb_gro_receive(struct sk_buff *p, struct sk_buff *skb)
-       unsigned int gro_max_size;
-       unsigned int new_truesize;
-       struct sk_buff *lp;
--      int segs;
-       /* pairs with WRITE_ONCE() in netif_set_gro_max_size() */
-       gro_max_size = READ_ONCE(p->dev->gro_max_size);
-@@ -176,7 +175,6 @@ int skb_gro_receive(struct sk_buff *p, struct sk_buff *skb)
-                       return -E2BIG;
-       }
--      segs = NAPI_GRO_CB(skb)->count;
-       lp = NAPI_GRO_CB(p)->last;
-       pinfo = skb_shinfo(lp);
-@@ -267,7 +265,7 @@ int skb_gro_receive(struct sk_buff *p, struct sk_buff *skb)
-       lp = p;
- done:
--      NAPI_GRO_CB(p)->count += segs;
-+      NAPI_GRO_CB(p)->count++;
-       p->data_len += len;
-       p->truesize += delta_truesize;
-       p->len += len;
-@@ -498,15 +496,8 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
-               BUILD_BUG_ON(!IS_ALIGNED(offsetof(struct napi_gro_cb, zeroed),
-                                        sizeof(u32))); /* Avoid slow unaligned acc */
-               *(u32 *)&NAPI_GRO_CB(skb)->zeroed = 0;
--              NAPI_GRO_CB(skb)->flush = skb_has_frag_list(skb);
-+              NAPI_GRO_CB(skb)->flush = skb_is_gso(skb) || skb_has_frag_list(skb);
-               NAPI_GRO_CB(skb)->is_atomic = 1;
--              NAPI_GRO_CB(skb)->count = 1;
--              if (unlikely(skb_is_gso(skb))) {
--                      NAPI_GRO_CB(skb)->count = skb_shinfo(skb)->gso_segs;
--                      /* Only support TCP at the moment. */
--                      if (!skb_is_gso_tcp(skb))
--                              NAPI_GRO_CB(skb)->flush = 1;
--              }
-               /* Setup for GRO checksum validation */
-               switch (skb->ip_summed) {
-@@ -554,10 +545,10 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
-       else
-               gro_list->count++;
-+      NAPI_GRO_CB(skb)->count = 1;
-       NAPI_GRO_CB(skb)->age = jiffies;
-       NAPI_GRO_CB(skb)->last = skb;
--      if (!skb_is_gso(skb))
--              skb_shinfo(skb)->gso_size = skb_gro_len(skb);
-+      skb_shinfo(skb)->gso_size = skb_gro_len(skb);
-       list_add(&skb->list, &gro_list->list);
-       ret = GRO_HELD;
-@@ -669,7 +660,6 @@ static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb)
-       skb->encapsulation = 0;
-       skb_shinfo(skb)->gso_type = 0;
--      skb_shinfo(skb)->gso_size = 0;
-       if (unlikely(skb->slow_gro)) {
-               skb_orphan(skb);
-               skb_ext_reset(skb);
-diff --git a/net/ipv4/tcp_offload.c b/net/ipv4/tcp_offload.c
-index 45dda7889387..a844a0d38482 100644
---- a/net/ipv4/tcp_offload.c
-+++ b/net/ipv4/tcp_offload.c
-@@ -255,15 +255,7 @@ struct sk_buff *tcp_gro_receive(struct list_head *head, struct sk_buff *skb)
-       mss = skb_shinfo(p)->gso_size;
--      /* If skb is a GRO packet, make sure its gso_size matches prior packet mss.
--       * If it is a single frame, do not aggregate it if its length
--       * is bigger than our mss.
--       */
--      if (unlikely(skb_is_gso(skb)))
--              flush |= (mss != skb_shinfo(skb)->gso_size);
--      else
--              flush |= (len - 1) >= mss;
--
-+      flush |= (len - 1) >= mss;
-       flush |= (ntohl(th2->seq) + skb_gro_len(p)) ^ ntohl(th->seq);
- #ifdef CONFIG_TLS_DEVICE
-       flush |= p->decrypted ^ skb->decrypted;
-@@ -277,12 +269,7 @@ struct sk_buff *tcp_gro_receive(struct list_head *head, struct sk_buff *skb)
-       tcp_flag_word(th2) |= flags & (TCP_FLAG_FIN | TCP_FLAG_PSH);
- out_check_final:
--      /* Force a flush if last segment is smaller than mss. */
--      if (unlikely(skb_is_gso(skb)))
--              flush = len != NAPI_GRO_CB(skb)->count * skb_shinfo(skb)->gso_size;
--      else
--              flush = len < mss;
--
-+      flush = len < mss;
-       flush |= (__force int)(flags & (TCP_FLAG_URG | TCP_FLAG_PSH |
-                                       TCP_FLAG_RST | TCP_FLAG_SYN |
-                                       TCP_FLAG_FIN));
diff --git a/patches/kernel/0017-Revert-fortify-Do-not-cast-to-unsigned-char.patch b/patches/kernel/0017-Revert-fortify-Do-not-cast-to-unsigned-char.patch
deleted file mode 100644 (file)
index 892e153..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Thomas Lamprecht <t.lamprecht@proxmox.com>
-Date: Tue, 10 Jan 2023 08:52:40 +0100
-Subject: [PATCH] Revert "fortify: Do not cast to "unsigned char""
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This reverts commit 106b7a61c488d2022f44e3531ce33461c7c0685f.
-
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
-Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
----
- include/linux/fortify-string.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/fortify-string.h b/include/linux/fortify-string.h
-index 5001a11258e4..1067a8450826 100644
---- a/include/linux/fortify-string.h
-+++ b/include/linux/fortify-string.h
-@@ -18,7 +18,7 @@ void __write_overflow_field(size_t avail, size_t wanted) __compiletime_warning("
- #define __compiletime_strlen(p)                                       \
- ({                                                            \
--      char *__p = (char *)(p);                                \
-+      unsigned char *__p = (unsigned char *)(p);              \
-       size_t __ret = SIZE_MAX;                                \
-       size_t __p_size = __member_size(p);                     \
-       if (__p_size != SIZE_MAX &&                             \
diff --git a/patches/kernel/0019-revert-mm-compatction-fix-set-skip-in.patch b/patches/kernel/0019-revert-mm-compatction-fix-set-skip-in.patch
deleted file mode 100644 (file)
index b50d949..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From 025cbf4866306fe4823e8c316c20bdaddc6a0340 Mon Sep 17 00:00:00 2001
-From: Vlastimil Babka <vbabka@suse.cz>
-Date: Fri, 13 Jan 2023 18:33:45 +0100
-Subject: Revert "mm/compaction: fix set skip in fast_find_migrateblock"
-
-commit 95e7a450b8190673675836bfef236262ceff084a upstream.
-
-This reverts commit 7efc3b7261030da79001c00d92bc3392fd6c664c.
-
-We have got openSUSE reports (Link 1) for 6.1 kernel with khugepaged
-stalling CPU for long periods of time.  Investigation of tracepoint data
-shows that compaction is stuck in repeating fast_find_migrateblock()
-based migrate page isolation, and then fails to migrate all isolated
-pages.
-
-Commit 7efc3b726103 ("mm/compaction: fix set skip in fast_find_migrateblock")
-was suspected as it was merged in 6.1 and in theory can indeed remove a
-termination condition for fast_find_migrateblock() under certain
-conditions, as it removes a place that always marks a scanned pageblock
-from being re-scanned.  There are other such places, but those can be
-skipped under certain conditions, which seems to match the tracepoint
-data.
-
-Testing of revert also appears to have resolved the issue, thus revert
-the commit until a more robust solution for the original problem is
-developed.
-
-It's also likely this will fix qemu stalls with 6.1 kernel reported in
-Link 2, but that is not yet confirmed.
-
-Link: https://bugzilla.suse.com/show_bug.cgi?id=1206848
-Link: https://lore.kernel.org/kvm/b8017e09-f336-3035-8344-c549086c2340@kernel.org/
-Link: https://lore.kernel.org/lkml/20230125134434.18017-1-mgorman@techsingularity.net/
-Fixes: 7efc3b726103 ("mm/compaction: fix set skip in fast_find_migrateblock")
-Cc: <stable@vger.kernel.org>
-Tested-by: Pedro Falcato <pedro.falcato@gmail.com>
-Acked-by: Mel Gorman <mgorman@techsingularity.net>
-Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- mm/compaction.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mm/compaction.c b/mm/compaction.c
-index ca1603524bbe0..8238e83385a79 100644
---- a/mm/compaction.c
-+++ b/mm/compaction.c
-@@ -1839,6 +1839,7 @@ static unsigned long fast_find_migrateblock(struct compact_control *cc)
-                                       pfn = cc->zone->zone_start_pfn;
-                               cc->fast_search_fail = 0;
-                               found_block = true;
-+                              set_pageblock_skip(freepage);
-                               break;
-                       }
-               }
--- 
-cgit 
index 0494104b474afb771d7b8da8b90818e8316b387f..6f988794b04904ea15e156bfe766e30280553b0e 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 0494104b474afb771d7b8da8b90818e8316b387f
+Subproject commit 6f988794b04904ea15e156bfe766e30280553b0e