Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Nov 2005 18:50:05 GMT
From:      Stuart Weaver <sweaver@sweaver.net>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: misc/89534: ifconfig causes page fault
Message-ID:  <200511281850.jASIo5j7064277@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/89534; it has been noted by GNATS.

From: Stuart Weaver <sweaver@sweaver.net>
To: Kris Kennaway <kris@obsecurity.org>
Cc: freebsd-gnats-submit@FreeBSD.org,  bug-followup@FreeBSD.org
Subject: Re: misc/89534: ifconfig causes page fault
Date: Mon, 28 Nov 2005 13:38:49 -0500

 Here you go.
 
 [sweaver@zyon GENERIC]$ sudo kgdb kernel.debug /var/crash/vmcore.3
 [GDB will not be able to debug user-mode threads: 
 /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you are
 welcome to change it and/or distribute copies of it under certain 
 conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for details.
 This GDB was configured as "i386-marcel-freebsd".
 
 Unread portion of the kernel message buffer:
 
 
 Fatal trap 12: page fault while in kernel mode
 fault virtual address   = 0xc1d6e024
 fault code              = supervisor read, page not present
 instruction pointer     = 0x20:0xc06bc581
 stack pointer           = 0x28:0xdd6cd6d4
 frame pointer           = 0x28:0xdd6cd724
 code segment            = base 0x0, limit 0xfffff, type 0x1b
                          = DPL 0, pres 1, def32 1, gran 1
 processor eflags        = interrupt enabled, resume, IOPL = 0
 current process         = 857 (ifconfig)
 trap number             = 12
 panic: page fault
 Uptime: 13m8s
 Dumping 479 MB (2 chunks)
    chunk 0: 1MB (159 pages) ... ok
    chunk 1: 479MB (122608 pages) 463 447 431 415 399 383 367 351 335 319 
 303 287 271 255 239 223 207 191 175 159 143 127 111 95 79 63 47 31 15
 
 #0  doadump () at pcpu.h:165
 165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
 (kgdb) list *0xc06bc581
 0xc06bc581 is in ieee80211_ioctl_getkey 
 (/usr/src/sys/net80211/ieee80211_ioctl.c:857).
 852                     wk = &ic->ic_nw_keys[kid];
 853                     IEEE80211_ADDR_COPY(&ik.ik_macaddr, 
 ic->ic_bss->ni_macaddr);
 854                     ni = NULL;
 855             }
 856             cip = wk->wk_cipher;
 857             ik.ik_type = cip->ic_cipher;
 858             ik.ik_keylen = wk->wk_keylen;
 859             ik.ik_flags = wk->wk_flags & (IEEE80211_KEY_XMIT | 
 IEEE80211_KEY_RECV);
 860             if (wk->wk_keyix == ic->ic_def_txkey)
 861                     ik.ik_flags |= IEEE80211_KEY_DEFAULT;
 (kgdb) backtrace
 #0  doadump () at pcpu.h:165
 #1  0xc0638202 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:399
 #2  0xc0638498 in panic (fmt=0xc084e5a2 "%s")
      at /usr/src/sys/kern/kern_shutdown.c:555
 #3  0xc0807c30 in trap_fatal (frame=0xdd6cd694, eva=3252084772)
      at /usr/src/sys/i386/i386/trap.c:831
 #4  0xc080799b in trap_pfault (frame=0xdd6cd694, usermode=0, eva=3252084772)
      at /usr/src/sys/i386/i386/trap.c:742
 #5  0xc08075d9 in trap (frame=
        {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = 0, tf_esi = 
 -1046446076, tf_ebp = -580069596, tf_isp = -580069696, tf_ebx = 
 -1046443464, tf_edx = 22, tf_ecx = 0, tf_eax = -1042882528, tf_trapno = 
 12, tf_err = 0, tf_eip = -1066678911, tf_cs = 32, tf_eflags = 66198, 
 tf_esp = -1042882528, tf_ss = 0})
      at /usr/src/sys/i386/i386/trap.c:432
 #6  0xc07f6dca in calltrap () at /usr/src/sys/i386/i386/exception.s:139
 #7  0xc06bc581 in ieee80211_ioctl_getkey (ic=0xc1a08004, ireq=0xc1be5740)
      at /usr/src/sys/net80211/ieee80211_ioctl.c:856
 #8  0xc06bd37e in ieee80211_ioctl_get80211 (ic=0x0, cmd=3223087595,
      ireq=0xc1be5740) at /usr/src/sys/net80211/ieee80211_ioctl.c:1434
 #9  0xc06bed2e in ieee80211_ioctl (ic=0xc1a08004, cmd=3223087595,
      data=0xc1be5740 "wi0") at /usr/src/sys/net80211/ieee80211_ioctl.c:2407
 #10 0xc05e2999 in wi_ioctl (ifp=0xc1a04000, cmd=3223087595,
      data=0xc1be5740 "wi0") at /usr/src/sys/dev/wi/if_wi.c:1233
 #11 0xc06c912e in in_control (so=0xc1e39858, cmd=3223087595,
      data=0xc1be5740 "wi0", ifp=0xc1a04000, td=0xc1cd5000)
      at /usr/src/sys/netinet/in.c:470
 #12 0xc06a23bc in ifioctl (so=0xc1e39858, cmd=3223087595,
      data=0xc1be5740 "wi0", td=0xc1cd5000) at /usr/src/sys/net/if.c:1561
 #13 0xc065fb73 in soo_ioctl (fp=0xc1d6e020, cmd=3223087595, 
 data=0xc1be5740,
      active_cred=0xc1f97180, td=0xc1cd5000)
      at /usr/src/sys/kern/sys_socket.c:214
 #14 0xc0659d11 in ioctl (td=0xc1cd5000, uap=0xdd6cdd04) at file.h:258
 #15 0xc0807f47 in syscall (frame=
        {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = -1077943988, tf_esi 
 = 2, tf_ebp = -1077943816, tf_isp = -580067996, tf_ebx = -1077944032, 
 tf_edx = -1077944048, tf_ecx = -1077943920, tf_eax = 54, tf_trapno = 12, 
 tf_err = 2, tf_eip = 671900563, tf_cs = 51, tf_eflags = 582, tf_esp = 
 -1077944100, tf_ss = 59})
      at /usr/src/sys/i386/i386/trap.c:976
 #16 0xc07f6e1f in Xint0x80_syscall () at 
 /usr/src/sys/i386/i386/exception.s:200
 #17 0x00000033 in ?? ()
 Previous frame inner to this frame (corrupt stack?)
 (kgdb) q
 
 
 Kris Kennaway wrote:
 > On Fri, Nov 25, 2005 at 03:35:21PM +0000, Stuart Weaver wrote:
 > 
 > 
 >>I manualy copied the following from the console, there may be errors:
 >>
 >>Fatal trap 12: page fault wile in kernel mode
 >>fault virtual address   = 0xc1d6e024
 >>fault code              = supervisor read, pate not present
 >>instruction pointer     = 0x20:0xc06bc581
 >>stack pointer           = 0x28:0xdd6cd6d4
 >>frame pointer           = 0x28:0xdd6cd724
 >>code segmet             = base 0x0, limit 0xfffff, type 0x1b
 >>                        = DPL 0, pres 1, def32 1, gran 1
 >>processor eflags        = interrupt enabled, resume, IOPL = 0
 >>current process         = 857 (ifconfig)
 >>trap number             = 12
 >>panic: page fault
 >>Uptime: 13m8s
 >>Dumping 459 MB (2 chunks)
 >>  chunk 0: 1MB (159 pages) ... ok
 >>  chunk 1: 479MB (122608 pages) 463 447 431 415 399 383 367 335 319 303 287 271
 >>255 239 207 191 175 159 143 127 111 95 79 63 47 31 15 ... ok
 > 
 > 
 > Please obtain a debugging backtrace as described in the developers
 > handbook chapter on kernel debugging.
 > 
 > Kris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511281850.jASIo5j7064277>