Try/catch for modules?

Martin Galvan omgalvan.86 at gmail.com
Fri Oct 18 12:11:54 EDT 2019


El vie., 18 oct. 2019 a las 13:05, Bernd Petrovitsch
(<bernd at petrovitsch.priv.at>) escribió:
> You actually want speed in the kernel and not necessarily extra effort
> for "try" and "catch" which is - sooner or later - never really used.
> And the "safety net" reduces the motivation to actually fix pointer bugs ....

I don't think I was clear. My intent is that if a pointer bug isn't
fixed, my module will fail gracefully and go through the catch block
instead of panicking the whole system. I don't see how this would stop
me from fixing the bug itself; if anything, it could even help me
debug it.

> A ioctl-handler runs in the context/on behalf/... of a process
> (read: a user-space process/thread has called a syscall).

Yes.

> And there may be other code in your module which doesn't run
> on behalf of a process/thread, e.g. triggered by a timer, hardware
> IRQ, ...

That's an interesting point. Yes, my die_notifier will run in
exception context, but current->pid will still match that of the
process which triggered the exception. I don't know if this happens by
definition or it's just a coincidence, but it seems to work.



More information about the Kernelnewbies mailing list