From: Tadeusz Struk Subject: [PATCH v2 2/2] crypto: algif_skcipher - fix async callback after skcipher convertion Date: Thu, 28 Jan 2016 07:24:05 -0800 Message-ID: <20160128152405.5394.38574.stgit@tstruk-mobl1> References: <20160128152354.5394.90834.stgit@tstruk-mobl1> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: linux-crypto@vger.kernel.org, stable@vger.kernel.org, tadeusz.struk@intel.com To: herbert@gondor.apana.org.au Return-path: In-Reply-To: <20160128152354.5394.90834.stgit@tstruk-mobl1> Sender: stable-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org Before the skcipher conversion the async callback used the crypto_async_request directly as the ablkcipher_request. It wasn't quite correct, but it worked fine since the crypto_async_request *base was the first member of the ablkcipher_request struct. After the skcipher conversion it is not the case anymore and a proper cast helper needs to be used. Cc: # 4.4.x- Signed-off-by: Tadeusz Struk --- crypto/algif_skcipher.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c index 38c1aa8..927ed7a 100644 --- a/crypto/algif_skcipher.c +++ b/crypto/algif_skcipher.c @@ -100,11 +100,12 @@ static void skcipher_free_async_sgls(struct skcipher_async_req *sreq) kfree(sreq->tsg); } -static void skcipher_async_cb(struct crypto_async_request *req, int err) +static void skcipher_async_cb(struct crypto_async_request *req_base, int err) { - struct sock *sk = req->data; + struct sock *sk = req_base->data; struct alg_sock *ask = alg_sk(sk); struct skcipher_ctx *ctx = ask->private; + struct skcipher_request *req = skcipher_request_cast(req_base); struct skcipher_async_req *sreq = GET_SREQ(req, ctx); struct kiocb *iocb = sreq->iocb;