Page MenuHomeFreeBSD

netgraph/ng_ksocket: Enter epoch on NG_SEND_DATA_ONLY
ClosedPublic

Authored by pouria on Sat, Oct 10, 4:28 PM.
Tags
None
Referenced Files
F176782751: D60589.diff
Thu, Oct 22, 4:36 AM
Unknown Object (File)
Tue, Oct 20, 8:23 PM
Unknown Object (File)
Mon, Oct 19, 9:25 PM
Unknown Object (File)
Mon, Oct 19, 3:00 AM
Unknown Object (File)
Sun, Oct 18, 11:45 PM
Unknown Object (File)
Sun, Oct 18, 2:20 AM
Unknown Object (File)
Sat, Oct 17, 4:08 PM
Unknown Object (File)
Sat, Oct 17, 4:45 AM

Details

Summary

Call NG_SEND_DATA_ONLY under epoch in receive side of ksocket.
This resolves a panic caused by NET_EPOCH_ASSERT under netisr for
callers like ng_ppp.

Fixes: 104827151e2a ("ng_iface: don't recursively enter epoch ...")

Diff Detail

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

Event Timeline

Can you please share the trace? I wonder how did we come with ng_ppp not working in the epoch in the first place.

This is correct fix, thanks! The commit message should be like this:

The work queued by ng_send_fn() is intentionally processed outside of the epoch in ngthread().  It is ng_ksocket's responsibility to enter epoch if it decides to send data from such work.

Nothing to do with ng_ppp.

This revision is now accepted and ready to land.Sat, Oct 10, 4:53 PM

This is correct fix, thanks! The commit message should be like this:

The work queued by ng_send_fn() is intentionally processed outside of the epoch in ngthread().  It is ng_ksocket's responsibility to enter epoch if it decides to send data from such work.

Nothing to do with ng_ppp.

Oops, in practice, it was ng_l2tp. I had the panic on mpd5 when my users trying to connect.