From 0cb6f58ecaa25434c2fb34116c949af119a9c9e5 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 2 Mar 2021 13:20:15 +0100 Subject: [PATCH] 4.19-stable patches added patches: icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch --- ..._ndo_send-to-work-with-config_ipv6-n.patch | 58 +++++++++++++++++++ ...rom-icmp-v6-_ndo_send-before-sending.patch | 5 +- queue-4.19/series | 1 + 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 queue-4.19/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch diff --git a/queue-4.19/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch b/queue-4.19/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch new file mode 100644 index 00000000000..c1bbb3c8ba3 --- /dev/null +++ b/queue-4.19/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch @@ -0,0 +1,58 @@ +From a8e41f6033a0c5633d55d6e35993c9e2005d872f Mon Sep 17 00:00:00 2001 +From: "Jason A. Donenfeld" +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 + +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 +Reported-by: Hulk Robot +Fixes: 0b41713b6066 ("icmp: introduce helper for nat'd source address in network device context") +Signed-off-by: Jason A. Donenfeld +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + include/linux/icmpv6.h | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +--- a/include/linux/icmpv6.h ++++ b/include/linux/icmpv6.h +@@ -22,19 +22,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); diff --git a/queue-4.19/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch b/queue-4.19/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch index 5aa8e15b20f..9b0e4445cd7 100644 --- a/queue-4.19/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch +++ b/queue-4.19/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch @@ -131,7 +131,7 @@ Signed-off-by: Greg Kroah-Hartman } static inline int inet6_register_icmp_sender(ip6_icmp_send_t *fn) { -@@ -34,11 +38,17 @@ static inline int inet6_unregister_icmp_ +@@ -34,18 +38,28 @@ static inline int inet6_unregister_icmp_ return 0; } #else @@ -150,7 +150,6 @@ Signed-off-by: Greg Kroah-Hartman int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type, unsigned int data_len); -@@ -54,7 +64,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 +} #endif - extern int icmpv6_init(void); + #else --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -3,6 +3,7 @@ diff --git a/queue-4.19/series b/queue-4.19/series index d7b1cc666b6..17f031a329d 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -236,6 +236,7 @@ dm-era-use-correct-value-size-in-equality-function-of-writeset-tree.patch dm-era-reinitialize-bitset-cache-before-digesting-a-new-writeset.patch dm-era-only-resize-metadata-in-preresume.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 xfrm-interface-use-icmp_ndo_send-helper.patch -- 2.47.3