Skip site navigation (1)Skip section navigation (2)
Date:      Mon,  9 Jun 2003 21:47:22 +0100 (BST)
From:      Bruce M Simpson <bms@spc.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/53153: RESTARTABLE_PANICS debugging option is broken
Message-ID:  <20030609204722.592B16C1@saboteur.dek.spc.org>
Resent-Message-ID: <200306101740.h5AHeAEd016090@freefall.freebsd.org>

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

>Number:         53153
>Category:       kern
>Synopsis:       RESTARTABLE_PANICS debugging option is broken
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 10 10:40:10 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Bruce M Simpson
>Release:        FreeBSD 5.1-RELEASE i386
>Organization:
>Environment:
System: FreeBSD saboteur.dek.spc.org 5.1-RELEASE FreeBSD 5.1-RELEASE #0: Mon Jun 9 16:25:10 BST 2003 root@saboteur.dek.spc.org:/usr/src/sys/i386/compile/SABOTEUR i386


	
>Description:
	Including the RESTARTABLE_PANICS option in a kernel compile
	results in multiple errors of the following kind:
		xxxx might be used uninitialized in this function
	where xxxx is one of the first variables in the function.

	Affected functions have the following properties:
	1) they call panic()
	2) they have a non-void return value

	Here is a list of the affected files:
	src/sys/dev/ppbus/ppb_msq.c
	src/sys/fs/devfs/devfs_devs.c
	src/sys/fs/msdosfs/msdosfs_vnops.c
	src/sys/kern/kern_intr.c
	src/sys/kern/subr_bus.c
	src/sys/kern/uipc_usrreq.c
	src/sys/kern/vfs_default.c
	src/sys/netinet6/ip6_output.c
	src/sys/netinet6/ipsec.c
	src/sys/netinet6/nd6.c
	src/sys/ufs/ffs/ffs_alloc.c
	src/sys/ufs/ffs/ffs_softdep.c
	src/sys/vm/uma_core.c
	src/sys/i386/i386/elf_machdep.c
	src/sys/i386/i386/vm86.c

	We have to agree on how to resolve this. Either RESTARTABLE_PANICS
	should be removed outright, or a misleading prototype would have
	to be declared (continue to advertise it with __dead2 in
	<sys/systm.h>, when it can in fact return). A kludge would have
	to be implemented in kern_shutdown.c.

	Otherwise all callers of panic() have to be changed to handle the
	'panic() can return' case.

>How-To-Repeat:
	
>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:



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