]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Mar 2021 12:21:05 +0000 (13:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Mar 2021 12:21:05 +0000 (13:21 +0100)
added patches:
icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch

queue-4.9/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch [new file with mode: 0644]
queue-4.9/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch
queue-4.9/series

diff --git a/queue-4.9/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch b/queue-4.9/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch
new file mode 100644 (file)
index 0000000..fbe06ec
--- /dev/null
@@ -0,0 +1,58 @@
+From a8e41f6033a0c5633d55d6e35993c9e2005d872f Mon Sep 17 00:00:00 2001
+From: "Jason A. Donenfeld" <Jason@zx2c4.com>
+Date: Tue, 25 Feb 2020 18:05:35 +0800
+Subject: icmp: allow icmpv6_ndo_send to work with CONFIG_IPV6=n
+
+From: Jason A. Donenfeld <Jason@zx2c4.com>
+
+commit a8e41f6033a0c5633d55d6e35993c9e2005d872f upstream.
+
+The icmpv6_send function has long had a static inline implementation
+with an empty body for CONFIG_IPV6=n, so that code calling it doesn't
+need to be ifdef'd. The new icmpv6_ndo_send function, which is intended
+for drivers as a drop-in replacement with an identical function
+signature, should follow the same pattern. Without this patch, drivers
+that used to work with CONFIG_IPV6=n now result in a linker error.
+
+Cc: Chen Zhou <chenzhou10@huawei.com>
+Reported-by: Hulk Robot <hulkci@huawei.com>
+Fixes: 0b41713b6066 ("icmp: introduce helper for nat'd source address in network device context")
+Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/linux/icmpv6.h |   16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+--- a/include/linux/icmpv6.h
++++ b/include/linux/icmpv6.h
+@@ -21,19 +21,23 @@ extern int inet6_unregister_icmp_sender(
+ int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type,
+                              unsigned int data_len);
++#if IS_ENABLED(CONFIG_NF_NAT)
++void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
++#else
++#define icmpv6_ndo_send icmpv6_send
++#endif
++
+ #else
+ static inline void icmpv6_send(struct sk_buff *skb,
+                              u8 type, u8 code, __u32 info)
+ {
+-
+ }
+-#endif
+-#if IS_ENABLED(CONFIG_NF_NAT)
+-void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
+-#else
+-#define icmpv6_ndo_send icmpv6_send
++static inline void icmpv6_ndo_send(struct sk_buff *skb,
++                                 u8 type, u8 code, __u32 info)
++{
++}
+ #endif
+ extern int                            icmpv6_init(void);
index 66996bdea6b6917afc102a4fb5bdff357cec8f94..f74436e0fde4be6ab2306f9e88344abec94b3d9c 100644 (file)
@@ -131,7 +131,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  }
  static inline int inet6_register_icmp_sender(ip6_icmp_send_t *fn)
  {
-@@ -33,11 +37,17 @@ static inline int inet6_unregister_icmp_
+@@ -33,18 +37,28 @@ static inline int inet6_unregister_icmp_
        return 0;
  }
  #else
@@ -150,7 +150,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type,
                               unsigned int data_len);
  
-@@ -53,7 +63,11 @@ static inline void icmpv6_send(struct sk
  #if IS_ENABLED(CONFIG_NF_NAT)
  void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
  #else
@@ -162,7 +161,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 +}
  #endif
  
- extern int                            icmpv6_init(void);
+ #else
 --- a/include/linux/ipv6.h
 +++ b/include/linux/ipv6.h
 @@ -2,6 +2,7 @@
index 4cc241d9b2448a7b458b43dd5072235a1f3ff33c..e444b78fbc244514ac6c820a7e19bd95351897aa 100644 (file)
@@ -126,6 +126,7 @@ dm-era-only-resize-metadata-in-preresume.patch
 futex-fix-owner_dead-fixup.patch
 futex-fix-dead-code-in-attach_to_pi_owner.patch
 icmp-introduce-helper-for-nat-d-source-address-in-network-device-context.patch
+icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch
 gtp-use-icmp_ndo_send-helper.patch
 sunvnet-use-icmp_ndo_send-helper.patch
 ipv6-icmp6-avoid-indirect-call-for-icmpv6_send.patch