linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Arnd Bergmann <arnd@arndb.de>, Joe Perches <joe@perches.com>,
	Linux Media Mailing List <linux-media@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Randy Dunlap <rdunlap@infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] media: do not use C++ style comments in uapi headers
Date: Wed, 5 Jun 2019 07:10:40 +0200	[thread overview]
Message-ID: <20190605051040.GA22760@kroah.com> (raw)
In-Reply-To: <CAK7LNARU+uT0aUBh5niwEafL8+Ok7=sOZYukptpDH1w7Cii3hQ@mail.gmail.com>

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@arndb.de> wrote:
> > > > >
> > > > > There are two ways to define fixed-width type.
> > > > >
> > > > > [1] #include <linux/types.h>, __u8, __u16, __u32, __u64
> > > > >
> > > > >       vs
> > > > >
> > > > > [2] #include <stdint.h>, uint8_t, uint16_t, uint32_t, uint64_t
> > > > >
> > > > >
> > > > > Both are used in UAPI headers.
> > > > > IIRC, <stdint.h> was standardized by C99.
> > > > >
> > > > > So, we have already relied on C99 in user-space too.
> >
> > A related problem is that using the stdint.h types requires
> > including stdint.h first, but the C library requires that including
> > one standard header does not include another one recursively.
> >
> > So if sys/socket.h includes linux/socket.h, that must not include
> > stdint.h or any other header file that does so.
> 
> 
> 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 :(

> [1] If we include <stdint.h> from linux/foo.h
> 
>     If sys/foo.h includes <linux/foo.h> and <stdint.h>,
>     it violates the C library requirement.
> 
> 
> [2] If we do not include <stdint.h> from linux/foo.h
> 
>     If sys/foo.h includes <linux/foo.h>, but not <stdint.h>,
>     we get 'unknown type name' errors.

We need to just use the proper __u{8,16,32,64} variable types instead,
that is exactly what they are there for.

thanks,

greg k-h

  reply	other threads:[~2019-06-05  5:10 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-04 11:13 [PATCH] media: do not use C++ style comments in uapi headers Masahiro Yamada
2019-06-04 11:23 ` Joe Perches
2019-06-04 11:48   ` Masahiro Yamada
2019-06-04 12:04     ` Joe Perches
2019-06-04 11:54   ` Arnd Bergmann
2019-06-04 12:48     ` Masahiro Yamada
2019-06-04 13:32       ` Masahiro Yamada
2019-06-04 13:42       ` Greg KH
2019-06-04 15:27         ` Masahiro Yamada
2019-06-04 18:20           ` Arnd Bergmann
2019-06-05  4:10             ` Masahiro Yamada
2019-06-05  5:10               ` Greg KH [this message]
2019-06-05  5:22                 ` Joe Perches
2019-06-05  6:02                   ` Greg KH
2019-06-05 10:08                     ` Masahiro Yamada
2019-06-05 10:14                   ` Mauro Carvalho Chehab
2019-06-05 17:03                     ` Joe Perches
2019-06-09  7:14                       ` Masahiro Yamada
2019-06-09 11:55                         ` Joe Perches
2019-06-09 13:08                           ` Masahiro Yamada
2019-06-09 13:35                             ` Joe Perches
2019-06-09 17:19                               ` Masahiro Yamada
2019-06-09 17:42                         ` Pavel Machek
2019-06-16 15:48           ` Pavel Machek
2019-06-04 14:42 ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190605051040.GA22760@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=arnd@arndb.de \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).