Is there a way to call a function inside an application from a device driver (in kernel mode)?
I've come across this problem while working on an my ATM network driver. When opening a channel the ATM application calls the driver with a pointer to a receive function that should be called whenever data is received on that channel.
If I use this pointer (which points into user space) inside the driver as shown below the whole systems crashes appearently because I'm trying to execute a user program in kernel mode.
... receive_ptr(buffer, buffer_size); ...
Does anyone know how to fix this problem?