patch "lib: sm3: fix coverity error" fixes a Coerity scan error, which is a good catch, as this part is from linux [1].
Running some hashes with this change and I see no problems, or wrong hashes [2] (Hashes calculated with the help of the webpage [3]. Patch 2 adds the missing documentation for the new sm3sum command which missed his way into mainline. Azure build: https://dev.azure.com/hs0298/hs/_build/results?buildId=197&view=results [1] https://elixir.bootlin.com/linux/v6.14/source/include/crypto/sm3_base.h#L86 [2] │ ├─[helios-uboot] tftpb ${tftpp}/abb1.txt │ │ ## ethernet@30bf0000 Waiting for PHY auto negotiation to complete....... done │ │ ## Using ethernet@30bf0000 device │ │ ## TFTP from server 192.168.3.1; our IP address is 192.168.3.41 │ │ ## Filename '20260106/abb1.txt'. │ │ ## Load address: 0x50000000 │ │ ## Loading: ################################################## 3 Bytes │ │ ## 0 Bytes/s │ │ ## done │ │ ## Bytes transferred = 3 (3 hex) │ ├─[helios-uboot] md.b ${loadaddr} ${filesize} │ │ ## 50000000: 41 42 42 ABB │ ├─[helios-uboot] sm3sum ${loadaddr} ${filesize} │ │ ## sm3_256 for 50000000 ... 50000002 ==> 2f2e2c6e076ebff98112d96081a9714d783eb6d8ea46a16fbfdc3b589f1c374b │ ├─[helios-uboot] tftpb ${tftpp}/abb2.txt │ │ ## Using ethernet@30bf0000 device │ │ ## TFTP from server 192.168.3.1; our IP address is 192.168.3.41 │ │ ## Filename '20260106/abb2.txt'. │ │ ## Load address: 0x50000000 │ │ ## Loading: ################################################## 52 Bytes │ │ ## 4.9 KiB/s │ │ ## done │ │ ## Bytes transferred = 52 (34 hex) │ ├─[helios-uboot] md.b ${loadaddr} ${filesize} │ │ ## 50000000: 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 ABCDEFGHIJKLMNOP │ │ ## 50000010: 51 52 53 54 55 56 57 58 59 5a 61 62 63 64 65 66 QRSTUVWXYZabcdef │ │ ## 50000020: 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 ghijklmnopqrstuv │ │ ## 50000030: 77 78 79 7a wxyz │ ├─[helios-uboot] sm3sum ${loadaddr} ${filesize} │ │ ## sm3_256 for 50000000 ... 50000033 ==> e5e13e8215fe8eff7dcfd9375f3c3ff0674bd979dcd192539afc3562d45f1a5e │ ├─[helios-uboot] tftpb ${tftpp}/abb3.txt │ │ ## Using ethernet@30bf0000 device │ │ ## TFTP from server 192.168.3.1; our IP address is 192.168.3.41 │ │ ## Filename '20260106/abb3.txt'. │ │ ## Load address: 0x50000000 │ │ ## Loading: ################################################## 510 Bytes │ │ ## 49.8 KiB/s │ │ ## done │ │ ## Bytes transferred = 510 (1fe hex) │ ├─[helios-uboot] md.b ${loadaddr} ${filesize} │ │ ## 50000000: 53 4d 33 20 69 73 20 61 20 63 72 79 70 74 6f 67 SM3 is a cryptog │ │ ## 50000010: 72 61 70 68 69 63 20 68 61 73 68 20 66 75 6e 63 raphic hash func │ │ ## 50000020: 74 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 tion published b │ │ ## 50000030: 79 20 74 68 65 20 53 74 61 74 65 20 43 72 79 70 y the State Cryp │ │ ## 50000040: 74 6f 67 72 61 70 68 79 20 41 64 6d 69 6e 69 73 tography Adminis │ │ ## 50000050: 74 72 61 74 69 6f 6e 20 6f 66 20 43 68 69 6e 61 tration of China │ │ ## 50000060: 20 61 6e 64 20 69 73 20 61 6c 73 6f 20 6b 6e 6f and is also kno │ │ ## 50000070: 77 6e 20 61 73 20 74 68 65 20 63 6f 6d 6d 65 72 wn as the commer │ │ ## 50000080: 63 69 61 6c 20 63 72 79 70 74 6f 67 72 61 70 68 cial cryptograph │ │ ## 50000090: 69 63 20 53 4d 33 20 61 6c 67 6f 72 69 74 68 6d ic SM3 algorithm │ │ ## 500000a0: 2e 20 54 68 65 20 22 53 4d 22 20 72 65 70 72 65 . The "SM" repre │ │ ## 500000b0: 73 65 6e 74 73 20 22 63 6f 6d 6d 65 72 63 69 61 sents "commercia │ │ ## 500000c0: 6c 20 63 72 79 70 74 6f 67 72 61 70 68 79 2c 22 l cryptography," │ │ ## 500000d0: 20 77 68 69 63 68 20 72 65 66 65 72 73 20 74 6f which refers to │ │ ## 500000e0: 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 20 74 cryptographic t │ │ ## 500000f0: 65 63 68 6e 6f 6c 6f 67 79 20 66 6f 72 20 63 6f echnology for co │ │ ## 50000100: 6d 6d 65 72 63 69 61 6c 20 75 73 65 20 74 68 61 mmercial use tha │ │ ## 50000110: 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 6f 6c t does not invol │ │ ## 50000120: 76 65 20 73 74 61 74 65 20 73 65 63 72 65 74 73 ve state secrets │ │ ## 50000130: 2e 20 49 74 20 69 73 20 62 61 73 65 64 20 6f 6e . It is based on │ │ ## 50000140: 20 74 68 65 20 65 6c 6c 69 70 74 69 63 20 63 75 the elliptic cu │ │ ## 50000150: 72 76 65 20 64 69 73 63 72 65 74 65 20 6c 6f 67 rve discrete log │ │ ## 50000160: 61 72 69 74 68 6d 20 70 72 6f 62 6c 65 6d 20 61 arithm problem a │ │ ## 50000170: 6e 64 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 nd is used to re │ │ ## 50000180: 70 6c 61 63 65 20 69 6e 73 65 63 75 72 65 20 68 place insecure h │ │ ## 50000190: 61 73 68 20 61 6c 67 6f 72 69 74 68 6d 73 20 73 ash algorithms s │ │ ## 500001a0: 75 63 68 20 61 73 20 4d 44 35 20 61 6e 64 20 53 uch as MD5 and S │ │ ## 500001b0: 48 41 2d 31 2e 20 54 68 65 20 6f 75 74 70 75 74 HA-1. The output │ │ ## 500001c0: 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 53 length of the S │ │ ## 500001d0: 4d 33 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 M3 algorithm is │ │ ## 500001e0: 32 35 36 20 62 69 74 73 2c 20 74 68 65 20 73 61 256 bits, the sa │ │ ## 500001f0: 6d 65 20 61 73 20 53 48 41 2d 32 35 36 2e me as SHA-256. │ ├─[helios-uboot] sm3sum ${loadaddr} ${filesize} │ │ ## sm3_256 for 50000000 ... 500001fd ==> 53ce46ca129071694bac8007680573d83b941ea156ce46d9cc45a648c1b7e291 │ ├─Entering interactive shell... │ ├─Press CTRL+] three times within 1 second to exit. u-boot=> [3] https://www.toolhelper.cn/en/DigestAlgorithm/SM3 Heiko Schocher (2): lib: sm3: fix coverity error doc_ cmd: add documentation for sm3sum doc/usage/cmd/sm3sum.rst | 117 +++++++++++++++++++++++++++++++++++++++ lib/sm3.c | 2 +- 2 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 doc/usage/cmd/sm3sum.rst -- 2.20.1 base-commit: c344087025a4c296468a1d5aeb61078a58baa59e

