Re: ipfw: LOR/panic with uid rules

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Wed, 24 Sep 2008 23:45:17 +0100 (BST)
On Thu, 25 Sep 2008, Stefan Ehmann wrote:

>> Hmm. Is it identical, or a different stack trace? Could you tell me what 
>> $FreeBSD$ appears in your tcp_input.c? (I've committed the patch since it's 
>> definitely necessary, even if it doesn't fix the specific instance of the 
>> problem you're seeing).
> 
> I cvsup-ed and noticed the patch is already committed. I double-checked 
> after the problem was still there.
> 
> The LORs seem identical. The panic backtrace is slightly different (besides 
> the double panic):

None of the line numbers in this trace seem to line up with expected things in 
the source code.  Could you confirm your source code, vmcore, and kernel are 
all in sync?  Could you also confirm for me what version of tcp_input.c you're 
using?

Robert N M Watson
Computer Laboratory
University of Cambridge

> 
> #0 doadump () at pcpu.h:221
> 
> 221 pcpu.h: No such file or directory.
> 
> in pcpu.h
> 
> (kgdb) bt
> 
> #0 doadump () at pcpu.h:221
> 
> #1 0xc07ee35e in boot (howto=260) at
> /usr/src/sys/kern/kern_shutdown.c:418
> 
> #2 0xc07ee623 in panic (fmt=Variable "fmt" is not available.
> 
> ) at /usr/src/sys/kern/kern_shutdown.c:572
> 
> #3 0xc07c6b63 in knote (list=0xc4b4a2c0, hint=0, islocked=1)
> 
> at /usr/src/sys/kern/kern_event.c:1621
> 
> #4 0xc083b23e in tty_wakeup (tp=0xc4b4a200, flags=2)
> 
> at /usr/src/sys/kern/tty.c:1172
> 
> #5 0xc0842ffb in ttydisc_wakeup_watermark (tp=0x0)
> 
> at /usr/src/sys/kern/tty_ttydisc.c:1122
> 
> #6 0xc0843157 in ttydisc_getc (tp=0xc4b4a200, buf=0xc4732258, len=0)
> 
> at /usr/src/sys/kern/tty_ttydisc.c:1142
> 
> #7 0xc06f6a74 in sctty_outwakeup (tp=0xc4b4a200)
> 
> at /usr/src/sys/dev/syscons/syscons.c:323
> 
> #8 0xc06f6fdc in scgetc (sc=0xc0e81020, flags=3)
> 
> at /usr/src/sys/dev/syscons/syscons.c:3280
> 
> #9 0xc06f7600 in sc_cngetc (cd=0xc0c3e080)
> 
> at /usr/src/sys/dev/syscons/syscons.c:1607
> 
> #10 0xc083eb18 in cncheckc () at /usr/src/sys/kern/tty_cons.c:607
> 
> #11 0xc083eb56 in cngetc () at /usr/src/sys/kern/tty_cons.c:585
> 
> #12 0xc04bcf45 in db_readline (lstart=0xc0cc0ac0 "", lsize=120)
> 
> at /usr/src/sys/ddb/db_input.c:326
> 
> #13 0xc04bd91a in db_read_line () at /usr/src/sys/ddb/db_lex.c:56
> 
> #14 0xc04bc076 in db_command_loop () at /usr/src/sys/ddb/db_command.c:497
> 
> #15 0xc04bda3d in db_trap (type=3, code=0) at
> /usr/src/sys/ddb/db_main.c:228
> 
> #16 0xc081b596 in kdb_trap (type=3, code=0, tf=0xc47324cc)
> 
> at /usr/src/sys/kern/subr_kdb.c:534
> 
> #17 0xc0afeed6 in trap (frame=0xc47324cc) at
> /usr/src/sys/i386/i386/trap.c:694
> 
> #18 0xc0ae354b in calltrap () at /usr/src/sys/i386/i386/exception.s:165
> 
> #19 0xc081b71a in kdb_enter (why=0xc0baa06c "panic", msg=0xc0baa06c
> "panic")
> 
> at cpufunc.h:70
> 
> #20 0xc07ee60c in panic (fmt=0xc0ba9b72 "%s (%s): wlock already held _at_
> %s:%d")
> 
> at /usr/src/sys/kern/kern_shutdown.c:556
> 
> #21 0xc07ecae6 in _rw_rlock (rw=0xc0e5a7ec,
> 
> file=0xc103beed "/usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c",
> 
> line=2020) at /usr/src/sys/kern/kern_rwlock.c:283
> 
> #22 0xc103a92a in ipfw_chk (args=0xc4732894)
> 
> at /usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c:2020
> 
> #23 0xc103b4c8 in ipfw_check_out (arg=0x0, m0=0xc47329b8, ifp=0xc4b0a000,
> 
> dir=2, inp=0x0)
> 
> at /usr/src/sys/modules/ipfw/../../netinet/ip_fw_pfil.c:253
> 
> #24 0xc0899038 in pfil_run_hooks (ph=0xc0e59ac0, mp=0xc4732a28,
> 
> ifp=0xc4b0a000, dir=2, inp=0x0) at /usr/src/sys/net/pfil.c:79
> 
> #25 0xc08e0fd2 in ip_output (m=0xc4db8600, opt=0x0, ro=0xc4732a30,
> flags=0,
> 
> imo=0x0, inp=0x0) at /usr/src/sys/netinet/ip_output.c:452
> 
> #26 0xc0943d95 in tcp_respond (tp=0x0, ipgen=0xc4dde016, th=0xc4dde02a,
> 
> m=0xc4db8600, ack=0, seq=1465052506, flags=Variable "flags" is not
> available.
> 
> )
> 
> at /usr/src/sys/netinet/tcp_subr.c:611
> 
> #27 0xc093a955 in tcp_dropwithreset (m=0xc4db8600, th=0xc4dde02a, tp=0x0,
> 
> tlen=1440, rstreason=3) at /usr/src/sys/netinet/tcp_input.c:2552
> 
> #28 0xc093d874 in tcp_input (m=0xc4db8600, off0=20)
> 
> at /usr/src/sys/netinet/tcp_input.c:888
> 
> #29 0xc08df5e0 in ip_input (m=0xc4db8600)
> 
> at /usr/src/sys/netinet/ip_input.c:666
> 
> #30 0xc0898833 in netisr_dispatch (num=2, m=0xc4db8600)
> 
> at /usr/src/sys/net/netisr.c:178
> 
> #31 0xc0892781 in ether_demux (ifp=0xc4b0a000, m=0xc4db8600)
> 
> at /usr/src/sys/net/if_ethersubr.c:842
> 
> #32 0xc0892bef in ether_input (ifp=0xc4b0a000, m=0xc4db8600)
> 
> at /usr/src/sys/net/if_ethersubr.c:700
> 
> #33 0xc0764ede in vr_intr (arg=0xc4b22000) at
> /usr/src/sys/dev/vr/if_vr.c:1414
> 
> #34 0xc07cfb55 in intr_event_execute_handlers (p=0xc48c07d4,
> ie=0xc4905a80)
> 
> at /usr/src/sys/kern/kern_intr.c:1134
> 
> #35 0xc07d07cf in ithread_loop (arg=0xc4b29a00)
> 
> at /usr/src/sys/kern/kern_intr.c:1147
> 
> #36 0xc07cd918 in fork_exit (callout=0xc07d0730 <ithread_loop>,
> 
> arg=0xc4b29a00, frame=0xc4732d38) at /usr/src/sys/kern/kern_fork.c:810
> 
> #37 0xc0ae35c0 in fork_trampoline () at
> /usr/src/sys/i386/i386/exception.s:270
> 
> 
>
Received on Wed Sep 24 2008 - 20:45:18 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:35 UTC