CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2017/02/28 02:50:13

Modified files:
        sys/net        : rtable.c art.c art.h 

Log message:
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@

Reply via email to