summaryrefslogtreecommitdiffstats
path: root/net/ipv4/fib_frontend.c
diff options
context:
space:
mode:
authorDavid Ahern2019-04-10 19:05:51 +0200
committerDavid S. Miller2019-04-10 21:39:25 +0200
commitd73f80f921fd323af8f35644fb9f3b129f465f66 (patch)
treecb516f729ba9fa16931f42d537381f77ef2aed3a /net/ipv4/fib_frontend.c
parentMerge branch 'net-sched-move-back-qlen-to-per-CPU-accounting' (diff)
downloadkernel-qcow2-linux-d73f80f921fd323af8f35644fb9f3b129f465f66.tar.gz
kernel-qcow2-linux-d73f80f921fd323af8f35644fb9f3b129f465f66.tar.xz
kernel-qcow2-linux-d73f80f921fd323af8f35644fb9f3b129f465f66.zip
ipv4: Handle RTA_GATEWAY set to 0
Govindarajulu reported a regression with Network Manager which sends an RTA_GATEWAY attribute with the address set to 0. Fixup the handling of RTA_GATEWAY to only set fc_gw_family if the gateway address is actually set. Fixes: f35b794b3b405 ("ipv4: Prepare fib_config for IPv6 gateway") Reported-by: Govindarajulu Varadarajan <govind.varadar@gmail.com> Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fib_frontend.c')
-rw-r--r--net/ipv4/fib_frontend.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index 310060e67790..d4b63f94f7be 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -755,8 +755,9 @@ static int rtm_to_fib_config(struct net *net, struct sk_buff *skb,
break;
case RTA_GATEWAY:
has_gw = true;
- cfg->fc_gw_family = AF_INET;
cfg->fc_gw4 = nla_get_be32(attr);
+ if (cfg->fc_gw4)
+ cfg->fc_gw_family = AF_INET;
break;
case RTA_VIA:
has_via = true;