Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Mar 2023 12:32:53 +0100
From:      Yuri <yuri@aetern.org>
To:        =?UTF-8?Q?Goran_Meki=c4=87?= <meka@tilda.center>, freebsd-current@FreeBSD.org
Subject:   Re: Infinite loop with d_write_t
Message-ID:  <e418c6f4-ab10-020e-0b94-2f47d3182fb2@aetern.org>
In-Reply-To: <20230319111404.a6ac2w44u4trtedy@tilda.center>
References:  <20230319111404.a6ac2w44u4trtedy@tilda.center>

next in thread | previous in thread | raw e-mail | index | archive | help
Goran Mekić wrote:
> Hello,
> 
> I'm trying to assemble a minimal kernel module and user space program as
> a skeleton, and no matter what I do I get infinite loop. The code for
> kernel is https://github.com/mekanix/freebsd-project/blob/master/kernel/main.c.
> The way to test:
> # make
> # sudo kldload ./hello.ko
> # echo "something" >/dev/hello
> Write done.
> Write done.
> ...
> 
> What am I doing wrong and where does that infinite loop comes from?

Why are you using copyin() and not uiomove() in d_write entry?

There's an example that looks like you are trying to do:

https://docs.freebsd.org/en/books/arch-handbook/driverbasics/#driverbasics-char



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e418c6f4-ab10-020e-0b94-2f47d3182fb2>