[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: scheduler support to lock user processes out?
On Mon, Feb 18, 2008 at 11:05:02PM +0100, Matthias Drochner wrote:
> dyoung%pobox.com@localhost said:
> > I can show several examples why it is not a technical requirement. :-)
> > I routinely suspend several devices that are in-use, including
> > ethernet & WLAN NICs, and I have even suspended the HDD where root is
> > mounted.
> Imo this is by some luck, likely helped by KERNEL_LOCK which
> protects all network code in particular.
> Imagine a driver function called in user context, which blocks
> in-kernel, waiting for something, tsleep or mutex or whatever.
> Now the user suspends the device, which causes register accesses
> deliver nonsense, or worse.
> Even if the device was shut down properly in the suspend function,
> the blocking function might awake. Spurious wakeups can occur,
> or in case of a wait for malloc(WAITOK) it is obvious that it
> can happen anytime.
> This means that drivers would have to check after each call
> which might block whether the device is still usable. Or
> implement a per-device lock, which even FreeBSD has only done
> for a subset of their drivers. I wouldn't consider that realistic.
I understand your position on the matter. I do not see any reason to
try to convince you otherwise. If I'm trying to do something impossible,
then it's my time to waste. :-)
David Young OJC Technologies
dyoung%ojctech.com@localhost Urbana, IL * (217) 278-3933 ext 24
Main Index |
Thread Index |