On Wed, Jun 5, 2019 at 3:03 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, Jun 04, 2019 at 10:22:05PM -0700, Joe Perches wrote: > > On Wed, 2019-06-05 at 07:10 +0200, Greg KH wrote: > > > On Wed, Jun 05, 2019 at 01:10:41PM +0900, Masahiro Yamada wrote: > > > > On Wed, Jun 5, 2019 at 3:21 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > [] > > > > This means we cannot reliably use uint{8,16,32,64}_t in UAPI headers. > > > > > > We should not be doing that as they are in the userspace "namespace" of > > > variables, not in the kernel namespace. We've been over this many times > > > in the past :( > > > > Just not very successfully... > > > > $ git grep -w -P 'u?_?int(?:8|16|32|64)_t' include/uapi | wc -l > > 342 > > > > $ git grep -w -P --name-only 'u?_?int(?:8|16|32|64)_t' include/uapi | wc -l > > 13 > > > > Documentation helps a bit, checkpatch helps as well. > > Maintainer knowledge and vigilance probably helps the most. > > Yes, it's not been a dedicated effort at all :( I am proposing this series. https://lkml.org/lkml/2019/6/4/1379 When CONFIG_UAPI_HEADER_TEST=y, UAPI headers are compile-tested. 0-day bot tests allmodconfig, which enables CONFIG_UAPI_HEADER_TEST, so new buggy headers will be blocked. It will take some time to eliminate existing bugs. I just started with low-hanging fruits: https://lore.kernel.org/patchwork/patch/1083711/ https://lore.kernel.org/patchwork/patch/1084123/ Anyway, having a document will be really nice. Not all maintainers understand the detail. Having some evidence in Documentation/ will help the review process move smoothly. > But it needs to be resolved, if we want people to actually use our > kernel headers easily. > > thanks, > > greg k-h -- Best Regards Masahiro Yamada