[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200722074630-mutt-send-email-mst@kernel.org>
Date: Wed, 22 Jul 2020 07:46:36 -0400
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: linux-kernel@...r.kernel.org, Bjorn Helgaas <bhelgaas@...gle.com>,
Jason Wang <jasowang@...hat.com>,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH 2/2] virtio-mmio: Reject invalid IRQ 0 command line
argument
On Wed, Jul 01, 2020 at 05:10:40PM -0500, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@...gle.com>
>
> 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 after
> a85a6c86c25be ("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: a85a6c86c25be ("driver core: platform: Clarify that IRQ 0 is invalid")
> Signed-off-by: Bjorn Helgaas <bhelgaas@...gle.com>
> Cc: Michael S. Tsirkin <mst@...hat.com>
> Cc: Jason Wang <jasowang@...hat.com>
> Cc: virtualization@...ts.linux-foundation.org
Acked-by: Michael S. Tsirkin <mst@...hat.com>
> ---
> drivers/virtio/virtio_mmio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index 9d16aaffca9d..627ac0487494 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -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;
> --
> 2.25.1
Powered by blists - more mailing lists