Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp6322478pxv; Thu, 29 Jul 2021 11:35:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7HWrxRdggs08wM1WuWLaGAkP0V0SazCxeVwAk+e+rCVHqgMQBwpAhLLaacWMM0s+Akybd X-Received: by 2002:a02:cf2e:: with SMTP id s14mr5773672jar.74.1627583749307; Thu, 29 Jul 2021 11:35:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627583749; cv=none; d=google.com; s=arc-20160816; b=hh1U9+cpG+1UEitYoOKblJyP69vDYsZ/1m6vH4kVlrOR+TFpkvvYR2oFTLgg0D0yis 5OMHdpAnC7BEPqySTL/LtxHD67UPx2DFW9FytYljBIIU0pfJPuU7VqKCCHgAqxdeH1CA uFidwgD209g0rFmT8G7zHKvSDNmTZaNSHEe7ec0kU0z9cfPxoVCw965Jaw7I9elAz7SY unR+bnxayB3CYQQQ0c57tOgGjyjH2YuKHDpNAuOIHmyDwlJlEai+1sts6Fw6mKPn+Cuj sJWrA7gOnfH2Rmuce0y03EJMQpvcA1F7MhL83J18DOIdsHElMcJDdAxfE8FqggmoEhku O5fw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=Ndpw+PbnRaSxxnGPYwf+7x2VYYi7mMPrexiG91YMR7M=; b=YJlRa6PHLxVYnX89ol/8hSfF5LD60xJvchhdywmPR7nZl5vHyh7IleX5NKWeKLuXJd fqugchvkvWSS0k5TuQWPSprzt2g2bmPH6RJkk9S+TP0zAM0SeVNN6bRdzuF53GYh2Ckv x8Ze/k3SD3mZBPempoJKtU4P4PLAaiCOuM39cDjW7RtQVkqQQdWJQkpSl+nLfUToIUje TdqpeqST976T/v8jsV+jesDgRn8VZ7twm0yd7hB0WQ2Ho/y5TY2d9vICP05XUnoJ4DYT zh/LKdJP0m2dnHP/U0LBZdHiVGhYkdiuLXKXo8+ZldIHXXXGIfogt68Pp4gOxC79kpPI QBSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@rammhold-de.20150623.gappssmtp.com header.s=20150623 header.b="MP/oa+Z4"; 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 b12si4061905ioj.88.2021.07.29.11.35.35; Thu, 29 Jul 2021 11:35:49 -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; dkim=pass header.i=@rammhold-de.20150623.gappssmtp.com header.s=20150623 header.b="MP/oa+Z4"; 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 S230443AbhG2SeP (ORCPT + 99 others); Thu, 29 Jul 2021 14:34:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37400 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229807AbhG2SeP (ORCPT ); Thu, 29 Jul 2021 14:34:15 -0400 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D020C0613C1 for ; Thu, 29 Jul 2021 11:34:11 -0700 (PDT) Received: by mail-wm1-x32e.google.com with SMTP id k4so4328902wms.3 for ; Thu, 29 Jul 2021 11:34:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rammhold-de.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Ndpw+PbnRaSxxnGPYwf+7x2VYYi7mMPrexiG91YMR7M=; b=MP/oa+Z4eaQicBo2B3IhtWp8wnc3+EOxvkxF+R8qoTCJevNJosYcsfol5GcHQ04mL6 RL+oiSW9fq73iBFZiPsJuQoqVw/KwJPAbagjyY54WSFIskppPNokJggOEHkWcxt1P2Ll KWr079wVWc6G7rRAIck8FvKERX4kWLlFPoUx+6MomULySTp824WugLSBrGvlQ4rSOGs4 F23bAJRUz7rR9+Ivt/amAywoGXdmYA9TyYUZ6/4b2UdunX91LBCEFQG+lQ/KQj/X8eM0 SlcIz1+eV0TOXZbn7AjcmD6a4u0BYrUPJebQoZbMhqMCqKCtjN0Nz5Aq2G9+d/CjaORA hlpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Ndpw+PbnRaSxxnGPYwf+7x2VYYi7mMPrexiG91YMR7M=; b=R47LvJgsint/imDxH5dLi4WAxI8lpY2sjlML25WAYvgaF7NhMLWjKckTJo/HyTpST0 Qjt3kapi8Jv66K989fqYt1wLzf54EwjkmnuxWIqvvaDDuZiDE6E2d13UdkjrARQKBLXb urlYBUKHbB6HUz9V9IsGcET3z5DpHkIv6AMf0NwGHMe/6UqfKWi43iGnAdpT8q0DfBv1 S1obHGtCi2LcTEzslnkzTheYBjw3uHrACtNJTZ5nkDOT//OeXAISH/hw1NXYw1dWIbea fUmtET7FzFLHYFK4+knFLMlHS9/EbZw/FILr40KVAI+vVwlWR3+1U5HzTsNHqAgisZCi RmdA== X-Gm-Message-State: AOAM530PYNo1YPh/GjSWM2+xa/GSNqMrV8uMw+MLv6ohSBOeFwXCyaSg pi1IZTa/Trp/KpPk6KpmK5utVg== X-Received: by 2002:a05:600c:3595:: with SMTP id p21mr5952796wmq.105.1627583649738; Thu, 29 Jul 2021 11:34:09 -0700 (PDT) Received: from localhost ([2a00:e67:5c9:a:6941:c1d7:e420:cc22]) by smtp.gmail.com with ESMTPSA id y197sm10563444wmc.7.2021.07.29.11.34.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Jul 2021 11:34:08 -0700 (PDT) From: Andreas Rammhold To: James Bottomley , Jarkko Sakkinen , Mimi Zohar , David Howells , James Morris , "Serge E. Hallyn" , Sumit Garg Cc: Ahmad Fatoum , Andreas Rammhold , linux-integrity@vger.kernel.org, keyrings@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] KEYS: trusted: Fix trusted key backends when building as module Date: Thu, 29 Jul 2021 20:33:32 +0200 Message-Id: <20210729183333.1070629-1-andreas@rammhold.de> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Before this commit the kernel could end up with no trusted key sources even though both of the currently supported backends (TPM and TEE) were compiled as modules. This manifested in the trusted key type not being registered at all. When checking if a CONFIG_… preprocessor variable is defined we only test for the builtin (=y) case and not the module (=m) case. By using the IS_REACHABLE() macro we do test for both cases. v2: * Fixed commit message * Switched from IS_DEFINED() to IS_REACHABLE() Fixes: 5d0682be3189 ("KEYS: trusted: Add generic trusted keys framework") Signed-off-by: Andreas Rammhold --- Here is the version that was proposed by Ahmad [1] in response to the feedback received in the "[PATCH v2] KEYS: trusted: fix use as module when CONFIG_TCG_TPM=m" discussion [2]. I have tested both of the patches on v5.13 and they both fix the problem I originally encountered. [1] https://lore.kernel.org/keyrings/fe39a449-88df-766b-a13a-290f4847d43e@pengutronix.de/ [2] https://lore.kernel.org/keyrings/20210721160258.7024-1-a.fatoum@pengutronix.de/ security/keys/trusted-keys/trusted_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/security/keys/trusted-keys/trusted_core.c b/security/keys/trusted-keys/trusted_core.c index d5c891d8d353..5b35f1b87644 100644 --- a/security/keys/trusted-keys/trusted_core.c +++ b/security/keys/trusted-keys/trusted_core.c @@ -27,10 +27,10 @@ module_param_named(source, trusted_key_source, charp, 0); MODULE_PARM_DESC(source, "Select trusted keys source (tpm or tee)"); static const struct trusted_key_source trusted_key_sources[] = { -#if defined(CONFIG_TCG_TPM) +#if IS_REACHABLE(CONFIG_TCG_TPM) { "tpm", &trusted_key_tpm_ops }, #endif -#if defined(CONFIG_TEE) +#if IS_REACHABLE(CONFIG_TEE) { "tee", &trusted_key_tee_ops }, #endif }; -- 2.32.0