Hello,

On Sun, Jun 20, 2021 at 07:24:14PM +0200, Matthias Schmidt wrote:
> >Synopsis:    double fault while using IPSec
> >Environment:
>       System      : OpenBSD 6.9
>       Details     : OpenBSD 6.9-current (GENERIC.MP) #82: Sat Jun 19 07:05:12 
> MDT 2021
>                        
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
> >Description:
> 
> I had successfully set up a ipsec/iked roadwarrior setup and while browsing 
> the web
> over the tunnel the following error occurred.  I transcribed the message by 
> hand:
> 
> kernel: double fault trap, code=0
> Stopped at  m_copydata+0x17:        pushq   %r14
> m_copydata(fffffd807cfbb100,14,14,ffff800022e5d1d4) at m_copydata+0x17
> pf_pull_hdr(fffffd807cfbb100,14,ffff800022e5d1d4,14,0,ffff800022e5d22e) at 
> pf_pull_hdr+0xa9
> pf_setup_pdsec(ffff800022e5d130,2,2,ffff8000006bd600,fffffd807cfbb100,ffff800022e5d22e)
>  at pf_setup_pdesc+0x213
> pf_test(2,2,ffff80000018800,ffff800022e5d320) qt pf_test+0x172
> ip_output(fffffd807cfbb100,0,fffffd8259008d80,800,0,fffffd8259008d10) ad 
> ip_out0ut+0x7b6
> tcp_output(ffff8000013ab000) at tcp_output+0x1a10
> tcp_output(ffff8000013ab000) at tcp_nutput+0x1a10
> tcp_output(ffff8000013ab000) at tcp_output+0x1a10
> tcp_output(ffff8000013ab000) at tcp_output+0x1a10
> tcp_output(fDff8000013ab000) at tcp_output+0x1a10
> tcp_output(ffff8000013ab000) at tcp_output+0x1a10
> [...]
> 

    I think we've seen such stack earlier. It is infinite
    recursion in tcp_output(). most likely triggered by
    mtu discovery. it's been discussed here [1] earlier
    this year.

    looks like there must be yet another code path, which
    enters the recursion.

regards
sashan

[1] https://marc.info/?l=openbsd-bugs&m=161248695626823&w=2

Reply via email to