Re: ppp/pppoe, still panic 4.15.3 in ppp_push
From: Guillaume Nault <hidden>
Date: 2018-03-02 17:43:30
On Thu, Mar 01, 2018 at 10:07:05PM +0200, Denys Fedoryshchenko wrote:
On 2018-03-01 22:01, Guillaume Nault wrote:quoted
diff --git a/drivers/net/ppp/ppp_generic.cb/drivers/net/ppp/ppp_generic.c index 255a5def56e9..2acf4b0eabd1 100644--- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c@@ -3161,6 +3161,15 @@ ppp_connect_channel(struct channel *pch, intunit) goto outl; ppp_lock(ppp); + spin_lock_bh(&pch->downl); + if (!pch->chan) { + /* Don't connect unregistered channels */ + ppp_unlock(ppp); + spin_unlock_bh(&pch->downl);
This is obviously wrong. It should have been + spin_unlock_bh(&pch->downl); + ppp_unlock(ppp); Sorry, I shouldn't have hurried. This is fixed in the official version.
quoted
+ ret = -ENOTCONN; + goto outl; + } + spin_unlock_bh(&pch->downl); if (pch->file.hdrlen > ppp->file.hdrlen) ppp->file.hdrlen = pch->file.hdrlen; hdrlen = pch->file.hdrlen + 2; /* for protocol bytes */Ok, i will try to test that at night. Thanks a lot! For me also problem solved anyway by removing unit-cache, just i think it's nice to have bug fixed :)
I think this bug has been there forever, indeed it's good to have it fixed. Thanks a lot for your help (and patience!). FYI, if you see accel-ppp logs like "ioctl(PPPIOCCONNECT): Transport endpoint is not connected", then that means the patch prevented the scenario that was leading to the original crash. Out of curiosity, did unit-cache really bring performance improvements on your workload?