From: sashiko-bot@kernel.org
To: "Saravanakrishnan Krishnamoorthy" <skrishnamoorthy@rambus.com>
Cc: robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v2 17/19] Documentation: ioctl: add CMH ioctl documentation and register 'J'
Date: Thu, 09 Jul 2026 20:54:38 +0000 [thread overview]
Message-ID: <20260709205438.8B2051F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260709203037.1884436-18-skrishnamoorthy@rambus.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Introduction of a vendor-specific custom ioctl UAPI for standard cryptographic operations, with a stated plan to deprecate it later, violating the 'UAPI is forever' kernel principle.
- [Low] The documentation omits the C structure definitions for numerous PKE, PQC, and SM2 ioctl commands, rendering the UAPI reference incomplete.
--
--- Patch [17]: [PATCH v2 17/19] Documentation: ioctl: add CMH ioctl documentation and register 'J' ---
commit e840789907bd334a011304ecafd76c3e8f7309d6
Author: Alex Ousherovitch <aousherovitch@rambus.com>
Documentation: ioctl: add CMH ioctl documentation and register 'J'
This patch adds documentation for the CRI CryptoManager Hub (CMH) driver's
ioctl interface. It covers key management, KIC key derivation, PKE, PQC,
and SM2 operations, and registers the ioctl magic number 'J'.
> diff --git a/Documentation/userspace-api/ioctl/cmh_mgmt.rst b/Documentation/userspace-api/ioctl/cmh_mgmt.rst
> new file mode 100644
> index 0000000000000..b0968ba6b1533
> --- /dev/null
> +++ b/Documentation/userspace-api/ioctl/cmh_mgmt.rst
[ ... ]
> +RSA Operations
> +--------------
> +
> +CMH_IOCTL_PKE_RSA_ENC
> +~~~~~~~~~~~~~~~~~~~~~~
> +
> +RSA public-key encryption.
> +
> +:Direction: ``_IOWR``
> +:Number: 0x10
> +:Argument: ``struct cmh_ioctl_pke_rsa_enc``
> +
> +The public key (e, n) is passed as raw user-space buffers.
> +
[Severity: Low]
Is it intentional that the UAPI C structure definitions are omitted starting
here?
Unlike the earlier key management ioctls in this document, this section and
the following cryptographic operations (PKE, PQC, SM2) reference an argument
structure (such as struct cmh_ioctl_pke_rsa_enc) but do not provide its
layout.
Would it make sense to include the C structure definitions for these ioctls?
Having them in the documentation allows reviewers to easily verify ABI
details like padding and 32-bit/64-bit compatibility.
[ ... ]
> +Migration Plan
> +==============
> +
> +Several ioctl commands provide operations that may gain dedicated kernel
> +crypto API bindings in the future. When those APIs land, the driver will
> +register through them and the corresponding ioctls will be deprecated
> +(retained for backward compatibility but no longer the primary interface):
[Severity: High]
Could this proposed migration plan conflict with the kernel's guarantee that
userspace ABIs are permanent?
By introducing vendor-specific ioctls for standard cryptographic operations
with the explicit intent to deprecate them later, this establishes a
permanent, redundant custom crypto ABI that the kernel will have to
maintain indefinitely.
Should these operations be delayed until they can integrate with existing
kernel abstractions, or propose extensions to them, rather than implementing
temporary ioctl backdoors?
> +
> +- **EdDSA** (``CMH_IOCTL_PKE_EDDSA_*``): will migrate to the kernel ``sig``
> + API once ed25519/ed448 algorithm types are accepted upstream.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260709203037.1884436-1-skrishnamoorthy@rambus.com?part=17
next prev parent reply other threads:[~2026-07-09 20:54 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-09 20:30 [PATCH v2 00/19] crypto: cmh - add CRI CryptoManager Hub driver Saravanakrishnan Krishnamoorthy
2026-07-09 20:30 ` [PATCH v2 01/19] dt-bindings: crypto: add Rambus CryptoManager Hub Saravanakrishnan Krishnamoorthy
2026-07-09 20:38 ` sashiko-bot
2026-07-10 8:58 ` Conor Dooley
2026-07-10 23:14 ` Ousherovitch, Alex
2026-07-09 20:30 ` [PATCH v2 02/19] crypto: cmh - add core platform driver Saravanakrishnan Krishnamoorthy
2026-07-09 20:49 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 03/19] crypto: cmh - add key provisioning and management Saravanakrishnan Krishnamoorthy
2026-07-09 20:49 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 04/19] crypto: cmh - add SHA-2/SHA-3/SHAKE ahash Saravanakrishnan Krishnamoorthy
2026-07-09 20:45 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 05/19] crypto: cmh - add HMAC ahash Saravanakrishnan Krishnamoorthy
2026-07-09 20:42 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 06/19] crypto: cmh - add CSHAKE/KMAC ahash Saravanakrishnan Krishnamoorthy
2026-07-09 20:47 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 07/19] crypto: cmh - add SM3 ahash Saravanakrishnan Krishnamoorthy
2026-07-09 20:47 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 08/19] crypto: cmh - add AES skcipher/aead/cmac Saravanakrishnan Krishnamoorthy
2026-07-09 20:47 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 09/19] crypto: cmh - add SM4 skcipher/aead/cmac/xcbc Saravanakrishnan Krishnamoorthy
2026-07-09 20:49 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 10/19] crypto: cmh - add ChaCha20-Poly1305 Saravanakrishnan Krishnamoorthy
2026-07-09 20:46 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 11/19] crypto: cmh - add DRBG hwrng Saravanakrishnan Krishnamoorthy
2026-07-09 20:54 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 12/19] crypto: cmh - add RSA akcipher Saravanakrishnan Krishnamoorthy
2026-07-09 20:57 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 13/19] crypto: cmh - add ECDSA/SM2 sig Saravanakrishnan Krishnamoorthy
2026-07-09 21:04 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 14/19] crypto: cmh - add ECDH/X25519 kpp Saravanakrishnan Krishnamoorthy
2026-07-09 21:08 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 15/19] crypto: cmh - add ML-KEM/ML-DSA (QSE) Saravanakrishnan Krishnamoorthy
2026-07-09 21:03 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 16/19] crypto: cmh - add SLH-DSA/LMS/XMSS (HCQ) Saravanakrishnan Krishnamoorthy
2026-07-09 21:02 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 17/19] Documentation: ioctl: add CMH ioctl documentation and register 'J' Saravanakrishnan Krishnamoorthy
2026-07-09 20:54 ` sashiko-bot [this message]
2026-07-09 20:30 ` [PATCH v2 18/19] selftests: crypto: cmh - add kselftest for management ioctl Saravanakrishnan Krishnamoorthy
2026-07-09 20:54 ` sashiko-bot
2026-07-09 20:30 ` [PATCH v2 19/19] MAINTAINERS: add Rambus CryptoManager Hub (CMH) Saravanakrishnan Krishnamoorthy
2026-07-10 1:04 ` Randy Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260709205438.8B2051F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=skrishnamoorthy@rambus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox