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>