unable to copy data from the kernel to the user space

Julian Elischer julian at elischer.org
Wed Jul 7 18:23:18 PDT 2004


hmmm 

On Wed, 7 Jul 2004, pradeep reddy punnam wrote:

> hi hackers,
>  
> i am new to kernel hacking , i am just trying to play with the networking code.
> i wrote a system call that will copy the mbuf address from the kernel to user space..
> the sys call look like this
>  
> 355  STD BSD  { int sn_rqueue(struct mbuf *m);}
>  
> and the code  in the sn_rqueue syscall look like 
> struct mbuf *x;
> copyout(x,uap->m;sizeof(x));

sizeof(*x)


>  
> and the code in the user program look like 
> struct mbuf *m=NULL;
> syscall(355,m);

you are calling the syscall with a NULL pointer..
of course the copyout will fail
but you are not looking at teh error result..

I think you want:
if you want the address of the mbuf to be sent to user space. (Why on
earth?) then you need.

355  STD BSD  { int sn_rqueue(struct mbuf **m);}


copyout(&x, uap->m, sizeof(x))


struct mbuf *m=NULL;
syscall(355,&m);

>  

> and when i tryed to read the ' m ' value it still stays as NULL,
> may be this question is trivial for u guys..but i was struck at this point...
> i will be very thankful if somebody can help in this...
>  

I'm guessing you want to look at the mbuf directly using /dev/kmem?
there has to be a better way :-)


>  
> -prady
>  
>  
>  
> 
> 		
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Mail - 50x more storage than other providers!
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> 



More information about the freebsd-hackers mailing list