Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp707217pxp; Fri, 11 Mar 2022 12:55:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJyXdg6xP/7q0GpDmWGMH+pOm5QDuWvrzo8KFffi7J3zr3ASJJ2Elw2xl36JR983iTI4+DZB X-Received: by 2002:a63:e407:0:b0:380:fd62:eb76 with SMTP id a7-20020a63e407000000b00380fd62eb76mr6181828pgi.97.1647032132209; Fri, 11 Mar 2022 12:55:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1647032132; cv=none; d=google.com; s=arc-20160816; b=UJq5ia/kqcjNtMudZm03NdXJwSI8DmHb6W02TgkezKX1dEn7ZD9WhFRWtF0RYVAmra zExjTPwp6ig/Bu4hS4u1O3/izBvk4e1ooga7KV+T504KmDyViW+azD/pojAArMLa1hMa iL592f46ycpt1YfIw4rQXB+6qpiaVMODBU89C9vSdlBtvJYw6Pwf25/Br8957qCzRQ6g OW0sA9FSp2Xq2EiLeekvMmnV1VzJaK1TEHZ0jcGAEPtXfSVM5enWP2ykER3TpgezScFn RYaY2Qiw5VRfIFhA8XoOtkXh+VywbSFCTCJ6VkoEzqwEUkUrG/dx8THnzrFZINc5SUCB nRaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=q/rA8NrHkKl6u9EPnFVwANqg4RCcGNlWtxm+eX12Z6U=; b=TETmPfgwxardrwvpH+bffAM1JmyLSoFwEi9Dvy2a54Lc+iaA0W/pKCrLywsrkkt8xP B68kMwFj43aB9HBDBozl1CMkbFIRSRwvroR32iK4yPiEkMKHsPB+sqCsFPwRFbm5ziZ4 LXOTj1hPcL0EuCo5bLicSg28aXy50Mb3y+uJgQR5d2KCgQcHzhjez8W1lRAd3iqbTaOy qZRX6SF4m/x6sxjKWKaige4CdIWyIzAt0xfz8B5TGSY+q2SXcYLGFtCGJwzLIMgAmSXh Pi68daQo0vkOvp6F2YAYOtubDxfWv83oe/lb8GammLr/VZbONbZsN9v3Q/3XHnKIUoXW 4ZtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=eOq88lZD; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id o13-20020a635a0d000000b003785abc6caasi8554679pgb.361.2022.03.11.12.55.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Mar 2022 12:55:32 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=eOq88lZD; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CE5D31F3B69; Fri, 11 Mar 2022 12:46:24 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231710AbiCJOQw (ORCPT + 99 others); Thu, 10 Mar 2022 09:16:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243189AbiCJOQT (ORCPT ); Thu, 10 Mar 2022 09:16:19 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35908B2518; Thu, 10 Mar 2022 06:12:47 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id F1E0861B41; Thu, 10 Mar 2022 14:12:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F3E76C340E8; Thu, 10 Mar 2022 14:12:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1646921566; bh=YYTxn4Nwrg6CuOgCloYwoSlfT43YKOmCi0fRD30gcL8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eOq88lZDvEc2eZAOT+Nz1Yyrh1aCF9jLkSjDidwv9hB/8/vsenTvCt5zXC6Etmjor Dn1wDfGwK8Zb0NZFH7iZ7lCvgfMoezpAEn0Q8JYnyPJ5UGnPM0qKqDE3OKyuOEHIml +45yJDhtSwfuyLm9PceQ87iRbi4lIViy56AKDBG8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Russell King (Oracle)" Subject: [PATCH 5.16 13/53] ARM: include unprivileged BPF status in Spectre V2 reporting Date: Thu, 10 Mar 2022 15:09:18 +0100 Message-Id: <20220310140812.216049154@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220310140811.832630727@linuxfoundation.org> References: <20220310140811.832630727@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Russell King (Oracle) commit 25875aa71dfefd1959f07e626c4d285b88b27ac2 upstream. The mitigations for Spectre-BHB are only applied when an exception is taken, but when unprivileged BPF is enabled, userspace can load BPF programs that can be used to exploit the problem. When unprivileged BPF is enabled, report the vulnerable status via the spectre_v2 sysfs file. Signed-off-by: Russell King (Oracle) Signed-off-by: Greg Kroah-Hartman --- arch/arm/kernel/spectre.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/arch/arm/kernel/spectre.c +++ b/arch/arm/kernel/spectre.c @@ -1,9 +1,19 @@ // SPDX-License-Identifier: GPL-2.0-only +#include #include #include #include +static bool _unprivileged_ebpf_enabled(void) +{ +#ifdef CONFIG_BPF_SYSCALL + return !sysctl_unprivileged_bpf_disabled; +#else + return false +#endif +} + ssize_t cpu_show_spectre_v1(struct device *dev, struct device_attribute *attr, char *buf) { @@ -31,6 +41,9 @@ ssize_t cpu_show_spectre_v2(struct devic if (spectre_v2_state != SPECTRE_MITIGATED) return sprintf(buf, "%s\n", "Vulnerable"); + if (_unprivileged_ebpf_enabled()) + return sprintf(buf, "Vulnerable: Unprivileged eBPF enabled\n"); + switch (spectre_v2_methods) { case SPECTRE_V2_METHOD_BPIALL: method = "Branch predictor hardening";