]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/net/route.h
mm, THP, swap: move anonymous THP split logic to vmscan
[karo-tx-linux.git] / include / net / route.h
index 89e4028cd06379e19f4212ab6489d048f08a0c3b..cb0a76d9dde17bc77d1b1db853b32d69bfa5f5c5 100644 (file)
@@ -178,6 +178,9 @@ static inline struct rtable *ip_route_output_gre(struct net *net, struct flowi4
 
 int ip_route_input_noref(struct sk_buff *skb, __be32 dst, __be32 src,
                         u8 tos, struct net_device *devin);
+int ip_route_input_rcu(struct sk_buff *skb, __be32 dst, __be32 src,
+                      u8 tos, struct net_device *devin,
+                      struct fib_result *res);
 
 static inline int ip_route_input(struct sk_buff *skb, __be32 dst, __be32 src,
                                 u8 tos, struct net_device *devin)
@@ -187,7 +190,9 @@ static inline int ip_route_input(struct sk_buff *skb, __be32 dst, __be32 src,
        rcu_read_lock();
        err = ip_route_input_noref(skb, dst, src, tos, devin);
        if (!err)
-               skb_dst_force(skb);
+               skb_dst_force_safe(skb);
+       if (!skb_dst(skb))
+               err = -EINVAL;
        rcu_read_unlock();
 
        return err;