virtio-mmio: Reject invalid IRQ 0 command line argument
The "virtio_mmio.device=" command line argument allows a user to specify the size, address, and IRQ of a virtio device. Previously the only requirement for the IRQ was that it be an unsigned integer. Zero is an unsigned integer but an invalid IRQ number, and aftera85a6c86c2
("driver core: platform: Clarify that IRQ 0 is invalid"), attempts to use IRQ 0 cause warnings. If the user specifies IRQ 0, return failure instead of registering a device with IRQ 0. Fixes:a85a6c86c2
("driver core: platform: Clarify that IRQ 0 is invalid") Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Jason Wang <jasowang@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Родитель
5396956cc7
Коммит
62ca18a089
|
@ -641,11 +641,11 @@ static int vm_cmdline_set(const char *device,
|
|||
&vm_cmdline_id, &consumed);
|
||||
|
||||
/*
|
||||
* sscanf() must processes at least 2 chunks; also there
|
||||
* sscanf() must process at least 2 chunks; also there
|
||||
* must be no extra characters after the last chunk, so
|
||||
* str[consumed] must be '\0'
|
||||
*/
|
||||
if (processed < 2 || str[consumed])
|
||||
if (processed < 2 || str[consumed] || irq == 0)
|
||||
return -EINVAL;
|
||||
|
||||
resources[0].flags = IORESOURCE_MEM;
|
||||
|
|
Загрузка…
Ссылка в новой задаче