From: Eric Dumazet Date: Mon, 25 Sep 2017 15:40:02 +0000 (-0700) Subject: inetpeer: fix RCU lookup() again X-Git-Tag: v4.14-rc4~23^2~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=35f493b87ec072c5a2497ffbee243095ef725827;p=platform%2Fkernel%2Flinux-rpi.git inetpeer: fix RCU lookup() again My prior fix was not complete, as we were dereferencing a pointer three times per node, not twice as I initially thought. Fixes: 4cc5b44b29a9 ("inetpeer: fix RCU lookup()") Fixes: b145425f269a ("inetpeer: remove AVL implementation in favor of RB tree") Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c index e7eb590..b20c8ac 100644 --- a/net/ipv4/inetpeer.c +++ b/net/ipv4/inetpeer.c @@ -128,9 +128,9 @@ static struct inet_peer *lookup(const struct inetpeer_addr *daddr, break; } if (cmp == -1) - pp = &(*pp)->rb_left; + pp = &next->rb_left; else - pp = &(*pp)->rb_right; + pp = &next->rb_right; } *parent_p = parent; *pp_p = pp;