Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp2214350pxb; Fri, 25 Mar 2022 13:10:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxnP40/jK0PlsF4HeBc7bYEnRFipp7cBTbSwPcQt/2hd2QEMQG51fbKF/pEcvok5HypyFI1 X-Received: by 2002:a17:902:f605:b0:14d:9e11:c864 with SMTP id n5-20020a170902f60500b0014d9e11c864mr13450843plg.54.1648239054425; Fri, 25 Mar 2022 13:10:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648239054; cv=none; d=google.com; s=arc-20160816; b=SYA/rPk5igDqqLxAttUHG+DrvADiRaAxO1Jjx5UDP4uOg2Kqh064CznLYhzurpox+m KV8tA2Juu/gidH2Yq6dc+J9a/TTYCgWcGB4aKf87Ii2Td3X60QgyjamzqJO5/v1I+zfz hWSlyyq3nbO6H3lWe8HEBKrw+3m40vB/0IIbkZRAo+GiZ1gKTkYoffP4GlGeKzgrxcf7 DycW8bQuQxRruj14kL/CWuPo8fnWdejG3yH+57+IjeqIKPu/nxQitA5yGFPj4STybg86 All81g8P5Qv1s5nixbVPjqNlqXB9VwgGS23mZpBRTGlfc7eJMXePs/++lZSFlwvGReP+ rDyg== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=80zAaP96cgvKQCa4tQ95PuHS50N5liNJ+nXnPUpBF9w=; b=UWC4Lv4u/CNk0OqJOv1OHGSeuURNj4QTew3ZGBcw7A94vqaeTC2fzqwmnhU68QMndG 5PzuyHAySg7xYuE6HxET7r+borbaPMJqrDXYJmrk+0o4gpnGMOFa7QCqbU/eb1c1pdjN lJhDTTn5tgagMCdS3paSOvofWJnhrx55wD5vAxydoGBM23r2wm7/s/3iUAk5BRPVAhkQ vXurgv1ee5t1ttPHXe0OIRIjIOzvHMnujr203Hya1SJFt2P1ATIJ8Er1eCfQB113h8Qo 5cxKXrP1JNB/248gA5lMImCKiI5rIT28Y4pbBnTJWwMhDzLAthI/KmaMazsU556Buey4 kWUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=K2Y62n+G; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id d19-20020a63f253000000b003816043eedfsi3173647pgk.212.2022.03.25.13.10.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 13:10:54 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=K2Y62n+G; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 961983B2040; Fri, 25 Mar 2022 11:53:51 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377305AbiCYPOJ (ORCPT + 99 others); Fri, 25 Mar 2022 11:14:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44528 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1359651AbiCYPL1 (ORCPT ); Fri, 25 Mar 2022 11:11:27 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0BDAD6006E; Fri, 25 Mar 2022 08:08:39 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7FA9661C0D; Fri, 25 Mar 2022 15:08:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9106FC340E9; Fri, 25 Mar 2022 15:08:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1648220917; bh=RuC+1rqugxNuew2WMFrSfKADvorEHXodJr0P7fQnOpU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=K2Y62n+G+iGEMJs/mIapaAQXB6jw1HMrr1ARHNg6Iec+rCCmGYZOCPuDqaKofr3Pp +0uzb3rjH0y6bo5d5lTWfiJ5d40sLzfBK9G9LB2gHq2VApo8g6b1sPll6eIhoraBL4 6LrmEkz7Rv6RNHrzFzQdVGylDQZIb9mjq4btKXs8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Giovanni Cabiddu , Herbert Xu Subject: [PATCH 5.4 25/29] crypto: qat - disable registration of algorithms Date: Fri, 25 Mar 2022 16:05:05 +0100 Message-Id: <20220325150419.309973315@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220325150418.585286754@linuxfoundation.org> References: <20220325150418.585286754@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Giovanni Cabiddu commit 8893d27ffcaf6ec6267038a177cb87bcde4dd3de upstream. The implementations of aead and skcipher in the QAT driver do not support properly requests with the CRYPTO_TFM_REQ_MAY_BACKLOG flag set. If the HW queue is full, the driver returns -EBUSY but does not enqueue the request. This can result in applications like dm-crypt waiting indefinitely for a completion of a request that was never submitted to the hardware. To avoid this problem, disable the registration of all crypto algorithms in the QAT driver by setting the number of crypto instances to 0 at configuration time. Cc: stable@vger.kernel.org Signed-off-by: Giovanni Cabiddu Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- drivers/crypto/qat/qat_common/qat_crypto.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/drivers/crypto/qat/qat_common/qat_crypto.c +++ b/drivers/crypto/qat/qat_common/qat_crypto.c @@ -170,6 +170,14 @@ int qat_crypto_dev_config(struct adf_acc goto err; if (adf_cfg_section_add(accel_dev, "Accelerator0")) goto err; + + /* Temporarily set the number of crypto instances to zero to avoid + * registering the crypto algorithms. + * This will be removed when the algorithms will support the + * CRYPTO_TFM_REQ_MAY_BACKLOG flag + */ + instances = 0; + for (i = 0; i < instances; i++) { val = i; snprintf(key, sizeof(key), ADF_CY "%d" ADF_RING_BANK_NUM, i);