On Wed, May 16, 2018 at 03:59:01PM +0900, Masahiro Yamada wrote: > 2018-05-16 15:26 GMT+09:00 Greg Kroah-Hartman <gre...@linuxfoundation.org>: > > 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 <a...@linux-foundation.org>: > >> > On Tue, 15 May 2018 11:22:05 +0900 Masahiro Yamada > >> > <yamada.masah...@socionext.com> 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