Message ID | 20230717102625.4083462-1-leitao@debian.org |
---|---|
State | New, archived |
Headers | show |
Series | cxl/acpi: Use printk specifier for resource | expand |
On 7/17/23 03:26, 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@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202307151059.2vvBt55H-lkp@intel.com/ > Fixes: 3840e10e8dca ("cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()") > Suggested-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: Breno Leitao <leitao@debian.org> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/cxl/acpi.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > 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",
On Mon, 17 Jul 2023 09:28:47 -0700 Dave Jiang <dave.jiang@intel.com> wrote: > On 7/17/23 03:26, 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@intel.com> > > Closes: https://lore.kernel.org/oe-kbuild-all/202307151059.2vvBt55H-lkp@intel.com/ > > Fixes: 3840e10e8dca ("cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()") > > Suggested-by: Dan Williams <dan.j.williams@intel.com> > > Signed-off-by: Breno Leitao <leitao@debian.org> > > Reviewed-by: Dave Jiang <dave.jiang@intel.com> FWIW Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > --- > > drivers/cxl/acpi.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > 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", >
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@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202307151059.2vvBt55H-lkp@intel.com/ > Fixes: 3840e10e8dca ("cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()") > Suggested-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: Breno Leitao <leitao@debian.org> > --- > 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",
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",
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@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202307151059.2vvBt55H-lkp@intel.com/ Fixes: 3840e10e8dca ("cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()") Suggested-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Breno Leitao <leitao@debian.org> --- drivers/cxl/acpi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)