@@ -107,12 +107,20 @@ static int sha256_ssse3_final(struct shash_desc *desc, u8 *out)
107
107
return sha256_ssse3_finup (desc , NULL , 0 , out );
108
108
}
109
109
110
+ static int sha256_ssse3_digest (struct shash_desc * desc , const u8 * data ,
111
+ unsigned int len , u8 * out )
112
+ {
113
+ return sha256_base_init (desc ) ?:
114
+ sha256_ssse3_finup (desc , data , len , out );
115
+ }
116
+
110
117
static struct shash_alg sha256_ssse3_algs [] = { {
111
118
.digestsize = SHA256_DIGEST_SIZE ,
112
119
.init = sha256_base_init ,
113
120
.update = sha256_ssse3_update ,
114
121
.final = sha256_ssse3_final ,
115
122
.finup = sha256_ssse3_finup ,
123
+ .digest = sha256_ssse3_digest ,
116
124
.descsize = sizeof (struct sha256_state ),
117
125
.base = {
118
126
.cra_name = "sha256" ,
@@ -172,12 +180,20 @@ static int sha256_avx_final(struct shash_desc *desc, u8 *out)
172
180
return sha256_avx_finup (desc , NULL , 0 , out );
173
181
}
174
182
183
+ static int sha256_avx_digest (struct shash_desc * desc , const u8 * data ,
184
+ unsigned int len , u8 * out )
185
+ {
186
+ return sha256_base_init (desc ) ?:
187
+ sha256_avx_finup (desc , data , len , out );
188
+ }
189
+
175
190
static struct shash_alg sha256_avx_algs [] = { {
176
191
.digestsize = SHA256_DIGEST_SIZE ,
177
192
.init = sha256_base_init ,
178
193
.update = sha256_avx_update ,
179
194
.final = sha256_avx_final ,
180
195
.finup = sha256_avx_finup ,
196
+ .digest = sha256_avx_digest ,
181
197
.descsize = sizeof (struct sha256_state ),
182
198
.base = {
183
199
.cra_name = "sha256" ,
@@ -248,12 +264,20 @@ static int sha256_avx2_final(struct shash_desc *desc, u8 *out)
248
264
return sha256_avx2_finup (desc , NULL , 0 , out );
249
265
}
250
266
267
+ static int sha256_avx2_digest (struct shash_desc * desc , const u8 * data ,
268
+ unsigned int len , u8 * out )
269
+ {
270
+ return sha256_base_init (desc ) ?:
271
+ sha256_avx2_finup (desc , data , len , out );
272
+ }
273
+
251
274
static struct shash_alg sha256_avx2_algs [] = { {
252
275
.digestsize = SHA256_DIGEST_SIZE ,
253
276
.init = sha256_base_init ,
254
277
.update = sha256_avx2_update ,
255
278
.final = sha256_avx2_final ,
256
279
.finup = sha256_avx2_finup ,
280
+ .digest = sha256_avx2_digest ,
257
281
.descsize = sizeof (struct sha256_state ),
258
282
.base = {
259
283
.cra_name = "sha256" ,
@@ -323,12 +347,20 @@ static int sha256_ni_final(struct shash_desc *desc, u8 *out)
323
347
return sha256_ni_finup (desc , NULL , 0 , out );
324
348
}
325
349
350
+ static int sha256_ni_digest (struct shash_desc * desc , const u8 * data ,
351
+ unsigned int len , u8 * out )
352
+ {
353
+ return sha256_base_init (desc ) ?:
354
+ sha256_ni_finup (desc , data , len , out );
355
+ }
356
+
326
357
static struct shash_alg sha256_ni_algs [] = { {
327
358
.digestsize = SHA256_DIGEST_SIZE ,
328
359
.init = sha256_base_init ,
329
360
.update = sha256_ni_update ,
330
361
.final = sha256_ni_final ,
331
362
.finup = sha256_ni_finup ,
363
+ .digest = sha256_ni_digest ,
332
364
.descsize = sizeof (struct sha256_state ),
333
365
.base = {
334
366
.cra_name = "sha256" ,
0 commit comments