On Sat, May 19, 2018 at 02:46:35PM +0200, Alexander Bluhm wrote:
> On Sat, May 19, 2018 at 02:30:27PM +0200, Peter J. Philipp wrote:
> > I have applied it now, what it was
> > missing was a terminating semicolon on KERNEL_LOCK(), so far my C goes I was
> > able to correct that.
> 
> Ah, I tested a GENERIC non MP kernel in qemu.  There the define is
> a noop and the compiler ignored the missing ; .
> 
> > Do you want me to get back to you tonight after 8PM in case this
> > box hasn't paniced again?
> 
> To trigger the panic, you must send a lot of traffic.  Please report
> tonight whether it is stable now.

Hi,

The box is still up, but I wasn't able to put much traffic on it because
I'm recabling my home.  I exchanged routers and cables to other areas of
the apartment.  Let me know if you want me to upload something and I'll
gladly do it.

Regards,
-peter

> Here is the fixed diff.
> 
> bluhm
> 
> Index: net/pfkeyv2.c
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sys/net/pfkeyv2.c,v
> retrieving revision 1.179
> diff -u -p -r1.179 pfkeyv2.c
> --- net/pfkeyv2.c     16 May 2018 13:19:00 -0000      1.179
> +++ net/pfkeyv2.c     19 May 2018 12:37:11 -0000
> @@ -381,12 +381,15 @@ pfkey_sendup(struct keycb *kp, struct mb
>       } else
>               m = m0;
>  
> +     KERNEL_LOCK();
>       if (!sbappendaddr(so, &so->so_rcv, &pfkey_addr, m, NULL)) {
>               m_freem(m);
> +             KERNEL_UNLOCK();
>               return (ENOBUFS);
>       }
>  
>       sorwakeup(so);
> +     KERNEL_UNLOCK();
>       return (0);
>  }
>  

Reply via email to