[Bug 272319] FreeBSD kernel crash on MPD5 restart with PPP configuration.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 02 Jul 2023 11:59:29 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272319 --- Comment #8 from Aleksandr Fedorov <afedorov@FreeBSD.org> --- I think fix should look like this: diff --git a/sys/netgraph/ng_ksocket.c b/sys/netgraph/ng_ksocket.c index ba9845410e42..7074549ae403 100644 --- a/sys/netgraph/ng_ksocket.c +++ b/sys/netgraph/ng_ksocket.c @@ -936,12 +936,18 @@ ng_ksocket_shutdown(node_p node) /* Close our socket (if any) */ if (priv->so != NULL) { - SOCKBUF_LOCK(&priv->so->so_rcv); - soupcall_clear(priv->so, SO_RCV); - SOCKBUF_UNLOCK(&priv->so->so_rcv); - SOCKBUF_LOCK(&priv->so->so_snd); - soupcall_clear(priv->so, SO_SND); - SOCKBUF_UNLOCK(&priv->so->so_snd); + /* + * SOLISTENNIG sockets doesn't have data upcalls. + */ + if (!SOLISTENING(priv->so)) { + SOCKBUF_LOCK(&priv->so->so_rcv); + soupcall_clear(priv->so, SO_RCV); + SOCKBUF_UNLOCK(&priv->so->so_rcv); + SOCKBUF_LOCK(&priv->so->so_snd); + soupcall_clear(priv->so, SO_SND); + SOCKBUF_UNLOCK(&priv->so->so_snd); + } + soclose(priv->so); priv->so = NULL; } -- You are receiving this mail because: You are the assignee for the bug.