Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jan 1998 22:47:46 -0600 (CST)
From:      "Kent S. Gordon" <kgor@soccer.inetspace.com>
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   kern/5606: Kernel Panic running Linux Binary without COMPAT_LINIX
Message-ID:  <199801310447.WAA00537@soccer.inetspace.com>

next in thread | raw e-mail | index | archive | help

>Number:         5606
>Category:       kern
>Synopsis:       Kernel Panic running Linux Binary without COMPAT_LINIX
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 30 20:50:00 PST 1998
>Last-Modified:
>Originator:     Kent S. Gordon
>Organization:
iNetSpace Corporation
>Release:        FreeBSD 2.2.5-STABLE i386
>Environment:
Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California.  All rights reserved.

FreeBSD 2.2.5-STABLE #0: Wed Jan 28 11:01:16 CST 1998
    kgor@soccer.inetspace.com:/usr/src/sys/compile/SOCCER
CPU: Pentium Pro (199.43-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x619  Stepping=9
  Features=0xf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV>
real memory  = 67108864 (65536K bytes)
avail memory = 63807488 (62312K bytes)
Probing for devices on PCI bus 0:
chip0 <Intel 82440FX (Natoma) PCI and memory controller> rev 2 on pci0:0
chip1 <Intel 82371SB PCI-ISA bridge> rev 1 on pci0:7:0
chip2 <Intel 82371SB IDE interface> rev 0 on pci0:7:1
fxp0 <Intel EtherExpress Pro 10/100B Ethernet> rev 4 int a irq 10 on pci0:17
fxp0: Ethernet address 00:a0:c9:92:f2:7a
vga0 <VGA-compatible display device> rev 1 int a irq 11 on pci0:19
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
psm0 at 0x60-0x64 irq 12 on motherboard
psm0: device ID 0
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 flags 0x80ff80ff on isa
wdc0: unit 0 (wd0): <WDC AC32500H>, 32-bit, multi-block-16
wd0: 2441MB (4999680 sectors), 4960 cyls, 16 heads, 63 S/T, 512 B/S
wdc1 at 0x170-0x177 irq 15 flags 0x80ff80ff on isa
wdc1: unit 0 (atapi): <CD-ROM  CDR_S18/1.02>, removable, intr, dma, iordis
wcd0: 1377Kb/sec, 128Kb cache, audio play, 256 volume levels, ejectable tray
wcd0: no disc inside, unlocked
npx0 flags 0x1 on motherboard
npx0: INT 16 interface
WARNING: / was not properly dismounted.

with KERNEL config file of 
#
# SOCCER --  Pentium Pro 200Mhz with IDE disks
#
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#	$Id: GENERIC,v 1.77.2.12 1997/10/18 11:03:10 joerg Exp $
machine		"i386"
#cpu		"I386_CPU"
#cpu		"I486_CPU"
#cpu		"I586_CPU"
cpu		"I686_CPU"
ident		SOCCER
maxusers	20
options         INCLUDE_CONFIG_FILE     # Include this file in kernel
#options		MATH_EMULATE		#Support for x87 emulation
options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		MFS			#Memory File System
options		NFS			#Network Filesystem
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
#options		SCSI_DELAY=15		#Be pessimistic about Joe SCSI device
#options		BOUNCE_BUFFERS		#include support for DMA bounce buffers
options		UCONSOLE		#Allow users to grab the console
options		FAILSAFE		#Be conservative
options		USERCONFIG		#boot -c editor
options		VISUAL_USERCONFIG	#visual boot -c editor
config		kernel	root on wd0
controller	isa0
#controller	eisa0
controller	pci0
controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
disk		fd1	at fdc0 drive 1
#tape		ft0	at fdc0 drive 2
options		"CMD640"	# work around CMD640 chip deficiency
controller	wdc0	at isa? port "IO_WD1" bio irq 14 flags 0x80ff80ff vector wdintr
disk		wd0	at wdc0 drive 0
disk		wd1	at wdc0 drive 1
controller	wdc1	at isa? port "IO_WD2" bio irq 15 flags 0x80ff80ff vector wdintr
disk		wd2	at wdc1 drive 0
disk		wd3	at wdc1 drive 1
options		ATAPI		#Enable ATAPI support for IDE bus
options		ATAPI_STATIC	#Don't do it as an LKM
device		wcd0	#IDE CD-ROM
# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
#controller	ncr0
#controller	amd0
#controller	ahb0
#controller	ahc0
#controller	bt0	at isa? port "IO_BT0" bio irq ? vector bt_isa_intr
#controller	uha0	at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#controller	aha0	at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
#controller	aic0	at isa? port 0x340 bio irq 11 vector aicintr
#controller	nca0	at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller	nca1	at isa? port 0x350 bio irq 5 vector ncaintr
#controller	sea0	at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr
#controller	scbus0
#device		sd0
#device		od0	#See LINT for possible `od' options.
#device		st0
#device		cd0	#Only need one of these, the code dynamically grows
#device		wt0	at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device		mcd0	at isa? port 0x300 bio irq 10 vector mcdintr
#controller	matcd0	at isa? port 0x230 bio
#device		scd0	at isa? port 0x230 bio
# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa? port "IO_KBD" tty irq 1 vector pcrint
#options		XSERVER			# support for X server
#options		FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options		PCVT_SCANSET=2		# IBM keyboards are non-std
# Mandatory, don't remove
device		npx0	at isa? port "IO_NPX" flags 0x1 irq 13 vector npxintr
#
# Laptop support (see LINT for more options)
#
#device		apm0    at isa?	disable	# Advanced Power Management
#options		APM_BROKEN_STATCLOCK	# Workaround some buggy APM BIOS
# PCCARD (PCMCIA) support
#controller	crd0
#device		pcic0	at crd?
#device		pcic1	at crd?
device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
#device		sio2	at isa? disable port "IO_COM3" tty irq 5 vector siointr
#device		sio3	at isa? disable port "IO_COM4" tty irq 9 vector siointr
device		lpt0	at isa? port? tty irq 7 vector lptintr
#device		lpt1	at isa? port? tty
#device		mse0	at isa? port 0x23c tty irq 5 vector mseintr
device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
#device de0
device fxp0
#device vx0
#device ed0 at isa? port 0x280 net irq  5 iomem 0xd8000 vector edintr
#device ed1 at isa? port 0x300 net irq  5 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
#device ie1 at isa? port 0x360 net irq  7 iomem 0xd0000 vector ieintr
#device ep0 at isa? port 0x300 net irq 10 vector epintr
#device ex0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
pseudo-device	loop
pseudo-device	ether
pseudo-device	log
#pseudo-device	sl	1
# ijppp uses tun instead of ppp device
#pseudo-device	ppp	1
pseudo-device	vn	1
pseudo-device	tun	1
pseudo-device	pty	32
pseudo-device	gzip		# Exec gzipped a.out's
pseudo-device	bpfilter	4	#Berkeley packet filter
pseudo-device	disc			#Discard device
# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing
# This provides support for System V shared memory.
#
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG
options		"AUTO_EOI_1"

>Description:
I by mistake ran the linux binary scalc3 (program from editors/staroffice) 
on the above kernel which does not have COMPAT_LINUX defined.  This caused
an immediate reboot of the machine (no panic message, straight to memory
check of the bios).  The program was run as an ordinary user.  I would have expect a failure to execute the program instead of the machine reboot.
	

>How-To-Repeat:

run scalc3 on a kernel without COMPAT_LINUX defined.

>Fix:
	
Define COMPAT_LINUX in the kernel.

>Audit-Trail:
>Unformatted:



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