Date: Mon, 22 May 2000 16:59:19 -0700 (PDT) From: Archie Cobbs <archie@whistle.com> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/18763: kernel crashes when sysctl(3) is called Message-ID: <200005222359.QAA13514@bubba.whistle.com>
next in thread | raw e-mail | index | archive | help
>Number: 18763 >Category: kern >Synopsis: kernel crashes when sysctl(3) is called >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon May 22 17:00:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Archie Cobbs >Release: FreeBSD 3.4-RELEASE i386 >Organization: Whistle Communications, Inc. >Environment: FreeBSD 3.4-REL >Description: The kernel core dumps on the program given below: Program received signal SIGSEGV, Segmentation fault. 0xc0130e12 in sysctl_sysctl_name (oidp=0xc02220b4, arg1=0xc3204f38, arg2=2, req=0xc3204ea8) at ../../kern/kern_sysctl.c:249 249 error = SYSCTL_OUT(req, (*oidpp)->oid_name, (gdb) where #0 0xc0130e12 in sysctl_sysctl_name (oidp=0xc02220b4, arg1=0xc3204f38, arg2=2, req=0xc3204ea8) at ../../kern/kern_sysctl.c:249 #1 0xc01317a9 in sysctl_root (oidp=0x0, arg1=0xc3204f30, arg2=4, req=0xc3204ea8) at ../../kern/kern_sysctl.c:795 #2 0xc0131962 in userland_sysctl (p=0xc31d1200, name=0xc3204f30, namelen=4, old=0x0, oldlenp=0xbfbfd0fc, inkernel=0, new=0x0, newlen=0, retval=0xc3204f2c) at ../../kern/kern_sysctl.c:890 #3 0xc0131814 in __sysctl (p=0xc31d1200, uap=0xc3204f94) at ../../kern/kern_sysctl.c:826 #4 0xc01af407 in syscall (frame={tf_es = 672137255, tf_ds = -1078001625, tf_edi = 4, tf_esi = 136637068, tf_ebp = -1077948272, tf_isp = -1021292572, tf_ebx = 672704864, tf_edx = 0, tf_ecx = 0, tf_eax = 202, tf_trapno = 7, tf_err = 2, tf_eip = 672454616, tf_cs = 31, tf_eflags = 659, tf_esp = -1077948312, tf_ss = 39}) at ../../i386/i386/trap.c:1100 #5 0xc01a44dc in Xint0x80_syscall () >How-To-Repeat: #include <sys/types.h> #include <sys/sysctl.h> #include <stdio.h> #include <err.h> int main(int ac, char *av[]) { int mib[4] = { 0, 1, 1, 0 }; size_t estimate; if (sysctl(mib, 4, NULL, &estimate, NULL, 0) != 0) err(1, "sysctl"); printf("estimate = %d\n", estimate); return (0); } >Fix: Haven't investigated that yet. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005222359.QAA13514>