From: kernel test robot <lkp@intel.com>
To: 'Guanjun' <guanjun@linux.alibaba.com>,
herbert@gondor.apana.org.au, elliott@hpe.com
Cc: oe-kbuild-all@lists.linux.dev, zelin.deng@linux.alibaba.com,
artie.ding@linux.alibaba.com, guanjun@linux.alibaba.com,
linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
xuchun.shang@linux.alibaba.com
Subject: Re: [PATCH v3 5/9] crypto/ycc: Add skcipher algorithm support
Date: Tue, 25 Oct 2022 23:06:48 +0800 [thread overview]
Message-ID: <202210252228.fA2Fr1Ob-lkp@intel.com> (raw)
In-Reply-To: <1666691616-69983-6-git-send-email-guanjun@linux.alibaba.com>
[-- Attachment #1: Type: text/plain, Size: 15770 bytes --]
Hi 'Guanjun',
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on herbert-cryptodev-2.6/master]
[also build test WARNING on herbert-crypto-2.6/master linus/master v6.1-rc2 next-20221025]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Guanjun/Drivers-for-Alibaba-YCC-Yitian-Cryptography-Complex-cryptographic-accelerator/20221025-180005
base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
patch link: https://lore.kernel.org/r/1666691616-69983-6-git-send-email-guanjun%40linux.alibaba.com
patch subject: [PATCH v3 5/9] crypto/ycc: Add skcipher algorithm support
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/085f9f4e861489eac45d22a53b0ef9ab669007a9
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Guanjun/Drivers-for-Alibaba-YCC-Yitian-Cryptography-Complex-cryptographic-accelerator/20221025-180005
git checkout 085f9f4e861489eac45d22a53b0ef9ab669007a9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/crypto/ycc/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/crypto/ycc/ycc_ske.c:41:5: warning: no previous prototype for 'ycc_skcipher_aes_ecb_setkey' [-Wmissing-prototypes]
41 | int ycc_skcipher_aes_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:107:1: note: in expansion of macro 'DEFINE_YCC_SKE_AES_SETKEY'
107 | DEFINE_YCC_SKE_AES_SETKEY(ecb, ECB, 32);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:41:5: warning: no previous prototype for 'ycc_skcipher_aes_cbc_setkey' [-Wmissing-prototypes]
41 | int ycc_skcipher_aes_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:108:1: note: in expansion of macro 'DEFINE_YCC_SKE_AES_SETKEY'
108 | DEFINE_YCC_SKE_AES_SETKEY(cbc, CBC, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:41:5: warning: no previous prototype for 'ycc_skcipher_aes_ctr_setkey' [-Wmissing-prototypes]
41 | int ycc_skcipher_aes_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:109:1: note: in expansion of macro 'DEFINE_YCC_SKE_AES_SETKEY'
109 | DEFINE_YCC_SKE_AES_SETKEY(ctr, CTR, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:41:5: warning: no previous prototype for 'ycc_skcipher_aes_cfb_setkey' [-Wmissing-prototypes]
41 | int ycc_skcipher_aes_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:110:1: note: in expansion of macro 'DEFINE_YCC_SKE_AES_SETKEY'
110 | DEFINE_YCC_SKE_AES_SETKEY(cfb, CFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:41:5: warning: no previous prototype for 'ycc_skcipher_aes_ofb_setkey' [-Wmissing-prototypes]
41 | int ycc_skcipher_aes_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:111:1: note: in expansion of macro 'DEFINE_YCC_SKE_AES_SETKEY'
111 | DEFINE_YCC_SKE_AES_SETKEY(ofb, OFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:63:5: warning: no previous prototype for 'ycc_skcipher_sm4_ecb_setkey' [-Wmissing-prototypes]
63 | int ycc_skcipher_sm4_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:113:1: note: in expansion of macro 'DEFINE_YCC_SKE_SM4_SETKEY'
113 | DEFINE_YCC_SKE_SM4_SETKEY(ecb, ECB, 32);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:63:5: warning: no previous prototype for 'ycc_skcipher_sm4_cbc_setkey' [-Wmissing-prototypes]
63 | int ycc_skcipher_sm4_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:114:1: note: in expansion of macro 'DEFINE_YCC_SKE_SM4_SETKEY'
114 | DEFINE_YCC_SKE_SM4_SETKEY(cbc, CBC, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:63:5: warning: no previous prototype for 'ycc_skcipher_sm4_ctr_setkey' [-Wmissing-prototypes]
63 | int ycc_skcipher_sm4_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:115:1: note: in expansion of macro 'DEFINE_YCC_SKE_SM4_SETKEY'
115 | DEFINE_YCC_SKE_SM4_SETKEY(ctr, CTR, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:63:5: warning: no previous prototype for 'ycc_skcipher_sm4_cfb_setkey' [-Wmissing-prototypes]
63 | int ycc_skcipher_sm4_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:116:1: note: in expansion of macro 'DEFINE_YCC_SKE_SM4_SETKEY'
116 | DEFINE_YCC_SKE_SM4_SETKEY(cfb, CFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:63:5: warning: no previous prototype for 'ycc_skcipher_sm4_ofb_setkey' [-Wmissing-prototypes]
63 | int ycc_skcipher_sm4_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:117:1: note: in expansion of macro 'DEFINE_YCC_SKE_SM4_SETKEY'
117 | DEFINE_YCC_SKE_SM4_SETKEY(ofb, OFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:74:5: warning: no previous prototype for 'ycc_skcipher_des_ecb_setkey' [-Wmissing-prototypes]
74 | int ycc_skcipher_des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:119:1: note: in expansion of macro 'DEFINE_YCC_SKE_DES_SETKEY'
119 | DEFINE_YCC_SKE_DES_SETKEY(ecb, ECB, 32);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:74:5: warning: no previous prototype for 'ycc_skcipher_des_cbc_setkey' [-Wmissing-prototypes]
74 | int ycc_skcipher_des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:120:1: note: in expansion of macro 'DEFINE_YCC_SKE_DES_SETKEY'
120 | DEFINE_YCC_SKE_DES_SETKEY(cbc, CBC, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:74:5: warning: no previous prototype for 'ycc_skcipher_des_ctr_setkey' [-Wmissing-prototypes]
74 | int ycc_skcipher_des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:121:1: note: in expansion of macro 'DEFINE_YCC_SKE_DES_SETKEY'
121 | DEFINE_YCC_SKE_DES_SETKEY(ctr, CTR, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:74:5: warning: no previous prototype for 'ycc_skcipher_des_cfb_setkey' [-Wmissing-prototypes]
74 | int ycc_skcipher_des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:122:1: note: in expansion of macro 'DEFINE_YCC_SKE_DES_SETKEY'
122 | DEFINE_YCC_SKE_DES_SETKEY(cfb, CFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:74:5: warning: no previous prototype for 'ycc_skcipher_des_ofb_setkey' [-Wmissing-prototypes]
74 | int ycc_skcipher_des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:123:1: note: in expansion of macro 'DEFINE_YCC_SKE_DES_SETKEY'
123 | DEFINE_YCC_SKE_DES_SETKEY(ofb, OFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:89:5: warning: no previous prototype for 'ycc_skcipher_3des_ecb_setkey' [-Wmissing-prototypes]
89 | int ycc_skcipher_3des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:125:1: note: in expansion of macro 'DEFINE_YCC_SKE_3DES_SETKEY'
125 | DEFINE_YCC_SKE_3DES_SETKEY(ecb, ECB, 32);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:89:5: warning: no previous prototype for 'ycc_skcipher_3des_cbc_setkey' [-Wmissing-prototypes]
89 | int ycc_skcipher_3des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:126:1: note: in expansion of macro 'DEFINE_YCC_SKE_3DES_SETKEY'
126 | DEFINE_YCC_SKE_3DES_SETKEY(cbc, CBC, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:89:5: warning: no previous prototype for 'ycc_skcipher_3des_ctr_setkey' [-Wmissing-prototypes]
89 | int ycc_skcipher_3des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:127:1: note: in expansion of macro 'DEFINE_YCC_SKE_3DES_SETKEY'
127 | DEFINE_YCC_SKE_3DES_SETKEY(ctr, CTR, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:89:5: warning: no previous prototype for 'ycc_skcipher_3des_cfb_setkey' [-Wmissing-prototypes]
89 | int ycc_skcipher_3des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:128:1: note: in expansion of macro 'DEFINE_YCC_SKE_3DES_SETKEY'
128 | DEFINE_YCC_SKE_3DES_SETKEY(cfb, CFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/ycc/ycc_ske.c:89:5: warning: no previous prototype for 'ycc_skcipher_3des_ofb_setkey' [-Wmissing-prototypes]
89 | int ycc_skcipher_3des_##name##_setkey(struct crypto_skcipher *tfm, \
| ^~~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:129:1: note: in expansion of macro 'DEFINE_YCC_SKE_3DES_SETKEY'
129 | DEFINE_YCC_SKE_3DES_SETKEY(ofb, OFB, 48);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:131:5: warning: no previous prototype for 'ycc_skcipher_aes_xts_setkey' [-Wmissing-prototypes]
131 | int ycc_skcipher_aes_xts_setkey(struct crypto_skcipher *tfm,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/crypto/ycc/ycc_ske.c:157:5: warning: no previous prototype for 'ycc_skcipher_sm4_xts_setkey' [-Wmissing-prototypes]
157 | int ycc_skcipher_sm4_xts_setkey(struct crypto_skcipher *tfm,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/ycc_skcipher_aes_ecb_setkey +41 drivers/crypto/ycc/ycc_ske.c
39
40 #define DEFINE_YCC_SKE_AES_SETKEY(name, mode, size) \
> 41 int ycc_skcipher_aes_##name##_setkey(struct crypto_skcipher *tfm, \
42 const u8 *key, \
43 unsigned int key_size) \
44 { \
45 int alg_mode; \
46 switch (key_size) { \
47 case AES_KEYSIZE_128: \
48 alg_mode = YCC_AES_128_##mode; \
49 break; \
50 case AES_KEYSIZE_192: \
51 alg_mode = YCC_AES_192_##mode; \
52 break; \
53 case AES_KEYSIZE_256: \
54 alg_mode = YCC_AES_256_##mode; \
55 break; \
56 default: \
57 return -EINVAL; \
58 } \
59 return ycc_skcipher_setkey(tfm, key, key_size, alg_mode, size); \
60 }
61
62 #define DEFINE_YCC_SKE_SM4_SETKEY(name, mode, size) \
> 63 int ycc_skcipher_sm4_##name##_setkey(struct crypto_skcipher *tfm, \
64 const u8 *key, \
65 unsigned int key_size) \
66 { \
67 int alg_mode = YCC_SM4_##mode; \
68 if (key_size != SM4_KEY_SIZE) \
69 return -EINVAL; \
70 return ycc_skcipher_setkey(tfm, key, key_size, alg_mode, size); \
71 }
72
73 #define DEFINE_YCC_SKE_DES_SETKEY(name, mode, size) \
> 74 int ycc_skcipher_des_##name##_setkey(struct crypto_skcipher *tfm, \
75 const u8 *key, \
76 unsigned int key_size) \
77 { \
78 int alg_mode = YCC_DES_##mode; \
79 int ret; \
80 if (key_size != DES_KEY_SIZE) \
81 return -EINVAL; \
82 ret = verify_skcipher_des_key(tfm, key); \
83 if (ret) \
84 return ret; \
85 return ycc_skcipher_setkey(tfm, key, key_size, alg_mode, size); \
86 }
87
88 #define DEFINE_YCC_SKE_3DES_SETKEY(name, mode, size) \
> 89 int ycc_skcipher_3des_##name##_setkey(struct crypto_skcipher *tfm, \
90 const u8 *key, \
91 unsigned int key_size) \
92 { \
93 int alg_mode = YCC_TDES_192_##mode; \
94 int ret; \
95 if (key_size != DES3_EDE_KEY_SIZE) \
96 return -EINVAL; \
97 ret = verify_skcipher_des3_key(tfm, key); \
98 if (ret) \
99 return ret; \
100 return ycc_skcipher_setkey(tfm, key, key_size, alg_mode, size); \
101 }
102
103 /*
104 * ECB: Only has 1 key, without IV, at least 32 bytes.
105 * Others except XTS: |key|iv|, at least 48 bytes.
106 */
> 107 DEFINE_YCC_SKE_AES_SETKEY(ecb, ECB, 32);
> 108 DEFINE_YCC_SKE_AES_SETKEY(cbc, CBC, 48);
> 109 DEFINE_YCC_SKE_AES_SETKEY(ctr, CTR, 48);
> 110 DEFINE_YCC_SKE_AES_SETKEY(cfb, CFB, 48);
> 111 DEFINE_YCC_SKE_AES_SETKEY(ofb, OFB, 48);
112
> 113 DEFINE_YCC_SKE_SM4_SETKEY(ecb, ECB, 32);
> 114 DEFINE_YCC_SKE_SM4_SETKEY(cbc, CBC, 48);
> 115 DEFINE_YCC_SKE_SM4_SETKEY(ctr, CTR, 48);
> 116 DEFINE_YCC_SKE_SM4_SETKEY(cfb, CFB, 48);
> 117 DEFINE_YCC_SKE_SM4_SETKEY(ofb, OFB, 48);
118
> 119 DEFINE_YCC_SKE_DES_SETKEY(ecb, ECB, 32);
> 120 DEFINE_YCC_SKE_DES_SETKEY(cbc, CBC, 48);
> 121 DEFINE_YCC_SKE_DES_SETKEY(ctr, CTR, 48);
> 122 DEFINE_YCC_SKE_DES_SETKEY(cfb, CFB, 48);
> 123 DEFINE_YCC_SKE_DES_SETKEY(ofb, OFB, 48);
124
> 125 DEFINE_YCC_SKE_3DES_SETKEY(ecb, ECB, 32);
> 126 DEFINE_YCC_SKE_3DES_SETKEY(cbc, CBC, 48);
> 127 DEFINE_YCC_SKE_3DES_SETKEY(ctr, CTR, 48);
> 128 DEFINE_YCC_SKE_3DES_SETKEY(cfb, CFB, 48);
129 DEFINE_YCC_SKE_3DES_SETKEY(ofb, OFB, 48);
130
> 131 int ycc_skcipher_aes_xts_setkey(struct crypto_skcipher *tfm,
132 const u8 *key,
133 unsigned int key_size)
134 {
135 int alg_mode;
136 int ret;
137
138 ret = xts_verify_key(tfm, key, key_size);
139 if (ret)
140 return ret;
141
142 switch (key_size) {
143 case AES_KEYSIZE_128 * 2:
144 alg_mode = YCC_AES_128_XTS;
145 break;
146 case AES_KEYSIZE_256 * 2:
147 alg_mode = YCC_AES_256_XTS;
148 break;
149 default:
150 return -EINVAL;
151 }
152
153 /* XTS: |key1|key2|iv|, at least 32 + 32 + 16 bytes */
154 return ycc_skcipher_setkey(tfm, key, key_size, alg_mode, 80);
155 }
156
> 157 int ycc_skcipher_sm4_xts_setkey(struct crypto_skcipher *tfm,
158 const u8 *key,
159 unsigned int key_size)
160 {
161 int alg_mode;
162 int ret;
163
164 ret = xts_verify_key(tfm, key, key_size);
165 if (ret)
166 return ret;
167
168 if (key_size != SM4_KEY_SIZE * 2)
169 return -EINVAL;
170
171 alg_mode = YCC_SM4_XTS;
172 return ycc_skcipher_setkey(tfm, key, key_size, alg_mode, 80);
173 }
174
--
0-DAY CI Kernel Test Service
https://01.org/lkp
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 74649 bytes --]
next prev parent reply other threads:[~2022-10-25 15:08 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-25 9:53 [PATCH v3 0/9] Drivers for Alibaba YCC (Yitian Cryptography Complex) cryptographic accelerator 'Guanjun'
2022-10-25 9:53 ` [PATCH v3 1/9] crypto/ycc: Add YCC (Yitian Cryptography Complex) accelerator driver 'Guanjun'
2022-10-25 9:53 ` [PATCH v3 2/9] crypto/ycc: Add ycc ring configuration 'Guanjun'
2022-10-25 13:30 ` kernel test robot
2022-10-26 11:04 ` kernel test robot
2022-10-25 9:53 ` [PATCH v3 3/9] crypto/ycc: Add irq support for ycc kernel rings 'Guanjun'
2022-10-25 9:53 ` [PATCH v3 4/9] crypto/ycc: Add device error handling support for ycc hw errors 'Guanjun'
2022-10-25 14:18 ` kernel test robot
2022-10-25 9:53 ` [PATCH v3 5/9] crypto/ycc: Add skcipher algorithm support 'Guanjun'
2022-10-25 15:06 ` kernel test robot [this message]
2022-10-26 20:41 ` kernel test robot
2022-10-25 9:53 ` [PATCH v3 6/9] crypto/ycc: Add aead " 'Guanjun'
2022-10-26 23:13 ` kernel test robot
2022-10-25 9:53 ` [PATCH v3 7/9] crypto/ycc: Add rsa " 'Guanjun'
2022-10-25 9:53 ` [PATCH v3 8/9] crypto/ycc: Add sm2 " 'Guanjun'
2022-10-26 23:23 ` kernel test robot
2022-10-25 9:53 ` [PATCH v3 9/9] MAINTAINERS: Add Yitian Cryptography Complex (YCC) driver maintainer entry 'Guanjun'
2022-10-26 9:03 ` [PATCH v3 0/9] Drivers for Alibaba YCC (Yitian Cryptography Complex) cryptographic accelerator guanjun
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=202210252228.fA2Fr1Ob-lkp@intel.com \
--to=lkp@intel.com \
--cc=artie.ding@linux.alibaba.com \
--cc=elliott@hpe.com \
--cc=guanjun@linux.alibaba.com \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=xuchun.shang@linux.alibaba.com \
--cc=zelin.deng@linux.alibaba.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