Kernel Panic while trying to access the datastructure parameter in ioctl call.
Kernel Panic while trying to access the datastructure parameter in ioctl call.
- Subject: Kernel Panic while trying to access the datastructure parameter in ioctl call.
- From: JanakiRam <email@hidden>
- Date: Thu, 19 Jul 2007 00:10:02 +0530
Hi ALL,
I'm doing maintainance of one application which has user space daemon and kernel extension.
The User daemon sends the command to kernel extension using ioctl command. I've a application specific structure which is being passed as a parameter.
This structure object is available in kernel extension in ioctl function pointer registered in kext start function.
My Custom Structure looks like this.
typedef struct {
/* input */
long version;
long b;
long c;
long d;
long e;
long f;
long g;
long bytes;
char * dptr; /* points to the data field */
long filler[4];
} IOCTL_Struct_t;
The problem is the kernel panic is comming up when i try to access the data in kernel function.int ioctl_functionpointer(dev_t dev, u_long cmd, caddr_t arg,int fflag, struct proc *p)
{
IOCTL_Struct_t*ctl = (PF_Ctl_t*)arg;
char data[2048];
if (!ctl) {
return -1;
}
if ((ctl->dptr) ) {
int res = copyin((void *)ctl->dptr, (void *)data, ctl->bytes); if (res != 0)
printf ("error in copyin");
}
return 0;
}
If i comment the line copyin function call , then its working fine.
I've tried to use the copyinstr instead of copyin , then also its showing panic screen.
Please help me to solve this.
Thanks in Advance.
-JanakiRam.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden