* [PULL 1/1] Revert "hw/core/qdev-properties: Use qemu_strtoul() in set_pci_host_devaddr()"
2020-11-24 15:14 [PULL 0/1] PCI host devaddr property fix for 5.2 Eduardo Habkost
@ 2020-11-24 15:15 ` Eduardo Habkost
2020-11-24 15:21 ` [PULL 0/1] PCI host devaddr property fix for 5.2 no-reply
2020-11-24 22:40 ` Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Eduardo Habkost @ 2020-11-24 15:15 UTC (permalink / raw)
To: qemu-devel
Cc: Geoffrey McRae, Daniel P. Berrangé, Eduardo Habkost,
Michael S. Tsirkin, Klaus Herman, Paolo Bonzini,
Philippe Mathieu-Daudé
From: "Michael S. Tsirkin" <mst@redhat.com>
This reverts commit bccb20c49df1bd683248a366021973901c11982f as it
introduced a regression blocking bus addresses > 0x1f or higher.
Legal bus numbers go up to 0xff.
Fixes: bccb20c49df ("Use qemu_strtoul() in set_pci_host_devaddr()")
Reported-by: Klaus Herman <kherman@inbox.lv>
Reported-by: Geoffrey McRae <geoff@hostfission.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Message-Id: <20201120130409.956956-1-mst@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
hw/core/qdev-properties-system.c | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index b81a4e8d14..9d80a07d26 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -858,7 +858,7 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
Property *prop = opaque;
PCIHostDeviceAddress *addr = qdev_get_prop_ptr(dev, prop);
char *str, *p;
- const char *e;
+ char *e;
unsigned long val;
unsigned long dom = 0, bus = 0;
unsigned int slot = 0, func = 0;
@@ -873,23 +873,23 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
}
p = str;
- if (qemu_strtoul(p, &e, 16, &val) < 0 || val > 0xffff || e == p) {
- goto inval;
- }
- if (*e != ':') {
+ val = strtoul(p, &e, 16);
+ if (e == p || *e != ':') {
goto inval;
}
bus = val;
- p = (char *)e + 1;
- if (qemu_strtoul(p, &e, 16, &val) < 0 || val > 0x1f || e == p) {
+ p = e + 1;
+ val = strtoul(p, &e, 16);
+ if (e == p) {
goto inval;
}
if (*e == ':') {
dom = bus;
bus = val;
- p = (char *)e + 1;
- if (qemu_strtoul(p, &e, 16, &val) < 0 || val > 0x1f || e == p) {
+ p = e + 1;
+ val = strtoul(p, &e, 16);
+ if (e == p) {
goto inval;
}
}
@@ -898,13 +898,14 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
if (*e != '.') {
goto inval;
}
- p = (char *)e + 1;
- if (qemu_strtoul(p, &e, 10, &val) < 0 || val > 7 || e == p) {
+ p = e + 1;
+ val = strtoul(p, &e, 10);
+ if (e == p) {
goto inval;
}
func = val;
- if (bus > 0xff) {
+ if (dom > 0xffff || bus > 0xff || slot > 0x1f || func > 7) {
goto inval;
}
--
2.28.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PULL 0/1] PCI host devaddr property fix for 5.2
2020-11-24 15:14 [PULL 0/1] PCI host devaddr property fix for 5.2 Eduardo Habkost
2020-11-24 15:15 ` [PULL 1/1] Revert "hw/core/qdev-properties: Use qemu_strtoul() in set_pci_host_devaddr()" Eduardo Habkost
@ 2020-11-24 15:21 ` no-reply
2020-11-24 22:40 ` Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: no-reply @ 2020-11-24 15:21 UTC (permalink / raw)
To: ehabkost; +Cc: pbonzini, berrange, qemu-devel, ehabkost
Patchew URL: https://patchew.org/QEMU/20201124151500.2945356-1-ehabkost@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20201124151500.2945356-1-ehabkost@redhat.com
Subject: [PULL 0/1] PCI host devaddr property fix for 5.2
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20201124151500.2945356-1-ehabkost@redhat.com -> patchew/20201124151500.2945356-1-ehabkost@redhat.com
Switched to a new branch 'test'
d681dc3 Revert "hw/core/qdev-properties: Use qemu_strtoul() in set_pci_host_devaddr()"
=== OUTPUT BEGIN ===
ERROR: consider using qemu_strtoul in preference to strtoul
#42: FILE: hw/core/qdev-properties-system.c:876:
+ val = strtoul(p, &e, 16);
ERROR: consider using qemu_strtoul in preference to strtoul
#51: FILE: hw/core/qdev-properties-system.c:883:
+ val = strtoul(p, &e, 16);
ERROR: consider using qemu_strtoul in preference to strtoul
#61: FILE: hw/core/qdev-properties-system.c:891:
+ val = strtoul(p, &e, 16);
ERROR: consider using qemu_strtoul in preference to strtoul
#73: FILE: hw/core/qdev-properties-system.c:902:
+ val = strtoul(p, &e, 10);
total: 4 errors, 0 warnings, 56 lines checked
Commit d681dc33d138 (Revert "hw/core/qdev-properties: Use qemu_strtoul() in set_pci_host_devaddr()") has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20201124151500.2945356-1-ehabkost@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 4+ messages in thread