Message ID | 20120806135529.GA30699@albatros |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Vasily Kulikov <segoon@openwall.com> Date: Mon, 6 Aug 2012 17:55:29 +0400 > __neigh_create() returns either a pointer to struct neighbour or PTR_ERR(). > But the caller expects it to return either a pointer or NULL. Replace > the NULL check with IS_ERR() check. > > The bug was introduced in a263b3093641fb1ec377582c90986a7fd0625184. > > Signed-off-by: Vasily Kulikov <segoon@openwall.com> Applied. Please provide the proper commit log header line text when referencing another commit, otherwise in trees where the SHA1 IDs are different, nobody will be able to figure out what you are trying to refer to. Thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index ba39a52..76dde25 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -197,7 +197,7 @@ static inline int ip_finish_output2(struct sk_buff *skb) neigh = __ipv4_neigh_lookup_noref(dev, nexthop); if (unlikely(!neigh)) neigh = __neigh_create(&arp_tbl, &nexthop, dev, false); - if (neigh) { + if (!IS_ERR(neigh)) { int res = dst_neigh_output(dst, neigh, skb); rcu_read_unlock_bh();
__neigh_create() returns either a pointer to struct neighbour or PTR_ERR(). But the caller expects it to return either a pointer or NULL. Replace the NULL check with IS_ERR() check. The bug was introduced in a263b3093641fb1ec377582c90986a7fd0625184. Signed-off-by: Vasily Kulikov <segoon@openwall.com> --- Compile tested only. net/ipv4/ip_output.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)