Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Browse files Browse the repository at this point in the history
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk
  • Loading branch information
Linus Torvalds committed Apr 2, 2008
2 parents a5f37c3 + 1edcf2e commit 8774b7f
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions crypto/xcbc.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,11 @@ static int crypto_xcbc_digest_update2(struct hash_desc *pdesc,
struct crypto_xcbc_ctx *ctx = crypto_hash_ctx_aligned(parent);
struct crypto_cipher *tfm = ctx->child;
int bs = crypto_hash_blocksize(parent);
unsigned int i = 0;

do {

struct page *pg = sg_page(&sg[i]);
unsigned int offset = sg[i].offset;
unsigned int slen = sg[i].length;
for (;;) {
struct page *pg = sg_page(sg);
unsigned int offset = sg->offset;
unsigned int slen = sg->length;

if (unlikely(slen > nbytes))
slen = nbytes;
Expand Down Expand Up @@ -182,8 +180,11 @@ static int crypto_xcbc_digest_update2(struct hash_desc *pdesc,
offset = 0;
pg++;
}
i++;
} while (nbytes>0);

if (!nbytes)
break;
sg = scatterwalk_sg_next(sg);
}

return 0;
}
Expand Down

0 comments on commit 8774b7f

Please sign in to comment.