Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp342255pxb; Fri, 22 Apr 2022 02:01:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTAAiWvMTot+anFUG/ABCx5ePKPd1cCAInspLiQYn7s/bXetHAhjTy1aN4arssn1DLZrNF X-Received: by 2002:a63:8bc4:0:b0:3aa:6f1f:8715 with SMTP id j187-20020a638bc4000000b003aa6f1f8715mr3041966pge.423.1650618086070; Fri, 22 Apr 2022 02:01:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650618086; cv=none; d=google.com; s=arc-20160816; b=1KNolJpaWcJa82eOxX3tutCHDZHwfdhscQWq5EvQZJIAZ1s9R2ZuIJUPSuyEQK6dB2 YRFo5ref8hSmI7w8eeg45gHIO79IuEp5rVX7cADcbWdme368YsPP1UiSYU4N0RptlJhU hCYjJq7WDuYSlJAw1mndV0C9yEC0cyheUv4rw40s5DrqeidlPzTniUxPKQv/OZTaPj2C lyk5wUnNHZ50OVDy7ukis7xQqWxV2HglYEcFoHxRE8KQhLt8ddp0bBUKuwzya3PsVBY8 oT8ZtcmkFqY1xJW4YqNHzMqFlOIt9/Nx4JWXqec9ta9Wl+YtEuBiCIZLlYxLwurKzfDv VOnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=ilKMohUyCVfP3cDqrVw2LdFD9mYpqar2wJSPIf9OKBA=; b=O9q4QgCS1Sz6rBJ/YXeRFGfvQ4KNyuIfm3fYLQ/LxMmWKyi9FLIxwltfRNljHKBfFa v0PnMI2Wo7ZD1AFsJ3k+98JNH96zw52DUB+5W6a0mfKA5FNKSTmhtSApImjjC9NJp8wy RVTFTpzLubVYDFg0hBXUOa3J4P5X+E+Ph3/R+VJIWFcIpRtGEMAJ5a3kwYCrsLVTnnlJ 9lgbGPl567UESas8X21juaas/DRvu0Vv3uc0D0QWxMqZCP3cGEBHny9ZWj4scXJ+Ik7S m+Zguq/5c1s8frB0rtEfPeRfaNuhvlrZoox/XwKhTmilsan/6PMuC03mwdWCoWZmBOor mi8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=2f7kR5hr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s35-20020a056a0017a300b00505929703d3si7727090pfg.56.2022.04.22.02.01.10; Fri, 22 Apr 2022 02:01:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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; dkim=pass header.i=@bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=2f7kR5hr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1444482AbiDVHBe (ORCPT + 99 others); Fri, 22 Apr 2022 03:01:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1389262AbiDVHBd (ORCPT ); Fri, 22 Apr 2022 03:01:33 -0400 Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1921050E2F for ; Thu, 21 Apr 2022 23:58:41 -0700 (PDT) Received: by mail-pg1-x532.google.com with SMTP id x191so6646364pgd.4 for ; Thu, 21 Apr 2022 23:58:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ilKMohUyCVfP3cDqrVw2LdFD9mYpqar2wJSPIf9OKBA=; b=2f7kR5hrJh3MurGD6PTL+aTZYNv/GAgABQCqmAi1wf/jUtevyutOHHAAkLnwNK/TiF hI4IxRca1WEjgA3lmLueTRqkH9ObwBxIAE6wpmq1N/Dnpy80j+WXSXihAXn/3R3SjdjU XAU4udqLPqBVPGiGNp3Ou+agh3I5f9v1MESSh9NHPEs7Vpfy0JQMx5sWS26M36QrT2y8 dWfVkRqvRRKmw2QYdxf0UB+KF51lMIZMtOw2YnRlq16vJLRSpJwu7WUAJfOzmD3FNF+8 AysH2x0WajWEoqxLOY7s/1JaUqEpn0zC0iiAJ4d2Oc4ZKv+cBrrzN+Vk2fUieFdwM1B6 hTiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ilKMohUyCVfP3cDqrVw2LdFD9mYpqar2wJSPIf9OKBA=; b=kXgmv82Jeq/7nRjLPVN7uCKMqPx0+AL6C/up68RwcdiUzTc4RtoOEd00hsL9yRPXnM ZxePoMPoltv5sb8GzCZ/YR/1uGoSH56q/CdSIwcFByzpZzTkkTf65CjNV2F+Jhcswa0T 31kTOoRFDn1bhLX02u+9Wxn+WVvyjacushlhMcLy6E6LoXscx0MSUYDup84da9X6u1/V dN8/nNu8qXnCR/hXt81bthp4PwwsGMwmmQdxPMW+cljwcrxB551YqhvM43rYYHRIj+2R n89StlgKZlws17BJzUkgRJb50+ww7NCAHUeN7SNmt77GrhFLQOpvDlY9riivTI+bcrpi b3dw== X-Gm-Message-State: AOAM532kICjWf7sZffftK6U4DhUa03miot0WvPGrWIA7PF8OViF0btV6 uZUAL4CUC5z6X28hRh+TH3zizA== X-Received: by 2002:a63:5859:0:b0:3aa:4cf7:fbfd with SMTP id i25-20020a635859000000b003aa4cf7fbfdmr2753287pgm.522.1650610720608; Thu, 21 Apr 2022 23:58:40 -0700 (PDT) Received: from [10.76.43.148] ([61.120.150.78]) by smtp.gmail.com with ESMTPSA id x23-20020a17090a0bd700b001cd498dc152sm5139199pjd.2.2022.04.21.23.58.36 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Apr 2022 23:58:40 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Subject: Re: [External] [PATCH v3 4/5] virtio-crypto: adjust dst_len at ops callback From: =?utf-8?B?5L2V56OK?= In-Reply-To: <4edf9c3d37f1435a8a6701a7429a3aba@huawei.com> Date: Fri, 22 Apr 2022 14:58:33 +0800 Cc: =?utf-8?B?5L2V56OK?= , zhenwei pi , "mst@redhat.com" , "jasowang@redhat.com" , "herbert@gondor.apana.org.au" , "linux-kernel@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "linux-crypto@vger.kernel.org" , "davem@davemloft.net" Content-Transfer-Encoding: quoted-printable Message-Id: <7B16C43E-1C25-44B6-A4F0-B546935ECA27@bytedance.com> References: <20220421104016.453458-1-pizhenwei@bytedance.com> <20220421104016.453458-5-pizhenwei@bytedance.com> <4edf9c3d37f1435a8a6701a7429a3aba@huawei.com> To: "Gonglei (Arei)" X-Mailer: Apple Mail (2.3608.120.23.2.4) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE 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-kernel@vger.kernel.org > On Apr 21, 2022, at 9:46 PM, Gonglei (Arei) = wrote: >=20 >=20 >=20 >> -----Original Message----- >> From: zhenwei pi [mailto:pizhenwei@bytedance.com] >> Sent: Thursday, April 21, 2022 6:40 PM >> To: Gonglei (Arei) ; mst@redhat.com >> Cc: jasowang@redhat.com; herbert@gondor.apana.org.au; >> linux-kernel@vger.kernel.org; = virtualization@lists.linux-foundation.org; >> linux-crypto@vger.kernel.org; helei.sig11@bytedance.com; >> davem@davemloft.net; zhenwei pi >> Subject: [PATCH v3 4/5] virtio-crypto: adjust dst_len at ops callback >>=20 >> From: lei he >>=20 >> For some akcipher operations(eg, decryption of pkcs1pad(rsa)), the = length of >> returned result maybe less than akcipher_req->dst_len, we need to = recalculate >> the actual dst_len through the virt-queue protocol. >>=20 > OK ... >=20 >> Cc: Michael S. Tsirkin >> Cc: Jason Wang >> Cc: Gonglei >> Signed-off-by: lei he >> Signed-off-by: zhenwei pi >> --- >> drivers/crypto/virtio/virtio_crypto_akcipher_algs.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >>=20 >> diff --git a/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c >> b/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c >> index 9561bc2df62b..82db86e088c2 100644 >> --- a/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c >> +++ b/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c >> @@ -90,9 +90,12 @@ static void >> virtio_crypto_dataq_akcipher_callback(struct virtio_crypto_request * >> } >>=20 >> akcipher_req =3D vc_akcipher_req->akcipher_req; >> - if (vc_akcipher_req->opcode !=3D VIRTIO_CRYPTO_AKCIPHER_VERIFY) >> + if (vc_akcipher_req->opcode !=3D VIRTIO_CRYPTO_AKCIPHER_VERIFY) = { >> + /* actuall length maybe less than dst buffer */ >> + akcipher_req->dst_len =3D len - sizeof(vc_req->status); >=20 > ...but why minus sizeof(vc_req->status)? The len here indicates the total length of data written by the device. = for encrypt/decrypt/sign, the virt crypto device writes two parts of data: dst_data and = status(virtio_crypto_inhdr).=20 To obtain dst_len, the size of status needs to be subtracted. >=20 >=20 > Regards, > -Gonglei