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)
Wed, Aug 5, 9:22 AM
Unknown Object (File)
Wed, Aug 5, 7:48 AM
Unknown Object (File)
Wed, Aug 5, 1:19 AM
Unknown Object (File)
Sun, Aug 2, 12:58 AM
Unknown Object (File)
Fri, Jul 24, 11:54 PM
Unknown Object (File)
Jun 21 2026, 2:27 AM
Unknown Object (File)
Jun 18 2026, 11:02 PM
Unknown Object (File)
Jun 1 2026, 5:20 AM
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
No Lint Coverage
Unit
No Test Coverage

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).