[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=whpBiV5sVTvPsWOVx5WYOouxbNG1fWeCdpK4oFiaH0Zqg@mail.gmail.com>
Date: Thu, 1 Nov 2018 10:06:28 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>,
Andrey Ryabinin <aryabinin@...tuozzo.com>
Cc: dan.carpenter@...cle.com, adilger.kernel@...ger.ca,
yamada.masahiro@...ionext.com, michal.lkml@...kovi.net,
rostedt@...dmis.org, mchehab+samsung@...nel.org, olof@...m.net,
Konstantin Ryabitsev <konstantin@...uxfoundation.org>,
David Miller <davem@...emloft.net>,
Kees Cook <keescook@...omium.org>, tglx@...utronix.de,
Ingo Molnar <mingo@...nel.org>, paullawrence@...gle.com,
sandipan@...ux.vnet.ibm.com, andreyknvl@...gle.com,
dwmw2@...radead.org, will.deacon@....com, pombredanne@...b.com,
paul.burton@...s.com, rientjes@...gle.com, w@....eu,
msebor@...il.com, sparse@...isli.org,
Jonathan Corbet <corbet@....net>,
"Theodore Ts'o" <tytso@....edu>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Rasmus Villemoes <linux@...musvillemoes.dk>, joe@...ches.com,
Arnd Bergmann <arnd@...db.de>, asmadeus@...ewreck.org,
stefan@...er.ch, luc.vanoostenryck@...il.com,
Nick Desaulniers <ndesaulniers@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Greg KH <gregkh@...uxfoundation.org>,
linux-doc@...r.kernel.org, linux-ext4@...r.kernel.org,
linux-sparse@...r.kernel.org, linux-kbuild@...r.kernel.org
Subject: Re: [GIT PULL] Compiler Attributes for v4.20-rc1
On Mon, Oct 22, 2018 at 3:59 AM Miguel Ojeda
<miguel.ojeda.sandonis@...il.com> wrote:
>
> Here it is the Compiler Attributes series/tree, which tries to disentangle
> the include/linux/compiler*.h headers and bring them up to date.
I've finally emptied the "normal" pull queues, and am looking at the
odd ones that I felt I needed to review more in-depth.
This looked fine to me, and I already pulled, but when looking at the
conflict for __no_sanitize_address_or_inline, I also noticed that you
actually changed the gcc version logic.
The logic for using __no_sanitize_address *used* to be
#if GCC_VERSION >= 40902
but you have changed it to
# define __GCC4_has_attribute___no_sanitize_address__ (__GNUC_MINOR__ >= 8)
so now it's gcc-4.8+ rather than gcc-4.9.2+.
I'm not sure how much that matters (maybe the original check for 4.9.2
was just a random pick by Andrey? Added to cc), but together with the
movement to <linux/compiler_attributes.h> that looks like it also
wouldn't want the CONFIG_KASAN tests, I wonder what the right merge
resolution would be.
Yes, I see the resolution in linux-next, and I think that one is odd
and dubious, and now it *mixes* that old test of gcc-4.9.2 with the
different test in compiler-attributes.
I'm _inclined_ to just do
#ifdef CONFIG_KASAN
#define __no_sanitize_address_or_inline \
__no_sanitize_address __maybe_unused notrace
#else
#define __no_sanitize_address_or_inline inline
#endif
without any compiler versions at all, because I don't think it matters
(maybe we won't get address sanitation, and we will not get inlining
either, but do we care?).
But I'm also unsure whether you meant for the "__has_attribute()" test
to be usable outside the linux/compiler_attributes.h file, in which
case I could just do
#if defined(CONFIG_KASAN) && __has_attribute(__no_sanitize_address__)
instead.
End result: it's not the merge resolution itself that raises
questions, it's just semantics in general.
So I've dropped this for now, in the hope that you/Andrey can answer
these questions.
Linus
Powered by blists - more mailing lists