Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Apr 2013 20:08:23 GMT
From:      Garrett Cooper <yaneurabeya@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/178061: [ukbd] panic at reboot when hitting scroll-lock; race condition with interrupt handler in lower half of kernel
Message-ID:  <201304222008.r3MK8NOP007849@red.freebsd.org>
Resent-Message-ID: <201304222010.r3MKA01h004166@freefall.freebsd.org>

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

>Number:         178061
>Category:       kern
>Synopsis:       [ukbd] panic at reboot when hitting scroll-lock; race condition with interrupt handler in lower half of kernel
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 22 20:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Garrett Cooper
>Release:        10-CURRENT
>Organization:
EMC Isilon
>Environment:
FreeBSD 10.0-CURRENT #0: Sat Apr 13 22:16:27 UTC 2013
>Description:
I was installing FreeBSD 10-CURRENT [1] on a machine with IPMI and happened to hit the scroll lock when the syncer was running at reboot over IPMI and it generated an interrupt which caused the ukbd(4) driver to panic. Unfortunately I didn't capture any additional details, but it should be relatively easy to reproduce.

1. ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/amd64/amd64/ISO-IMAGES/10.0/FreeBSD-10.0-CURRENT-amd64-20130413-r249439-release.iso
>How-To-Repeat:
Hit scroll lock at reboot. This may require several tries in order to hit the magic race condition
>Fix:
The solution would be for ukbd to properly mask interrupts when it shouldn't be servicing them at reboot/shutdown. This is tricky though because the kernel could panic at reboot and hence the driver should be functional for service via ddb in "recoverable"/"debuggable" scenarios, BUT it should be easy to call a resume hook for the driver or unmask the interrupts again in ukbd.

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



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