Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755071AbaJNK2e (ORCPT ); Tue, 14 Oct 2014 06:28:34 -0400 Received: from mailout32.mail01.mtsvc.net ([216.70.64.70]:34481 "EHLO n23.mail01.mtsvc.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754606AbaJNK2c (ORCPT ); Tue, 14 Oct 2014 06:28:32 -0400 Message-ID: <543CFAA8.90608@hurleysoftware.com> Date: Tue, 14 Oct 2014 06:27:52 -0400 From: Peter Hurley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: Greg KH , Russell King - ARM Linux CC: David Laight , "'Nathan Lynch'" , Felipe Balbi , Rik van Riel , "Paul E. McKenney" , Tony Lindgren , Linux USB Mailing List , Linux Kernel Mailing List , "josh@joshtriplett.org" , Rabin Vincent , Alan Stern , Johannes Weiner , Sasha Levin , Andrew Morton , Linux OMAP Mailing List , Linus Torvalds , Linux ARM Kernel Mailing List Subject: Re: RCU bug with v3.17-rc3 ? References: <20141009160138.GA2396@cmpxchg.org> <20141009162656.GE16002@saruman> <20141009204101.GA25955@debian> <20141009204637.GE25729@saruman> <20141009210715.GH25729@saruman> <20141010135743.GB31348@saruman> <20141010162531.GL12379@n2100.arm.linux.org.uk> <54388B81.5020306@mentor.com> <063D6719AE5E284EB5DD2968C1650D6D174C996E@AcuExch.aculab.com> <20141013114307.GO12379@n2100.arm.linux.org.uk> <20141014020640.GB25433@kroah.com> In-Reply-To: <20141014020640.GB25433@kroah.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Authenticated-User: 990527 peter@hurleysoftware.com X-MT-ID: 8FA290C2A27252AACF65DBC4A42F3CE3735FB2A4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/13/2014 10:06 PM, Greg KH wrote: > On Mon, Oct 13, 2014 at 12:43:07PM +0100, Russell King - ARM Linux wrote: >> On Mon, Oct 13, 2014 at 09:11:34AM +0000, David Laight wrote: >>> From: Nathan Lynch >>>> On 10/10/2014 11:25 AM, Russell King - ARM Linux wrote: >>>>> >>>>> Right, so GCC 4.8.{1,2} are totally unsuitable for kernel building (and >>>>> it seems that this has been known about for some time.) >>>> >>>> Looking at http://gcc.gnu.org/PR58854 it seems that all 4.8.x for x < 3 >>>> are affected, as well as 4.9.0. >>>> >>>>> We can blacklist these GCC versions quite easily. We already have GCC >>>>> 3.3 blacklisted, and it's trivial to add others. I would want to include >>>>> some proper details about the bug, just like the other existing entries >>>>> we already have in asm-offsets.c, where we name the functions that the >>>>> compiler is known to break where appropriate. >>>> >>>> Before blacklisting anything, it's worth considering that simple version >>>> checks would break existing pre-4.8.3 compilers that have been patched >>>> for PR58854. It looks like Yocto and Buildroot issued releases with >>>> patched 4.8.2 compilers well before the (fixed) 4.8.3 release. I think >>>> the most we can reasonably do without breaking some correctly-behaving >>>> toolchains is to emit a warning. >>> >>> Is it possible to compile a small code fragment and check the generated >>> code for the bug? >>> Possibly predicated on the broken version number to avoid false positives. >> >> I don't see how - it looks like it requires an interrupt to occur at an >> opportune moment to provoke the function to fail. The alternative would >> be to parse the assembly generated by the compiler to determine how it >> is dealing with the stack. >> >> I think the only viable solution here is that: >> >> 1. We blacklist the bad compiler versions outright in the kernel. > > Yes, please do this, it's what we have done for other buggy compiler > versions, no need to do something different here. > >> Remember, it's the distro's choice to fix these buggy compilers, so the >> onus is on _them_ to deal with the mess they've created by doing so. > > I totally agree. > > Is someone going to send this patch, or do I have to write it myself? I did on Friday (arm: Blacklist gcc 4.8.[012] ...) but Russell said he was doing it himself. Regards, Peter Hurley -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/