Page MenuHomeFreeBSD

Properly initialize mbuf's fibnum field in nd6_ns_output()
ClosedPublic

Authored by ae on Mar 2 2015, 3:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 16, 12:29 AM
Unknown Object (File)
Mon, Nov 10, 3:17 AM
Unknown Object (File)
Sat, Nov 8, 7:05 AM
Unknown Object (File)
Thu, Nov 6, 3:28 PM
Unknown Object (File)
Fri, Oct 31, 12:02 AM
Unknown Object (File)
Wed, Oct 29, 3:07 PM
Unknown Object (File)
Mon, Oct 27, 8:01 AM
Unknown Object (File)
Sat, Oct 25, 12:23 PM
Subscribers
None

Details

Summary

nd6_ns_output() creates new mbuf 'm' to send ND6 NS, but it doesn't initialize m->m_pkthdr.fibnum. In some cases it is possible, that ip6_output() will be called and M_GETFIB() will be used to determine fibnum used in in6_selectroute_fib(). M_GETFIB() can return some random number (fibnum wasn't properly initialized), this can lead to panic in the routing code.

I created nd6_ns_output_fib() function similar to nd6_na_output_fib().

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

ae retitled this revision from to Properly initialize mbuf's fibnum field in nd6_ns_output().
ae updated this object.
ae edited the test plan for this revision. (Show Details)
ae added a reviewer: network.
hrs added a reviewer: hrs.
This revision is now accepted and ready to land.Mar 2 2015, 5:08 PM
ae updated this revision to Diff 4085.

Closed by commit rS279564 (authored by @ae).