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
F156689475: D1998.id4085.diff
Fri, May 15, 5:17 PM
F156689245: D1998.id4069.diff
Fri, May 15, 5:16 PM
F156688058: D1998.diff
Fri, May 15, 5:08 PM
Unknown Object (File)
Mon, May 4, 3:13 AM
Unknown Object (File)
Sun, May 3, 3:50 PM
Unknown Object (File)
Tue, Apr 28, 6:53 AM
Unknown Object (File)
Tue, Apr 28, 12:53 AM
Unknown Object (File)
Mon, Apr 27, 6:50 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
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).