Bjorn Helgaas
2020-Jul-01 22:10 UTC
[PATCH 2/2] virtio-mmio: Reject invalid IRQ 0 command line argument
From: Bjorn Helgaas <bhelgaas at google.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 at google.com> Cc: Michael S. Tsirkin <mst at redhat.com> Cc: Jason Wang <jasowang at redhat.com> Cc: virtualization at lists.linux-foundation.org --- 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
Jason Wang
2020-Jul-02 03:06 UTC
[PATCH 2/2] virtio-mmio: Reject invalid IRQ 0 command line argument
On 2020/7/2 ??6:10, Bjorn Helgaas wrote:> From: Bjorn Helgaas <bhelgaas at google.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 at google.com> > Cc: Michael S. Tsirkin <mst at redhat.com> > Cc: Jason Wang <jasowang at redhat.com> > Cc: virtualization at lists.linux-foundation.org > --- > 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;Acked-by: Jason Wang <jasowang at redhat.com>
Bjorn Helgaas
2020-Jul-21 22:12 UTC
[PATCH 2/2] virtio-mmio: Reject invalid IRQ 0 command line argument
On Thu, Jul 02, 2020 at 11:06:11AM +0800, Jason Wang wrote:> On 2020/7/2 ??6:10, Bjorn Helgaas wrote: > > From: Bjorn Helgaas <bhelgaas at google.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 at google.com> > > Cc: Michael S. Tsirkin <mst at redhat.com> > > Cc: Jason Wang <jasowang at redhat.com> > > Cc: virtualization at lists.linux-foundation.org > > --- > > 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; > > Acked-by: Jason Wang <jasowang at redhat.com>Thanks, I applied this to my for-linus branch for v5.8.
Michael S. Tsirkin
2020-Jul-22 11:46 UTC
[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 at google.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 at google.com> > Cc: Michael S. Tsirkin <mst at redhat.com> > Cc: Jason Wang <jasowang at redhat.com> > Cc: virtualization at lists.linux-foundation.orgAcked-by: Michael S. Tsirkin <mst at redhat.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
Reasonably Related Threads
- [PATCH 2/2] virtio-mmio: Reject invalid IRQ 0 command line argument
- [PATCH 2/2] virtio-mmio: Reject invalid IRQ 0 command line argument
- [PATCH] virtio-mmio: Devices parameter parsing
- [PATCH] virtio-mmio: Devices parameter parsing
- [PATCH 6/9] virtio_mmio: Cast &resources[1].start to ‘unsigned int *’ to rid compiler warning