All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Krowiak <akrowiak@linux.ibm.com>
To: Heiko Carstens <hca@linux.ibm.com>
Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, jjherne@linux.ibm.com, pasic@linux.ibm.com,
	alex.williamson@redhat.com, borntraeger@linux.ibm.com
Subject: Re: [PATCH] s390/vfio_ap: fix memory leak in vfio_ap device driver
Date: Thu, 16 Mar 2023 09:35:50 -0400	[thread overview]
Message-ID: <1e3fc059-09ac-100e-6a37-9b7f459cfb99@linux.ibm.com> (raw)
In-Reply-To: <ZBLV1P2AkWdHht2r@osiris>


On 3/16/23 4:39 AM, Heiko Carstens wrote:
> On Wed, Mar 15, 2023 at 11:39:32AM -0400, Tony Krowiak wrote:
>> The device release callback function invoked to release the matrix device
>> uses the dev_get_drvdata(device *dev) function to retrieve the
>> pointer to the vfio_matrix_dev object in order to free its storage. The
>> problem is, this object is not stored as drvdata with the device; since the
>> kfree function will accept a NULL pointer, the memory for the
>> vfio_matrix_dev object is never freed.
>>
>> Since the device being released is contained within the vfio_matrix_dev
>> object, the container_of macro will be used to retrieve its pointer.
>>
>> Fixes: 1fde573413b5 ("s390: vfio-ap: base implementation of VFIO AP device driver")
>> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
>> ---
>>   drivers/s390/crypto/vfio_ap_drv.c | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/s390/crypto/vfio_ap_drv.c b/drivers/s390/crypto/vfio_ap_drv.c
>> index 997b524bdd2b..15e9de9f4574 100644
>> --- a/drivers/s390/crypto/vfio_ap_drv.c
>> +++ b/drivers/s390/crypto/vfio_ap_drv.c
>> @@ -54,8 +54,9 @@ static struct ap_driver vfio_ap_drv = {
>>   
>>   static void vfio_ap_matrix_dev_release(struct device *dev)
>>   {
>> -	struct ap_matrix_dev *matrix_dev = dev_get_drvdata(dev);
>> -
>> +	struct ap_matrix_dev *matrix_dev = container_of(dev,
>> +							struct ap_matrix_dev,
>> +							device);
>>   	kfree(matrix_dev);
> Could you keep this code more readable, including adding the missing
> blank line after the declaration, please? Something like:
>
> static void vfio_ap_matrix_dev_release(struct device *dev)
> {
> 	struct ap_matrix_dev *matrix_dev;
>
> 	matrix_dev = container_of(dev, struct ap_matrix_dev, device);
> 	kfree(matrix_dev);
> }
>
> Thanks!


Will do.



      reply	other threads:[~2023-03-16 13:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-15 15:39 [PATCH] s390/vfio_ap: fix memory leak in vfio_ap device driver Tony Krowiak
2023-03-15 17:25 ` Harald Freudenberger
2023-03-15 17:57   ` Anthony Krowiak
2023-03-16  8:39 ` Heiko Carstens
2023-03-16 13:35   ` Anthony Krowiak [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1e3fc059-09ac-100e-6a37-9b7f459cfb99@linux.ibm.com \
    --to=akrowiak@linux.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=jjherne@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pasic@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.