Skip to content

Commit

Permalink
crypto: tcrypt - fix S/G table for test_aead_speed()
Browse files Browse the repository at this point in the history
commit 5c6ac1d upstream.

In case buffer length is a multiple of PAGE_SIZE,
the S/G table is incorrectly generated.
Fix this by handling buflen = k * PAGE_SIZE separately.

Signed-off-by: Robert Baronescu <robert.baronescu@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Robert Baronescu authored and Greg Kroah-Hartman committed Feb 13, 2018
1 parent fc00dde commit 7c17a1e
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions crypto/tcrypt.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,11 +223,13 @@ static void sg_init_aead(struct scatterlist *sg, char *xbuf[XBUFSIZE],
}

sg_init_table(sg, np + 1);
np--;
if (rem)
np--;
for (k = 0; k < np; k++)
sg_set_buf(&sg[k + 1], xbuf[k], PAGE_SIZE);

sg_set_buf(&sg[k + 1], xbuf[k], rem);
if (rem)
sg_set_buf(&sg[k + 1], xbuf[k], rem);
}

static void test_aead_speed(const char *algo, int enc, unsigned int secs,
Expand Down

0 comments on commit 7c17a1e

Please sign in to comment.