Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 67031
b: refs/heads/master
c: 7061378
h: refs/heads/master
i:
  67029: dc834e3
  67027: 991d2f8
  67023: 2aa3560
v: v3
  • Loading branch information
Herbert Xu authored and David S. Miller committed Oct 10, 2007
1 parent 2219331 commit a2a28e5
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e4c5c6c9b0d04a7dac19027260f7421305a34856
refs/heads/master: 70613783fc0f6e37b442d79e8417f71a2b71ed93
3 changes: 0 additions & 3 deletions trunk/crypto/algapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,6 @@ static int crypto_check_alg(struct crypto_alg *alg)
if (alg->cra_alignmask & (alg->cra_alignmask + 1))
return -EINVAL;

if (alg->cra_alignmask & alg->cra_blocksize)
return -EINVAL;

if (alg->cra_blocksize > PAGE_SIZE / 8)
return -EINVAL;

Expand Down
13 changes: 8 additions & 5 deletions trunk/crypto/blkcipher.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ static inline int blkcipher_next_slow(struct blkcipher_desc *desc,
unsigned int alignmask)
{
unsigned int n;
unsigned aligned_bsize = ALIGN(bsize, alignmask + 1);

if (walk->buffer)
goto ok;
Expand All @@ -167,8 +168,8 @@ static inline int blkcipher_next_slow(struct blkcipher_desc *desc,
walk->dst.virt.addr = (u8 *)ALIGN((unsigned long)walk->buffer,
alignmask + 1);
walk->dst.virt.addr = blkcipher_get_spot(walk->dst.virt.addr, bsize);
walk->src.virt.addr = blkcipher_get_spot(walk->dst.virt.addr + bsize,
bsize);
walk->src.virt.addr = blkcipher_get_spot(walk->dst.virt.addr +
aligned_bsize, bsize);

scatterwalk_copychunks(walk->src.virt.addr, &walk->in, bsize, 0);

Expand Down Expand Up @@ -278,7 +279,9 @@ static inline int blkcipher_copy_iv(struct blkcipher_walk *walk,
{
unsigned bs = crypto_blkcipher_blocksize(tfm);
unsigned int ivsize = crypto_blkcipher_ivsize(tfm);
unsigned int size = bs * 2 + ivsize + max(bs, ivsize) - (alignmask + 1);
unsigned aligned_bs = ALIGN(bs, alignmask + 1);
unsigned int size = aligned_bs * 2 + ivsize + max(aligned_bs, ivsize) -
(alignmask + 1);
u8 *iv;

size += alignmask & ~(crypto_tfm_ctx_alignment() - 1);
Expand All @@ -287,8 +290,8 @@ static inline int blkcipher_copy_iv(struct blkcipher_walk *walk,
return -ENOMEM;

iv = (u8 *)ALIGN((unsigned long)walk->buffer, alignmask + 1);
iv = blkcipher_get_spot(iv, bs) + bs;
iv = blkcipher_get_spot(iv, bs) + bs;
iv = blkcipher_get_spot(iv, bs) + aligned_bs;
iv = blkcipher_get_spot(iv, bs) + aligned_bs;
iv = blkcipher_get_spot(iv, ivsize);

walk->iv = memcpy(iv, walk->iv, ivsize);
Expand Down

0 comments on commit a2a28e5

Please sign in to comment.