diff options
Diffstat (limited to 'include/net/dst.h')
| -rw-r--r-- | include/net/dst.h | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/include/net/dst.h b/include/net/dst.h index 853cda11e51..1f8fd109e22 100644 --- a/include/net/dst.h +++ b/include/net/dst.h @@ -413,13 +413,15 @@ static inline int dst_neigh_output(struct dst_entry *dst, struct neighbour *n,  static inline struct neighbour *dst_neigh_lookup(const struct dst_entry *dst, const void *daddr)  { -	return dst->ops->neigh_lookup(dst, NULL, daddr); +	struct neighbour *n = dst->ops->neigh_lookup(dst, NULL, daddr); +	return IS_ERR(n) ? NULL : n;  }  static inline struct neighbour *dst_neigh_lookup_skb(const struct dst_entry *dst,  						     struct sk_buff *skb)  { -	return dst->ops->neigh_lookup(dst, skb, NULL); +	struct neighbour *n =  dst->ops->neigh_lookup(dst, skb, NULL); +	return IS_ERR(n) ? NULL : n;  }  static inline void dst_link_failure(struct sk_buff *skb) |