From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 732AEC61DE2 for ; Mon, 31 Aug 2026 11:19:14 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4hYRM40T6Rz2yDs; Mon, 31 Aug 2026 21:18:40 +1000 (AEST) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1788175120; cv=none; b=NftulOqK/+wJ+TFqnF/QRI6WdfbLZ0okAkeI7kz4S9J6cgt3fexyC6KaAiH8T6sAX1E00kgQMr0o9o/ZiPHRuNrBZp2qbzGfwNDf35BGcPrXf+cPoQzfqGkUMGM2bELg+Z/nnRzrNEWuUqU5VuRnzpU7exu1V2bpOcGnyoTjvQoBSzvedDbgq8vcHS/yjr6WI2ZJ7P3lIJJlGy+jLOInesBFw8B9/YEENzIdV1P0nB/24CUrGME9Ss56Qrz4wrWd+YcEGrJLYFx9fdZ55ZbYL2GSs7qtpRU/om0C/l67cwTIOESeGc5oy9cJgUb8Me6DVMPJRuA3Jmsc9833KTDBAQ== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1788175120; c=relaxed/relaxed; bh=UXNPhMvyuwuZet4fNm4JlxDHwMi+4kgOxifD9yRDC38=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=clSHdzaUMm8cMUWdOQ/EDyPuik9w0ocwrBfoOEILNEWMQoysgA3v17KLqq1eY+jvGhixG27vI4GTIj73DpgsLgiWjWkH7954iuqHDBFi8HDUgVdlXb9sK9JDGhJTHA4GW0DAUClOxVVCIySSBaJIW+hanGdNMSYbtQWxIDJ40VrzX8vfcf/Ni1FkurpQHuAZv4B74zYHRM7Z8UOw6kFvpSqWW8hA4Aj9SN0lTeywtgSg/Kuejo6Z69MC5B43scS/lCBb3xwdXgMKsm3QuNUWmdQHuTx0HM3r18pYjyX5cGQvdAHuZFDhZ/XSh0khTXcpPqhohdMtFeeblOZ6VPmsWw== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; dkim=pass (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=V8zc2SSr; dkim-atps=neutral; spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=ssrish@linux.ibm.com; receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=V8zc2SSr; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=ssrish@linux.ibm.com; receiver=lists.ozlabs.org) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4hYRM26nwVz2ybK for ; Mon, 31 Aug 2026 21:18:38 +1000 (AEST) Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67V82B6j3959609; Mon, 31 Aug 2026 11:18:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=UXNPhMvyuwuZet4fN m4JlxDHwMi+4kgOxifD9yRDC38=; b=V8zc2SSrdeIHcCEDr+4NKLy898J6ZkkQD MaqqrbWOi9gQ290s9Ckh/h1GShhqSwozllLE3BYVCQBIZZF+Nps/ETGo1nJqym+y P/HP8+S6EBrbwWwjtQKRJ+K7/mBT/rzaeY0CNkYjtooI8fuoWwN5Rf/X9/MabajX Ui9VhuHpkg9EY/4FGfXGSkVwq458Xu4wwxnxuPEk2/B8Fy9RT5CRNuNqqjIT7uUB 41XR6jyVlDoQzmqJ9rwlFbbiYDEmwcqUJRxdkKMGTVFPECp8QTb/4A/UA+1mqbTW enx71NQyKTLVVqgvvDehzSTueOn+y20cP9J1X0Lf8aK3q0+5shlJA== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4gbq3r0u5n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 31 Aug 2026 11:18:26 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 67VBDJpx009229; Mon, 31 Aug 2026 11:18:24 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4gca4vwm70-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 31 Aug 2026 11:18:24 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 67VBIK7l43647394 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 31 Aug 2026 11:18:20 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 84C982004B; Mon, 31 Aug 2026 11:18:20 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1A5FE20040; Mon, 31 Aug 2026 11:18:17 +0000 (GMT) Received: from li-fc74f8cc-3279-11b2-a85c-ef5828687581.bl1-in.ibm.com (unknown [9.123.14.23]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 31 Aug 2026 11:18:16 +0000 (GMT) From: Srish Srinivasan To: linux-integrity@vger.kernel.org, keyrings@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Cc: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu, James.Bottomley@HansenPartnership.com, jarkko@kernel.org, zohar@linux.ibm.com, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, nayna@linux.ibm.com, rnsastry@linux.ibm.com, ssrish@linux.ibm.com Subject: [PATCH v2 10/10] pseries/plpks/wrapkey: expose PKWM wrapping key management to userspace via sysfs Date: Mon, 31 Aug 2026 16:47:38 +0530 Message-ID: <20260831111738.334857-11-ssrish@linux.ibm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260831111738.334857-1-ssrish@linux.ibm.com> References: <20260831111738.334857-1-ssrish@linux.ibm.com> X-Mailing-List: linuxppc-dev@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Archive: , List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Authority-Analysis: v=2.4 cv=EIc2FVZC c=1 sm=1 tr=0 ts=6a956302 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=uAbxVGIbfxUO_5tXvNgY:22 a=VnNF1IyMAAAA:8 a=Dm_dBKYgswZ8qGTShzQA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODMxMDA5NSBTYWx0ZWRfX2YNL3EVLouxl XR2WGRQc+yR2GEbM3J7RK6IFQG5g+0aJ0nV5vUXk9hWBqosb2A1arImg6OIb198mpU+92A6t7dr 5uGQd4dQRomwhoI4SMhjtkGT+4qv7lUD8wUVGg0rsSTTuDtvbmSOUjeZCngt1VPeNIxKUZbf0oE ulmcdNQx9Vlj3jd9E8TGIeDY30GNN92AhDLdIGwj5wYF80LeuVD2jgvgj1ugYP4kNwgeLcqu63L RlY2aI/2KYiBiE61JNsHz0Uv7HXANsmikgyvqp3oDXpwlsR4qsx82XK7+11Jj4qTdbbQ6inMg+y 8ozNoknIoO3Qd96x9wYemG5jdp6jbTMNDYQsj9og3vSW5Zb1PWyrNbSKg0tN7ETUAfhqEQbWKc5 Qz/Ngt6JgsYzl3/4PPeu6UeKsZGtw2CtUHciUkXqVr6aCMyDHCxwdb/u9+HvOoS8Y8GsS6vBJyb cr3IYwTfD+ZbKXH/g4Q== X-Proofpoint-GUID: MZlLMXRx8YKdNevQ7_6ZVtAPk9HhWKVA X-Proofpoint-ORIG-GUID: DO4jeSZR9VSEdFr0w5xkxAionaX9dyzJ X-Proofpoint-Spam-Info: AW1haW4tMjYwODMxMDA5NSBTYWx0ZWRfX2M6FRrZTKKwN Ga28OrVAI3u6LwdRPrWBb83L2r8BYYln8QUfJwAVQJ5eneVt/ZJAXJXcKQ0311ZHuMcHwTGCBeQ jjZ7+hGKTbgnfYRuMwwS2/Ju6PUpeHI= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-31_03,2026-08-27_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 phishscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608310095 The PKWM trusted source currently uses a single default wrapping key created during initialization. However, PKWM also supports user-created wrapping keys for better isolation between trusted keys. Expose wrapping key lifecycle operations through sysfs to allow users to create and manage their own wrapping keys. Create a sysfs interface at /sys/firmware/plpks/wrapkey with the following attributes: create - Create a new wrapping key with a user-provided label delete - Delete a revoked wrapping key by label revoke - Revoke a wrapping key by label unrevoke - Unrevoke a previously revoked wrapping key by label list_active - List labels of all active (non-revoked) wrapping keys list_revoked - List labels of all revoked wrapping keys User-provided labels are validated to contain only alphanumeric characters. Wrapping key lifecycle constraints: - A wrapping key must be revoked before it can be deleted - Revoked wrapping keys cannot be used for wrap operations until unrevoked - The default wrapping key cannot be revoked or deleted; it always appears in list_active The wrapping keys themselves are confidential objects stored in PLPKS. Only the user-provided labels are exposed to userspace for identification and management purposes. These user-created wrapping keys can be used in seal/unseal operations via the wrapping_key=