summaryrefslogtreecommitdiff
path: root/sys/netinet6/ip6_var.h
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2017-02-28 09:50:14 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2017-02-28 09:50:14 +0000
commit02febb48bc383399157fe6caecefbeaa2690f7b3 (patch)
treea8e115424863596a10f0e312eacfd658100bf2fb /sys/netinet6/ip6_var.h
parent5160085bb7b80013adafea0d3b8cdd01f4563f91 (diff)
Prevent a MP race in rtable_lookup().
If an ART node is linked to multiple route entries, in the MPATH case, it is not safe to dereference ``an_dst''. This non-refcounted pointer can be changed at any time by another CPU. So get rid of the pointer and use the first destination of a route entry when comparing sockaddrs. This allows us so remove a pointer from 'struct art_node' and save 5Mb of memory in an IPv4 fullfeed. ok jmatthew@, claudio@, dlg@
Diffstat (limited to 'sys/netinet6/ip6_var.h')
0 files changed, 0 insertions, 0 deletions