Date: Wed, 7 Jul 2004 18:23:12 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: pradeep reddy punnam <prady_p@yahoo.com> Cc: freebsd-hackers@freebsd.org Subject: Re: unable to copy data from the kernel to the user space Message-ID: <Pine.BSF.4.21.0407071817340.84004-100000@InterJet.elischer.org> In-Reply-To: <20040708005524.19141.qmail@web53407.mail.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0407071817340.84004-100000>