Handle kernel module crashes

John Baldwin jhb at freebsd.org
Mon Jun 10 15:58:39 UTC 2013

On Monday, June 10, 2013 10:40:53 am Florent Peterschmitt wrote:
> Le 10/06/2013 16:28, Ryan Stone a écrit :
> > On Mon, Jun 10, 2013 at 10:18 AM, Florent Peterschmitt <
> > florent at peterschmitt.fr> wrote:
> > 
> >> Hello,
> >>
> >> It's not a problem but a question, and it's quite simple:
> >>
> >> How does FreeBSD handle crash from a single kernel module ?
> >>
> >> If the module internally crashes, does the entire system does too or
> >> FreeBSD will continue to live ?
> >>
> >> Thanks
> >>
> > 
> > There is no separation between kernel modules and the kernel proper.  A
> > crash in a kernel module will crash the entire system.
> Ok and isn't it a "bad" thing ? I mean, even if the video driver
> crashes, I still want to have the ability to reboot the right way,
> avoiding corrupted files and WIP lose.
> Another thing is a non-critical module that can crash, but because not
> used by all apps on the machine, letting them ones that can continue run.
> But I don't know what is the approach of FreeBSD and devs about that.

You don't know what the module might have corrupted by the time you crash.
It is also quite hard to isolate a crash to a specific module.  Many modules
operate on data that is shared with the rest of the system, so just because
the instruction was inside the module doesn't mean that it isn't currently
working on a shared data buffer or holding global locks (or locks belonging
to another part of the system).

John Baldwin

More information about the freebsd-current mailing list