aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2016-07-15 07:09:13 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2016-07-19 00:01:47 -0400
commite514cc0a492a3f39ef71b31590a7ef67537ee04b (patch)
tree1c6831264fb290aa4f54f25f318deadc7d5257e9
parenta6d7bfd0ff21f258913dd5e626d2bd70ab3942df (diff)
crypto: nx - off by one bug in nx_of_update_msc()
The props->ap[] array is defined like this: struct alg_props ap[NX_MAX_FC][NX_MAX_MODE][3]; So we can see that if msc->fc and msc->mode are == to NX_MAX_FC or NX_MAX_MODE then we're off by one. Fixes: ae0222b7289d ('powerpc/crypto: nx driver code supporting nx encryption') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/nx/nx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/nx/nx.c b/drivers/crypto/nx/nx.c
index 0794f1cc0018..42f0f229f7f7 100644
--- a/drivers/crypto/nx/nx.c
+++ b/drivers/crypto/nx/nx.c
@@ -392,7 +392,7 @@ static void nx_of_update_msc(struct device *dev,
392 ((bytes_so_far + sizeof(struct msc_triplet)) <= lenp) && 392 ((bytes_so_far + sizeof(struct msc_triplet)) <= lenp) &&
393 i < msc->triplets; 393 i < msc->triplets;
394 i++) { 394 i++) {
395 if (msc->fc > NX_MAX_FC || msc->mode > NX_MAX_MODE) { 395 if (msc->fc >= NX_MAX_FC || msc->mode >= NX_MAX_MODE) {
396 dev_err(dev, "unknown function code/mode " 396 dev_err(dev, "unknown function code/mode "
397 "combo: %d/%d (ignored)\n", msc->fc, 397 "combo: %d/%d (ignored)\n", msc->fc,
398 msc->mode); 398 msc->mode);