DragonFly BSD
DragonFly kernel List (threaded) for 2011-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Changing pf to use kmalloc instead of zalloc


From: Jan Lentfer <Jan.Lentfer@xxxxxx>
Date: Sun, 23 Jan 2011 10:25:33 +0100

I updated and rebased my branch at
http://gitweb.dragonflybsd.org/~lentferj/dragonfly.git/shortlog/refs/heads/pf44
so everything is in one patch/diff and no intermediate stuff anymore.

pf.ko loads and I can load the ruleset, etc. It looks all good, until...

1) I hit a reproducable page fault panic in pf_state_key_detach().

#0 _get_mycpu (di=0xc06f1b80) at ./machine/thread.h:83
#1 md_dumpsys (di=0xc06f1b80) at /home/lentferj/repo/src/sys/platform/pc32/i386/dump_machdep.c:263
#2 0xc0312d26 in dumpsys () at /home/lentferj/repo/src/sys/kern/kern_shutdown.c:881
#3 0xc03132e6 in boot (howto=260) at /home/lentferj/repo/src/sys/kern/kern_shutdown.c:388
#4 0xc031358d in panic (fmt=0xc05bb9e4 "%s") at /home/lentferj/repo/src/sys/kern/kern_shutdown.c:787
#5 0xc056e2a2 in trap_fatal (frame=0xd3576cd8, eva=<value optimized out>) at /home/lentferj/repo/src/sys/platform/pc32/i386/trap.c:1116
#6 0xc056e3d8 in trap_pfault (frame=0xd3576cd8, usermode=0, eva=1767862949) at /home/lentferj/repo/src/sys/platform/pc32/i386/trap.c:1018
#7 0xc056e931 in trap (frame=0xd3576cd8) at /home/lentferj/repo/src/sys/platform/pc32/i386/trap.c:705
#8 0xc05566a7 in calltrap () at /home/lentferj/repo/src/sys/platform/pc32/i386/exception.s:785
#9 0xd35f5a3d in pf_state_key_detach (s=0xd303b9c8, idx=1) at /home/lentferj/repo/src/sys/net/pf/pf.c:766
#10 0xd35f5a9e in pf_detach_state (s=0xd303b9c8) at /home/lentferj/repo/src/sys/net/pf/pf.c:739
#11 0xd35f6ace in pf_unlink_state (cur=0xd303b9c8) at /home/lentferj/repo/src/sys/net/pf/pf.c:1114
#12 0xd35f6e0a in pf_purge_expired_states (maxcheck=2, waslocked=1) at /home/lentferj/repo/src/sys/net/pf/pf.c:1191
#13 0xd35f6f2b in pf_purge_thread (v=0x0) at /home/lentferj/repo/src/sys/net/pf/pf.c:978
#14 0xc0305bf4 in suspend_kproc (td=Cannot access memory at address 0x8
) at /home/lentferj/repo/src/sys/kern/kern_kthread.c:189
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


2) I kldunload pf.ko
malloc_uninit: 208 bytes of 'pfstatepl' still allocated on cpu 4
malloc_uninit: 896 bytes of 'pfrulepl' still allocated on cpu 4

I am currently uploading the dump to leaf lentferj/crash/dump_pf_kmalloc.tar.bz2, just in case someone wants to take a look (PLEASE!! :) ).

Jan



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]