Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1370530ybx; Tue, 5 Nov 2019 15:05:54 -0800 (PST) X-Google-Smtp-Source: APXvYqzY1CM+YMffG0StpnkHHRtIJhM8fyJ8p3TYDUS0e2uixOrljHDvdyJ1gDkVyvr9yofV4z6/ X-Received: by 2002:a17:906:80d1:: with SMTP id a17mr30709006ejx.77.1572995154548; Tue, 05 Nov 2019 15:05:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1572995154; cv=none; d=google.com; s=arc-20160816; b=EvvGH52qqntxUYVb2+FvNtsYme2mmhBfvx4bJrImaBILI5gqdd4BXKvZyin1j1wHkr M9zybcIeeoDFWmmbBQO3kABCUYGv7U+hj6u+1tyMGvZClCB1us8/h9gz5tZKXzJI1rSr t9J+Y7c0J0XY5G7Lc2T7fI+LPXIihYBb2lIys9dwDW2e4TOHfvdiNwNN/F3jloIVxLFq 97FpO7Tvz3R0Vh4HGD6mKQtlapgNE2o7s0sS+HCu8kNEtM9rOqBKI/ckDxB2odZeMln8 Q9b1Ji/Svdet6zgesYFrAjjEfNU4/Pf6fd+8g+sSpRET4QoR9hfdVnK3yktT5QQHAujC roEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date:from :references:cc:to:subject; bh=yWWiVpsAfW1PfTf20mm/ybBfXy8eDylos+T93hN0s84=; b=TD1LUKDghR/HOCnMA8R8wT99E5yTKfj1cL/tqfJWuvvBZQBe61b/u9/Ew6mCkvxFf4 So4brtPAgZVWbkXjvV4vHFbyaceC4oomCMrmcHWV9BgURkQKtu7NXQGBJQag57NVm/zd OoPK7zqGGJE/KnGBaBtmWvTRZhxEhDOlVxdfTzTbVtOZC9+RqIr8LeRUCZr4tyFHCJv+ f3MseYl8pxr3eWEHFzT1CP6vKFlhFYqe2/7jNnqo6u94RtL0bVBIDlGcT8I3anBPhz5H u0JNoF7AbtqRxudyFYFlhyXzgNsy7N48umlZNQWXOAQlnDmA+gFTXLJJIl/yLMVXs26o Yj6Q== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p7si9973688edq.227.2019.11.05.15.05.29; Tue, 05 Nov 2019 15:05:54 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387504AbfKEXCU (ORCPT + 99 others); Tue, 5 Nov 2019 18:02:20 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:32504 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730054AbfKEXCU (ORCPT ); Tue, 5 Nov 2019 18:02:20 -0500 Received: from pps.filterd (m0098417.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id xA5MqFgA004235 for ; Tue, 5 Nov 2019 18:02:17 -0500 Received: from e06smtp05.uk.ibm.com (e06smtp05.uk.ibm.com [195.75.94.101]) by mx0a-001b2d01.pphosted.com with ESMTP id 2w3frwmxva-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 05 Nov 2019 18:02:17 -0500 Received: from localhost by e06smtp05.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 5 Nov 2019 23:02:15 -0000 Received: from b06cxnps3075.portsmouth.uk.ibm.com (9.149.109.195) by e06smtp05.uk.ibm.com (192.168.101.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Tue, 5 Nov 2019 23:02:11 -0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id xA5N2AjT53739596 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 5 Nov 2019 23:02:10 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 375D611C052; Tue, 5 Nov 2019 23:02:10 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 748F511C050; Tue, 5 Nov 2019 23:02:08 +0000 (GMT) Received: from [9.80.236.186] (unknown [9.80.236.186]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 5 Nov 2019 23:02:08 +0000 (GMT) Subject: [PATCH v10a 3/9] powerpc: detect the trusted boot state of the system To: Mimi Zohar , linuxppc-dev@ozlabs.org, linux-efi@vger.kernel.org, linux-integrity@vger.kernel.org Cc: Nayna Jain , linux-kernel@vger.kernel.org, Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Ard Biesheuvel , Jeremy Kerr , "Oliver O'Halloran" References: <1572492694-6520-1-git-send-email-zohar@linux.ibm.com> <1572492694-6520-4-git-send-email-zohar@linux.ibm.com> From: Eric Richter Date: Tue, 5 Nov 2019 17:02:07 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 MIME-Version: 1.0 In-Reply-To: <1572492694-6520-4-git-send-email-zohar@linux.ibm.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 x-cbid: 19110523-0020-0000-0000-00000382E141 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19110523-0021-0000-0000-000021D90D36 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-11-05_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=611 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1911050187 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nayna Jain While secure boot permits only properly verified signed kernels to be booted, trusted boot calculates the file hash of the kernel image and stores the measurement prior to boot, that can be subsequently compared against good known values via attestation services. This patch reads the trusted boot state of a PowerNV system. The state is used to conditionally enable additional measurement rules in the IMA arch-specific policies. Signed-off-by: Nayna Jain Signed-off-by: Eric Richter --- v10a: - moved get_ppc_fw_sb_node to patch 1 in the series arch/powerpc/include/asm/secure_boot.h | 6 ++++++ arch/powerpc/kernel/secure_boot.c | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/arch/powerpc/include/asm/secure_boot.h b/arch/powerpc/include/asm/secure_boot.h index 07d0fe0ca81f..a2ff556916c6 100644 --- a/arch/powerpc/include/asm/secure_boot.h +++ b/arch/powerpc/include/asm/secure_boot.h @@ -11,6 +11,7 @@ #ifdef CONFIG_PPC_SECURE_BOOT bool is_ppc_secureboot_enabled(void); +bool is_ppc_trustedboot_enabled(void); #else @@ -19,5 +20,10 @@ static inline bool is_ppc_secureboot_enabled(void) return false; } +static inline bool is_ppc_trustedboot_enabled(void) +{ + return false; +} + #endif #endif diff --git a/arch/powerpc/kernel/secure_boot.c b/arch/powerpc/kernel/secure_boot.c index 3f55be33f5c8..95d2ff086e55 100644 --- a/arch/powerpc/kernel/secure_boot.c +++ b/arch/powerpc/kernel/secure_boot.c @@ -32,3 +32,18 @@ bool is_ppc_secureboot_enabled(void) return enabled; } + +bool is_ppc_trustedboot_enabled(void) +{ + struct device_node *node; + bool enabled = false; + + node = get_ppc_fw_sb_node(); + enabled = of_property_read_bool(node, "trusted-enabled"); + + of_node_put(node); + + pr_info("Trusted boot mode %s\n", enabled ? "enabled" : "disabled"); + + return enabled; +} -- 2.20.1