Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 8.99.12 panic [Re: two 8.99.9 panics]



On Wed, Jan 10, 2018 at 11:45 PM, Thomas Klausner <tk%giga.or.at@localhost> wrote:
> I was told to try 8.99.12 (head as of ~20 minutes ago) and I quickly
> saw the second panic again.
>
> Jan 10 15:42:23 yt /netbsd: panic: prevented null pointer dereference at 0x360 (SMAP)
> Jan 10 15:42:23 yt /netbsd: cpu8: Begin traceback...
> Jan 10 15:42:23 yt /netbsd: vpanic() at netbsd:vpanic+0x140
> Jan 10 15:42:23 yt /netbsd: snprintf() at netbsd:snprintf
> Jan 10 15:42:23 yt /netbsd: trap() at netbsd:trap+0xc15
> Jan 10 15:42:23 yt /netbsd: --- trap (number 6) ---
> Jan 10 15:42:23 yt /netbsd: ip_setmoptions() at netbsd:ip_setmoptions+0x1ff
> Jan 10 15:42:23 yt /netbsd: ip_ctloutput() at netbsd:ip_ctloutput+0x260
> Jan 10 15:42:23 yt /netbsd: udp_ctloutput() at netbsd:udp_ctloutput+0x82
> Jan 10 15:42:23 yt /netbsd: udp_ctloutput_wrapper() at netbsd:udp_ctloutput_wrapper+0x2c
> Jan 10 15:42:23 yt /netbsd: sosetopt() at netbsd:sosetopt+0x67
> Jan 10 15:42:23 yt /netbsd: sys_setsockopt() at netbsd:sys_setsockopt+0x91
> Jan 10 15:42:23 yt /netbsd: syscall() at netbsd:syscall+0x1d8
> Jan 10 15:42:23 yt /netbsd: --- syscall (number 105) ---
> Jan 10 15:42:23 yt /netbsd: 765ca20cde5a:
> Jan 10 15:42:23 yt /netbsd: cpu8: End traceback...
>
> Reduced workload: just syncthing and mercurial self tests.
>  Thomas

Does the following patch help you?

Thanks,
  ozaki-r


diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index d643aef71c8..4e70cc7ad94 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -1905,9 +1905,9 @@ ip_drop_membership(struct ip_moptions *imo,
const struct sockopt *sopt)
         * Give up the multicast address record to which the
         * membership points.
         */
-       IFNET_LOCK(ifp);
+       IFNET_LOCK(imo->imo_membership[i]->inm_ifp);
        in_delmulti(imo->imo_membership[i]);
-       IFNET_UNLOCK(ifp);
+       IFNET_UNLOCK(imo->imo_membership[i]->inm_ifp);

        /*
         * Remove the gap in the membership array.


Home | Main Index | Thread Index | Old Index