aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-31 09:16:17 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-31 09:16:17 -0800
commit6ca793abf815d42bcb9022587c0df7691d779a9d (patch)
tree30a82abc0e6d6d73cb9ecd41bcae7bd27e2b16ed
parentMerge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc (diff)
parentcrypto: af_alg - fix backlog handling (diff)
downloadlinux-dev-6ca793abf815d42bcb9022587c0df7691d779a9d.tar.xz
linux-dev-6ca793abf815d42bcb9022587c0df7691d779a9d.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fix from Herbert Xu: "Fix a use-after-free crash in the user-space crypto API" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: af_alg - fix backlog handling
-rw-r--r--crypto/af_alg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index 1fa7bc31be63..4665b79c729a 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -455,6 +455,9 @@ void af_alg_complete(struct crypto_async_request *req, int err)
{
struct af_alg_completion *completion = req->data;
+ if (err == -EINPROGRESS)
+ return;
+
completion->err = err;
complete(&completion->completion);
}