]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Nov 2021 11:33:49 +0000 (12:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Nov 2021 11:33:49 +0000 (12:33 +0100)
added patches:
arm64-vdso32-suppress-error-message-for-make-mrproper.patch
tun-fix-bonding-active-backup-with-arp-monitoring.patch

queue-5.4/arm64-vdso32-suppress-error-message-for-make-mrproper.patch [new file with mode: 0644]
queue-5.4/s390-kexec-fix-return-code-handling.patch
queue-5.4/series
queue-5.4/tun-fix-bonding-active-backup-with-arp-monitoring.patch [new file with mode: 0644]

diff --git a/queue-5.4/arm64-vdso32-suppress-error-message-for-make-mrproper.patch b/queue-5.4/arm64-vdso32-suppress-error-message-for-make-mrproper.patch
new file mode 100644 (file)
index 0000000..7e76b03
--- /dev/null
@@ -0,0 +1,48 @@
+From 14831fad73f5ac30ac61760487d95a538e6ab3cb Mon Sep 17 00:00:00 2001
+From: Nick Desaulniers <ndesaulniers@google.com>
+Date: Tue, 19 Oct 2021 15:36:45 -0700
+Subject: arm64: vdso32: suppress error message for 'make mrproper'
+
+From: Nick Desaulniers <ndesaulniers@google.com>
+
+commit 14831fad73f5ac30ac61760487d95a538e6ab3cb upstream.
+
+When running the following command without arm-linux-gnueabi-gcc in
+one's $PATH, the following warning is observed:
+
+$ ARCH=arm64 CROSS_COMPILE_COMPAT=arm-linux-gnueabi- make -j72 LLVM=1 mrproper
+make[1]: arm-linux-gnueabi-gcc: No such file or directory
+
+This is because KCONFIG is not run for mrproper, so CONFIG_CC_IS_CLANG
+is not set, and we end up eagerly evaluating various variables that try
+to invoke CC_COMPAT.
+
+This is a similar problem to what was observed in
+commit dc960bfeedb0 ("h8300: suppress error messages for 'make clean'")
+
+Reported-by: Lucas Henneman <henneman@google.com>
+Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
+Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
+Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
+Reviewed-by: Nathan Chancellor <nathan@kernel.org>
+Tested-by: Nathan Chancellor <nathan@kernel.org>
+Link: https://lore.kernel.org/r/20211019223646.1146945-4-ndesaulniers@google.com
+Signed-off-by: Will Deacon <will@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm64/kernel/vdso32/Makefile |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/arm64/kernel/vdso32/Makefile
++++ b/arch/arm64/kernel/vdso32/Makefile
+@@ -32,7 +32,8 @@ cc32-as-instr = $(call try-run,\
+ # As a result we set our own flags here.
+ # KBUILD_CPPFLAGS and NOSTDINC_FLAGS from top-level Makefile
+-VDSO_CPPFLAGS := -D__KERNEL__ -nostdinc -isystem $(shell $(CC_COMPAT) -print-file-name=include)
++VDSO_CPPFLAGS := -D__KERNEL__ -nostdinc
++VDSO_CPPFLAGS += -isystem $(shell $(CC_COMPAT) -print-file-name=include 2>/dev/null)
+ VDSO_CPPFLAGS += $(LINUXINCLUDE)
+ # Common C and assembly flags
index 0083853b5fd32743b840a097f1b6079430877fd5..83b2d6661b4dfe5717c91d8c9325832909087140 100644 (file)
@@ -16,15 +16,13 @@ Fixes: 99feaa717e55 ("s390/kexec_file: Create ipl report and pass to next kernel
 Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- arch/s390/kernel/ipl.c                | 3 ++-
- arch/s390/kernel/machine_kexec_file.c | 8 +++++++-
+ arch/s390/kernel/ipl.c                |    3 ++-
+ arch/s390/kernel/machine_kexec_file.c |    8 +++++++-
  2 files changed, 9 insertions(+), 2 deletions(-)
 
-diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
-index 6837affc19e81..7795cdee6427d 100644
 --- a/arch/s390/kernel/ipl.c
 +++ b/arch/s390/kernel/ipl.c
-@@ -1783,7 +1783,7 @@ void *ipl_report_finish(struct ipl_report *report)
+@@ -1783,7 +1783,7 @@ void *ipl_report_finish(struct ipl_repor
  
        buf = vzalloc(report->size);
        if (!buf)
@@ -33,7 +31,7 @@ index 6837affc19e81..7795cdee6427d 100644
        ptr = buf;
  
        memcpy(ptr, report->ipib, report->ipib->hdr.len);
-@@ -1822,6 +1822,7 @@ void *ipl_report_finish(struct ipl_report *report)
+@@ -1822,6 +1822,7 @@ void *ipl_report_finish(struct ipl_repor
        }
  
        BUG_ON(ptr > buf + report->size);
@@ -41,11 +39,9 @@ index 6837affc19e81..7795cdee6427d 100644
        return buf;
  }
  
-diff --git a/arch/s390/kernel/machine_kexec_file.c b/arch/s390/kernel/machine_kexec_file.c
-index f9e4baa64b675..c1090f0b1f6a6 100644
 --- a/arch/s390/kernel/machine_kexec_file.c
 +++ b/arch/s390/kernel/machine_kexec_file.c
-@@ -170,6 +170,7 @@ static int kexec_file_add_ipl_report(struct kimage *image,
+@@ -170,6 +170,7 @@ static int kexec_file_add_ipl_report(str
        struct kexec_buf buf;
        unsigned long addr;
        void *ptr, *end;
@@ -53,7 +49,7 @@ index f9e4baa64b675..c1090f0b1f6a6 100644
  
        buf.image = image;
  
-@@ -199,7 +200,10 @@ static int kexec_file_add_ipl_report(struct kimage *image,
+@@ -199,7 +200,10 @@ static int kexec_file_add_ipl_report(str
                ptr += len;
        }
  
@@ -64,7 +60,7 @@ index f9e4baa64b675..c1090f0b1f6a6 100644
        buf.bufsz = data->report->size;
        buf.memsz = buf.bufsz;
  
-@@ -209,7 +213,9 @@ static int kexec_file_add_ipl_report(struct kimage *image,
+@@ -209,7 +213,9 @@ static int kexec_file_add_ipl_report(str
                data->kernel_buf + offsetof(struct lowcore, ipl_parmblock_ptr);
        *lc_ipl_parmblock_ptr = (__u32)buf.mem;
  
@@ -75,6 +71,3 @@ index f9e4baa64b675..c1090f0b1f6a6 100644
  }
  
  void *kexec_file_add_components(struct kimage *image,
--- 
-2.33.0
-
index 6250e3b8bf1de1504208268be115f49dc65b2af4..8614496bc6190094ea8418839681d497eddc4bb0 100644 (file)
@@ -73,3 +73,5 @@ kvm-ppc-book3s-hv-use-global_toc-for-kvmppc_h_set_da.patch
 perf-x86-intel-uncore-fix-filter_tid-mask-for-cha-ev.patch
 perf-x86-intel-uncore-fix-iio-event-constraints-for-.patch
 s390-kexec-fix-return-code-handling.patch
+arm64-vdso32-suppress-error-message-for-make-mrproper.patch
+tun-fix-bonding-active-backup-with-arp-monitoring.patch
diff --git a/queue-5.4/tun-fix-bonding-active-backup-with-arp-monitoring.patch b/queue-5.4/tun-fix-bonding-active-backup-with-arp-monitoring.patch
new file mode 100644 (file)
index 0000000..1118f4b
--- /dev/null
@@ -0,0 +1,45 @@
+From a31d27fbed5d518734cb60956303eb15089a7634 Mon Sep 17 00:00:00 2001
+From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+Date: Fri, 12 Nov 2021 08:56:03 +0100
+Subject: tun: fix bonding active backup with arp monitoring
+
+From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+
+commit a31d27fbed5d518734cb60956303eb15089a7634 upstream.
+
+As stated in the bonding doc, trans_start must be set manually for drivers
+using NETIF_F_LLTX:
+ Drivers that use NETIF_F_LLTX flag must also update
+ netdev_queue->trans_start. If they do not, then the ARP monitor will
+ immediately fail any slaves using that driver, and those slaves will stay
+ down.
+
+Link: https://www.kernel.org/doc/html/v5.15/networking/bonding.html#arp-monitor-operation
+Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/tun.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/net/tun.c
++++ b/drivers/net/tun.c
+@@ -1071,6 +1071,7 @@ static netdev_tx_t tun_net_xmit(struct s
+ {
+       struct tun_struct *tun = netdev_priv(dev);
+       int txq = skb->queue_mapping;
++      struct netdev_queue *queue;
+       struct tun_file *tfile;
+       int len = skb->len;
+@@ -1117,6 +1118,10 @@ static netdev_tx_t tun_net_xmit(struct s
+       if (ptr_ring_produce(&tfile->tx_ring, skb))
+               goto drop;
++      /* NETIF_F_LLTX requires to do our own update of trans_start */
++      queue = netdev_get_tx_queue(dev, txq);
++      queue->trans_start = jiffies;
++
+       /* Notify and wake up reader process */
+       if (tfile->flags & TUN_FASYNC)
+               kill_fasync(&tfile->fasync, SIGIO, POLL_IN);