The HyperNews Linux KHG Discussion Pages

## How to call a function in user space from inside the kernel ?

  Forum: The Linux Kernel Hackers' Guide
  Date: Thu, 02 Apr 1998 16:03:21 GMT
  From: Ronald Tonn <tonn@infotech.tu-chemnitz.de>

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? Thanks, Ronald