Re: Char device write repeating

2016-10-04 Thread Martin Kletzander

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@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


signature.asc
Description: Digital signature
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Char device write repeating

2016-10-04 Thread Daniel.
Because the libc is calling it again based on what has been passed as
argument and what was received as return value. Here is one example
https://gist.github.com/gkos/5479135. I don't really know if this code is
working since I made it a long time ago.

Regards,

2016-10-04 12:05 GMT-03:00 Greg KH :

> 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,
> > 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@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



-- 
*"Do or do not. There is no try"*
  *Yoda Master*
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Char device write repeating

2016-10-04 Thread Greg KH
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,
> 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@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Char device write repeating

2016-10-04 Thread Kenneth Adam Miller
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, 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.
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies