Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-16 Thread Greg Kroah-Hartman
On Wed, May 16, 2018 at 03:59:01PM +0900, Masahiro Yamada wrote:
> 2018-05-16 15:26 GMT+09:00 Greg Kroah-Hartman :
> > On Wed, May 16, 2018 at 10:07:50AM +0900, Masahiro Yamada wrote:
> >> Hi Andrew,
> >>
> >> 2018-05-16 7:59 GMT+09:00 Andrew Morton :
> >> > On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
> >> >  wrote:
> >> >
> >> >> This header file is not exported.  It is safe to reference types
> >> >> without double-underscore prefix.
> >> >>
> >> >
> >> > It may be safe to do this, but why is it desirable?
> >>
> >>
> >> It is shorter. That's all.
> >> If it is a noise commit, please feel free to drop it.
> >>
> >>
> >> BTW, a large amount of kernel-space code
> >> uses underscore-prefixed types.
> >
> > Sometimes it can/should do that.
> 
> I agree that UAPI headers must do that.
> 
> If you mean "it should even for non-exported code",
> I have no idea why.
> 
> 
> 
> >> I wonder if we could check it by checkpatch.pl or something...
> >
> > You do understand the difference between the two types and why/when they
> > are needed, right?  I don't think checkpatch.pl can determine if data is
> > coming from userspace or not very easily to make this a simple perl
> > script check :(
> 
> 
> I am getting puzzled...
> 
> It sounds like you are talking about __user or __kernel.
> If so, it is a matter of sparse tool
> but I believe it is a different topic.
> 
> 
> If I understand correctly,
> using 'u32' is safe outside of 'include/uapi/' and
> arch/$(SRCARCH)/include/uapi/
> 
> Why can't a simple script do that?
> 
> Am I missing something?

I think we are talking past each other here :)

__ types are for when the variable crosses the user/kernel boundry,
that's all.  ioctl structures are one such example, as are some of these
specific userspace-facing types that you are changing here.

We have loads of ioctl structures that are _not_ in uapi/ which is a
totally different problem that I know some people are looking at fixing
up, so a checkpatch.pl rule would not be good here.

There's also places where data comes in from hardware that use the __
types, but those are usually a bit more rare.

thanks,

greg k-h


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-16 Thread Greg Kroah-Hartman
On Wed, May 16, 2018 at 03:59:01PM +0900, Masahiro Yamada wrote:
> 2018-05-16 15:26 GMT+09:00 Greg Kroah-Hartman :
> > On Wed, May 16, 2018 at 10:07:50AM +0900, Masahiro Yamada wrote:
> >> Hi Andrew,
> >>
> >> 2018-05-16 7:59 GMT+09:00 Andrew Morton :
> >> > On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
> >> >  wrote:
> >> >
> >> >> This header file is not exported.  It is safe to reference types
> >> >> without double-underscore prefix.
> >> >>
> >> >
> >> > It may be safe to do this, but why is it desirable?
> >>
> >>
> >> It is shorter. That's all.
> >> If it is a noise commit, please feel free to drop it.
> >>
> >>
> >> BTW, a large amount of kernel-space code
> >> uses underscore-prefixed types.
> >
> > Sometimes it can/should do that.
> 
> I agree that UAPI headers must do that.
> 
> If you mean "it should even for non-exported code",
> I have no idea why.
> 
> 
> 
> >> I wonder if we could check it by checkpatch.pl or something...
> >
> > You do understand the difference between the two types and why/when they
> > are needed, right?  I don't think checkpatch.pl can determine if data is
> > coming from userspace or not very easily to make this a simple perl
> > script check :(
> 
> 
> I am getting puzzled...
> 
> It sounds like you are talking about __user or __kernel.
> If so, it is a matter of sparse tool
> but I believe it is a different topic.
> 
> 
> If I understand correctly,
> using 'u32' is safe outside of 'include/uapi/' and
> arch/$(SRCARCH)/include/uapi/
> 
> Why can't a simple script do that?
> 
> Am I missing something?

I think we are talking past each other here :)

__ types are for when the variable crosses the user/kernel boundry,
that's all.  ioctl structures are one such example, as are some of these
specific userspace-facing types that you are changing here.

We have loads of ioctl structures that are _not_ in uapi/ which is a
totally different problem that I know some people are looking at fixing
up, so a checkpatch.pl rule would not be good here.

There's also places where data comes in from hardware that use the __
types, but those are usually a bit more rare.

thanks,

greg k-h


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-16 Thread Masahiro Yamada
2018-05-16 15:26 GMT+09:00 Greg Kroah-Hartman :
> On Wed, May 16, 2018 at 10:07:50AM +0900, Masahiro Yamada wrote:
>> Hi Andrew,
>>
>> 2018-05-16 7:59 GMT+09:00 Andrew Morton :
>> > On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
>> >  wrote:
>> >
>> >> This header file is not exported.  It is safe to reference types
>> >> without double-underscore prefix.
>> >>
>> >
>> > It may be safe to do this, but why is it desirable?
>>
>>
>> It is shorter. That's all.
>> If it is a noise commit, please feel free to drop it.
>>
>>
>> BTW, a large amount of kernel-space code
>> uses underscore-prefixed types.
>
> Sometimes it can/should do that.

I agree that UAPI headers must do that.

If you mean "it should even for non-exported code",
I have no idea why.



>> I wonder if we could check it by checkpatch.pl or something...
>
> You do understand the difference between the two types and why/when they
> are needed, right?  I don't think checkpatch.pl can determine if data is
> coming from userspace or not very easily to make this a simple perl
> script check :(


I am getting puzzled...

It sounds like you are talking about __user or __kernel.
If so, it is a matter of sparse tool
but I believe it is a different topic.


If I understand correctly,
using 'u32' is safe outside of 'include/uapi/' and
arch/$(SRCARCH)/include/uapi/

Why can't a simple script do that?

Am I missing something?



> thanks,
>
> greg k-h



-- 
Best Regards
Masahiro Yamada


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-16 Thread Masahiro Yamada
2018-05-16 15:26 GMT+09:00 Greg Kroah-Hartman :
> On Wed, May 16, 2018 at 10:07:50AM +0900, Masahiro Yamada wrote:
>> Hi Andrew,
>>
>> 2018-05-16 7:59 GMT+09:00 Andrew Morton :
>> > On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
>> >  wrote:
>> >
>> >> This header file is not exported.  It is safe to reference types
>> >> without double-underscore prefix.
>> >>
>> >
>> > It may be safe to do this, but why is it desirable?
>>
>>
>> It is shorter. That's all.
>> If it is a noise commit, please feel free to drop it.
>>
>>
>> BTW, a large amount of kernel-space code
>> uses underscore-prefixed types.
>
> Sometimes it can/should do that.

I agree that UAPI headers must do that.

If you mean "it should even for non-exported code",
I have no idea why.



>> I wonder if we could check it by checkpatch.pl or something...
>
> You do understand the difference between the two types and why/when they
> are needed, right?  I don't think checkpatch.pl can determine if data is
> coming from userspace or not very easily to make this a simple perl
> script check :(


I am getting puzzled...

It sounds like you are talking about __user or __kernel.
If so, it is a matter of sparse tool
but I believe it is a different topic.


If I understand correctly,
using 'u32' is safe outside of 'include/uapi/' and
arch/$(SRCARCH)/include/uapi/

Why can't a simple script do that?

Am I missing something?



> thanks,
>
> greg k-h



-- 
Best Regards
Masahiro Yamada


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-16 Thread Greg Kroah-Hartman
On Wed, May 16, 2018 at 10:07:50AM +0900, Masahiro Yamada wrote:
> Hi Andrew,
> 
> 2018-05-16 7:59 GMT+09:00 Andrew Morton :
> > On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
> >  wrote:
> >
> >> This header file is not exported.  It is safe to reference types
> >> without double-underscore prefix.
> >>
> >
> > It may be safe to do this, but why is it desirable?
> 
> 
> It is shorter. That's all.
> If it is a noise commit, please feel free to drop it.
> 
> 
> BTW, a large amount of kernel-space code
> uses underscore-prefixed types.

Sometimes it can/should do that.

> I wonder if we could check it by checkpatch.pl or something...

You do understand the difference between the two types and why/when they
are needed, right?  I don't think checkpatch.pl can determine if data is
coming from userspace or not very easily to make this a simple perl
script check :(

thanks,

greg k-h


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-16 Thread Greg Kroah-Hartman
On Wed, May 16, 2018 at 10:07:50AM +0900, Masahiro Yamada wrote:
> Hi Andrew,
> 
> 2018-05-16 7:59 GMT+09:00 Andrew Morton :
> > On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
> >  wrote:
> >
> >> This header file is not exported.  It is safe to reference types
> >> without double-underscore prefix.
> >>
> >
> > It may be safe to do this, but why is it desirable?
> 
> 
> It is shorter. That's all.
> If it is a noise commit, please feel free to drop it.
> 
> 
> BTW, a large amount of kernel-space code
> uses underscore-prefixed types.

Sometimes it can/should do that.

> I wonder if we could check it by checkpatch.pl or something...

You do understand the difference between the two types and why/when they
are needed, right?  I don't think checkpatch.pl can determine if data is
coming from userspace or not very easily to make this a simple perl
script check :(

thanks,

greg k-h


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-15 Thread Masahiro Yamada
Hi Andrew,

2018-05-16 7:59 GMT+09:00 Andrew Morton :
> On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
>  wrote:
>
>> This header file is not exported.  It is safe to reference types
>> without double-underscore prefix.
>>
>
> It may be safe to do this, but why is it desirable?


It is shorter. That's all.
If it is a noise commit, please feel free to drop it.


BTW, a large amount of kernel-space code
uses underscore-prefixed types.
I wonder if we could check it by checkpatch.pl or something...


>> index be15897..9834e90 100644
>> --- a/include/linux/types.h
>> +++ b/include/linux/types.h
>> @@ -10,14 +10,14 @@
>>  #define DECLARE_BITMAP(name,bits) \
>>   unsigned long name[BITS_TO_LONGS(bits)]
>>
>> -typedef __u32 __kernel_dev_t;
>> +typedef u32 __kernel_dev_t;
>>
>> ...
>>



-- 
Best Regards
Masahiro Yamada


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-15 Thread Masahiro Yamada
Hi Andrew,

2018-05-16 7:59 GMT+09:00 Andrew Morton :
> On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
>  wrote:
>
>> This header file is not exported.  It is safe to reference types
>> without double-underscore prefix.
>>
>
> It may be safe to do this, but why is it desirable?


It is shorter. That's all.
If it is a noise commit, please feel free to drop it.


BTW, a large amount of kernel-space code
uses underscore-prefixed types.
I wonder if we could check it by checkpatch.pl or something...


>> index be15897..9834e90 100644
>> --- a/include/linux/types.h
>> +++ b/include/linux/types.h
>> @@ -10,14 +10,14 @@
>>  #define DECLARE_BITMAP(name,bits) \
>>   unsigned long name[BITS_TO_LONGS(bits)]
>>
>> -typedef __u32 __kernel_dev_t;
>> +typedef u32 __kernel_dev_t;
>>
>> ...
>>



-- 
Best Regards
Masahiro Yamada


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-15 Thread Andrew Morton
On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
 wrote:

> This header file is not exported.  It is safe to reference types
> without double-underscore prefix.
> 

It may be safe to do this, but why is it desirable?

> index be15897..9834e90 100644
> --- a/include/linux/types.h
> +++ b/include/linux/types.h
> @@ -10,14 +10,14 @@
>  #define DECLARE_BITMAP(name,bits) \
>   unsigned long name[BITS_TO_LONGS(bits)]
>  
> -typedef __u32 __kernel_dev_t;
> +typedef u32 __kernel_dev_t;
>
> ...
>


Re: [PATCH 3/3] types: use fixed width types without double-underscore prefix

2018-05-15 Thread Andrew Morton
On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada 
 wrote:

> This header file is not exported.  It is safe to reference types
> without double-underscore prefix.
> 

It may be safe to do this, but why is it desirable?

> index be15897..9834e90 100644
> --- a/include/linux/types.h
> +++ b/include/linux/types.h
> @@ -10,14 +10,14 @@
>  #define DECLARE_BITMAP(name,bits) \
>   unsigned long name[BITS_TO_LONGS(bits)]
>  
> -typedef __u32 __kernel_dev_t;
> +typedef u32 __kernel_dev_t;
>
> ...
>