Manuel Bouyer
2017-05-22 15:41:26 UTC
Hello
looking more closely at bpf for CAN, there is something I don't understand.
It looks like bpf_mtap() can't be called from interrupt context any more,
as shown by the KASSERT() in bpf_deliver().
bpf_mtap_softint() was was introduced for this.
But it looks like most ethernet drivers will still call bpf_mtap() from
hardware interrupt context.
For example, if_tl.c calls bpf_mtap() from tl_ifstart(), which is called
on TX interrpt. ic/hme.c is another example.
Did I miss somehing, or have these drivers missed some conversion (and
have not been tested with a DIAGNOSTIC kernel) ?
looking more closely at bpf for CAN, there is something I don't understand.
It looks like bpf_mtap() can't be called from interrupt context any more,
as shown by the KASSERT() in bpf_deliver().
bpf_mtap_softint() was was introduced for this.
But it looks like most ethernet drivers will still call bpf_mtap() from
hardware interrupt context.
For example, if_tl.c calls bpf_mtap() from tl_ifstart(), which is called
on TX interrpt. ic/hme.c is another example.
Did I miss somehing, or have these drivers missed some conversion (and
have not been tested with a DIAGNOSTIC kernel) ?
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de