Robert Watson wrote:
rwatson     2008-09-27 10:14:02 UTC

  FreeBSD src repository

  Modified files:
sys/netinet ip_fw2.c Log:
  SVN rev 183398 on 2008-09-27 10:14:02Z by rwatson
Rather than shadowing global variable 'lookup' in check_uidgid(), rename
  it to ugid_lookupp.  This should make debugging issues with ipfw uid
  rules easier.
Still panics:

(kgdb) bt
#0  doadump () at pcpu.h:221
#1  0xc07b56fe in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc07b59c3 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:572
#3 0xc07b3e86 in _rw_rlock (rw=0xc0e1d9ec, file=0xc284deed "/usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c", line=2020)
   at /usr/src/sys/kern/kern_rwlock.c:283
#4 0xc284c92a in ipfw_chk (args=0xc22c589c) at /usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c:2020 #5 0xc284d4c8 in ipfw_check_out (arg=0x0, m0=0xc22c59c0, ifp=0xc25b2c00, dir=2, inp=0xc2731c60)
   at /usr/src/sys/modules/ipfw/../../netinet/ip_fw_pfil.c:253
#6 0xc0860458 in pfil_run_hooks (ph=0xc0e1ccc0, mp=0xc22c5a30, ifp=0xc25b2c00, dir=2, inp=0xc2731c60) at /usr/src/sys/net/pfil.c:79 #7 0xc08a87b2 in ip_output (m=0xc266ac00, opt=0x0, ro=0xc22c5a38, flags=0, imo=0x0, inp=0xc2731c60)
   at /usr/src/sys/netinet/ip_output.c:452
#8 0xc090f5ee in tcp_twrespond (tw=0xc2ae1d68, flags=Variable "flags" is not available.
) at /usr/src/sys/netinet/tcp_timewait.c:602
#9 0xc090fa46 in tcp_twcheck (inp=0xc2731c60, to=0xc22c5b50, th=0xc2668958, m=0xc2668900, tlen=0)
   at /usr/src/sys/netinet/tcp_timewait.c:407
#10 0xc090482a in tcp_input (m=0xc2668900, off0=20) at /usr/src/sys/netinet/tcp_input.c:554 #11 0xc08a6dc0 in ip_input (m=0xc2668900) at /usr/src/sys/netinet/ip_input.c:670 #12 0xc085fc53 in netisr_dispatch (num=2, m=0xc2668900) at /usr/src/sys/net/netisr.c:178 #13 0xc0859ba1 in ether_demux (ifp=0xc25b2c00, m=0xc2668900) at /usr/src/sys/net/if_ethersubr.c:842 #14 0xc085a00f in ether_input (ifp=0xc25b2c00, m=0xc2668900) at /usr/src/sys/net/if_ethersubr.c:700 #15 0xc057fefc in edintr (arg=0xc2534800) at /usr/src/sys/dev/ed/if_ed.c:1292 #16 0xc0796ef5 in intr_event_execute_handlers (p=0xc24ba7d4, ie=0xc24d8e00) at /usr/src/sys/kern/kern_intr.c:1134 #17 0xc0797b6f in ithread_loop (arg=0xc2570800) at /usr/src/sys/kern/kern_intr.c:1147 #18 0xc0794cb8 in fork_exit (callout=0xc0797ad0 <ithread_loop>, arg=0xc2570800, frame=0xc22c5d38) at /usr/src/sys/kern/kern_fork.c:810 #19 0xc0ab2110 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:270
(kgdb) fr 4
#4 0xc284c92a in ipfw_chk (args=0xc22c589c) at /usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c:2020
2020            INP_INFO_RLOCK(pi);
(kgdb) p inp
No symbol "inp" in current context.
(kgdb) p lookup
$1 = {int (struct nameidata *)} 0xc0831e60 <lookup>
(kgdb) p pi
No symbol "pi" in current context.
(kgdb) fr 5
#5 0xc284d4c8 in ipfw_check_out (arg=0x0, m0=0xc22c59c0, ifp=0xc25b2c00, dir=2, inp=0xc2731c60)
   at /usr/src/sys/modules/ipfw/../../netinet/ip_fw_pfil.c:253
253        ipfw = ipfw_chk(&args);
(kgdb) p inp
$2 = (struct inpcb *) 0xc2731c60
(kgdb) p lookup
$3 = {int (struct nameidata *)} 0xc0831e60 <lookup>
(kgdb) list
248        }
249 250 args.m = *m0;
251        args.oif = ifp;
252        args.inp = inp;
253        ipfw = ipfw_chk(&args);
254        *m0 = args.m;
255        tee = 0;
256 257 KASSERT(*m0 != NULL || ipfw == IP_FW_DENY, ("%s: m0 is NULL",
(kgdb) fr 4
#4 0xc284c92a in ipfw_chk (args=0xc22c589c) at /usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c:2020
2020    h = 0;
(kgdb) list
2015    dcard = INPLOOKUP_WILDCARD;
2016            pi = &V_udbinfo;
2017        } else
2018            return 0;
2019        match = 0;
2020        if (*ugid_lookupp == 0) {
2021            INP_INFO_RLOCK(pi);
2022            pcb =  (oif) ?
2023                in_pcblookup_hash(pi,
2024                    dst_ip, htons(dst_port),
(kgdb) p ugid_lookupp
No symbol "ugid_lookupp" in current context.
(kgdb) p *ugid_lookupp
No symbol "ugid_lookupp" in current context.
(kgdb) fr 5
#5 0xc284d4c8 in ipfw_check_out (arg=0x0, m0=0xc22c59c0, ifp=0xc25b2c00, dir=2, inp=0xc2731c60)
   at /usr/src/sys/modules/ipfw/../../netinet/ip_fw_pfil.c:253
253        ipfw = ipfw_chk(&args);
(kgdb) p *ugid_lookupp
No symbol "ugid_lookupp" in current context.
(kgdb)



MFC after: 3 days Revision Changes Path
  1.194     +8 -8      src/sys/netinet/ip_fw2.c
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"





--
Where there's a will, there's an Inheritance Tax.
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to