Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1747029pxj; Wed, 19 May 2021 12:58:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyx3YlHuqtyV4iFStc/rjjuL7rK5T/FZE49EHvecP12tqWInwTFeo7g4nd51AghcASHyL67 X-Received: by 2002:a05:6402:1518:: with SMTP id f24mr750405edw.217.1621454334754; Wed, 19 May 2021 12:58:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621454334; cv=none; d=google.com; s=arc-20160816; b=LmDzFIMAUYfQXpcBfusmlaTC99ruOuWYEAQn8KaTv7Jiy6eiS+NRm0iVsHTQe0ZOAS xWZba5gNaGVeRwduPIrsQXfmOTAy0bqaU9lHo1xJiwI2hdRgnYCUHa+wHH7YSVLxaTmi +EWCq2cwi87voyjLCELn9C8BZ0mz03UL889KVsX/lOIMOAv+4n76SYPnuDq1jOEkFCBr ra66qirI1bc5l/jKLuxGr5+ct4lFqbsNGUaY1aZsz5sdX5EScRVRLEN8+7XxDz7bebPQ EnGMhzW+wzcVq7QOu8ZjzbDYwbRi123H9Gg/G5yAvfvtzmIXtqg5isHykr3cQTkw7hNl M8/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=i++KcNFeCZ+7VEsQYT6n36MVMe78who2+83bHHGpcK8=; b=0P+CaNOEpMZGjVHZ4MN1E0mhnQVmVnUxssxHRWbI4ZrEd1mjnp9cJRscbpUiELvnRN jGDrOGspLDOvRWhjolNLZ69RpM1UoezAfO/RWkTtdn6KdjuGKjtzYFniopSeTbjpYima o4o4CSM1BXRcJkeGaQDljGWzxmcEnUXPPBIG86HfK6rTtqBN0bBABkr0LoYjiVC5wrVw TqbOHOTXLAdPJKyex+8M6XAcetl9jvicNDt7KtEYlgxBeJUUHnKyoXME+QE5jjwcczPV DwWLF03xxWBsz/e+faCIK5aN/mrY+0C6Cd1YkaColqJkn/aMIwNpfx5oi9YTXWCK0Ss3 WoeQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u16si180219edo.12.2021.05.19.12.58.23; Wed, 19 May 2021 12:58:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353905AbhESOJD (ORCPT + 99 others); Wed, 19 May 2021 10:09:03 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:3426 "EHLO szxga07-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1353893AbhESOI7 (ORCPT ); Wed, 19 May 2021 10:08:59 -0400 Received: from dggems705-chm.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4FlZPb1jYpzCtkL; Wed, 19 May 2021 22:04:51 +0800 (CST) Received: from dggeml759-chm.china.huawei.com (10.1.199.138) by dggems705-chm.china.huawei.com (10.3.19.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Wed, 19 May 2021 22:07:36 +0800 Received: from localhost.localdomain (10.175.102.38) by dggeml759-chm.china.huawei.com (10.1.199.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Wed, 19 May 2021 22:07:35 +0800 From: Wei Yongjun To: , Herbert Xu , "David S. Miller" , Thara Gopinath CC: , , "Hulk Robot" Subject: [PATCH -next] crypto: qce - Fix some error handling path Date: Wed, 19 May 2021 14:16:50 +0000 Message-ID: <20210519141650.3059054-1-weiyongjun1@huawei.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT X-Originating-IP: [10.175.102.38] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To dggeml759-chm.china.huawei.com (10.1.199.138) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Fix to return negative error code from the error handling cases instead of 0. Fixes: 9363efb4181c ("crypto: qce - Add support for AEAD algorithms") Reported-by: Hulk Robot Signed-off-by: Wei Yongjun --- drivers/crypto/qce/aead.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c index 6d06a19b48e4..d47f4171ad83 100644 --- a/drivers/crypto/qce/aead.c +++ b/drivers/crypto/qce/aead.c @@ -280,8 +280,10 @@ qce_aead_ccm_prepare_buf_assoclen(struct aead_request *req) if (diff_dst) { sg = qce_aead_prepare_dst_buf(req); - if (IS_ERR(sg)) + if (IS_ERR(sg)) { + ret = PTR_ERR(sg); goto err_free; + } } else { if (IS_ENCRYPT(rctx->flags)) rctx->dst_nents = rctx->src_nents + 1; @@ -448,13 +450,17 @@ qce_aead_async_req_handle(struct crypto_async_request *async_req) if (ret) return ret; dst_nents = dma_map_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); - if (dst_nents < 0) + if (dst_nents < 0) { + ret = dst_nents; goto error_free; + } if (diff_dst) { src_nents = dma_map_sg(qce->dev, rctx->src_sg, rctx->src_nents, dir_src); - if (src_nents < 0) + if (src_nents < 0) { + ret = src_nents; goto error_unmap_dst; + } } else { if (IS_CCM(rctx->flags) && IS_DECRYPT(rctx->flags)) src_nents = dst_nents;