svn commit: r323873 - head/sys/netgraph

Gleb Smirnoff glebius at FreeBSD.org
Mon Sep 25 20:59:31 UTC 2017


On Thu, Sep 21, 2017 at 08:16:11PM +0000, Eugene Grosbein wrote:
E> Author: eugen (ports committer)
E> Date: Thu Sep 21 20:16:10 2017
E> New Revision: 323873
E> URL: https://svnweb.freebsd.org/changeset/base/323873
E> 
E> Log:
E>   Unprotected modification of ng_iface(4) private data leads to kernel panic.
E>   Fix a race with per-node read-mostly lock and refcounting for a hook.

The patch is far from ideal. Netgraph already has internal locking,
which guarantess write semantics for "disconnect" and "newhook"
scenarios. As well as read semantics for "rcvdata".

Since ng_iface is a gate node, that gates data between netgraph and the
big network stack, it of course needs extra locking in the interface
output method. But better piggyback on the netgraph locking, rather than
add your own, IMHO.

-- 
Gleb Smirnoff


More information about the svn-src-all mailing list