Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp2064275rwl; Fri, 6 Jan 2023 01:09:32 -0800 (PST) X-Google-Smtp-Source: AMrXdXtP59WrbP8V8zH7ULm8boxJyjQMOSkGzjYDqE0EN6ZYniO3Uvb9U8bk0XlnOA9MeNGy3dhu X-Received: by 2002:a05:6402:916:b0:461:7d2:c9fc with SMTP id g22-20020a056402091600b0046107d2c9fcmr48888849edz.26.1672996172761; Fri, 06 Jan 2023 01:09:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672996172; cv=none; d=google.com; s=arc-20160816; b=uqTwimDL7DefhIO+aoVGoOWPYzyIISjbsGKIlZN100MBVtHcTgmgn/5C/e9+LTIpYO FHR1FbTfXf9wWZE4ILbHWgtt57iFQ6gsKTW4AjrTgom6+IRGQ6j6U5b9e1V4yc3pzg5I vwSRBJnZTT76iS+BgQ+onWMqms7vAyx44dtFgPD2IqTwPhaMA6cstyptg4cnkZQiqhoI dCAchK+hcpJoHasPX2HW0MFEf2N7DqGb0NM8B3LEI8ePM5yW/eWpR4dZa9FsWTmbesrW VL1Ac+jpGtxDf9LD8lzirQHEDCcLUZReMO3Vq1Q17swLW18QZAuhkTGWULyzQwXI1s71 zivg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :message-id:subject:cc:to:from:date; bh=SVKecrbtiQQtTHtWRr5QV34qFnL7b4bpvrivc2ISFLY=; b=FGCdh6+lT2IJLWQoqspBi2vy5ThDy2oZ5y/MpQZEbVBYNO4DEhsRYJgEn3YkSm8pVk ITSQA/3e7dtEHJdLOygacA1ODeKHFIivtgsaYcy6z7d9glZu5xFAMJzjlX4e7ABlPUHW B/+k7dljidC0Ki5a8oKgTj5irOzW8KtkyesnzeD3bMBDAiwnbfu0LIY9unNeMCvi9XvL 5VAp3QNShoNsyz9md7YYUj/QamM2hQcN/Oebok2zlTofJPm7IO5CrTz69dXmtWoiU/ja hscK55mP3zN43mPozRZFD+fau4BdX+tn50NCE4O94Q17Y9cI8KwjlfkZ2xhaYHv0HL29 xjrA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t1-20020a056402240100b00484b7b1b82csi1048464eda.186.2023.01.06.01.09.02; Fri, 06 Jan 2023 01:09:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231289AbjAFJBz (ORCPT + 99 others); Fri, 6 Jan 2023 04:01:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229709AbjAFJBx (ORCPT ); Fri, 6 Jan 2023 04:01:53 -0500 Received: from formenos.hmeau.com (helcar.hmeau.com [216.24.177.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 577AE625F1 for ; Fri, 6 Jan 2023 01:01:52 -0800 (PST) Received: from loth.rohan.me.apana.org.au ([192.168.167.2]) by formenos.hmeau.com with smtp (Exim 4.94.2 #2 (Debian)) id 1pDibl-00EVUN-1M; Fri, 06 Jan 2023 17:01:50 +0800 Received: by loth.rohan.me.apana.org.au (sSMTP sendmail emulation); Fri, 06 Jan 2023 17:01:49 +0800 Date: Fri, 6 Jan 2023 17:01:49 +0800 From: Herbert Xu To: Markus Stockhausen Cc: linux-crypto@vger.kernel.org, markus.stockhausen@gmx.de Subject: Re: [PATCH v3 3/6] crypto/realtek: hash algorithms Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221231162525.416709-4-markus.stockhausen@gmx.de> X-Newsgroups: apana.lists.os.linux.cryptoapi X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS autolearn=ham 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-crypto@vger.kernel.org Markus Stockhausen wrote: > > + while (datalen) { > + len = min(sg_dma_len(sg), datalen); > + > + idx = rtcr_inc_src_idx(idx, 1); > + rtcr_add_src_to_ring(cdev, idx, sg_virt(sg), len, reqlen); You cannot use sg_virt because the SG might not even be mapped into kernel address space. Since the code then simply converts it to physical you should simply pass along the DMA address you obtained from the DMA API. > + > + datalen -= len; > + if (datalen) > + sg = sg_next(sg); > + } > + > + if (padlen) { > + idx = rtcr_inc_src_idx(idx, 1); > + rtcr_add_src_to_ring(cdev, idx, ppad, padlen, reqlen); > + } > + > + rtcr_add_src_pad_to_ring(cdev, idx, reqlen); > + rtcr_add_src_ahash_to_ring(cdev, srcidx, hctx->opmode, reqlen); > + > + /* Off we go */ > + rtcr_kick_engine(cdev); > + if (rtcr_wait_for_request(cdev, dstidx)) > + return -EINVAL; You cannot sleep in this function because it may be called from softirq context. Instead you should use asynchronous completion. Thanks, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt