]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - net/ipv4/fib_frontend.c
Merge tag 'fscrypt_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[mirror_ubuntu-bionic-kernel.git] / net / ipv4 / fib_frontend.c
index 8f2133ffc2ff1b94871408a5f934cb938d3462b5..39bd1edee67649af86eb582c0ea478713360a506 100644 (file)
@@ -632,7 +632,8 @@ static int rtm_to_fib_config(struct net *net, struct sk_buff *skb,
        int err, remaining;
        struct rtmsg *rtm;
 
-       err = nlmsg_validate(nlh, sizeof(*rtm), RTA_MAX, rtm_ipv4_policy);
+       err = nlmsg_validate(nlh, sizeof(*rtm), RTA_MAX, rtm_ipv4_policy,
+                            NULL);
        if (err < 0)
                goto errout;
 
@@ -709,7 +710,8 @@ errout:
        return err;
 }
 
-static int inet_rtm_delroute(struct sk_buff *skb, struct nlmsghdr *nlh)
+static int inet_rtm_delroute(struct sk_buff *skb, struct nlmsghdr *nlh,
+                            struct netlink_ext_ack *extack)
 {
        struct net *net = sock_net(skb->sk);
        struct fib_config cfg;
@@ -731,7 +733,8 @@ errout:
        return err;
 }
 
-static int inet_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh)
+static int inet_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh,
+                            struct netlink_ext_ack *extack)
 {
        struct net *net = sock_net(skb->sk);
        struct fib_config cfg;
@@ -1127,7 +1130,8 @@ static void fib_disable_ip(struct net_device *dev, unsigned long event,
 {
        if (fib_sync_down_dev(dev, event, force))
                fib_flush(dev_net(dev));
-       rt_cache_flush(dev_net(dev));
+       else
+               rt_cache_flush(dev_net(dev));
        arp_ifdown(dev);
 }