[Bug 257302] net/syncthing: Panic in in6_getmulti at /usr/src/sys/netinet6/in6_mcast.c:451

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 22 Jul 2021 12:18:59 UTC

Andrey V. Elsukov <ae@FreeBSD.org> changed:

           What    |Removed                     |Added
                 CC|                            |ae@FreeBSD.org

--- Comment #5 from Andrey V. Elsukov <ae@FreeBSD.org> ---
(In reply to Alex Vasylenko from comment #0)
>Jul 20 13:43:02 foam kernel: fault virtual address      = 0x28
>Jul 20 13:43:02 foam kernel: fault code         = supervisor read data, page not present
>#9  0xffffffff80e04a0e in in6_getmulti (ifp=<optimized out>, group=0xfffffe005c3cf118, pinm=<optimized out>) at /usr/src/sys/netinet6/in6_mcast.c:451

It is NULL pointer dereference in the line:
inm->in6m_mli = MLD_IFINFO(ifp);

MLD_IFINFO() macro tries to dereference if_afdata[AF_INET6]->mld_info. 0x28
corresponds to mld_ifinfo field:

(kgdb) p/x offsetof(struct in6_ifextra, mld_ifinfo)
$1 = 0x28

ipfw0 interface does not have properly initialized if_afdata since IFT_PFLOG
interfaces do not support IPv6 (look at in6_domifattach()).

Thus I think we need to add somewhere the check that adapter doesn't support
IPv6 multicasts.

You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.