[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-crypto-vger
Subject:    Re: Re: [PATCH v2 RESEND] virtio-crypto: fix memory-leak
From:       zhenwei pi <pizhenwei () bytedance ! com>
Date:       2022-09-30 6:31:28
Message-ID: e8a49353-8ade-79c3-474d-90b5079f38ca () bytedance ! com
[Download RAW message or body]



On 9/30/22 14:14, Herbert Xu wrote:
> On Mon, Sep 19, 2022 at 03:51:58PM +0800, Lei He wrote:
> > From: lei he <helei.sig11@bytedance.com>
> > 
> > Fix memory-leak for virtio-crypto akcipher request, this problem is
> > introduced by 59ca6c93387d3(virtio-crypto: implement RSA algorithm).
> > The leak can be reproduced and tested with the following script
> > inside virtual machine:
> > 
> > #!/bin/bash
> > 
> > LOOP_TIMES=10000
> > 
> > # required module: pkcs8_key_parser, virtio_crypto
> > modprobe pkcs8_key_parser # if CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
> > modprobe virtio_crypto # if CONFIG_CRYPTO_DEV_VIRTIO=m
> > rm -rf /tmp/data
> > dd if=/dev/random of=/tmp/data count=1 bs=230
> > 
> > # generate private key and self-signed cert
> > openssl req -nodes -x509 -newkey rsa:2048 -keyout key.pem \
> > 		-outform der -out cert.der  \
> > 		-subj "/C=CN/ST=GD/L=SZ/O=vihoo/OU=dev/CN=always.com/emailAddress=yy@always.com"
> >  # convert private key from pem to der
> > openssl pkcs8 -in key.pem -topk8 -nocrypt -outform DER -out key.der
> > 
> > # add key
> > PRIV_KEY_ID=`cat key.der | keyctl padd asymmetric test_priv_key @s`
> > echo "priv key id = "$PRIV_KEY_ID
> > PUB_KEY_ID=`cat cert.der | keyctl padd asymmetric test_pub_key @s`
> > echo "pub key id = "$PUB_KEY_ID
> > 
> > # query key
> > keyctl pkey_query $PRIV_KEY_ID 0
> > keyctl pkey_query $PUB_KEY_ID 0
> > 
> > # here we only run pkey_encrypt becasuse it is the fastest interface
> > function bench_pub() {
> > 	keyctl pkey_encrypt $PUB_KEY_ID 0 /tmp/data enc=pkcs1 >/tmp/enc.pub
> > }
> > 
> > # do bench_pub in loop to obtain the memory leak
> > for (( i = 0; i < ${LOOP_TIMES}; ++i )); do
> > 	bench_pub
> > done
> > 
> > Signed-off-by: lei he <helei.sig11@bytedance.com>
> > Acked-by: Michael S. Tsirkin <mst@redhat.com>
> > Reviewed-by: Gonglei <arei.gonglei@huawei.com>
> > ---
> > drivers/crypto/virtio/virtio_crypto_akcipher_algs.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> 
> Patch applied.  Thanks.

Hi,

I noticed that MST has already applied on vhost branch.
https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git/commit/?h=vhost&id=1bedcf22c081a6e9943f09937b2da8d3ef52d20d


Thanks.

-- 
zhenwei pi


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic