summaryrefslogtreecommitdiff
path: root/net/ipv4/icmp.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-06-21 10:56:05 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-06-21 10:56:05 +0200
commitcfb0276373dfb5dccef0f60df0d1f7c0328918a7 (patch)
tree65c96cea2a3463baa2eb91351e5333ef44945fbd /net/ipv4/icmp.c
parent04d72afa34edd14d99db7536d22819cdbb2b2e4c (diff)
parent13311e74253fe64329390df80bed3f07314ddd61 (diff)
Merge tag 'v5.13-rc7' into usb-next
We need the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/ipv4/icmp.c')
-rw-r--r--net/ipv4/icmp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index 7b6931a4d775..752e392083e6 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -759,6 +759,13 @@ void __icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info,
icmp_param.data_len = room;
icmp_param.head_len = sizeof(struct icmphdr);
+ /* if we don't have a source address at this point, fall back to the
+ * dummy address instead of sending out a packet with a source address
+ * of 0.0.0.0
+ */
+ if (!fl4.saddr)
+ fl4.saddr = htonl(INADDR_DUMMY);
+
icmp_push_reply(&icmp_param, &fl4, &ipc, &rt);
ende:
ip_rt_put(rt);