shash.c (14e77332e74603efab8347c89d3cda447c3b97c9) | shash.c (c060e16ddb51a92b1f7fa84c628d287ea5799864) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Synchronous Cryptographic Hash operations. 4 * 5 * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au> 6 */ 7 8#include <crypto/scatterwalk.h> --- 6 unchanged lines hidden (view full) --- 15#include <linux/cryptouser.h> 16#include <net/netlink.h> 17#include <linux/compiler.h> 18 19#include "internal.h" 20 21static const struct crypto_type crypto_shash_type; 22 | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Synchronous Cryptographic Hash operations. 4 * 5 * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au> 6 */ 7 8#include <crypto/scatterwalk.h> --- 6 unchanged lines hidden (view full) --- 15#include <linux/cryptouser.h> 16#include <net/netlink.h> 17#include <linux/compiler.h> 18 19#include "internal.h" 20 21static const struct crypto_type crypto_shash_type; 22 |
23static int shash_no_setkey(struct crypto_shash *tfm, const u8 *key, 24 unsigned int keylen) | 23int shash_no_setkey(struct crypto_shash *tfm, const u8 *key, 24 unsigned int keylen) |
25{ 26 return -ENOSYS; 27} | 25{ 26 return -ENOSYS; 27} |
28EXPORT_SYMBOL_GPL(shash_no_setkey); |
|
28 | 29 |
29/* 30 * Check whether an shash algorithm has a setkey function. 31 * 32 * For CFI compatibility, this must not be an inline function. This is because 33 * when CFI is enabled, modules won't get the same address for shash_no_setkey 34 * (if it were exported, which inlining would require) as the core kernel will. 35 */ 36bool crypto_shash_alg_has_setkey(struct shash_alg *alg) 37{ 38 return alg->setkey != shash_no_setkey; 39} 40EXPORT_SYMBOL_GPL(crypto_shash_alg_has_setkey); 41 | |
42static int shash_setkey_unaligned(struct crypto_shash *tfm, const u8 *key, 43 unsigned int keylen) 44{ 45 struct shash_alg *shash = crypto_shash_alg(tfm); 46 unsigned long alignmask = crypto_shash_alignmask(tfm); 47 unsigned long absize; 48 u8 *buffer, *alignbuffer; 49 int err; --- 584 unchanged lines hidden --- | 30static int shash_setkey_unaligned(struct crypto_shash *tfm, const u8 *key, 31 unsigned int keylen) 32{ 33 struct shash_alg *shash = crypto_shash_alg(tfm); 34 unsigned long alignmask = crypto_shash_alignmask(tfm); 35 unsigned long absize; 36 u8 *buffer, *alignbuffer; 37 int err; --- 584 unchanged lines hidden --- |