[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAFqZXNsJPLYQ=OGEj+TrfLn7Odbs4LuYnjGFuV9+ZT8uF7U9kA@mail.gmail.com>
Date: Mon, 15 Apr 2019 10:56:53 +0200
From: Ondrej Mosnacek <omosnace@...hat.com>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: syzbot <syzbot+6f72c20560060c98b566@...kaller.appspotmail.com>,
"David S. Miller" <davem@...emloft.net>,
linux-crypto@...r.kernel.org,
Linux kernel mailing list <linux-kernel@...r.kernel.org>,
netdev@...r.kernel.org, syzkaller-bugs@...glegroups.com,
Ondrej Mosnacek <omosnace@...hat.com>,
Eric Biggers <ebiggers@...nel.org>
Subject: Re: [v2 PATCH] crypto: xts - Fix atomic sleep when walking skcipher
On Mon, Apr 15, 2019 at 8:35 AM Herbert Xu <herbert@...dor.apana.org.au> wrote:
> When we perform a walk in the completion function, we need to ensure
> that it is atomic.
>
> Reported-by: syzbot+6f72c20560060c98b566@...kaller.appspotmail.com
> Fixes: 78105c7e769b ("crypto: xts - Drop use of auxiliary buffer")
> Cc: <stable@...r.kernel.org>
> Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au>
Acked-by: Ondrej Mosnacek <omosnace@...hat.com>
>
> diff --git a/crypto/xts.c b/crypto/xts.c
> index 847f54f76789..2f948328cabb 100644
> --- a/crypto/xts.c
> +++ b/crypto/xts.c
> @@ -137,8 +137,12 @@ static void crypt_done(struct crypto_async_request *areq, int err)
> {
> struct skcipher_request *req = areq->data;
>
> - if (!err)
> + if (!err) {
> + struct rctx *rctx = skcipher_request_ctx(req);
> +
> + rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
> err = xor_tweak_post(req);
> + }
>
> skcipher_request_complete(req, err);
> }
> --
> Email: Herbert Xu <herbert@...dor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
Ondrej Mosnacek <omosnace at redhat dot com>
Software Engineer, Security Technologies
Red Hat, Inc.
Powered by blists - more mailing lists