Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp4282040ybi; Mon, 15 Jul 2019 06:40:41 -0700 (PDT) X-Google-Smtp-Source: APXvYqx85LI4GyKhLWQBI0ctc+320SwiYBkjVLF7mNhNEXlnZDpQg7Tw97HVuV+rRGp67bou5dJo X-Received: by 2002:a17:902:6847:: with SMTP id f7mr27799882pln.311.1563198041368; Mon, 15 Jul 2019 06:40:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563198041; cv=none; d=google.com; s=arc-20160816; b=kVZL/3vDO9pKwPJbce2zvFTI0G3fhV0r4foQLwo2OP4/U7ukAPfAMO0lltU34W8947 Q06hXxV2sggzsbUhXMUk1SxDbh1x/s325a5LgnfrehS4dWWK/n5Gr8GBI9wbXcoZ+OSV TiCMkVgGpuCNOjuwsQpPhJ8q88m1l7o5wmIVqjlDIiZOt8ZFLLAgjoDZhKfT86paTGyB FJZHt/83aFSDdIxGL9q+Z05sxOdSMLY1CGyIVLYUMlO71a901TqVFRjMjilFe61H/yfj Gxx3FC0khayqUJeLKUCjQ7HbT+j0Vf7O7yliczSr1FrsxZYVW0pxjP0M1hWlWHNvXus+ JlHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OzZHYVl4D10/Uuzy/eLVYOBoQh5hx3Tqv3Z+RrFkpcI=; b=YtkQPp+pvmyhI60xAXroaw+EppzjqEgiKF3LFdv7M31Xe3G6REJ9/0SHD/psKAkyY7 hNVIdlX0vgPeuYlTygNJt+neq3pifz01Y2QaNy1bFzaXR5KO3NcsI3+RJTISrcCCf9q1 TIdwP7/HANy8slODtEKCcjygPglmkiMDWJjUXOmkXvF4ehwsE07SAFgk21Kmv00XUv3w 5N8GPplCAHQwXQAkxhdL+mkDFzovop247rIZFnDkrcbCqZbw7sPl2QkHd8M8oQ7BTsvL KGb1y7ht0hL4m58lyWkbKEgs4+c3RKKpjAqsB7OMUfrvkCkemzZy9ay+5z58jlz0Un8c Jrtw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=flIuoaZy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j7si17747572pfi.10.2019.07.15.06.40.24; Mon, 15 Jul 2019 06:40:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=flIuoaZy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730806AbfGONjR (ORCPT + 99 others); Mon, 15 Jul 2019 09:39:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:40470 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731151AbfGONjL (ORCPT ); Mon, 15 Jul 2019 09:39:11 -0400 Received: from sasha-vm.mshome.net (unknown [73.61.17.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A405521530; Mon, 15 Jul 2019 13:39:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563197950; bh=NxR1O/I/hIfhqdyulvO0C54GBXOGciqYLrSTo9SyB0k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=flIuoaZyIiK96GBxlRwO8EGCdo4yps4+CeWAzseEz8OQYRJKyxfq5OnwxDXxP8S3b 3xK7w/XR1mRpSaeua6pj6AfPHWz4hZqKK5JKFM/nUWaZ4rTSUBuC46ZpPH7X45pJgi +gCr8EeJeIZkydswdNQ7ihgNku5JxMUTLWuW7e5U= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe Leroy , =?UTF-8?q?Horia=20Geant=C4=83?= , Herbert Xu , Sasha Levin , linux-crypto@vger.kernel.org Subject: [PATCH AUTOSEL 5.1 021/219] crypto: talitos - fix skcipher failure due to wrong output IV Date: Mon, 15 Jul 2019 09:34:53 -0400 Message-Id: <20190715133811.2441-21-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190715133811.2441-1-sashal@kernel.org> References: <20190715133811.2441-1-sashal@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Christophe Leroy [ Upstream commit 3e03e792865ae48b8cfc69a0b4d65f02f467389f ] Selftests report the following: [ 2.984845] alg: skcipher: cbc-aes-talitos encryption test failed (wrong output IV) on test vector 0, cfg="in-place" [ 2.995377] 00000000: 3d af ba 42 9d 9e b4 30 b4 22 da 80 2c 9f ac 41 [ 3.032673] alg: skcipher: cbc-des-talitos encryption test failed (wrong output IV) on test vector 0, cfg="in-place" [ 3.043185] 00000000: fe dc ba 98 76 54 32 10 [ 3.063238] alg: skcipher: cbc-3des-talitos encryption test failed (wrong output IV) on test vector 0, cfg="in-place" [ 3.073818] 00000000: 7d 33 88 93 0f 93 b2 42 This above dumps show that the actual output IV is indeed the input IV. This is due to the IV not being copied back into the request. This patch fixes that. Signed-off-by: Christophe Leroy Reviewed-by: Horia Geantă Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin --- drivers/crypto/talitos.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index 0fee83b2eb91..83883438d134 100644 --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c @@ -1571,11 +1571,15 @@ static void ablkcipher_done(struct device *dev, int err) { struct ablkcipher_request *areq = context; + struct crypto_ablkcipher *cipher = crypto_ablkcipher_reqtfm(areq); + struct talitos_ctx *ctx = crypto_ablkcipher_ctx(cipher); + unsigned int ivsize = crypto_ablkcipher_ivsize(cipher); struct talitos_edesc *edesc; edesc = container_of(desc, struct talitos_edesc, desc); common_nonsnoop_unmap(dev, edesc, areq); + memcpy(areq->info, ctx->iv, ivsize); kfree(edesc); -- 2.20.1