cvs commit: src/sys/netinet ip_fw2.c

Ganbold ganbold at micom.mng.net
Sat Sep 27 16:16:19 UTC 2008


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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/cvs-all
> To unsubscribe, send any mail to "cvs-all-unsubscribe at freebsd.org"
>
>
>
>   


-- 
Where there's a will, there's an Inheritance Tax.


More information about the cvs-src mailing list