Re: [PATCH] cxl/acpi: Use printk specifier for resource

From: Verma, Vishal L
Date: Tue Jul 18 2023 - 13:58:35 EST


On Mon, 2023-07-17 at 03:26 -0700, Breno Leitao wrote:
> Commit 3840e10e8dca ("cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()")
> is using %llx to print resources pointers, but it is incorrect on 32-bits
> system, causing the following compilation warning on i386:
>
>          drivers/cxl/acpi.c:300:4: warning: format specifies type 'unsigned long long' but the argument has type 'resource_size_t' (aka 'unsigned int') [-Wformat]
>
> Instead of using pointers to the resource, uses the proper printk
> specifier that knows how to handle the struct "resources".
>
> This is the new format, being printed now:
>
>         Failed to add decode range: [mem 0x4080000000-0x2baffffffff flags 0x200]
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202307151059.2vvBt55H-lkp@xxxxxxxxx/
> Fixes: 3840e10e8dca ("cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()")
> Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
> ---
>  drivers/cxl/acpi.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

I squashed this in with the original use-after-free patch. Since this
fixes a compile warning with the original patch, squashing is
appropriate even if it results in rebasing the fixes branch.

>
> diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c
> index 815b43859c16..d1c559879dcc 100644
> --- a/drivers/cxl/acpi.c
> +++ b/drivers/cxl/acpi.c
> @@ -296,8 +296,7 @@ static int cxl_parse_cfmws(union acpi_subtable_headers *header, void *arg,
>         else
>                 rc = cxl_decoder_autoremove(dev, cxld);
>         if (rc) {
> -               dev_err(dev, "Failed to add decode range [%#llx - %#llx]\n",
> -                       res->start, res->end);
> +               dev_err(dev, "Failed to add decode range: %pr", res);
>                 return rc;
>         }
>         dev_dbg(dev, "add: %s node: %d range [%#llx - %#llx]\n",