mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
[PATCH] Use sg_set_buf/sg_init_one where applicable
This patch uses sg_set_buf/sg_init_one in some places where it was duplicated. Signed-off-by: David Hardeman <david@2gen.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: Greg KH <greg@kroah.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
committed by
Herbert Xu
parent
d32311fed7
commit
378f058cc4
@@ -18,18 +18,15 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/scatterlist.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include "internal.h"
|
||||
|
||||
static void hash_key(struct crypto_tfm *tfm, u8 *key, unsigned int keylen)
|
||||
{
|
||||
struct scatterlist tmp;
|
||||
|
||||
tmp.page = virt_to_page(key);
|
||||
tmp.offset = offset_in_page(key);
|
||||
tmp.length = keylen;
|
||||
sg_set_buf(&tmp, key, keylen);
|
||||
crypto_digest_digest(tfm, &tmp, 1, key);
|
||||
|
||||
}
|
||||
|
||||
int crypto_alloc_hmac_block(struct crypto_tfm *tfm)
|
||||
@@ -69,9 +66,7 @@ void crypto_hmac_init(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen)
|
||||
for (i = 0; i < crypto_tfm_alg_blocksize(tfm); i++)
|
||||
ipad[i] ^= 0x36;
|
||||
|
||||
tmp.page = virt_to_page(ipad);
|
||||
tmp.offset = offset_in_page(ipad);
|
||||
tmp.length = crypto_tfm_alg_blocksize(tfm);
|
||||
sg_set_buf(&tmp, ipad, crypto_tfm_alg_blocksize(tfm));
|
||||
|
||||
crypto_digest_init(tfm);
|
||||
crypto_digest_update(tfm, &tmp, 1);
|
||||
@@ -103,16 +98,12 @@ void crypto_hmac_final(struct crypto_tfm *tfm, u8 *key,
|
||||
for (i = 0; i < crypto_tfm_alg_blocksize(tfm); i++)
|
||||
opad[i] ^= 0x5c;
|
||||
|
||||
tmp.page = virt_to_page(opad);
|
||||
tmp.offset = offset_in_page(opad);
|
||||
tmp.length = crypto_tfm_alg_blocksize(tfm);
|
||||
sg_set_buf(&tmp, opad, crypto_tfm_alg_blocksize(tfm));
|
||||
|
||||
crypto_digest_init(tfm);
|
||||
crypto_digest_update(tfm, &tmp, 1);
|
||||
|
||||
tmp.page = virt_to_page(out);
|
||||
tmp.offset = offset_in_page(out);
|
||||
tmp.length = crypto_tfm_alg_digestsize(tfm);
|
||||
sg_set_buf(&tmp, out, crypto_tfm_alg_digestsize(tfm));
|
||||
|
||||
crypto_digest_update(tfm, &tmp, 1);
|
||||
crypto_digest_final(tfm, out);
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/scatterlist.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/crypto.h>
|
||||
#include <linux/highmem.h>
|
||||
@@ -86,7 +86,6 @@ static void hexdump(unsigned char *buf, unsigned int len)
|
||||
static void test_hash(char *algo, struct hash_testvec *template,
|
||||
unsigned int tcount)
|
||||
{
|
||||
char *p;
|
||||
unsigned int i, j, k, temp;
|
||||
struct scatterlist sg[8];
|
||||
char result[64];
|
||||
@@ -116,10 +115,7 @@ static void test_hash(char *algo, struct hash_testvec *template,
|
||||
printk("test %u:\n", i + 1);
|
||||
memset(result, 0, 64);
|
||||
|
||||
p = hash_tv[i].plaintext;
|
||||
sg[0].page = virt_to_page(p);
|
||||
sg[0].offset = offset_in_page(p);
|
||||
sg[0].length = hash_tv[i].psize;
|
||||
sg_set_buf(&sg[0], hash_tv[i].plaintext, hash_tv[i].psize);
|
||||
|
||||
crypto_digest_init(tfm);
|
||||
if (tfm->crt_u.digest.dit_setkey) {
|
||||
@@ -154,10 +150,8 @@ static void test_hash(char *algo, struct hash_testvec *template,
|
||||
hash_tv[i].plaintext + temp,
|
||||
hash_tv[i].tap[k]);
|
||||
temp += hash_tv[i].tap[k];
|
||||
p = &xbuf[IDX[k]];
|
||||
sg[k].page = virt_to_page(p);
|
||||
sg[k].offset = offset_in_page(p);
|
||||
sg[k].length = hash_tv[i].tap[k];
|
||||
sg_set_buf(&sg[k], &xbuf[IDX[k]],
|
||||
hash_tv[i].tap[k]);
|
||||
}
|
||||
|
||||
crypto_digest_digest(tfm, sg, hash_tv[i].np, result);
|
||||
@@ -179,7 +173,6 @@ static void test_hash(char *algo, struct hash_testvec *template,
|
||||
static void test_hmac(char *algo, struct hmac_testvec *template,
|
||||
unsigned int tcount)
|
||||
{
|
||||
char *p;
|
||||
unsigned int i, j, k, temp;
|
||||
struct scatterlist sg[8];
|
||||
char result[64];
|
||||
@@ -210,11 +203,8 @@ static void test_hmac(char *algo, struct hmac_testvec *template,
|
||||
printk("test %u:\n", i + 1);
|
||||
memset(result, 0, sizeof (result));
|
||||
|
||||
p = hmac_tv[i].plaintext;
|
||||
klen = hmac_tv[i].ksize;
|
||||
sg[0].page = virt_to_page(p);
|
||||
sg[0].offset = offset_in_page(p);
|
||||
sg[0].length = hmac_tv[i].psize;
|
||||
sg_set_buf(&sg[0], hmac_tv[i].plaintext, hmac_tv[i].psize);
|
||||
|
||||
crypto_hmac(tfm, hmac_tv[i].key, &klen, sg, 1, result);
|
||||
|
||||
@@ -243,10 +233,8 @@ static void test_hmac(char *algo, struct hmac_testvec *template,
|
||||
hmac_tv[i].plaintext + temp,
|
||||
hmac_tv[i].tap[k]);
|
||||
temp += hmac_tv[i].tap[k];
|
||||
p = &xbuf[IDX[k]];
|
||||
sg[k].page = virt_to_page(p);
|
||||
sg[k].offset = offset_in_page(p);
|
||||
sg[k].length = hmac_tv[i].tap[k];
|
||||
sg_set_buf(&sg[k], &xbuf[IDX[k]],
|
||||
hmac_tv[i].tap[k]);
|
||||
}
|
||||
|
||||
crypto_hmac(tfm, hmac_tv[i].key, &klen, sg,
|
||||
@@ -270,7 +258,7 @@ static void test_cipher(char *algo, int mode, int enc,
|
||||
{
|
||||
unsigned int ret, i, j, k, temp;
|
||||
unsigned int tsize;
|
||||
char *p, *q;
|
||||
char *q;
|
||||
struct crypto_tfm *tfm;
|
||||
char *key;
|
||||
struct cipher_testvec *cipher_tv;
|
||||
@@ -330,10 +318,8 @@ static void test_cipher(char *algo, int mode, int enc,
|
||||
goto out;
|
||||
}
|
||||
|
||||
p = cipher_tv[i].input;
|
||||
sg[0].page = virt_to_page(p);
|
||||
sg[0].offset = offset_in_page(p);
|
||||
sg[0].length = cipher_tv[i].ilen;
|
||||
sg_set_buf(&sg[0], cipher_tv[i].input,
|
||||
cipher_tv[i].ilen);
|
||||
|
||||
if (!mode) {
|
||||
crypto_cipher_set_iv(tfm, cipher_tv[i].iv,
|
||||
@@ -389,10 +375,8 @@ static void test_cipher(char *algo, int mode, int enc,
|
||||
cipher_tv[i].input + temp,
|
||||
cipher_tv[i].tap[k]);
|
||||
temp += cipher_tv[i].tap[k];
|
||||
p = &xbuf[IDX[k]];
|
||||
sg[k].page = virt_to_page(p);
|
||||
sg[k].offset = offset_in_page(p);
|
||||
sg[k].length = cipher_tv[i].tap[k];
|
||||
sg_set_buf(&sg[k], &xbuf[IDX[k]],
|
||||
cipher_tv[i].tap[k]);
|
||||
}
|
||||
|
||||
if (!mode) {
|
||||
@@ -436,9 +420,7 @@ static int test_cipher_jiffies(struct crypto_tfm *tfm, int enc, char *p,
|
||||
int bcount;
|
||||
int ret;
|
||||
|
||||
sg[0].page = virt_to_page(p);
|
||||
sg[0].offset = offset_in_page(p);
|
||||
sg[0].length = blen;
|
||||
sg_set_buf(&sg[0], p, blen);
|
||||
|
||||
for (start = jiffies, end = start + sec * HZ, bcount = 0;
|
||||
time_before(jiffies, end); bcount++) {
|
||||
@@ -464,9 +446,7 @@ static int test_cipher_cycles(struct crypto_tfm *tfm, int enc, char *p,
|
||||
int ret = 0;
|
||||
int i;
|
||||
|
||||
sg[0].page = virt_to_page(p);
|
||||
sg[0].offset = offset_in_page(p);
|
||||
sg[0].length = blen;
|
||||
sg_set_buf(&sg[0], p, blen);
|
||||
|
||||
local_bh_disable();
|
||||
local_irq_disable();
|
||||
@@ -709,9 +689,7 @@ static void test_crc32c(void)
|
||||
for (i = 0; i < NUMVEC; i++) {
|
||||
for (j = 0; j < VECSIZE; j++)
|
||||
test_vec[i][j] = ++b;
|
||||
sg[i].page = virt_to_page(test_vec[i]);
|
||||
sg[i].offset = offset_in_page(test_vec[i]);
|
||||
sg[i].length = VECSIZE;
|
||||
sg_set_buf(&sg[i], test_vec[i], VECSIZE);
|
||||
}
|
||||
|
||||
seed = SEEDTESTVAL;
|
||||
|
||||
Reference in New Issue
Block a user