|
|
Message-ID: <20180306175211.5584cc28@vmware.local.home>
Date: Tue, 6 Mar 2018 17:52:11 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Arnd Bergmann <arnd@...db.de>, Ard Biesheuvel
<ard.biesheuvel@...aro.org>, Daniel Micay <danielmicay@...il.com>, Ingo
Molnar <mingo@...nel.org>, Kees Cook <keescook@...omium.org>, Dave Hansen
<dave.hansen@...ux.intel.com>, Alexander Popov <alex.popov@...ux.com>,
Kernel Hardening <kernel-hardening@...ts.openwall.com>, PaX Team
<pageexec@...email.hu>, Brad Spengler <spender@...ecurity.net>, Andy
Lutomirski <luto@...nel.org>, Tycho Andersen <tycho@...ho.ws>, Laura Abbott
<labbott@...hat.com>, Mark Rutland <mark.rutland@....com>, Borislav Petkov
<bp@...en8.de>, Richard Sandiford <richard.sandiford@....com>, Thomas
Gleixner <tglx@...utronix.de>, "H . Peter Anvin" <hpa@...or.com>, Peter
Zijlstra <a.p.zijlstra@...llo.nl>, "Dmitry V . Levin" <ldv@...linux.org>,
Emese Revfy <re.emese@...il.com>, Jonathan Corbet <corbet@....net>, Andrey
Ryabinin <aryabinin@...tuozzo.com>, "Kirill A . Shutemov"
<kirill.shutemov@...ux.intel.com>, Thomas Garnier <thgarnie@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>, Alexei Starovoitov
<ast@...nel.org>, Josef Bacik <jbacik@...com>, Masami Hiramatsu
<mhiramat@...nel.org>, Nicholas Piggin <npiggin@...il.com>, Al Viro
<viro@...iv.linux.org.uk>, "David S . Miller" <davem@...emloft.net>, Ding
Tianhong <dingtianhong@...wei.com>, David Woodhouse <dwmw@...zon.co.uk>,
Josh Poimboeuf <jpoimboe@...hat.com>, Dominik Brodowski
<linux@...inikbrodowski.net>, Juergen Gross <jgross@...e.com>, Greg
Kroah-Hartman <gregkh@...uxfoundation.org>, Dan Williams
<dan.j.williams@...el.com>, Mathias Krause <minipli@...glemail.com>, Vikas
Shivappa <vikas.shivappa@...ux.intel.com>, Kyle Huey <me@...ehuey.com>,
Dmitry Safonov <dsafonov@...tuozzo.com>, Will Deacon <will.deacon@....com>,
X86 ML <x86@...nel.org>, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH RFC v9 4/7] x86/entry: Erase kernel stack in
syscall_trace_enter()
On Tue, 6 Mar 2018 14:41:55 -0800
Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> I'm literally telling you that lack of variable initialization is
> almost purely a bad thing. C would be a safer language, with less
> undefined behavior, if it just made the initialization of automatic
> variables be something you cannot avoid.
I get your point. Basically you are saying that the language should
have forced all local variables to be initialized to zero in the spec,
and the compiler is free to optimize that initialization out if the
variable is always initialized first.
Just like it would optimize the below.
int g(int c)
{
int i = 0;
if (c < 10)
i = 1;
else
i = 2;
return i;
};
There's no reason to initialize i to zero because it will never return
zero. But what you are saying is to make that implicit by just
declaring 'i'.
Other languages do this, and you are right, I don't expect warnings to
appear in those. I guess I've grown so accustomed to this "undefined
behavior" it's part of what I just expect.
-- Steve
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.