Page MenuHomeFreeBSD

Reinitialize source filter structures after removing an entry.
ClosedPublic

Authored by markj on Apr 10 2019, 4:13 AM.
Tags
None
Referenced Files
F168030574: D19872.id56032.diff
Wed, Aug 26, 12:47 AM
F167994672: D19872.diff
Tue, Aug 25, 7:57 PM
F167956285: D19872.id56047.diff
Tue, Aug 25, 3:09 PM
F167949070: D19872.id.diff
Tue, Aug 25, 2:13 PM
Unknown Object (File)
Mon, Aug 24, 7:30 AM
Unknown Object (File)
Fri, Aug 21, 1:23 PM
Unknown Object (File)
Fri, Aug 21, 12:13 PM
Unknown Object (File)
Thu, Aug 20, 7:17 PM
Subscribers

Details

Summary

When leaving a multicast group, inp_leave_group() creates a hole in the
source filter and group membership arrays. It copies succeeding
elements down by 1 entry, so the last entry remains initialized with
stale data. This can trip an assertion in inp_join_group() which
verifies that the newly allocated source filter array entry does not
contain any source filters. Fix the problem by explicitly
reinitializing the last source filter array entry using the same
measures as in imo_grow().

Test Plan

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 23615
Build 22601: arc lint + arc unit