On 12 Sep 2022, at 14:36, Gert Doering wrote:
> On Mon, Sep 12, 2022 at 02:27:57PM +0200, Gert Doering wrote:
>> trying to load my newly-instrumented if_ovpn.ko, I kldunload'ed the
>> existing one - without shutting down *all* OpenVPN instances first.
>>
>> *Boom*...
>>
>> Console attached.
>
> Ah, nice, dmesg has all the info in text format, no need to send PNGs
> to the list :-)
>
>
> -------------------- snip ----------------
> ovpn3: changing name to 'tun11'
> tun8: link state changed to DOWN
> ovpn4: changing name to 'tun4'
> tun4: link state changed to UP
> tun4: promiscuous mode enabled
>
> Warning: memory type ovpn leaked memory on destroy (1 allocations, 2048 bytes 
> leaked).
>
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 3; apic id = 06
> fault virtual address   = 0xffffffff82f81d70
> fault code              = supervisor read instruction, page not present
> instruction pointer     = 0x20:0xffffffff82f81d70
> stack pointer           = 0x28:0xfffffe000859edf8
> frame pointer           = 0x28:0xfffffe000859ee40
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 0 (softirq_3)
> trap number             = 12
> panic: page fault
> cpuid = 3
> time = 1662985342
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe000859ebb0
> vpanic() at vpanic+0x151/frame 0xfffffe000859ec00
> panic() at panic+0x43/frame 0xfffffe000859ec60
> trap_fatal() at trap_fatal+0x387/frame 0xfffffe000859ecc0
> trap_pfault() at trap_pfault+0xab/frame 0xfffffe000859ed20
> calltrap() at calltrap+0x8/frame 0xfffffe000859ed20
> --- trap 0xc, rip = 0xffffffff82f81d70, rsp = 0xfffffe000859edf8, rbp = 
> 0xfffffe000859ee40 ---
> __stop_set_sysinit_set() at __stop_set_sysinit_set+0x5350/frame 
> 0xfffffe000859ee40
> gtaskqueue_run_locked() at gtaskqueue_run_locked+0xa7/frame 0xfffffe000859eec0
> gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0xc2/frame 
> 0xfffffe000859eef0
> fork_exit() at fork_exit+0x80/frame 0xfffffe000859ef30
> fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe000859ef30
> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
> KDB: enter: panic
> ---<<BOOT>>---
>
I can reproduce the memory leak, but not the panic. I’m also entirely unclear 
how if_ovpn would trigger anything in gtaskqueue*. It doesn’t use any task 
queues, only callouts (for pings and idle timeout).

Can you reproduce the panic?

Kristof


_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to