From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793889912; b=PfGYu5SHQ9wtO3E/Y3hS9x/Yg12d0at62hnloKlZrTrl7F59W38+nAtfHe2a37k8iUXZ 1HwjZseBc9noY584c+Q4KdYFWNo9/jHPiQzpzFQ+zUAK3xKotUof7hvVv80H1ovbByG3H dTOCu4ZK2SRV0m/wUu95dBZF6OLfPzE7khgdhitcCHKa/LgSWtq4vXHoM0Dw0T2I9RCxm OkPIhI0myVhaaXNidSZ80XuGJiVS2k7RuztBKjNKKsx5xfBsIHvFx0U0t8WH0j0s5WbWa bOrOsp29nMltcCoS0WQY6cPeUaNyj4blClj/5YXLATUzMjDrLnt16YsHHY3ZLFO2mnQ== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793889912; h=DMARC-Filter:Received:DKIM-Signature:Received:Received:Received: Received:Received:Received:Received:From:To:Cc:Subject:Date: Message-ID:X-Mailer:In-Reply-To:References:MIME-Version: Content-Transfer-Encoding:X-TM-AS-GCONF:X-Proofpoint-Reinject: X-Authority-Analysis:X-Proofpoint-Spam-Info: X-Proofpoint-Spam-Details-Enc:X-Proofpoint-GUID: X-Proofpoint-ORIG-GUID:X-Proofpoint-Virus-Version: X-Proofpoint-Spam-Details; bh=6Rxw9HiSgkpL9Xv3I9/Uy35Ci5xnyrZqt2pTnz9VyNA=; b=rFsuX3lXVe2nX/WKhGbawoRFElD/+i07PWZ6hA6jJ3gr8PUvM6Gzgsp8YEx5vd0JTA/Y STrocMiRaX9wzmjitrY/Q/M06I8d7qaMP+nob/Ns0PYGoSDUtXMhG92tQvkf+SmRBnsry w7uZM0kOSpFyyhQjA0OQLmFhX1LK50DxZQmFIOIRNC0yrv4QR3vOiwDWt7Hpo5EgTA7mK 5C9R++l4uwuombPm82sEXTaXC/TAahejG7rbbObqxzKxKpn/59gDP+13/vlQnuV8NygOr BUGL9CNfNmtqaeilcXaTUTcLVapGc086Nsot7W7eRhmdMK/0sPAZHnnj9pWYBqAISYQ== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=Ppx3ddAi; arc=none smtp.remote-ip=148.163.158.5 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8855606A31B; Thu, 5 Nov 2026 14:45:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org E8855606A31B Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=Ppx3ddAi Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6A5EiM5F3799757; Thu, 5 Nov 2026 14:44:55 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=6Rxw9HiSgkpL9Xv3I 9/Uy35Ci5xnyrZqt2pTnz9VyNA=; b=Ppx3ddAi8BqEqDEM9TC13lZX7tUsx6ju2 VlI54QYD3siYYZfGkijH1j+68TYtfsfmYaw1bJsmpnNCXmCkSUEKu/eFU7vvZpWX aiYwD1vPGSMzwVMOmTz6V1avKyOInhiusQ+vNBzNIJDjAMCjrNKyLtHGxzon0IcM mdIRVSnOIfQrgDqKiHuMk0TiSK43hlfe8ENvCttgAT+86p4EQOnb9eg8xCvInyo8 z/GuVyKX2t4u9rlPP5LqsDhyzPjBPkavFDs3MquQ/yIBJHQQO4CZEIiwrB0aOybp aQaOgVU1qVXd9ks0yB+M7vDzeQiqa1w7kyQZJRr5fqzA2jlXi/s5A== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4hn7ysadwp-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 05 Nov 2026 14:44:54 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.11/8.18.1.11) with ESMTP id 6A5EZ4vf595079; Thu, 5 Nov 2026 14:44:53 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4hqsf5h3rx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 05 Nov 2026 14:44:53 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 6A5EioXF52429140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 5 Nov 2026 14:44:50 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id ED73F20065; Thu, 5 Nov 2026 14:44:49 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1B16D2005A; Thu, 5 Nov 2026 14:44:40 +0000 (GMT) Received: from li-fc74f8cc-3279-11b2-a85c-ef5828687581.ibm.com (unknown [9.67.70.234]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 5 Nov 2026 14:44:39 +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, ritesh.list@gmail.com, sshegde@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 v6 9/9] pseries/plpks/wrapkey: expose PKWM wrapping key management to userspace via sysfs Date: Thu, 5 Nov 2026 20:13:20 +0530 Message-ID: <20261105144320.357260-10-ssrish@linux.ibm.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261105144320.357260-1-ssrish@linux.ibm.com> References: <20261105144320.357260-1-ssrish@linux.ibm.com> X-Mailing-List: linux-security-module@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: 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=Mcr5KJ/f c=1 sm=1 tr=0 ts=6aec9666 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=zJRp6_cAMcgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=WJGtXZCqwsjrjzYZ0Y4A:9 X-Proofpoint-Spam-Info: AW1haW4tMjYxMTA1MDA1OCBTYWx0ZWRfX+iGtdSH4Xx+Y hAbwD+wz+5ip1fUpuT/L4fnTMAwhxoEDD7RZV++KnD+zW6i95LGmMLTuI4bF36pFf/uMtNQTO+I /XTGOD3PwecaSk2zUrB7fberbmsSik0= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMTA1MDA1OCBTYWx0ZWRfXxSjSV1laHbKx Sc5PBmPNlx3n/JV2e+3xYAWJJvDbnXtZq+q11Hq8P6XW3BafXzngT2DhqingMZpuAiHLApNffR7 WrjLIKx2rM/61g/fpwOo6Qsz+g5eApiN4MS73vG7ufuXhMClLRHHJJvECReyGx1+ha4VuzWhIzg 1OFV8j/463GtSJhObsYKbqZq/Qf5hO4mVjkDdtlo4DjrAp1u2Dw0mFxIs1jXgY3wyCznJgrVGId REshSB4Ob0XXeEx/biu6kjWkfEPnTBMkQM0KekeSH+nlObQ6vQy2IWAMmJDE25I7k5t7SpRA5XF RaSpWg4Dv90VKizxY+ZZoxlKlHzX0nvAvj1tBdhkGB/rT/C3qx71pxSQYukDTTMm12pvwDCNSqp RJQ6sIYnmdDYwdK+bck30mZvl5VcOwuLOsiNACcvPG0Kf3LO69qHMJStWxcEzQG5AUtNx1IFHYN 1bKlM8z4hKWzeK3Bhnw== X-Proofpoint-GUID: 7398lSLaY7g1FZPHLNTet4lGGxuYsyQy X-Proofpoint-ORIG-GUID: acL6PSFYCyiVDOkezJlQr4g1Jh_qgpoo X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.138,FMLib:17.12.100.49 definitions=2026-11-05_04,2026-11-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 impostorscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2610300000 definitions=main-2611050058 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 label "default-wrapping-key" is reserved for the default wrapping key and cannot be managed through this interface The wrapping keys themselves are confidential objects stored in PLPKS. Only their labels are exposed to userspace for identification and management purposes. These user-created wrapping keys can be used in seal operations via the wrapping_key=