[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Race-condition for device drivers etc.



Hello!

When updating the manual page for dcntl, I came over a serious race
condition there: if a device driver or file system is started as
a process of its own, makes the call for installing a device and
is then killed before doing the Ptermres call, then we have dangling
pointers in the system. This will surely lead to unwanted crashes.

So my idea to fix this is that the kernel holds a list of uninstall
functions for each process, where the handlers get called when
the process exits. This list would be totally internal, so even these
functions are in kernel-land. This way a device driver can be
written as a daemon process, and can even exit without doing too much
harm to the system integrity.

What do you think about this?

Ulrich

--
+---------------+----------------------------+-----------------------+
| Ulrich Kuehn  | Internet:                  | Life is uncertain --  |
| Cand.Math.Inf | kuehn@math.uni-muenster.de | eat the dessert first |
+---------------+----------------------------+-----------------------+