All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	mm-commits@vger.kernel.org, sam@ravnborg.org,
	ruben.ayrapetyan@arm.com, kevin.brodsky@arm.com
Subject: Re: + uapi-linux-consth-prefer-iso-friendly-__typeof__.patch added to mm-nonmm-unstable branch
Date: Sun, 16 Apr 2023 22:54:58 +0200	[thread overview]
Message-ID: <20230416205458.GA2297493@pevik> (raw)
In-Reply-To: <CAK7LNARLMmtHFwzwpg9ys+D6+7jonV8g+PCR9QeXiQTukb8VrQ@mail.gmail.com>

> Hi Andrew,



> On Wed, Apr 12, 2023 at 2:34 PM Petr Vorel <pvorel@suse.cz> wrote:

> > > On Wed, Apr 12, 2023 at 9:24 AM Andrew Morton <akpm@linux-foundation.org> wrote:


> > > > The patch titled
> > > >      Subject: uapi/linux/const.h: prefer ISO-friendly __typeof__
> > > > has been added to the -mm mm-nonmm-unstable branch.  Its filename is
> > > >      uapi-linux-consth-prefer-iso-friendly-__typeof__.patch

> > > > This patch will shortly appear at
> > > >      https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/uapi-linux-consth-prefer-iso-friendly-__typeof__.patch

> > > > This patch will later appear in the mm-nonmm-unstable branch at
> > > >     git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

> > > > Before you just go and hit "reply", please:
> > > >    a) Consider who else should be cc'ed
> > > >    b) Prefer to cc a suitable mailing list as well
> > > >    c) Ideally: find the original patch on the mailing list and do a
> > > >       reply-to-all to that, adding suitable additional cc's

> > > > *** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

> > > > The -mm tree is included into linux-next via the mm-everything
> > > > branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
> > > > and is updated there every 2-3 working days

> > > > ------------------------------------------------------
> > > > From: Kevin Brodsky <kevin.brodsky@arm.com>
> > > > Subject: uapi/linux/const.h: prefer ISO-friendly __typeof__
> > > > Date: Tue, 11 Apr 2023 10:27:47 +0100

> > > > typeof is (still) a GNU extension, which means that it cannot be used when
> > > > building ISO C (e.g.  -std=c99).  It should therefore be avoided in uapi
> > > > headers in favour of the ISO-friendly __typeof__.

> > > > Unfortunately this issue could not be detected by
> > > > CONFIG_UAPI_HEADER_TEST=y as the __ALIGN_KERNEL() macro is not expanded in
> > > > any uapi header.

> > > > Link: https://lkml.kernel.org/r/20230411092747.3759032-1-kevin.brodsky@arm.com
> > > > Fixes: d6fc9fcbaa65 ("kbuild: compile-test exported headers to ensure they are self-contained")


> > > This tag is wrong.

> > > The correct one is:

> > > Fixes: a85cbe6159ff ("uapi: move constants from <linux/kernel.h> to
> > > <linux/const.h>")

> > I'm sorry if I misinterpreted the history. The reason why I think it was
> > d6fc9fcbaa65 (which introduced -std=c90) is because there was already some
> > typeof() uses before this commit (uapi/linux/kernel.h and
> > uapi/linux/netfilter/x_tables.h).



> Sorry, I wrongly read the code.


> Fixes: a85cbe6159ff ("uapi: move constants from <linux/kernel.h> to
> <linux/const.h>")

> was also wrong.


> Before a85cbe6159ff, 'typeof' existed in include/uapi/linux/kernel.h.
> So, it was exported to userspace.


> Kevin suspects 607ca46e97a1 ("UAPI: (Scripted) Disintegrate
> include/linux"), but I think the issue goes back more.




> I think the following is the first commit that exported it.

> Fixes: a79ff731a1b2 ("netfilter: xtables: make XT_ALIGN() usable in
> exported headers by exporting __ALIGN_KERNEL()")

Yes, that's the first commit which adds typeof().

I pointed out d6fc9fcbaa65, because that brought -std=c90. I thought that commit
introduced expectation of C without non-gnu extensions for headers. But if this
expectation was "since ever" then obviously a79ff731a1b2 is the faulty commit.

Anyway, I'm going to send patch, which replaces typeof() in
netfilter/x_tables.h.

Kind regards,
Petr

      reply	other threads:[~2023-04-16 20:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-12  0:24 + uapi-linux-consth-prefer-iso-friendly-__typeof__.patch added to mm-nonmm-unstable branch Andrew Morton
2023-04-12  1:33 ` Masahiro Yamada
2023-04-12  1:45   ` Andrew Morton
2023-04-12  5:34   ` Petr Vorel
2023-04-16 13:19     ` Masahiro Yamada
2023-04-16 20:54       ` Petr Vorel [this message]

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=20230416205458.GA2297493@pevik \
    --to=pvorel@suse.cz \
    --cc=akpm@linux-foundation.org \
    --cc=kevin.brodsky@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=ruben.ayrapetyan@arm.com \
    --cc=sam@ravnborg.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.