diff options
Diffstat (limited to 'crypto/skcipher.c')
-rw-r--r-- | crypto/skcipher.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/crypto/skcipher.c b/crypto/skcipher.c index bcf13d95f54a..2e66f312e2c4 100644 --- a/crypto/skcipher.c +++ b/crypto/skcipher.c | |||
@@ -131,8 +131,13 @@ unmap_src: | |||
131 | memcpy(walk->dst.virt.addr, walk->page, n); | 131 | memcpy(walk->dst.virt.addr, walk->page, n); |
132 | skcipher_unmap_dst(walk); | 132 | skcipher_unmap_dst(walk); |
133 | } else if (unlikely(walk->flags & SKCIPHER_WALK_SLOW)) { | 133 | } else if (unlikely(walk->flags & SKCIPHER_WALK_SLOW)) { |
134 | if (WARN_ON(err)) { | 134 | if (err) { |
135 | /* unexpected case; didn't process all bytes */ | 135 | /* |
136 | * Didn't process all bytes. Either the algorithm is | ||
137 | * broken, or this was the last step and it turned out | ||
138 | * the message wasn't evenly divisible into blocks but | ||
139 | * the algorithm requires it. | ||
140 | */ | ||
136 | err = -EINVAL; | 141 | err = -EINVAL; |
137 | goto finish; | 142 | goto finish; |
138 | } | 143 | } |