Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1136335ybz; Sat, 25 Apr 2020 11:47:15 -0700 (PDT) X-Google-Smtp-Source: APiQypLMV6UivHVLoJWx/p+zFdM7sQDnauocx7ZWezj6UtmCSmp83qvsE+nI8hzzSa3tAxqTwRVl X-Received: by 2002:a17:906:7383:: with SMTP id f3mr12286995ejl.197.1587840435738; Sat, 25 Apr 2020 11:47:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587840435; cv=none; d=google.com; s=arc-20160816; b=p6n2bKpdyFdX46rz5C++WEOLtSYrDPEQ9A5cy/pBTlBk5oj8dQ4NucYlz718+pVHWX VUYIi9TdFUxNMWZuqVpGBzqaAt+zEwk9gvk1YjLeeRbzklcNvdLKUHecDqdqHZnR9dK3 TAj+N4YROH0RFznT8WC93Xuurs5d9Fd7AqYXUfD47ab9oA/JU0NMLF2n+cr9tNeIRxqg R6B5HH2Cg9WYFh39wifx7I3mf6yN+6rXFSnZ772DzkKyGpWBWF5yRn1UYBncIU68R0wq Ky/XWC9IIt8g0nsf/ESzti04JGhb7sHvb02YZgxTYN+VgUjvQ3JG19x3VJjQX+i7kvHu 1kFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=yxGVLDW0tf0uJCMgP17lBICnNwEdqwwa8HFau+YtLGw=; b=hcaaJIjG1IQq/YEBNJRgqBsnjp7M+tFuXWL8V8rsR8qAOkPKT0/8uju7Ql3y9IOLU6 3pKZ+fJDjWOlr++pBwHnK2WOrosCkrMwwk48BoUEsrnOWzeNALk2I5oQC8f5hz9XxJXB 1rfN6UVwQmv8q1M5oxrU2bbdrqMWCJon7X3/IGRlzge995z5ispgxrBMbhONT35t8lx/ X2816AbQETBx1plCegDH0RjbOraOA5VRSrdrVaFHHbdHbuSWLZn55WGaRI/TPNKGbEGu cZsmjSgs1OZwvPOFa96enezW+dXzV/UIPLsW61OIDLamTlzGfgkl77ml2fzNKcymvq36 nHbA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qn23si5296754ejb.111.2020.04.25.11.46.06; Sat, 25 Apr 2020 11:47:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726261AbgDYSiO (ORCPT + 99 others); Sat, 25 Apr 2020 14:38:14 -0400 Received: from gate.crashing.org ([63.228.1.57]:57374 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726145AbgDYSiO (ORCPT ); Sat, 25 Apr 2020 14:38:14 -0400 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 03PIb3e7031547; Sat, 25 Apr 2020 13:37:03 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 03PIb15d031546; Sat, 25 Apr 2020 13:37:01 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Sat, 25 Apr 2020 13:37:01 -0500 From: Segher Boessenkool To: Borislav Petkov Cc: Arvind Sankar , Jakub Jelinek , jgross@suse.com, x86@kernel.org, Kees Cook , Peter Zijlstra , linuxppc-dev@lists.ozlabs.org, Michael Matz , Nick Desaulniers , LKML , Sergei Trofimovich , clang-built-linux , Ingo Molnar , Paul Mackerras , Andy Lutomirski , "H. Peter Anvin" , =?iso-8859-1?Q?Fr=E9d=E9ric_Pierret_=28fepitre=29?= , Thomas Gleixner , Martin =?utf-8?B?TGnFoWth?= , boris.ostrovsky@oracle.com Subject: Re: [PATCH] x86: Fix early boot crash on gcc-10, next try Message-ID: <20200425183701.GE17645@gate.crashing.org> References: <20200422192113.GG26846@zn.tnic> <20200422212605.GI26846@zn.tnic> <20200423125300.GC26021@zn.tnic> <20200423161126.GD26021@zn.tnic> <20200425014657.GA2191784@rani.riverdale.lan> <20200425085759.GA24294@zn.tnic> <20200425150440.GA470719@rani.riverdale.lan> <20200425173140.GB24294@zn.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200425173140.GB24294@zn.tnic> User-Agent: Mutt/1.4.2.3i Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 25, 2020 at 07:31:40PM +0200, Borislav Petkov wrote: > > There's also the one in init/main.c which is used by multiple > > architectures. On x86 at least, the call to arch_call_rest_init at the > > end of start_kernel does not get tail-call optimized by gcc-10, but I > > don't see anything that actually prevents that from happening. We should > > add the asm("") there as well I think, unless the compiler guys see > > something about this function that will always prevent the optimization? > > Hmm, that's what I was afraid of - having to sprinkle this around. Yah, let's > wait for compiler guys to have a look here and then maybe I'll convert that > thing to a macro called > > compiler_prevent_tail_call_opt() > > or so, so that it can be sprinkled around. ;-\ That is a lot more typing then asm(""); but more seriously, you probably should explain why you do not want a tail call *anyway*, and in such a comment you can say that is what the asm is for. I don't see anything that prevents the tailcall in current code either, fwiw. Segher