https://github.com/torvalds/linux
Revision e459dfeeb64008b2d23bdf600f03b3605dbb8152 authored by Andrey Ryabinin on 21 December 2015, 09:54:45 UTC, committed by David S. Miller on 22 December 2015, 20:57:54 UTC
ip6addrlbl_get() has never worked. If ip6addrlbl_hold() succeeded,
ip6addrlbl_get() will exit with '-ESRCH'. If ip6addrlbl_hold() failed,
ip6addrlbl_get() will use about to be free ip6addrlbl_entry pointer.

Fix this by inverting ip6addrlbl_hold() check.

Fixes: 2a8cc6c89039 ("[IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table.")
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Reviewed-by: Cong Wang <cwang@twopensource.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent ef9cdd0
History
Tip revision: e459dfeeb64008b2d23bdf600f03b3605dbb8152 authored by Andrey Ryabinin on 21 December 2015, 09:54:45 UTC
ipv6/addrlabel: fix ip6addrlbl_get()
Tip revision: e459dfe

back to top