Re: Kernel Panic while trying to access the datastructure parameter in ioctl call.
Re: Kernel Panic while trying to access the datastructure parameter in ioctl call.
- Subject: Re: Kernel Panic while trying to access the datastructure parameter in ioctl call.
- From: Terry Lambert <email@hidden>
- Date: Wed, 18 Jul 2007 12:38:36 -0700
I answered this in detail on the darwin-dev list. Please do not cross-
post your requests to multiple mailing lists, or people will ignore you.
-- Terry
On Jul 18, 2007, at 11:44 AM, JanakiRam wrote:
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-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden