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, Jan 29, 9:10 PM
Unknown Object (File)
Thu, Jan 23, 5:34 AM
Unknown Object (File)
Thu, Jan 23, 5:02 AM
Unknown Object (File)
Mon, Jan 20, 2:37 AM
Unknown Object (File)
Sun, Jan 19, 5:01 AM
Unknown Object (File)
Dec 18 2024, 4:11 AM
Unknown Object (File)
Dec 18 2024, 3:21 AM
Unknown Object (File)
Nov 5 2024, 1:17 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).