[PATCH 1/6] vhost: fix vduse device creation error handling

Maxime Coquelin maxime.coquelin at redhat.com
Wed Oct 23 20:55:20 CEST 2024



On 10/23/24 18:06, David Marchand wrote:
> On Wed, Oct 23, 2024 at 5:16 PM Maxime Coquelin
> <maxime.coquelin at redhat.com> wrote:
>>
>> This patch fixes missing reconnection log unmapping
>> miss in the error path at VDUSE creation time.
>>
>> Coverity issue: 445525
>> Fixes: da79cc7fda76 ("vhost: add reconnection support to VDUSE")
>>
>> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> 
> VDUSE* in the title, for consistency please.

Fixed in v2.

> Reviewed-by: David Marchand <david.marchand at redhat.com>
> 
> One comment below.
> 
>> ---
>>   lib/vhost/vduse.c | 24 +++++++++++++-----------
>>   1 file changed, 13 insertions(+), 11 deletions(-)
>>
>> diff --git a/lib/vhost/vduse.c b/lib/vhost/vduse.c
>> index f9ac317438..89bc29a33f 100644
>> --- a/lib/vhost/vduse.c
>> +++ b/lib/vhost/vduse.c
>> @@ -488,7 +488,7 @@ vduse_device_create(const char *path, bool compliant_ol_flags)
>>          struct vduse_dev_config *dev_config = NULL;
> 
> dev_config could be allocated on the stack, rather than the heap.
> 
> But at least, move dev_config declaration in the block where it is
> used, this will limit the chance a future change introduces a leak.
> 

I moved dev_config declaration in the block, having it declared in the
heap makes it less readable IMHO.

> 
>>          const char *name = path + strlen("/dev/vduse/");
>>          char reconnect_file[PATH_MAX];
>> -       struct vhost_reconnect_data *reconnect_log = NULL;
>> +       struct vhost_reconnect_data *reconnect_log = MAP_FAILED;
>>          bool reconnect = false;
>>
>>          if (vduse.fdset == NULL) {
> 
> 

Thanks,
Maxime



More information about the dev mailing list