Patch "ipv6/addrlabel: fix ip6addrlbl_get()" has been added to the 4.3-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
ipv6/addrlabel: fix ip6addrlbl_get()
to the 4.3-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ipv6-addrlabel-fix-ip6addrlbl_get.patch
and it can be found in the queue-4.3 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Jan 26 21:35:02 PST 2016
From: Andrey Ryabinin <[email protected]>
Date: Mon, 21 Dec 2015 12:54:45 +0300
Subject: ipv6/addrlabel: fix ip6addrlbl_get()
From: Andrey Ryabinin <[email protected]>
[ Upstream commit e459dfeeb64008b2d23bdf600f03b3605dbb8152 ]
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.
--- net/ipv6/addrlabel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
net/ipv6/addrlabel.c +1 -1
@@ -552,7 +552,7 @@ static int ip6addrlbl_get(struct sk_buffrcu_read_lock (); p =__ipv6_addr_label (net, addr,ipv6_addr_type (addr), ifal->ifal_index); -if (p &&ip6addrlbl_hold (p)) +if (p && !ip6addrlbl_hold (p)) p =NULL ; lseq = ip6addrlbl_table.seq;rcu_read_unlock ();
Patches currently in stable-queue which might be from [email protected] are
queue-4.3/ipv6-addrlabel-fix-ip6addrlbl_get.patch