Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp270292ybt; Tue, 23 Jun 2020 21:52:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxnTwotws6uxvCbVs+5FO5kAyPAIXqjZ2Dtnh7TLBmenDFO0BsVexdBP0tSS5iSwq0+z7V5 X-Received: by 2002:aa7:d3ca:: with SMTP id o10mr10183778edr.138.1592974348606; Tue, 23 Jun 2020 21:52:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592974348; cv=none; d=google.com; s=arc-20160816; b=c9B0cBB2nbgmpKvJ27Q1485ia96TavOSWu7xq2DL6NgKLBX7ha3j3M7PrjPAK/QKfl fBDbpd/jooIhxy9XFNWCdTWk3tywo3RJw7bBFN9V5Gye83WQkzK2CB+pzOhX/3AltSFo F4QgBQZHaUxZjNbDXC0Y8BFNrdu5g2Oq4Y3WiscZPirMeEE6ePltnPmIKgfsSjQScOYT 36mV0Y/aiSXWRpaSs+Gar1hQc4W1pMni6UNimV1dAimPz5F6/9/U1Oe3o7xFe/99VuDd b5DRhWbb8u/KWRciK4i3qVpI6Xgi+v276/Mvcu9iPZcQYArXfvkGa0UiBl8hTgmH0JMG v/iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:message-id:date:cc:to:from:subject:ironport-sdr :ironport-sdr; bh=58lgWa3Sn+lqxTo94jn7RMZqJ8lUEQNirXkilwNwSf0=; b=W/sFN24tKowskS5yxmuMOzwioHMK8ThgZHFkroLhKvtTLijN+ECnvb3qlmgPNpfCAB k+87DX0VapLWw0u6E+4TNlIfYE23cYVg3Y63kaCYzKHl/gjgB833zfTr011V844ckchm GM3pZbHl7+asWoJQKcTcLPF/Onqb8IDNo56BATvRopDAEWbzgl6EpviZZoOYs9xPj075 +Gc42HL8WTQvfvQaT/+7TXOHeg7r2VdEiNzcDWOHyEaXx0KcyyUAH+QtbvauFihqncpA uAF7NqtO90GSuxIXAQD7nqMlGSSYRHRy6LSeqvDqVrmFhxL20W9TGOmblIPA1WrsgjWZ RlFw== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c4si2502980edq.372.2020.06.23.21.52.05; Tue, 23 Jun 2020 21:52:28 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728853AbgFXEvl (ORCPT + 99 others); Wed, 24 Jun 2020 00:51:41 -0400 Received: from mga12.intel.com ([192.55.52.136]:15214 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728766AbgFXEvk (ORCPT ); Wed, 24 Jun 2020 00:51:40 -0400 IronPort-SDR: 7qeXWbjgoE6V/dJ+wtzc4f9TiCHOlLKBSzwg0daeNygn6ZSRRC+CEB+2663DUL+dcXfwkm91Gp Q97hoj4zDy6w== X-IronPort-AV: E=McAfee;i="6000,8403,9661"; a="123999147" X-IronPort-AV: E=Sophos;i="5.75,274,1589266800"; d="scan'208";a="123999147" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2020 21:51:40 -0700 IronPort-SDR: 0qtYB5tBDcBf9X83UB3uzm0y53IR4KJAL9y5mgpxS914y30pU61YwBxp0cnNZkeJe4Pqejdwbl 1PDbDYSjngTg== X-IronPort-AV: E=Sophos;i="5.75,274,1589266800"; d="scan'208";a="275576140" Received: from dwillia2-desk3.jf.intel.com (HELO dwillia2-desk3.amr.corp.intel.com) ([10.54.39.16]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2020 21:51:40 -0700 Subject: [PATCH] libnvdimm/security: Fix key lookup permissions From: Dan Williams To: linux-nvdimm@lists.01.org Cc: Vishal Verma , Dave Jiang , Ira Weiny , David Howells , linux-kernel@vger.kernel.org Date: Tue, 23 Jun 2020 21:35:26 -0700 Message-ID: <159297332630.1304143.237026690015653759.stgit@dwillia2-desk3.amr.corp.intel.com> User-Agent: StGit/0.18-3-g996c MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As of commit 8c0637e950d6 ("keys: Make the KEY_NEED_* perms an enum rather than a mask") lookup_user_key() needs an explicit declaration of what it wants to do with the key. Add KEY_NEED_SEARCH to fix a warning with the below signature, and fixes the inability to retrieve a key. WARNING: CPU: 15 PID: 6276 at security/keys/permission.c:35 key_task_permission+0xd3/0x140 [..] RIP: 0010:key_task_permission+0xd3/0x140 [..] Call Trace: lookup_user_key+0xeb/0x6b0 ? vsscanf+0x3df/0x840 ? key_validate+0x50/0x50 ? key_default_cmp+0x20/0x20 nvdimm_get_user_key_payload.part.0+0x21/0x110 [libnvdimm] nvdimm_security_store+0x67d/0xb20 [libnvdimm] security_store+0x67/0x1a0 [libnvdimm] kernfs_fop_write+0xcf/0x1c0 vfs_write+0xde/0x1d0 ksys_write+0x68/0xe0 do_syscall_64+0x5c/0xa0 entry_SYSCALL_64_after_hwframe+0x49/0xb3 Cc: Dan Williams Cc: Vishal Verma Cc: Dave Jiang Cc: Ira Weiny Suggested-by: David Howells Fixes: 8c0637e950d6 ("keys: Make the KEY_NEED_* perms an enum rather than a mask") Signed-off-by: Dan Williams --- drivers/nvdimm/security.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nvdimm/security.c b/drivers/nvdimm/security.c index 89b85970912d..4cef69bd3c1b 100644 --- a/drivers/nvdimm/security.c +++ b/drivers/nvdimm/security.c @@ -95,7 +95,7 @@ static struct key *nvdimm_lookup_user_key(struct nvdimm *nvdimm, struct encrypted_key_payload *epayload; struct device *dev = &nvdimm->dev; - keyref = lookup_user_key(id, 0, 0); + keyref = lookup_user_key(id, 0, KEY_NEED_SEARCH); if (IS_ERR(keyref)) return NULL;