Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp880741imu; Fri, 4 Jan 2019 08:50:48 -0800 (PST) X-Google-Smtp-Source: AFSGD/UdfjJvXE0lT9f7uXlJjsPWaYVH52Dr12YlNjop5ZZsfSGDCk8+vlUNBj/jSEoCxhenvofI X-Received: by 2002:a62:7086:: with SMTP id l128mr52801294pfc.68.1546620648868; Fri, 04 Jan 2019 08:50:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546620648; cv=none; d=google.com; s=arc-20160816; b=A0IkKyzaqrbVm1ZhGwKfFQqJomNNvWzSTF1o0LtN0XCEgmmJqpXwEgGr9yEim26bwT ZdY4YS8zVvq+8vyvpK5Za79X5blukdmTeOEKV6L0+zuHTlBUXe8G/XokO7VLnt7ppIKK oLJvkWX915xn5D8JJNFctSL9dZHGgneatXZjHX2j2/YNL0L/MFZAyEdXU/8MRlj8bWBG gHv83qDEzV0y1G8SPvPs/qjTTgmWoMJ575MmHj6DVMkRUmx6P5RUdPUOJRz+AFC07TD6 alnLszX5TaRwTMa9c/mDhLvVU7SBlUSvJP6a+Bvlaqbx+V7fBBd8I00+u41S0etZR3PR aGeg== 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=Hl6L+9ltuH1O4U+KxxP/UbtAYVdVVGsEsvViAGc7bBg=; b=tEbcFwsV5nOazSRrc8ezjwxL20S9uGYmQL6nkTvhJTdG9PsNp3NzLVWmUp6bdZrom+ dU+rH+I5Y1wUgxWwyd1j0dYKBoVBT7UDc1NNmTn1Br5N9eJAugDPhj68IbyUwfR0YKcy E7vQmEzUR+sZM707U8dig2btNBmCQ65Luo0aD/B2WOQicyNOfu9Ol80u2RC6AGmHzFyb hlUJ6N6q1FcucEsRrN/N+cxDjbT0u3SaWvxy5AOUr0FlObG7tk/WrMJBLWDHWUE7qLjS FLhr0hPiTNXoHVa8yVrzo7IhBkHo5fGMRTV7M7va2JQN7xWglZ3SSDlaHbBK7l6WqNT1 w7CQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w11si36059620pgf.452.2019.01.04.08.50.33; Fri, 04 Jan 2019 08:50:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727378AbfADOIj (ORCPT + 99 others); Fri, 4 Jan 2019 09:08:39 -0500 Received: from foss.arm.com ([217.140.101.70]:43152 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726134AbfADOIj (ORCPT ); Fri, 4 Jan 2019 09:08:39 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9AA46EBD; Fri, 4 Jan 2019 06:08:38 -0800 (PST) Received: from e103592.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 384DD3F575; Fri, 4 Jan 2019 06:08:35 -0800 (PST) Date: Fri, 4 Jan 2019 14:08:32 +0000 From: Dave Martin To: Greg Kroah-Hartman Cc: Jeremy Linton , mark.rutland@arm.com, David Woodhouse , mlangsdo@redhat.com, "Rafael J . Wysocki" , Konrad Rzeszutek Wilk , suzuki.poulose@arm.com, marc.zyngier@arm.com, catalin.marinas@arm.com, Dave Hansen , julien.thierry@arm.com, will.deacon@arm.com, linux-kernel@vger.kernel.org, steven.price@arm.com, Peter Zijlstra , Borislav Petkov , shankerd@codeaurora.org, ykaukab@suse.de, Thomas Gleixner , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 1/7] sysfs/cpu: Add "Unknown" vulnerability state Message-ID: <20190104140832.GC3571@e103592.cambridge.arm.com> References: <20190103004921.1928921-1-jeremy.linton@arm.com> <20190103004921.1928921-2-jeremy.linton@arm.com> <20190103093858.GA10794@kroah.com> <20190103164831.GF14994@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190103164831.GF14994@kroah.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 03, 2019 at 05:48:31PM +0100, Greg Kroah-Hartman wrote: > On Thu, Jan 03, 2019 at 10:38:16AM -0600, Jeremy Linton wrote: > > On 01/03/2019 03:38 AM, Greg Kroah-Hartman wrote: > > > On Wed, Jan 02, 2019 at 06:49:15PM -0600, Jeremy Linton wrote: > > > > There is a lot of variation in the Arm ecosystem. Because of this, > > > > there exist possible cases where the kernel cannot authoritatively > > > > determine if a machine is vulnerable. > > > > > > Really? Why not? What keeps you from "knowing" this? Can't the > > > developer of the chip tell you? > > > > There tends to be a few cases, possibly incomplete white/black lists, > > Then fix the lists :) > > > firmware that isn't responding correctly, or the user didn't build in the > > code to check the mitigation (possibly because its an embedded system and > > they know its not vulnerable?). > > If the firmware doesn't respond, that would imply it is vulnerable :) > > And if the code isn't built in, again, it's vulnerable. > > > I would hope that it is an exceptional case. > > Then have the default be vulnerable, don't give people false hope. > > > > > Rather than guess the vulnerability status in cases where > > > > the mitigation is disabled or the firmware isn't responding > > > > correctly, we need to display an "Unknown" state. > > > > > > Shouldn't "Unknown" really be the same thing as "Vulnerable"? A user > > > should treat it the same way, "Unknown" makes it feel like "maybe I can > > > just ignore this and hope I really am safe", which is not a good idea at > > > all. > > > > I tend to agree its not clear what to do with "unknown". > > > > OTOH, I think there is a hesitation to declare something vulnerable when it > > isn't. Meltdown for example, is fairly rare given that it currently only > > affects a few arm parts, so declaring someone vulnerable when they likely > > aren't is going to be just as difficult to explain. > > If you know it is rare, then you know how to properly detect it so > "unknown" is not needed, correct? > > Again, "unknown" is not going to help anyone out here, please don't do > it. Thinking about it, "unknown" is actually the common case. Kernels that predate the sysfs vulnerabilities interface effectively report this for all vulnerabilities by omitting the sysfs entries entirely. Current kernels also don't know anything about future vulnerabilities that may be added in sysfs later on (but which may nevertheless be discovered subsequently to affect current hardware). So, can we simply omit the sysfs entries for which we can't provide a good answer? IMHO the kernel should make best efforts to provide answers for every vulnerability that it knows about, so the checks should not be Kconfig- dependent without a good reason. There will be cases where whitelists/blacklists are the only source of answers, and we are ultimately reliant on vendors to provide that information. Upstream Linux is likely to lag, there's not much we can do about that. Cheers ---Dave