ipv6: Fix finding best source address in ipv6_dev_get_saddr().
authorYOSHIFUJI Hideaki/吉藤英明 <hideaki.yoshifuji@miraclelinux.com>
Mon, 13 Jul 2015 14:28:10 +0000 (23:28 +0900)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 Jul 2015 04:06:13 +0000 (21:06 -0700)
commitc0b8da1e7613a11ce7e44560aae507b62da1f846
treeb56047ea80fc041c36996a98f62e97e10e7f22a5
parent9243b25b2361a0818caaf8ab2ef7d1c5be4b1211
ipv6: Fix finding best source address in ipv6_dev_get_saddr().

Commit 9131f3de2 ("ipv6: Do not iterate over all interfaces when
finding source address on specific interface.") did not properly
update best source address available.  Plus, it introduced
possible NULL pointer dereference.

Bug was reported by Erik Kline <ek@google.com>.
Based on patch proposed by Hajime Tazaki <thehajime@gmail.com>.

Fixes: 9131f3de24db4dc12199aede7d931e6703e97f3b ("ipv6: Do not
iterate over all interfaces when finding source address
on specific interface.")
Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@miraclelinux.com>
Acked-by: Hajime Tazaki <thehajime@gmail.com>
Acked-by: Erik Kline <ek@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c