Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: crct10dif - remove from crypto API

Remove the "crct10dif" shash algorithm from the crypto API. It has no
known user now that the lib is no longer built on top of it. It has no
remaining references in kernel code. The only other potential users
would be the usual components that allow specifying arbitrary hash
algorithms by name, namely AF_ALG and dm-integrity. However there are
no indications that "crct10dif" is being used with these components.
Debian Code Search and web searches don't find anything relevant, and
explicitly grepping the source code of the usual suspects (cryptsetup,
libell, iwd) finds no matches either. "crc32" and "crc32c" are used in
a few more places, but that doesn't seem to be the case for "crct10dif".

crc_t10dif_update() is also tested by crc_kunit now, so the test
coverage provided via the crypto self-tests is no longer needed.

Also note that the "crct10dif" shash algorithm was inconsistent with the
rest of the shash API in that it wrote the digest in CPU endianness,
making the resulting byte array differ on little endian vs. big endian
platforms. This means it was effectively just built for use by the lib
functions, and it was not actually correct to treat it as "just another
hash function" that could be dropped in via the shash API.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20250206173857.39794-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>

-489
-1
arch/mips/configs/decstation_64_defconfig
··· 180 180 CONFIG_CRYPTO_CMAC=m 181 181 CONFIG_CRYPTO_XCBC=m 182 182 CONFIG_CRYPTO_CRC32=m 183 - CONFIG_CRYPTO_CRCT10DIF=m 184 183 CONFIG_CRYPTO_MD4=m 185 184 CONFIG_CRYPTO_MICHAEL_MIC=m 186 185 CONFIG_CRYPTO_RMD160=m
-1
arch/mips/configs/decstation_defconfig
··· 175 175 CONFIG_CRYPTO_CMAC=m 176 176 CONFIG_CRYPTO_XCBC=m 177 177 CONFIG_CRYPTO_CRC32=m 178 - CONFIG_CRYPTO_CRCT10DIF=m 179 178 CONFIG_CRYPTO_MD4=m 180 179 CONFIG_CRYPTO_MICHAEL_MIC=m 181 180 CONFIG_CRYPTO_RMD160=m
-1
arch/mips/configs/decstation_r4k_defconfig
··· 175 175 CONFIG_CRYPTO_CMAC=m 176 176 CONFIG_CRYPTO_XCBC=m 177 177 CONFIG_CRYPTO_CRC32=m 178 - CONFIG_CRYPTO_CRCT10DIF=m 179 178 CONFIG_CRYPTO_MD4=m 180 179 CONFIG_CRYPTO_MICHAEL_MIC=m 181 180 CONFIG_CRYPTO_RMD160=m
-9
crypto/Kconfig
··· 1081 1081 1082 1082 Used by RoCEv2 and f2fs. 1083 1083 1084 - config CRYPTO_CRCT10DIF 1085 - tristate "CRCT10DIF" 1086 - select CRYPTO_HASH 1087 - select CRC_T10DIF 1088 - help 1089 - CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF) 1090 - 1091 - CRC algorithm used by the SCSI Block Commands standard. 1092 - 1093 1084 endmenu 1094 1085 1095 1086 menu "Compression"
-2
crypto/Makefile
··· 155 155 obj-$(CONFIG_CRYPTO_CRC32) += crc32_generic.o 156 156 CFLAGS_crc32c_generic.o += -DARCH=$(ARCH) 157 157 CFLAGS_crc32_generic.o += -DARCH=$(ARCH) 158 - obj-$(CONFIG_CRYPTO_CRCT10DIF) += crct10dif_generic.o 159 - CFLAGS_crct10dif_generic.o += -DARCH=$(ARCH) 160 158 obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o authencesn.o 161 159 obj-$(CONFIG_CRYPTO_LZO) += lzo.o lzo-rle.o 162 160 obj-$(CONFIG_CRYPTO_LZ4) += lz4.o
-168
crypto/crct10dif_generic.c
··· 1 - /* 2 - * Cryptographic API. 3 - * 4 - * T10 Data Integrity Field CRC16 Crypto Transform 5 - * 6 - * Copyright (c) 2007 Oracle Corporation. All rights reserved. 7 - * Written by Martin K. Petersen <martin.petersen@oracle.com> 8 - * Copyright (C) 2013 Intel Corporation 9 - * Author: Tim Chen <tim.c.chen@linux.intel.com> 10 - * 11 - * This program is free software; you can redistribute it and/or modify it 12 - * under the terms of the GNU General Public License as published by the Free 13 - * Software Foundation; either version 2 of the License, or (at your option) 14 - * any later version. 15 - * 16 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 20 - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 21 - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 - * SOFTWARE. 24 - * 25 - */ 26 - 27 - #include <linux/module.h> 28 - #include <linux/crc-t10dif.h> 29 - #include <crypto/internal/hash.h> 30 - #include <linux/init.h> 31 - #include <linux/kernel.h> 32 - 33 - struct chksum_desc_ctx { 34 - __u16 crc; 35 - }; 36 - 37 - /* 38 - * Steps through buffer one byte at a time, calculates reflected 39 - * crc using table. 40 - */ 41 - 42 - static int chksum_init(struct shash_desc *desc) 43 - { 44 - struct chksum_desc_ctx *ctx = shash_desc_ctx(desc); 45 - 46 - ctx->crc = 0; 47 - 48 - return 0; 49 - } 50 - 51 - static int chksum_update(struct shash_desc *desc, const u8 *data, 52 - unsigned int length) 53 - { 54 - struct chksum_desc_ctx *ctx = shash_desc_ctx(desc); 55 - 56 - ctx->crc = crc_t10dif_generic(ctx->crc, data, length); 57 - return 0; 58 - } 59 - 60 - static int chksum_update_arch(struct shash_desc *desc, const u8 *data, 61 - unsigned int length) 62 - { 63 - struct chksum_desc_ctx *ctx = shash_desc_ctx(desc); 64 - 65 - ctx->crc = crc_t10dif_update(ctx->crc, data, length); 66 - return 0; 67 - } 68 - 69 - static int chksum_final(struct shash_desc *desc, u8 *out) 70 - { 71 - struct chksum_desc_ctx *ctx = shash_desc_ctx(desc); 72 - 73 - *(__u16 *)out = ctx->crc; 74 - return 0; 75 - } 76 - 77 - static int __chksum_finup(__u16 crc, const u8 *data, unsigned int len, u8 *out) 78 - { 79 - *(__u16 *)out = crc_t10dif_generic(crc, data, len); 80 - return 0; 81 - } 82 - 83 - static int __chksum_finup_arch(__u16 crc, const u8 *data, unsigned int len, 84 - u8 *out) 85 - { 86 - *(__u16 *)out = crc_t10dif_update(crc, data, len); 87 - return 0; 88 - } 89 - 90 - static int chksum_finup(struct shash_desc *desc, const u8 *data, 91 - unsigned int len, u8 *out) 92 - { 93 - struct chksum_desc_ctx *ctx = shash_desc_ctx(desc); 94 - 95 - return __chksum_finup(ctx->crc, data, len, out); 96 - } 97 - 98 - static int chksum_finup_arch(struct shash_desc *desc, const u8 *data, 99 - unsigned int len, u8 *out) 100 - { 101 - struct chksum_desc_ctx *ctx = shash_desc_ctx(desc); 102 - 103 - return __chksum_finup_arch(ctx->crc, data, len, out); 104 - } 105 - 106 - static int chksum_digest(struct shash_desc *desc, const u8 *data, 107 - unsigned int length, u8 *out) 108 - { 109 - return __chksum_finup(0, data, length, out); 110 - } 111 - 112 - static int chksum_digest_arch(struct shash_desc *desc, const u8 *data, 113 - unsigned int length, u8 *out) 114 - { 115 - return __chksum_finup_arch(0, data, length, out); 116 - } 117 - 118 - static struct shash_alg algs[] = {{ 119 - .digestsize = CRC_T10DIF_DIGEST_SIZE, 120 - .init = chksum_init, 121 - .update = chksum_update, 122 - .final = chksum_final, 123 - .finup = chksum_finup, 124 - .digest = chksum_digest, 125 - .descsize = sizeof(struct chksum_desc_ctx), 126 - .base.cra_name = "crct10dif", 127 - .base.cra_driver_name = "crct10dif-generic", 128 - .base.cra_priority = 100, 129 - .base.cra_blocksize = CRC_T10DIF_BLOCK_SIZE, 130 - .base.cra_module = THIS_MODULE, 131 - }, { 132 - .digestsize = CRC_T10DIF_DIGEST_SIZE, 133 - .init = chksum_init, 134 - .update = chksum_update_arch, 135 - .final = chksum_final, 136 - .finup = chksum_finup_arch, 137 - .digest = chksum_digest_arch, 138 - .descsize = sizeof(struct chksum_desc_ctx), 139 - .base.cra_name = "crct10dif", 140 - .base.cra_driver_name = "crct10dif-" __stringify(ARCH), 141 - .base.cra_priority = 150, 142 - .base.cra_blocksize = CRC_T10DIF_BLOCK_SIZE, 143 - .base.cra_module = THIS_MODULE, 144 - }}; 145 - 146 - static int num_algs; 147 - 148 - static int __init crct10dif_mod_init(void) 149 - { 150 - /* register the arch flavor only if it differs from the generic one */ 151 - num_algs = 1 + crc_t10dif_is_optimized(); 152 - 153 - return crypto_register_shashes(algs, num_algs); 154 - } 155 - 156 - static void __exit crct10dif_mod_fini(void) 157 - { 158 - crypto_unregister_shashes(algs, num_algs); 159 - } 160 - 161 - subsys_initcall(crct10dif_mod_init); 162 - module_exit(crct10dif_mod_fini); 163 - 164 - MODULE_AUTHOR("Tim Chen <tim.c.chen@linux.intel.com>"); 165 - MODULE_DESCRIPTION("T10 DIF CRC calculation."); 166 - MODULE_LICENSE("GPL"); 167 - MODULE_ALIAS_CRYPTO("crct10dif"); 168 - MODULE_ALIAS_CRYPTO("crct10dif-generic");
-8
crypto/tcrypt.c
··· 1654 1654 ret = min(ret, tcrypt_test("ghash")); 1655 1655 break; 1656 1656 1657 - case 47: 1658 - ret = min(ret, tcrypt_test("crct10dif")); 1659 - break; 1660 - 1661 1657 case 48: 1662 1658 ret = min(ret, tcrypt_test("sha3-224")); 1663 1659 break; ··· 2266 2270 fallthrough; 2267 2271 case 319: 2268 2272 test_hash_speed("crc32c", sec, generic_hash_speed_template); 2269 - if (mode > 300 && mode < 400) break; 2270 - fallthrough; 2271 - case 320: 2272 - test_hash_speed("crct10dif", sec, generic_hash_speed_template); 2273 2273 if (mode > 300 && mode < 400) break; 2274 2274 fallthrough; 2275 2275 case 321:
-7
crypto/testmgr.c
··· 4760 4760 .hash = __VECS(crc32c_tv_template) 4761 4761 } 4762 4762 }, { 4763 - .alg = "crct10dif", 4764 - .test = alg_test_hash, 4765 - .fips_allowed = 1, 4766 - .suite = { 4767 - .hash = __VECS(crct10dif_tv_template) 4768 - } 4769 - }, { 4770 4763 .alg = "ctr(aes)", 4771 4764 .test = alg_test_skcipher, 4772 4765 .fips_allowed = 1,
-288
crypto/testmgr.h
··· 6017 6017 } 6018 6018 }; 6019 6019 6020 - static const struct hash_testvec crct10dif_tv_template[] = { 6021 - { 6022 - .plaintext = "abc", 6023 - .psize = 3, 6024 - .digest = (u8 *)(u16 []){ 0x443b }, 6025 - }, { 6026 - .plaintext = "1234567890123456789012345678901234567890" 6027 - "123456789012345678901234567890123456789", 6028 - .psize = 79, 6029 - .digest = (u8 *)(u16 []){ 0x4b70 }, 6030 - }, { 6031 - .plaintext = "abcdddddddddddddddddddddddddddddddddddddddd" 6032 - "ddddddddddddd", 6033 - .psize = 56, 6034 - .digest = (u8 *)(u16 []){ 0x9ce3 }, 6035 - }, { 6036 - .plaintext = "1234567890123456789012345678901234567890" 6037 - "1234567890123456789012345678901234567890" 6038 - "1234567890123456789012345678901234567890" 6039 - "1234567890123456789012345678901234567890" 6040 - "1234567890123456789012345678901234567890" 6041 - "1234567890123456789012345678901234567890" 6042 - "1234567890123456789012345678901234567890" 6043 - "123456789012345678901234567890123456789", 6044 - .psize = 319, 6045 - .digest = (u8 *)(u16 []){ 0x44c6 }, 6046 - }, { 6047 - .plaintext = "\x6e\x05\x79\x10\xa7\x1b\xb2\x49" 6048 - "\xe0\x54\xeb\x82\x19\x8d\x24\xbb" 6049 - "\x2f\xc6\x5d\xf4\x68\xff\x96\x0a" 6050 - "\xa1\x38\xcf\x43\xda\x71\x08\x7c" 6051 - "\x13\xaa\x1e\xb5\x4c\xe3\x57\xee" 6052 - "\x85\x1c\x90\x27\xbe\x32\xc9\x60" 6053 - "\xf7\x6b\x02\x99\x0d\xa4\x3b\xd2" 6054 - "\x46\xdd\x74\x0b\x7f\x16\xad\x21" 6055 - "\xb8\x4f\xe6\x5a\xf1\x88\x1f\x93" 6056 - "\x2a\xc1\x35\xcc\x63\xfa\x6e\x05" 6057 - "\x9c\x10\xa7\x3e\xd5\x49\xe0\x77" 6058 - "\x0e\x82\x19\xb0\x24\xbb\x52\xe9" 6059 - "\x5d\xf4\x8b\x22\x96\x2d\xc4\x38" 6060 - "\xcf\x66\xfd\x71\x08\x9f\x13\xaa" 6061 - "\x41\xd8\x4c\xe3\x7a\x11\x85\x1c" 6062 - "\xb3\x27\xbe\x55\xec\x60\xf7\x8e" 6063 - "\x02\x99\x30\xc7\x3b\xd2\x69\x00" 6064 - "\x74\x0b\xa2\x16\xad\x44\xdb\x4f" 6065 - "\xe6\x7d\x14\x88\x1f\xb6\x2a\xc1" 6066 - "\x58\xef\x63\xfa\x91\x05\x9c\x33" 6067 - "\xca\x3e\xd5\x6c\x03\x77\x0e\xa5" 6068 - "\x19\xb0\x47\xde\x52\xe9\x80\x17" 6069 - "\x8b\x22\xb9\x2d\xc4\x5b\xf2\x66" 6070 - "\xfd\x94\x08\x9f\x36\xcd\x41\xd8" 6071 - "\x6f\x06\x7a\x11\xa8\x1c\xb3\x4a" 6072 - "\xe1\x55\xec\x83\x1a\x8e\x25\xbc" 6073 - "\x30\xc7\x5e\xf5\x69\x00\x97\x0b" 6074 - "\xa2\x39\xd0\x44\xdb\x72\x09\x7d" 6075 - "\x14\xab\x1f\xb6\x4d\xe4\x58\xef" 6076 - "\x86\x1d\x91\x28\xbf\x33\xca\x61" 6077 - "\xf8\x6c\x03\x9a\x0e\xa5\x3c\xd3" 6078 - "\x47\xde\x75\x0c\x80\x17\xae\x22" 6079 - "\xb9\x50\xe7\x5b\xf2\x89\x20\x94" 6080 - "\x2b\xc2\x36\xcd\x64\xfb\x6f\x06" 6081 - "\x9d\x11\xa8\x3f\xd6\x4a\xe1\x78" 6082 - "\x0f\x83\x1a\xb1\x25\xbc\x53\xea" 6083 - "\x5e\xf5\x8c\x00\x97\x2e\xc5\x39" 6084 - "\xd0\x67\xfe\x72\x09\xa0\x14\xab" 6085 - "\x42\xd9\x4d\xe4\x7b\x12\x86\x1d" 6086 - "\xb4\x28\xbf\x56\xed\x61\xf8\x8f" 6087 - "\x03\x9a\x31\xc8\x3c\xd3\x6a\x01" 6088 - "\x75\x0c\xa3\x17\xae\x45\xdc\x50" 6089 - "\xe7\x7e\x15\x89\x20\xb7\x2b\xc2" 6090 - "\x59\xf0\x64\xfb\x92\x06\x9d\x34" 6091 - "\xcb\x3f\xd6\x6d\x04\x78\x0f\xa6" 6092 - "\x1a\xb1\x48\xdf\x53\xea\x81\x18" 6093 - "\x8c\x23\xba\x2e\xc5\x5c\xf3\x67" 6094 - "\xfe\x95\x09\xa0\x37\xce\x42\xd9" 6095 - "\x70\x07\x7b\x12\xa9\x1d\xb4\x4b" 6096 - "\xe2\x56\xed\x84\x1b\x8f\x26\xbd" 6097 - "\x31\xc8\x5f\xf6\x6a\x01\x98\x0c" 6098 - "\xa3\x3a\xd1\x45\xdc\x73\x0a\x7e" 6099 - "\x15\xac\x20\xb7\x4e\xe5\x59\xf0" 6100 - "\x87\x1e\x92\x29\xc0\x34\xcb\x62" 6101 - "\xf9\x6d\x04\x9b\x0f\xa6\x3d\xd4" 6102 - "\x48\xdf\x76\x0d\x81\x18\xaf\x23" 6103 - "\xba\x51\xe8\x5c\xf3\x8a\x21\x95" 6104 - "\x2c\xc3\x37\xce\x65\xfc\x70\x07" 6105 - "\x9e\x12\xa9\x40\xd7\x4b\xe2\x79" 6106 - "\x10\x84\x1b\xb2\x26\xbd\x54\xeb" 6107 - "\x5f\xf6\x8d\x01\x98\x2f\xc6\x3a" 6108 - "\xd1\x68\xff\x73\x0a\xa1\x15\xac" 6109 - "\x43\xda\x4e\xe5\x7c\x13\x87\x1e" 6110 - "\xb5\x29\xc0\x57\xee\x62\xf9\x90" 6111 - "\x04\x9b\x32\xc9\x3d\xd4\x6b\x02" 6112 - "\x76\x0d\xa4\x18\xaf\x46\xdd\x51" 6113 - "\xe8\x7f\x16\x8a\x21\xb8\x2c\xc3" 6114 - "\x5a\xf1\x65\xfc\x93\x07\x9e\x35" 6115 - "\xcc\x40\xd7\x6e\x05\x79\x10\xa7" 6116 - "\x1b\xb2\x49\xe0\x54\xeb\x82\x19" 6117 - "\x8d\x24\xbb\x2f\xc6\x5d\xf4\x68" 6118 - "\xff\x96\x0a\xa1\x38\xcf\x43\xda" 6119 - "\x71\x08\x7c\x13\xaa\x1e\xb5\x4c" 6120 - "\xe3\x57\xee\x85\x1c\x90\x27\xbe" 6121 - "\x32\xc9\x60\xf7\x6b\x02\x99\x0d" 6122 - "\xa4\x3b\xd2\x46\xdd\x74\x0b\x7f" 6123 - "\x16\xad\x21\xb8\x4f\xe6\x5a\xf1" 6124 - "\x88\x1f\x93\x2a\xc1\x35\xcc\x63" 6125 - "\xfa\x6e\x05\x9c\x10\xa7\x3e\xd5" 6126 - "\x49\xe0\x77\x0e\x82\x19\xb0\x24" 6127 - "\xbb\x52\xe9\x5d\xf4\x8b\x22\x96" 6128 - "\x2d\xc4\x38\xcf\x66\xfd\x71\x08" 6129 - "\x9f\x13\xaa\x41\xd8\x4c\xe3\x7a" 6130 - "\x11\x85\x1c\xb3\x27\xbe\x55\xec" 6131 - "\x60\xf7\x8e\x02\x99\x30\xc7\x3b" 6132 - "\xd2\x69\x00\x74\x0b\xa2\x16\xad" 6133 - "\x44\xdb\x4f\xe6\x7d\x14\x88\x1f" 6134 - "\xb6\x2a\xc1\x58\xef\x63\xfa\x91" 6135 - "\x05\x9c\x33\xca\x3e\xd5\x6c\x03" 6136 - "\x77\x0e\xa5\x19\xb0\x47\xde\x52" 6137 - "\xe9\x80\x17\x8b\x22\xb9\x2d\xc4" 6138 - "\x5b\xf2\x66\xfd\x94\x08\x9f\x36" 6139 - "\xcd\x41\xd8\x6f\x06\x7a\x11\xa8" 6140 - "\x1c\xb3\x4a\xe1\x55\xec\x83\x1a" 6141 - "\x8e\x25\xbc\x30\xc7\x5e\xf5\x69" 6142 - "\x00\x97\x0b\xa2\x39\xd0\x44\xdb" 6143 - "\x72\x09\x7d\x14\xab\x1f\xb6\x4d" 6144 - "\xe4\x58\xef\x86\x1d\x91\x28\xbf" 6145 - "\x33\xca\x61\xf8\x6c\x03\x9a\x0e" 6146 - "\xa5\x3c\xd3\x47\xde\x75\x0c\x80" 6147 - "\x17\xae\x22\xb9\x50\xe7\x5b\xf2" 6148 - "\x89\x20\x94\x2b\xc2\x36\xcd\x64" 6149 - "\xfb\x6f\x06\x9d\x11\xa8\x3f\xd6" 6150 - "\x4a\xe1\x78\x0f\x83\x1a\xb1\x25" 6151 - "\xbc\x53\xea\x5e\xf5\x8c\x00\x97" 6152 - "\x2e\xc5\x39\xd0\x67\xfe\x72\x09" 6153 - "\xa0\x14\xab\x42\xd9\x4d\xe4\x7b" 6154 - "\x12\x86\x1d\xb4\x28\xbf\x56\xed" 6155 - "\x61\xf8\x8f\x03\x9a\x31\xc8\x3c" 6156 - "\xd3\x6a\x01\x75\x0c\xa3\x17\xae" 6157 - "\x45\xdc\x50\xe7\x7e\x15\x89\x20" 6158 - "\xb7\x2b\xc2\x59\xf0\x64\xfb\x92" 6159 - "\x06\x9d\x34\xcb\x3f\xd6\x6d\x04" 6160 - "\x78\x0f\xa6\x1a\xb1\x48\xdf\x53" 6161 - "\xea\x81\x18\x8c\x23\xba\x2e\xc5" 6162 - "\x5c\xf3\x67\xfe\x95\x09\xa0\x37" 6163 - "\xce\x42\xd9\x70\x07\x7b\x12\xa9" 6164 - "\x1d\xb4\x4b\xe2\x56\xed\x84\x1b" 6165 - "\x8f\x26\xbd\x31\xc8\x5f\xf6\x6a" 6166 - "\x01\x98\x0c\xa3\x3a\xd1\x45\xdc" 6167 - "\x73\x0a\x7e\x15\xac\x20\xb7\x4e" 6168 - "\xe5\x59\xf0\x87\x1e\x92\x29\xc0" 6169 - "\x34\xcb\x62\xf9\x6d\x04\x9b\x0f" 6170 - "\xa6\x3d\xd4\x48\xdf\x76\x0d\x81" 6171 - "\x18\xaf\x23\xba\x51\xe8\x5c\xf3" 6172 - "\x8a\x21\x95\x2c\xc3\x37\xce\x65" 6173 - "\xfc\x70\x07\x9e\x12\xa9\x40\xd7" 6174 - "\x4b\xe2\x79\x10\x84\x1b\xb2\x26" 6175 - "\xbd\x54\xeb\x5f\xf6\x8d\x01\x98" 6176 - "\x2f\xc6\x3a\xd1\x68\xff\x73\x0a" 6177 - "\xa1\x15\xac\x43\xda\x4e\xe5\x7c" 6178 - "\x13\x87\x1e\xb5\x29\xc0\x57\xee" 6179 - "\x62\xf9\x90\x04\x9b\x32\xc9\x3d" 6180 - "\xd4\x6b\x02\x76\x0d\xa4\x18\xaf" 6181 - "\x46\xdd\x51\xe8\x7f\x16\x8a\x21" 6182 - "\xb8\x2c\xc3\x5a\xf1\x65\xfc\x93" 6183 - "\x07\x9e\x35\xcc\x40\xd7\x6e\x05" 6184 - "\x79\x10\xa7\x1b\xb2\x49\xe0\x54" 6185 - "\xeb\x82\x19\x8d\x24\xbb\x2f\xc6" 6186 - "\x5d\xf4\x68\xff\x96\x0a\xa1\x38" 6187 - "\xcf\x43\xda\x71\x08\x7c\x13\xaa" 6188 - "\x1e\xb5\x4c\xe3\x57\xee\x85\x1c" 6189 - "\x90\x27\xbe\x32\xc9\x60\xf7\x6b" 6190 - "\x02\x99\x0d\xa4\x3b\xd2\x46\xdd" 6191 - "\x74\x0b\x7f\x16\xad\x21\xb8\x4f" 6192 - "\xe6\x5a\xf1\x88\x1f\x93\x2a\xc1" 6193 - "\x35\xcc\x63\xfa\x6e\x05\x9c\x10" 6194 - "\xa7\x3e\xd5\x49\xe0\x77\x0e\x82" 6195 - "\x19\xb0\x24\xbb\x52\xe9\x5d\xf4" 6196 - "\x8b\x22\x96\x2d\xc4\x38\xcf\x66" 6197 - "\xfd\x71\x08\x9f\x13\xaa\x41\xd8" 6198 - "\x4c\xe3\x7a\x11\x85\x1c\xb3\x27" 6199 - "\xbe\x55\xec\x60\xf7\x8e\x02\x99" 6200 - "\x30\xc7\x3b\xd2\x69\x00\x74\x0b" 6201 - "\xa2\x16\xad\x44\xdb\x4f\xe6\x7d" 6202 - "\x14\x88\x1f\xb6\x2a\xc1\x58\xef" 6203 - "\x63\xfa\x91\x05\x9c\x33\xca\x3e" 6204 - "\xd5\x6c\x03\x77\x0e\xa5\x19\xb0" 6205 - "\x47\xde\x52\xe9\x80\x17\x8b\x22" 6206 - "\xb9\x2d\xc4\x5b\xf2\x66\xfd\x94" 6207 - "\x08\x9f\x36\xcd\x41\xd8\x6f\x06" 6208 - "\x7a\x11\xa8\x1c\xb3\x4a\xe1\x55" 6209 - "\xec\x83\x1a\x8e\x25\xbc\x30\xc7" 6210 - "\x5e\xf5\x69\x00\x97\x0b\xa2\x39" 6211 - "\xd0\x44\xdb\x72\x09\x7d\x14\xab" 6212 - "\x1f\xb6\x4d\xe4\x58\xef\x86\x1d" 6213 - "\x91\x28\xbf\x33\xca\x61\xf8\x6c" 6214 - "\x03\x9a\x0e\xa5\x3c\xd3\x47\xde" 6215 - "\x75\x0c\x80\x17\xae\x22\xb9\x50" 6216 - "\xe7\x5b\xf2\x89\x20\x94\x2b\xc2" 6217 - "\x36\xcd\x64\xfb\x6f\x06\x9d\x11" 6218 - "\xa8\x3f\xd6\x4a\xe1\x78\x0f\x83" 6219 - "\x1a\xb1\x25\xbc\x53\xea\x5e\xf5" 6220 - "\x8c\x00\x97\x2e\xc5\x39\xd0\x67" 6221 - "\xfe\x72\x09\xa0\x14\xab\x42\xd9" 6222 - "\x4d\xe4\x7b\x12\x86\x1d\xb4\x28" 6223 - "\xbf\x56\xed\x61\xf8\x8f\x03\x9a" 6224 - "\x31\xc8\x3c\xd3\x6a\x01\x75\x0c" 6225 - "\xa3\x17\xae\x45\xdc\x50\xe7\x7e" 6226 - "\x15\x89\x20\xb7\x2b\xc2\x59\xf0" 6227 - "\x64\xfb\x92\x06\x9d\x34\xcb\x3f" 6228 - "\xd6\x6d\x04\x78\x0f\xa6\x1a\xb1" 6229 - "\x48\xdf\x53\xea\x81\x18\x8c\x23" 6230 - "\xba\x2e\xc5\x5c\xf3\x67\xfe\x95" 6231 - "\x09\xa0\x37\xce\x42\xd9\x70\x07" 6232 - "\x7b\x12\xa9\x1d\xb4\x4b\xe2\x56" 6233 - "\xed\x84\x1b\x8f\x26\xbd\x31\xc8" 6234 - "\x5f\xf6\x6a\x01\x98\x0c\xa3\x3a" 6235 - "\xd1\x45\xdc\x73\x0a\x7e\x15\xac" 6236 - "\x20\xb7\x4e\xe5\x59\xf0\x87\x1e" 6237 - "\x92\x29\xc0\x34\xcb\x62\xf9\x6d" 6238 - "\x04\x9b\x0f\xa6\x3d\xd4\x48\xdf" 6239 - "\x76\x0d\x81\x18\xaf\x23\xba\x51" 6240 - "\xe8\x5c\xf3\x8a\x21\x95\x2c\xc3" 6241 - "\x37\xce\x65\xfc\x70\x07\x9e\x12" 6242 - "\xa9\x40\xd7\x4b\xe2\x79\x10\x84" 6243 - "\x1b\xb2\x26\xbd\x54\xeb\x5f\xf6" 6244 - "\x8d\x01\x98\x2f\xc6\x3a\xd1\x68" 6245 - "\xff\x73\x0a\xa1\x15\xac\x43\xda" 6246 - "\x4e\xe5\x7c\x13\x87\x1e\xb5\x29" 6247 - "\xc0\x57\xee\x62\xf9\x90\x04\x9b" 6248 - "\x32\xc9\x3d\xd4\x6b\x02\x76\x0d" 6249 - "\xa4\x18\xaf\x46\xdd\x51\xe8\x7f" 6250 - "\x16\x8a\x21\xb8\x2c\xc3\x5a\xf1" 6251 - "\x65\xfc\x93\x07\x9e\x35\xcc\x40" 6252 - "\xd7\x6e\x05\x79\x10\xa7\x1b\xb2" 6253 - "\x49\xe0\x54\xeb\x82\x19\x8d\x24" 6254 - "\xbb\x2f\xc6\x5d\xf4\x68\xff\x96" 6255 - "\x0a\xa1\x38\xcf\x43\xda\x71\x08" 6256 - "\x7c\x13\xaa\x1e\xb5\x4c\xe3\x57" 6257 - "\xee\x85\x1c\x90\x27\xbe\x32\xc9" 6258 - "\x60\xf7\x6b\x02\x99\x0d\xa4\x3b" 6259 - "\xd2\x46\xdd\x74\x0b\x7f\x16\xad" 6260 - "\x21\xb8\x4f\xe6\x5a\xf1\x88\x1f" 6261 - "\x93\x2a\xc1\x35\xcc\x63\xfa\x6e" 6262 - "\x05\x9c\x10\xa7\x3e\xd5\x49\xe0" 6263 - "\x77\x0e\x82\x19\xb0\x24\xbb\x52" 6264 - "\xe9\x5d\xf4\x8b\x22\x96\x2d\xc4" 6265 - "\x38\xcf\x66\xfd\x71\x08\x9f\x13" 6266 - "\xaa\x41\xd8\x4c\xe3\x7a\x11\x85" 6267 - "\x1c\xb3\x27\xbe\x55\xec\x60\xf7" 6268 - "\x8e\x02\x99\x30\xc7\x3b\xd2\x69" 6269 - "\x00\x74\x0b\xa2\x16\xad\x44\xdb" 6270 - "\x4f\xe6\x7d\x14\x88\x1f\xb6\x2a" 6271 - "\xc1\x58\xef\x63\xfa\x91\x05\x9c" 6272 - "\x33\xca\x3e\xd5\x6c\x03\x77\x0e" 6273 - "\xa5\x19\xb0\x47\xde\x52\xe9\x80" 6274 - "\x17\x8b\x22\xb9\x2d\xc4\x5b\xf2" 6275 - "\x66\xfd\x94\x08\x9f\x36\xcd\x41" 6276 - "\xd8\x6f\x06\x7a\x11\xa8\x1c\xb3" 6277 - "\x4a\xe1\x55\xec\x83\x1a\x8e\x25" 6278 - "\xbc\x30\xc7\x5e\xf5\x69\x00\x97" 6279 - "\x0b\xa2\x39\xd0\x44\xdb\x72\x09" 6280 - "\x7d\x14\xab\x1f\xb6\x4d\xe4\x58" 6281 - "\xef\x86\x1d\x91\x28\xbf\x33\xca" 6282 - "\x61\xf8\x6c\x03\x9a\x0e\xa5\x3c" 6283 - "\xd3\x47\xde\x75\x0c\x80\x17\xae" 6284 - "\x22\xb9\x50\xe7\x5b\xf2\x89\x20" 6285 - "\x94\x2b\xc2\x36\xcd\x64\xfb\x6f" 6286 - "\x06\x9d\x11\xa8\x3f\xd6\x4a\xe1" 6287 - "\x78\x0f\x83\x1a\xb1\x25\xbc\x53" 6288 - "\xea\x5e\xf5\x8c\x00\x97\x2e\xc5" 6289 - "\x39\xd0\x67\xfe\x72\x09\xa0\x14" 6290 - "\xab\x42\xd9\x4d\xe4\x7b\x12\x86" 6291 - "\x1d\xb4\x28\xbf\x56\xed\x61\xf8" 6292 - "\x8f\x03\x9a\x31\xc8\x3c\xd3\x6a" 6293 - "\x01\x75\x0c\xa3\x17\xae\x45\xdc" 6294 - "\x50\xe7\x7e\x15\x89\x20\xb7\x2b" 6295 - "\xc2\x59\xf0\x64\xfb\x92\x06\x9d" 6296 - "\x34\xcb\x3f\xd6\x6d\x04\x78\x0f" 6297 - "\xa6\x1a\xb1\x48\xdf\x53\xea\x81" 6298 - "\x18\x8c\x23\xba\x2e\xc5\x5c\xf3" 6299 - "\x67\xfe\x95\x09\xa0\x37\xce\x42" 6300 - "\xd9\x70\x07\x7b\x12\xa9\x1d\xb4" 6301 - "\x4b\xe2\x56\xed\x84\x1b\x8f\x26" 6302 - "\xbd\x31\xc8\x5f\xf6\x6a\x01\x98", 6303 - .psize = 2048, 6304 - .digest = (u8 *)(u16 []){ 0x23ca }, 6305 - } 6306 - }; 6307 - 6308 6020 /* 6309 6021 * Streebog test vectors from RFC 6986 and GOST R 34.11-2012 6310 6022 */
-3
include/linux/crc-t10dif.h
··· 4 4 5 5 #include <linux/types.h> 6 6 7 - #define CRC_T10DIF_DIGEST_SIZE 2 8 - #define CRC_T10DIF_BLOCK_SIZE 1 9 - 10 7 u16 crc_t10dif_arch(u16 crc, const u8 *p, size_t len); 11 8 u16 crc_t10dif_generic(u16 crc, const u8 *p, size_t len); 12 9
-1
tools/testing/selftests/arm64/fp/kernel-test.c
··· 46 46 } 47 47 48 48 static char *drivers[] = { 49 - "crct10dif-arm64", 50 49 "sha1-ce", 51 50 "sha224-arm64", 52 51 "sha224-arm64-neon",