Page MenuHomeFreeBSD

debugnet: fix an errant assertion
ClosedPublic

Authored by mhorne on May 12 2022, 3:47 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 31, 4:25 PM
Unknown Object (File)
Sun, Oct 27, 12:16 AM
Unknown Object (File)
Wed, Oct 16, 6:42 AM
Unknown Object (File)
Tue, Oct 15, 6:32 PM
Unknown Object (File)
Tue, Oct 15, 6:32 PM
Unknown Object (File)
Mon, Oct 14, 2:44 AM
Unknown Object (File)
Sun, Oct 13, 5:43 AM
Unknown Object (File)
Sat, Oct 12, 4:57 AM

Details

Summary

We may call debugnet_free() before g_debugnet_pcb_inuse is true,
specifically in the cases where the interface is down or does not
support debugnet. pcb->dp_drv_input is used to hold the real driver
if_input callback while debugnet is in use, so we can check the status
of this field in the assertion.

This can be triggered trivially by trying to configure netdump on an
unsupported interface at the ddb prompt.

Initializing the dp_drv_input field to NULL explicitly is not necessary
but helps display the intent.

PR: 263929
Reported by: Martin Filla <freebsd@sysctl.cz>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable