From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AG47ELuCSADTUWyopIBwa5R5LnBikf4/h9/Dys64KeTFwqFgnZXazbnhJxEQsBvbSYWBC/781nQV ARC-Seal: i=1; a=rsa-sha256; t=1520372179; cv=none; d=google.com; s=arc-20160816; b=TzQ2onu0tH5zr79AeqRponl069gb2nTep/LRKtr7zOiYAMZTW04y7H8wo9I9hdvtHr Xjw1hPgeup2u0oce5HV4B0/SFBR+BrvGFatDKIW3HCuIlpNpruwHXkCZPPzUuYQYCsN0 ZgO9Noe4fwUE+7ResMWPMVepbSqCNu+ASFbrP0d1oEd+l9Y76LFqy2V0kagpXkWYHNiR CFWjOtMhblGdy0zYhDxVoMnR2ueRFfBWMyr/hxhWYYY7DrT0uKt+RmYU5xOEstT4Gb8l aqsFO5XRqHZE7wnlH3IvdHn0n7+w5aZ+yzSrtu5RaDpBkbcOH120Le6NxSKFdMWQZE0k TMBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:dmarc-filter :arc-authentication-results; bh=FJlt42+Q2e9jrvnj3uRksQ5Y5ms6+1jC02Cxv8cX4nk=; b=Tqh7C6cwB/nxEZhrf16rsBFP6AeDdSBROLGXd/zQ+mKVeWmL80ewy+ZHiSn9Hv+zxa r/jnzgezB/7bRP5E9qvRgnIekXcwy2bPM2Tr5QBQvAttckbq1X6oV1rv/1XRErSD0hpl Xsa28ivHpWK0PCYVvR5pqt1FAchlEw5zp5rIx1p+MG3xZU/HMkA12KQ5zsARYW3DanAf QkjNWAYUbtmBp2CXEqT4AbnEur9xsXoO4qWVvRXZD+K4xIpM1jzr8qNuhbQMr0lJUYtB DcGiiVKsMzx8jANcxThJXg/DCqDKxl9zy4I5oTfh5IbZsLlpXBBsTGUy+eF3Rwvq+xnE Focg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of srs0=tol7=f4=goodmis.org=rostedt@kernel.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=SRS0=toL7=F4=goodmis.org=rostedt@kernel.org Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of srs0=tol7=f4=goodmis.org=rostedt@kernel.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=SRS0=toL7=F4=goodmis.org=rostedt@kernel.org DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C598421770 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=goodmis.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=rostedt@goodmis.org Date: Tue, 6 Mar 2018 16:36:16 -0500 From: Steven Rostedt To: Linus Torvalds Cc: Arnd Bergmann , Ard Biesheuvel , Daniel Micay , Ingo Molnar , Kees Cook , Dave Hansen , Alexander Popov , Kernel Hardening , PaX Team , Brad Spengler , Andy Lutomirski , Tycho Andersen , Laura Abbott , Mark Rutland , Borislav Petkov , Richard Sandiford , Thomas Gleixner , "H . Peter Anvin" , Peter Zijlstra , "Dmitry V . Levin" , Emese Revfy , Jonathan Corbet , Andrey Ryabinin , "Kirill A . Shutemov" , Thomas Garnier , Andrew Morton , Alexei Starovoitov , Josef Bacik , Masami Hiramatsu , Nicholas Piggin , Al Viro , "David S . Miller" , Ding Tianhong , David Woodhouse , Josh Poimboeuf , Dominik Brodowski , Juergen Gross , Greg Kroah-Hartman , Dan Williams , Mathias Krause , Vikas Shivappa , Kyle Huey , Dmitry Safonov , Will Deacon , X86 ML , LKML Subject: Re: [PATCH RFC v9 4/7] x86/entry: Erase kernel stack in syscall_trace_enter() Message-ID: <20180306163616.7e3b6e0e@vmware.local.home> In-Reply-To: References: <1520107232-14111-1-git-send-email-alex.popov@linux.com> <1520107232-14111-5-git-send-email-alex.popov@linux.com> <20180306080855.phtgl2bzqm5hnthu@gmail.com> X-Mailer: Claws Mail 3.15.1 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1593947986518331727?= X-GMAIL-MSGID: =?utf-8?q?1594225778677079623?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On Tue, 6 Mar 2018 13:01:20 -0800 Linus Torvalds wrote: > Then the optimization passes will just remove the initialization in > 99.9% of all cases. Only very occasionally - when gcc cannot see it > being overwritten - would it remain. And those are exactly the cases > where you *want* it to remain. You mean have gcc fill in the variables that it thinks is used uninitialized with zeros? As long as it still warns about it, because that usually catches some real bugs where zeroing the variable doesn't actually fix the bug. I also tried the example Arnd posted with: int g(int c) { int i; if (c) /* gcc optimizes out the condition as nothing else sets i */ i = 1; return i; } And he's right. -O2 doesn't warn :-( I think that it should. -- Steve