Char device write repeating

Kenneth Adam Miller kennethadammiller at gmail.com
Wed Oct 5 07:30:58 EDT 2016


I didn't know it, but I had my poll and write messages switched in userland
under await and send signal implementations of types. Sorry, it works now,
it wasn't the kernel land repeatedly executing it. I wasn't sure, so I was
still debugging. Anyway, thanks a lot though.

On Oct 5, 2016 2:29 AM, "Martin Kletzander" <mkletzan at redhat.com> wrote:

> On Tue, Oct 04, 2016 at 05:05:57PM +0200, Greg KH wrote:
>
>> On Tue, Oct 04, 2016 at 10:58:16AM -0400, Kenneth Adam Miller wrote:
>>
>>> I have a character device that I am calling write on and which is
>>> succeeding,
>>> but which is repeatedly executing. I have hard coded the return value to
>>> one,
>>>
>>
> Correct me if I'm wrong, I'm just a self-thought newbie, but this ^^
> sounds to me like the problem.  Because the write should return how many
> bytes were written (or error), the function is being called until it's
> been all written.  If you just want to be called once and you don't care
> what the data are (which is the weird thing in the first place), I think
> you should return the length you got as an argument.
>
> so I don't think the userland standard library is retrying but I could be
>>> wrong. Can anybody tell me why write would be re-executed by the kernel
>>> and how
>>> to fix it? I dont actually copy_from_user, I just need this in order to
>>> signal
>>> kernel land.
>>>
>>
>> Do you have a pointer to your code somewhere?  This is a very common bug
>> that people have...
>>
>> thanks,
>>
>> greg k-h
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161005/5464d2bb/attachment.html 


More information about the Kernelnewbies mailing list