From 74603dcc48290636399b82792a17fc3a072d1e69 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 2 Mar 2021 13:21:05 +0100 Subject: [PATCH] 4.9-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.9/series | 1 + 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 queue-4.9/icmp-allow-icmpv6_ndo_send-to-work-with-config_ipv6-n.patch 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 index 00000000000..fbe06ec6e01 --- /dev/null +++ b/queue-4.9/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 +@@ -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); diff --git a/queue-4.9/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch b/queue-4.9/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch index 66996bdea6b..f74436e0fde 100644 --- a/queue-4.9/net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-before-sending.patch +++ b/queue-4.9/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) { -@@ -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 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 +} #endif - extern int icmpv6_init(void); + #else --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -2,6 +2,7 @@ diff --git a/queue-4.9/series b/queue-4.9/series index 4cc241d9b24..e444b78fbc2 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -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 -- 2.47.3