[IPV6]: ipv6_fl_socklist is inadvertently shared.
The ipv6_fl_socklist from listening socket is inadvertently shared
with new socket created for connection. This leads to a variety of
interesting, but fatal, bugs. For example, removing one of the
sockets may lead to the other socket's encountering a page fault
when the now freed list is referenced.
The fix is to not share the flow label list with the new socket.
Signed-off-by: Masayuki Nakagawa <firstname.lastname@example.org>
Signed-off-by: David S. Miller <email@example.com>
[linux < 22.214.171.124] 202e363b00807107da624289eb2257ea32b29420
[linux >= 2.6.17 < 126.96.36.199] c92fc42fc79aa7c77c90d91c69144f2d9b94a71b
also in 2.6.21 d35690beda1429544d46c8eb34b2e3a8c37ab299
[gp < 2.6.20-5][gentoo < 2.6.20-r4]