Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jul 2001 20:12:32 -0500
From:      Alfred Perlstein <bright@sneakerz.org>
To:        rootx11@xfreek.mindriot.net
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: your mail
Message-ID:  <20010723201232.A68587@sneakerz.org>
In-Reply-To: <20010723195219.315.qmail@xfreek.mindriot.net>; from rootx11@xfreek.mindriot.net on Mon, Jul 23, 2001 at 07:52:19PM -0000
References:  <20010723195219.315.qmail@xfreek.mindriot.net>

next in thread | previous in thread | raw e-mail | index | archive | help
* rootx11@xfreek.mindriot.net <rootx11@xfreek.mindriot.net> [010723 19:47] wrote:
> Hello
> I am experimenting with kernel modules and am trying to write to a file.
> This is the syscall function (sorry of my terminology is messed up)
> 
> static int write_file(struct proc *p, void *arg) {
> 	struct write_args *wstructure;
> 	struct open_args *ostructure;
> 
> 	ostructure->path="/tmp/blehfile";
> 	ostructure->flags = O_CREAT;
> 	ostructure->mode = 0;
> 	wstructure->fd = open(p, ostructure);
> 	wstructure->buf = "Testing\n";
> 	wstructure->nbytes = 8; 
> 	return write(p, wstructure);
> }
> 
> Im not sure why, but that code crashes.  Was created with:
> echo Hi > /tmp/blehfile.  Also, is there an official freebsd kernel hackers
> guide?  Kernel programming is very interesting. ;-)

The args to open() in the kernel are expected to point to a user address,
so you have a couple of options:

a) point your in kernel vmspace at the kernel
b) copy your args into userspace using copyout and use those addresses

there's no official guide, however if you pick up a couple of non-vendor
specific OS programming textbooks you should have more fun.

please use a more descriptive subject line, using an empty subject
is likely to get your mail skipped over, also please do not send
to the list more than once if possible.

and lastly... check your damn return values, honestly! :)

-- 
-Alfred Perlstein [alfred@freebsd.org]
Ok, who wrote this damn function called '??'?
And why do my programs keep crashing in it?

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010723201232.A68587>