[PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow

Thomas Huth posted 1 patch 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231004075536.48219-1-thuth@redhat.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>
There is a newer version of this series
hw/virtio/virtio-pci.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
[PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Thomas Huth 7 months ago
"len" is used as parameter of the function virtio_write_config()
and as a local variable, so this causes a compiler warning
when compiling with "-Wshadow" and can be confusing for the reader.
Rename the local variable to "caplen" to avoid this problem.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/virtio/virtio-pci.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index edbc0daa18..d0ef1edd66 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -780,15 +780,15 @@ static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
                                                                   pci_cfg_data),
                        sizeof cfg->pci_cfg_data)) {
         uint32_t off;
-        uint32_t len;
+        uint32_t caplen;
 
         cfg = (void *)(proxy->pci_dev.config + proxy->config_cap);
         off = le32_to_cpu(cfg->cap.offset);
-        len = le32_to_cpu(cfg->cap.length);
+        caplen = le32_to_cpu(cfg->cap.length);
 
-        if (len == 1 || len == 2 || len == 4) {
-            assert(len <= sizeof cfg->pci_cfg_data);
-            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, len);
+        if (caplen == 1 || caplen == 2 || caplen == 4) {
+            assert(caplen <= sizeof cfg->pci_cfg_data);
+            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, caplen);
         }
     }
 }
-- 
2.41.0
Re: [PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Markus Armbruster 7 months ago
Thomas Huth <thuth@redhat.com> writes:

> "len" is used as parameter of the function virtio_write_config()
> and as a local variable, so this causes a compiler warning
> when compiling with "-Wshadow" and can be confusing for the reader.
> Rename the local variable to "caplen" to avoid this problem.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  hw/virtio/virtio-pci.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> index edbc0daa18..d0ef1edd66 100644
> --- a/hw/virtio/virtio-pci.c
> +++ b/hw/virtio/virtio-pci.c
> @@ -780,15 +780,15 @@ static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
>                                                                    pci_cfg_data),
>                         sizeof cfg->pci_cfg_data)) {
>          uint32_t off;
> -        uint32_t len;
> +        uint32_t caplen;
>  
>          cfg = (void *)(proxy->pci_dev.config + proxy->config_cap);
>          off = le32_to_cpu(cfg->cap.offset);
> -        len = le32_to_cpu(cfg->cap.length);
> +        caplen = le32_to_cpu(cfg->cap.length);
>  
> -        if (len == 1 || len == 2 || len == 4) {
> -            assert(len <= sizeof cfg->pci_cfg_data);
> -            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, len);
> +        if (caplen == 1 || caplen == 2 || caplen == 4) {
> +            assert(caplen <= sizeof cfg->pci_cfg_data);
> +            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, caplen);
>          }
>      }
>  }

I see the same warning in virtio_read_config().  Care to patch that,
too?
Re: [PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Thomas Huth 7 months ago
On 04/10/2023 12.58, Markus Armbruster wrote:
> Thomas Huth <thuth@redhat.com> writes:
> 
>> "len" is used as parameter of the function virtio_write_config()
>> and as a local variable, so this causes a compiler warning
>> when compiling with "-Wshadow" and can be confusing for the reader.
>> Rename the local variable to "caplen" to avoid this problem.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   hw/virtio/virtio-pci.c | 10 +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
>> index edbc0daa18..d0ef1edd66 100644
>> --- a/hw/virtio/virtio-pci.c
>> +++ b/hw/virtio/virtio-pci.c
>> @@ -780,15 +780,15 @@ static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
>>                                                                     pci_cfg_data),
>>                          sizeof cfg->pci_cfg_data)) {
>>           uint32_t off;
>> -        uint32_t len;
>> +        uint32_t caplen;
>>   
>>           cfg = (void *)(proxy->pci_dev.config + proxy->config_cap);
>>           off = le32_to_cpu(cfg->cap.offset);
>> -        len = le32_to_cpu(cfg->cap.length);
>> +        caplen = le32_to_cpu(cfg->cap.length);
>>   
>> -        if (len == 1 || len == 2 || len == 4) {
>> -            assert(len <= sizeof cfg->pci_cfg_data);
>> -            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, len);
>> +        if (caplen == 1 || caplen == 2 || caplen == 4) {
>> +            assert(caplen <= sizeof cfg->pci_cfg_data);
>> +            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, caplen);
>>           }
>>       }
>>   }
> 
> I see the same warning in virtio_read_config().  Care to patch that,
> too?

Patch is already on the list:
https://lore.kernel.org/qemu-devel/20231004095302.99037-1-thuth@redhat.com/

  Thomas
Re: [PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Markus Armbruster 7 months ago
Thomas Huth <thuth@redhat.com> writes:

> On 04/10/2023 12.58, Markus Armbruster wrote:
>> Thomas Huth <thuth@redhat.com> writes:
>> 
>>> "len" is used as parameter of the function virtio_write_config()
>>> and as a local variable, so this causes a compiler warning
>>> when compiling with "-Wshadow" and can be confusing for the reader.
>>> Rename the local variable to "caplen" to avoid this problem.
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>

[...]

>> I see the same warning in virtio_read_config().  Care to patch that,
>> too?
>
> Patch is already on the list:
> https://lore.kernel.org/qemu-devel/20231004095302.99037-1-thuth@redhat.com/

Awesome, thanks!
Re: [PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Markus Armbruster 7 months ago
Thomas Huth <thuth@redhat.com> writes:

> "len" is used as parameter of the function virtio_write_config()
> and as a local variable, so this causes a compiler warning
> when compiling with "-Wshadow" and can be confusing for the reader.
> Rename the local variable to "caplen" to avoid this problem.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Queued.  Thanks!
Re: [PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Thomas Huth 7 months ago
On 04/10/2023 09.55, Thomas Huth wrote:
> "len" is used as parameter of the function virtio_write_config()
> and as a local variable, so this causes a compiler warning
> when compiling with "-Wshadow" and can be confusing for the reader.
> Rename the local variable to "caplen" to avoid this problem.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   hw/virtio/virtio-pci.c | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> index edbc0daa18..d0ef1edd66 100644
> --- a/hw/virtio/virtio-pci.c
> +++ b/hw/virtio/virtio-pci.c
> @@ -780,15 +780,15 @@ static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
>                                                                     pci_cfg_data),
>                          sizeof cfg->pci_cfg_data)) {
>           uint32_t off;
> -        uint32_t len;
> +        uint32_t caplen;
>   
>           cfg = (void *)(proxy->pci_dev.config + proxy->config_cap);
>           off = le32_to_cpu(cfg->cap.offset);
> -        len = le32_to_cpu(cfg->cap.length);
> +        caplen = le32_to_cpu(cfg->cap.length);
>   
> -        if (len == 1 || len == 2 || len == 4) {
> -            assert(len <= sizeof cfg->pci_cfg_data);
> -            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, len);
> +        if (caplen == 1 || caplen == 2 || caplen == 4) {
> +            assert(caplen <= sizeof cfg->pci_cfg_data);
> +            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, caplen);
>           }
>       }
>   }

Ooops, there is a second warning in this file, in the virtio_read_config() 
... I somehow missed that in the crowded console output, sorry. I'll send a v2.

  Thomas
Re: [PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Michael S. Tsirkin 7 months ago
On Wed, Oct 04, 2023 at 09:55:36AM +0200, Thomas Huth wrote:
> "len" is used as parameter of the function virtio_write_config()
> and as a local variable, so this causes a compiler warning
> when compiling with "-Wshadow" and can be confusing for the reader.
> Rename the local variable to "caplen" to avoid this problem.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>

ok sure

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

feel free to merge with rest of -Wshadow things.

> ---
>  hw/virtio/virtio-pci.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> index edbc0daa18..d0ef1edd66 100644
> --- a/hw/virtio/virtio-pci.c
> +++ b/hw/virtio/virtio-pci.c
> @@ -780,15 +780,15 @@ static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
>                                                                    pci_cfg_data),
>                         sizeof cfg->pci_cfg_data)) {
>          uint32_t off;
> -        uint32_t len;
> +        uint32_t caplen;
>  
>          cfg = (void *)(proxy->pci_dev.config + proxy->config_cap);
>          off = le32_to_cpu(cfg->cap.offset);
> -        len = le32_to_cpu(cfg->cap.length);
> +        caplen = le32_to_cpu(cfg->cap.length);
>  
> -        if (len == 1 || len == 2 || len == 4) {
> -            assert(len <= sizeof cfg->pci_cfg_data);
> -            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, len);
> +        if (caplen == 1 || caplen == 2 || caplen == 4) {
> +            assert(caplen <= sizeof cfg->pci_cfg_data);
> +            virtio_address_space_write(proxy, off, cfg->pci_cfg_data, caplen);
>          }
>      }
>  }
> -- 
> 2.41.0
Re: [PATCH] hw/virtio/virtio-pci: Avoid compiler warning with -Wshadow
Posted by Philippe Mathieu-Daudé 7 months ago
On 4/10/23 09:55, Thomas Huth wrote:
> "len" is used as parameter of the function virtio_write_config()
> and as a local variable, so this causes a compiler warning
> when compiling with "-Wshadow" and can be confusing for the reader.
> Rename the local variable to "caplen" to avoid this problem.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   hw/virtio/virtio-pci.c | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>