[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V2 2/2] libxl: fix matching of generic virtio device
- To: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
- From: Oleksandr Tyshchenko <olekstysh@xxxxxxxxx>
- Date: Wed, 5 Apr 2023 12:11:19 +0300
- Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, xen-devel@xxxxxxxxxxxxx, stratos-dev@xxxxxxxxxxxxxxxxxxx, Alex Bennée <alex.bennee@xxxxxxxxxx>, Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>, Erik Schilling <erik.schilling@xxxxxxxxxx>
- Delivery-date: Wed, 05 Apr 2023 09:11:41 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 05.04.23 03:12, Viresh Kumar wrote:
Hello Viresh
The strings won't be an exact match, as we are only looking to match the
prefix here, i.e. "virtio,device". This is already done properly in
libxl_virtio.c file, lets do the same here too.
Fixes: 43ba5202e2ee ("libxl: add support for generic virtio device")
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
---
V1->V2: Add the missing fixes tag.
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
tools/libs/light/libxl_arm.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index ddc7b2a15975..97c80d7ed0fa 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1033,10 +1033,14 @@ static int make_virtio_mmio_node_device(libxl__gc *gc,
void *fdt, uint64_t base,
} else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
res = make_virtio_mmio_node_gpio(gc, fdt);
if (res) return res;
- } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
- /* Doesn't match generic virtio device */
- LOG(ERROR, "Invalid type for virtio device: %s", type);
- return -EINVAL;
+ } else {
+ int len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
+
+ if (strncmp(type, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
+ /* Doesn't match generic virtio device */
+ LOG(ERROR, "Invalid type for virtio device: %s", type);
+ return -EINVAL;
+ }
}
return fdt_end_node(fdt);
|