lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e8a49353-8ade-79c3-474d-90b5079f38ca@bytedance.com>
Date:   Fri, 30 Sep 2022 14:31:28 +0800
From:   zhenwei pi <pizhenwei@...edance.com>
To:     Herbert Xu <herbert@...dor.apana.org.au>
Cc:     mst@...hat.com, arei.gonglei@...wei.com,
        linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: Re: [PATCH v2 RESEND] virtio-crypto: fix memory-leak



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@...edance.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@...ays.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@...edance.com>
>> Acked-by: Michael S. Tsirkin <mst@...hat.com>
>> Reviewed-by: Gonglei <arei.gonglei@...wei.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ