executing a user space function in kernel module

From: mdaljeet@in.ibm.com
Date: Wed Oct 11 2000 - 06:49:43 EST


struct t{
          int (*x)(int);

fstruct.x = f;
./*write fstruct to a device file*/

int f(int i)
printf("got %d\n",i);
return i;

i pass this structure to kernel module by writting to device file.
the write function of module is like

char *kbuf;
struct t *fstruct;
kbuf = kmalloc(count*sizeof(char), GFP_KERNEL);
if( (filp->f_flags & O_ACCMODE) == O_WRONLY)
fstruct = (struct t*)kbuf;
printk("calling from kernel:%d\n",(fstruct->x)(8));

Now, is there any problem in executing a user space function in a kernel
by just passing a function pointer to the module????

In Linux, is it possible to execute a function in kernel which is a part of
user application
and hence a part of user address space??


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:17 EST