Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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.