When compiling with -Wformat, clang emits the following warnings:
drivers/vfio/pci/vfio_pci.c:1601:5: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~
drivers/vfio/pci/vfio_pci.c:1601:13: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~
drivers/vfio/pci/vfio_pci.c:1601:21: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~~~~
drivers/vfio/pci/vfio_pci.c:1601:32: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~~~~
drivers/vfio/pci/vfio_pci.c:1605:5: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~
drivers/vfio/pci/vfio_pci.c:1605:13: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~
drivers/vfio/pci/vfio_pci.c:1605:21: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~~~~
drivers/vfio/pci/vfio_pci.c:1605:32: warning: format specifies type
'unsigned short' but the argument has type 'unsigned int' [-Wformat]
vendor, device, subvendor, subdevice,
^~~~~~~~~
The types of these arguments are unconditionally defined, so this patch
updates the format character to the correct ones for unsigned ints.
Link: https://github.com/ClangBuiltLinux/linux/issues/378
Signed-off-by: Louis Taylor <[email protected]>
---
drivers/vfio/pci/vfio_pci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
index a25659b5a5d1..3fa20e95a6bb 100644
--- a/drivers/vfio/pci/vfio_pci.c
+++ b/drivers/vfio/pci/vfio_pci.c
@@ -1661,11 +1661,11 @@ static void __init vfio_pci_fill_ids(void)
rc = pci_add_dynid(&vfio_pci_driver, vendor, device,
subvendor, subdevice, class, class_mask, 0);
if (rc)
- pr_warn("failed to add dynamic id [%04hx:%04hx[%04hx:%04hx]] class %#08x/%08x (%d)\n",
+ pr_warn("failed to add dynamic id [%04x:%04x[%04x:%04x]] class %#08x/%08x (%d)\n",
vendor, device, subvendor, subdevice,
class, class_mask, rc);
else
- pr_info("add [%04hx:%04hx[%04hx:%04hx]] class %#08x/%08x\n",
+ pr_info("add [%04x:%04x[%04x:%04x]] class %#08x/%08x\n",
vendor, device, subvendor, subdevice,
class, class_mask);
}
--
2.20.1
On Thu, Feb 28, 2019 at 11:49 AM Louis Taylor <[email protected]> wrote:
>
> When compiling with -Wformat, clang emits the following warnings:
>
> drivers/vfio/pci/vfio_pci.c:1601:5: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1601:13: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1601:21: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1601:32: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:5: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:13: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:21: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:32: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
> The types of these arguments are unconditionally defined, so this patch
> updates the format character to the correct ones for unsigned ints.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/378
> Signed-off-by: Louis Taylor <[email protected]>
Thanks for the patch! LGTM
Reviewed-by: Nick Desaulniers <[email protected]>
> ---
> drivers/vfio/pci/vfio_pci.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
> index a25659b5a5d1..3fa20e95a6bb 100644
> --- a/drivers/vfio/pci/vfio_pci.c
> +++ b/drivers/vfio/pci/vfio_pci.c
> @@ -1661,11 +1661,11 @@ static void __init vfio_pci_fill_ids(void)
> rc = pci_add_dynid(&vfio_pci_driver, vendor, device,
> subvendor, subdevice, class, class_mask, 0);
> if (rc)
> - pr_warn("failed to add dynamic id [%04hx:%04hx[%04hx:%04hx]] class %#08x/%08x (%d)\n",
> + pr_warn("failed to add dynamic id [%04x:%04x[%04x:%04x]] class %#08x/%08x (%d)\n",
> vendor, device, subvendor, subdevice,
> class, class_mask, rc);
> else
> - pr_info("add [%04hx:%04hx[%04hx:%04hx]] class %#08x/%08x\n",
> + pr_info("add [%04x:%04x[%04x:%04x]] class %#08x/%08x\n",
> vendor, device, subvendor, subdevice,
> class, class_mask);
> }
> --
> 2.20.1
>
--
Thanks,
~Nick Desaulniers
On Thu, 28 Feb 2019 19:48:12 +0000
Louis Taylor <[email protected]> wrote:
> When compiling with -Wformat, clang emits the following warnings:
>
> drivers/vfio/pci/vfio_pci.c:1601:5: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1601:13: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1601:21: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1601:32: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:5: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:13: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:21: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
>
> drivers/vfio/pci/vfio_pci.c:1605:32: warning: format specifies type
> 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> vendor, device, subvendor, subdevice,
> ^~~~~~~~~
> The types of these arguments are unconditionally defined, so this patch
> updates the format character to the correct ones for unsigned ints.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/378
> Signed-off-by: Louis Taylor <[email protected]>
> ---
Applied to vfio for-linus branch for v5.1 with Nick's R-b. Thanks!
Alex
> drivers/vfio/pci/vfio_pci.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
> index a25659b5a5d1..3fa20e95a6bb 100644
> --- a/drivers/vfio/pci/vfio_pci.c
> +++ b/drivers/vfio/pci/vfio_pci.c
> @@ -1661,11 +1661,11 @@ static void __init vfio_pci_fill_ids(void)
> rc = pci_add_dynid(&vfio_pci_driver, vendor, device,
> subvendor, subdevice, class, class_mask, 0);
> if (rc)
> - pr_warn("failed to add dynamic id [%04hx:%04hx[%04hx:%04hx]] class %#08x/%08x (%d)\n",
> + pr_warn("failed to add dynamic id [%04x:%04x[%04x:%04x]] class %#08x/%08x (%d)\n",
> vendor, device, subvendor, subdevice,
> class, class_mask, rc);
> else
> - pr_info("add [%04hx:%04hx[%04hx:%04hx]] class %#08x/%08x\n",
> + pr_info("add [%04x:%04x[%04x:%04x]] class %#08x/%08x\n",
> vendor, device, subvendor, subdevice,
> class, class_mask);
> }