Hi,
After an upgrade to:
OpenBSD 7.7-beta (GENERIC.MP) #580: Tue Mar 4 11:41:42 MST 2025
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
system is stable again, thank you!
On Tue, Mar 04, 2025 at 03:47:32PM +0100, Claudio Jeker wrote:
> On Tue, Mar 04, 2025 at 02:10:38PM +0100, Alexander Bluhm wrote:
> > On Tue, Mar 04, 2025 at 07:23:23AM +0000, Mikolaj Kucharski wrote:
> > > ipv6_input(ffff8000000f2000,fffffd80ccc05a00,1) at ipv6_input+0x42
> > > ipsec_common_input_cb(ffff80002d75f320,ffff800012f9a9e0,14,9,0) at
> > > ipsec_common
> >
> > ipsec_common_input_cb() is called with netstack pointer NULL.
> > But in ipv6_input() the pointer is 1.
> >
> > There is a missing parameter in the prototype. Sadly the buggy
> > code did compile due to a missing include file.
> >
> > Diff below should fix it.
>
> OK claudio@ on this fix. We should finally clean up the kernel so we can
> use -Wmissing-prototypes to avoid such errors.
>
> > Index: net/if_sec.c
> > ===================================================================
> > RCS file: /data/mirror/openbsd/cvs/src/sys/net/if_sec.c,v
> > diff -u -p -r1.13 if_sec.c
> > --- net/if_sec.c 2 Mar 2025 21:28:32 -0000 1.13
> > +++ net/if_sec.c 4 Mar 2025 13:05:34 -0000
> > @@ -43,6 +43,7 @@
> >
> > #include <net/if.h>
> > #include <net/if_var.h>
> > +#include <net/if_sec.h>
> > #include <net/if_types.h>
> > #include <net/toeplitz.h>
> >
> > Index: net/if_sec.h
> > ===================================================================
> > RCS file: /data/mirror/openbsd/cvs/src/sys/net/if_sec.h,v
> > diff -u -p -r1.1 if_sec.h
> > --- net/if_sec.h 7 Aug 2023 01:57:33 -0000 1.1
> > +++ net/if_sec.h 4 Mar 2025 13:04:42 -0000
> > @@ -29,7 +29,7 @@ struct tdb;
> >
> > struct sec_softc *sec_get(unsigned int);
> > void sec_input(struct sec_softc * , int, int,
> > - struct mbuf *);
> > + struct mbuf *, struct netstack *);
> > void sec_put(struct sec_softc *);
> >
> > /*
> > Index: netinet/ipsec_input.c
> > ===================================================================
> > RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ipsec_input.c,v
> > diff -u -p -r1.208 ipsec_input.c
> > --- netinet/ipsec_input.c 2 Mar 2025 21:28:32 -0000 1.208
> > +++ netinet/ipsec_input.c 4 Mar 2025 13:03:23 -0000
> > @@ -564,7 +564,7 @@ ipsec_common_input_cb(struct mbuf **mp,
> > if (sc == NULL)
> > goto baddone;
> >
> > - sec_input(sc, af, prot, m);
> > + sec_input(sc, af, prot, m, ns);
> > sec_put(sc);
> > return IPPROTO_DONE;
> > }
> >
>
--
Regards,
Mikolaj