All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@nabladev.com>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Heiko Schocher <hs@nabladev.com>,
	Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>,
	Andrew Goodbody <andrew.goodbody@linaro.org>,
	Arturs Artamonovs <arturs.artamonovs@analog.com>,
	Casey Connolly <casey.connolly@linaro.org>,
	Christoph Niedermaier <cniedermaier@dh-electronics.com>,
	Dinesh Maniyam <dinesh.maniyam@altera.com>,
	Greg Malysa <malysagreg@gmail.com>,
	Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Ibai Erkiaga <ibai.erkiaga-elorza@amd.com>,
	Jaehoon Chung <jh80.chung@samsung.com>,
	Jerome Forissier <jerome.forissier@linaro.org>,
	Marek Vasut <marek.vasut@mailbox.org>,
	Martin Schwan <m.schwan@phytec.de>,
	Mattijs Korpershoek <mkorpershoek@kernel.org>,
	Michal Simek <michal.simek@amd.com>,
	Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Nathan Barrett-Morrison <nathan.morrison@timesys.com>,
	Oliver Gaskell <Oliver.Gaskell@analog.com>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Paul Barker <paul.barker.ct@bp.renesas.com>,
	Peng Fan <peng.fan@nxp.com>,
	Peter Robinson <pbrobinson@gmail.com>,
	Philippe Reynes <philippe.reynes@softathome.com>,
	Raymond Mao <raymond.mao@linaro.org>,
	Sean Edmond <seanedmond@microsoft.com>,
	Simon Glass <sjg@chromium.org>,
	Stefan Roese <stefan.roese@mailbox.org>,
	Sumit Garg <sumit.garg@kernel.org>, Tom Rini <trini@konsulko.com>,
	Utsav Agarwal <utsav.agarwal@analog.com>,
	Vasileios Bimpikas <vasileios.bimpikas@analog.com>,
	Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>,
	Yao Zi <ziyao@disroot.org>, briansune <briansune@gmail.com>
Subject: [PATCH v2 0/5] Add support for SM3 secure hash
Date: Tue, 11 Nov 2025 06:48:07 +0100	[thread overview]
Message-ID: <20251111054813.1966-1-hs@nabladev.com> (raw)


Add SM3 secure hash, as specified by OSCCA GM/T 0004-2012 SM3 and described
at https://datatracker.ietf.org/doc/html/draft-sca-cfrg-sm3-02

TPMv2 defines hash algo sm3_256, which is currently
not supported and prevented TPMv2 chip with newer
firmware to work with U-Boot. Seen this on a ST33TPHF2XI2C

    u-boot=> tpm2 init
    u-boot=> tpm2 autostart
    tpm2_get_pcr_info: too many pcrs: 5
    Error: -90
    u-boot=>

Implement sm3 hash, so we can fix this problem.

Azure build:
https://dev.azure.com/hs0298/hs/_build/results?buildId=190&view=results

Changes in v2:
rebase to
6b27b688694: ("Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh")
add Ilias to Series-cc
add sm3_hash to header file, so we can use it.
add comments from Ilias
- use ARRAY_SIZE(hash_algo_list) instead of a fix number
  in tpm2_get_pcr_info() for the count of supported hashes
  in U-Boot.
- add SM3 hash in tpm_tcg2
Added Reviewed-by tag from Heinrich

Heiko Schocher (5):
  lib: Import rol32 function from Linux
  lib: implement sm3 256 hash
  test: cmd: hash: add unit test for sm3_256
  tpm2: add sm3 256 hash support
  test: cmd: fix a typo in md5 test

 MAINTAINERS            |   7 +
 boot/Kconfig           |   1 +
 cmd/Kconfig            |  15 ++
 cmd/Makefile           |   1 +
 cmd/sm3sum.c           |  48 +++++++
 cmd/tpm-v2.c           |   1 +
 common/hash.c          |  43 +++++-
 include/linux/bitops.h |  11 ++
 include/tpm-v2.h       |  12 ++
 include/u-boot/sm3.h   |  35 +++++
 lib/Kconfig            |   7 +
 lib/Makefile           |   1 +
 lib/sm3.c              | 313 +++++++++++++++++++++++++++++++++++++++++
 lib/tpm-v2.c           |   4 +-
 lib/tpm_tcg2.c         |   9 ++
 test/cmd/hash.c        |  48 ++++++-
 16 files changed, 552 insertions(+), 4 deletions(-)
 create mode 100644 cmd/sm3sum.c
 create mode 100644 include/u-boot/sm3.h
 create mode 100644 lib/sm3.c

-- 
2.20.1

base-commit: 9094482ca7576877b2bfaa57c8e73cfeb536f8b9

             reply	other threads:[~2025-11-11 13:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-11  5:48 Heiko Schocher [this message]
2025-11-11  5:48 ` [PATCH v2 1/5] lib: Import rol32 function from Linux Heiko Schocher
2025-11-11  9:07   ` Ilias Apalodimas
2025-11-11  5:48 ` [PATCH v2 2/5] lib: implement sm3 256 hash Heiko Schocher
2025-11-11  9:47   ` Ilias Apalodimas
2025-11-12  5:05     ` Heiko Schocher
2025-11-11  5:48 ` [PATCH v2 3/5] test: cmd: hash: add unit test for sm3_256 Heiko Schocher
2025-11-11  6:39   ` Heinrich Schuchardt
2025-11-12  4:44     ` Heiko Schocher
2025-11-11  5:48 ` [PATCH v2 4/5] tpm2: add sm3 256 hash support Heiko Schocher
2025-11-11  9:34   ` Ilias Apalodimas
2025-11-11  9:38     ` Ilias Apalodimas
2025-11-12  4:46     ` Heiko Schocher
2025-11-11  5:48 ` [PATCH v2 5/5] test: cmd: fix a typo in md5 test Heiko Schocher
2025-11-11  8:57   ` Ilias Apalodimas

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=20251111054813.1966-1-hs@nabladev.com \
    --to=hs@nabladev.com \
    --cc=Oliver.Gaskell@analog.com \
    --cc=alif.zakuan.yuslaimi@altera.com \
    --cc=andrew.goodbody@linaro.org \
    --cc=arturs.artamonovs@analog.com \
    --cc=briansune@gmail.com \
    --cc=casey.connolly@linaro.org \
    --cc=cniedermaier@dh-electronics.com \
    --cc=dinesh.maniyam@altera.com \
    --cc=ibai.erkiaga-elorza@amd.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jerome.forissier@linaro.org \
    --cc=jh80.chung@samsung.com \
    --cc=m.schwan@phytec.de \
    --cc=malysagreg@gmail.com \
    --cc=marek.vasut@mailbox.org \
    --cc=michal.simek@amd.com \
    --cc=mikhail.kshevetskiy@iopsys.eu \
    --cc=miquel.raynal@bootlin.com \
    --cc=mkorpershoek@kernel.org \
    --cc=nathan.morrison@timesys.com \
    --cc=patrice.chotard@foss.st.com \
    --cc=paul.barker.ct@bp.renesas.com \
    --cc=pbrobinson@gmail.com \
    --cc=peng.fan@nxp.com \
    --cc=philippe.reynes@softathome.com \
    --cc=raymond.mao@linaro.org \
    --cc=seanedmond@microsoft.com \
    --cc=sjg@chromium.org \
    --cc=stefan.roese@mailbox.org \
    --cc=sumit.garg@kernel.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=utsav.agarwal@analog.com \
    --cc=vasileios.bimpikas@analog.com \
    --cc=venkatesh.abbarapu@amd.com \
    --cc=xypron.glpk@gmx.de \
    --cc=ziyao@disroot.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.