On Sun, 2019-06-09 at 22:08 +0900, Masahiro Yamada wrote: > On Sun, Jun 9, 2019 at 8:57 PM Joe Perches <joe@xxxxxxxxxxx> wrote: > > On Sun, 2019-06-09 at 16:14 +0900, Masahiro Yamada wrote: > > > Hi Joe, > > > > > > On Thu, Jun 6, 2019 at 2:06 AM Joe Perches <joe@xxxxxxxxxxx> wrote: > > > > Perhaps a checkpatch change too: > > > > > > > > The first block updates unsigned only bitfields > > > > The second tests uapi definitions and suggests "__<kernel_types" > > > > > > Good. > > > > > > In addition, > > > > > > "warn if __u8, __u16, __u32, __u64 are used outside of uapi/" > > > > > > Lots of kernel-space headers use __u{8,16,32,64} instead of u{8,16,32,64} > > > just because developers often miss to understand when to use > > > the underscore-prefixed types. > > > > The problem there is that checkpatch can't know if the > > __<uapi_type> being used is for an actual uapi use or not. > > > > coccinelle could be much better at that. > > Why? Perhaps it's (somewhat) bad form to have a __uapi type in a structure, include that structure in a driver for something like a copy_to/from_user, and map the __<uapi_type> to a non underscore prefixed <kernel_type> For instance struct flat_binder_object in drivers/android/binder.c How is checkpatch supposed to know that __u32 flags is inappropriate?