Hi,

After an upgrade to:

OpenBSD 7.7-beta (GENERIC.MP) #580: Tue Mar  4 11:41:42 MST 2025
    dera...@amd64.openbsd.org:/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

Reply via email to