linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] virtio-mmio: add error check for platform_get_irq
@ 2019-07-02  9:59 Ihor Matushchak
  2019-07-02 13:31 ` Ivan T. Ivanov
  0 siblings, 1 reply; 5+ messages in thread
From: Ihor Matushchak @ 2019-07-02  9:59 UTC (permalink / raw)
  To: mst; +Cc: jasowang, virtualization, linux-kernel, ihor.matushchak

in vm_find_vqs() irq has a wrong type
so, in case of no IRQ resource defined,
wrong parameter will be passed to request_irq()

Signed-off-by: Ihor Matushchak <ihor.matushchak@foobox.net>
---
 drivers/virtio/virtio_mmio.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
index f363fbeb5ab0..60dde8ed163b 100644
--- a/drivers/virtio/virtio_mmio.c
+++ b/drivers/virtio/virtio_mmio.c
@@ -463,9 +463,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
 		       struct irq_affinity *desc)
 {
 	struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
-	unsigned int irq = platform_get_irq(vm_dev->pdev, 0);
+	int irq = platform_get_irq(vm_dev->pdev, 0);
 	int i, err, queue_idx = 0;
 
+	if (irq < 0) {
+		dev_err(&vdev->dev, "no IRQ resource defined\n");
+		return -ENODEV;
+	}
+
 	err = request_irq(irq, vm_interrupt, IRQF_SHARED,
 			dev_name(&vdev->dev), vm_dev);
 	if (err)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] virtio-mmio: add error check for platform_get_irq
  2019-07-02  9:59 [PATCH] virtio-mmio: add error check for platform_get_irq Ihor Matushchak
@ 2019-07-02 13:31 ` Ivan T. Ivanov
  2019-07-02 14:48   ` [PATCH v2] " Ihor Matushchak
  0 siblings, 1 reply; 5+ messages in thread
From: Ivan T. Ivanov @ 2019-07-02 13:31 UTC (permalink / raw)
  To: Ihor Matushchak, mst
  Cc: jasowang, virtualization, linux-kernel, ihor.matushchak


Hi,

Quoting Ihor Matushchak (2019-07-02 12:59:18)
> in vm_find_vqs() irq has a wrong type
> so, in case of no IRQ resource defined,
> wrong parameter will be passed to request_irq()
> 
> Signed-off-by: Ihor Matushchak <ihor.matushchak@foobox.net>
> ---
>  drivers/virtio/virtio_mmio.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index f363fbeb5ab0..60dde8ed163b 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -463,9 +463,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
>                        struct irq_affinity *desc)
>  {
>         struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
> -       unsigned int irq = platform_get_irq(vm_dev->pdev, 0);
> +       int irq = platform_get_irq(vm_dev->pdev, 0);
>         int i, err, queue_idx = 0;
>  
> +       if (irq < 0) {
> +               dev_err(&vdev->dev, "no IRQ resource defined\n");
> +               return -ENODEV;

Don't overwrite error code value. Just return it as it is.

Regards,
Ivan


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2] virtio-mmio: add error check for platform_get_irq
  2019-07-02 13:31 ` Ivan T. Ivanov
@ 2019-07-02 14:48   ` Ihor Matushchak
  2019-07-02 18:18     ` Ivan T. Ivanov
  2019-07-02 18:23     ` Michael S. Tsirkin
  0 siblings, 2 replies; 5+ messages in thread
From: Ihor Matushchak @ 2019-07-02 14:48 UTC (permalink / raw)
  To: mst; +Cc: jasowang, virtualization, linux-kernel, ihor.matushchak, iivanov.xz

in vm_find_vqs() irq has a wrong type
so, in case of no IRQ resource defined,
wrong parameter will be passed to request_irq()

Signed-off-by: Ihor Matushchak <ihor.matushchak@foobox.net>
---
Changes in v2:
Don't overwrite error code value.

 drivers/virtio/virtio_mmio.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
index f363fbeb5ab0..e09edb5c5e06 100644
--- a/drivers/virtio/virtio_mmio.c
+++ b/drivers/virtio/virtio_mmio.c
@@ -463,9 +463,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
 		       struct irq_affinity *desc)
 {
 	struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
-	unsigned int irq = platform_get_irq(vm_dev->pdev, 0);
+	int irq = platform_get_irq(vm_dev->pdev, 0);
 	int i, err, queue_idx = 0;
 
+	if (irq < 0) {
+		dev_err(&vdev->dev, "Cannot get IRQ resource\n");
+		return irq;
+	}
+
 	err = request_irq(irq, vm_interrupt, IRQF_SHARED,
 			dev_name(&vdev->dev), vm_dev);
 	if (err)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] virtio-mmio: add error check for platform_get_irq
  2019-07-02 14:48   ` [PATCH v2] " Ihor Matushchak
@ 2019-07-02 18:18     ` Ivan T. Ivanov
  2019-07-02 18:23     ` Michael S. Tsirkin
  1 sibling, 0 replies; 5+ messages in thread
From: Ivan T. Ivanov @ 2019-07-02 18:18 UTC (permalink / raw)
  To: Ihor Matushchak, mst
  Cc: jasowang, virtualization, linux-kernel, ihor.matushchak

Quoting Ihor Matushchak (2019-07-02 17:48:18)
> in vm_find_vqs() irq has a wrong type
> so, in case of no IRQ resource defined,
> wrong parameter will be passed to request_irq()
> 
> Signed-off-by: Ihor Matushchak <ihor.matushchak@foobox.net>


Reviewed-by: Ivan T. Ivanov <iivanov.xz@gmail.com>

Thanks!

> ---
> Changes in v2:
> Don't overwrite error code value.
> 
>  drivers/virtio/virtio_mmio.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index f363fbeb5ab0..e09edb5c5e06 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -463,9 +463,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
>                        struct irq_affinity *desc)
>  {
>         struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
> -       unsigned int irq = platform_get_irq(vm_dev->pdev, 0);
> +       int irq = platform_get_irq(vm_dev->pdev, 0);
>         int i, err, queue_idx = 0;
>  
> +       if (irq < 0) {
> +               dev_err(&vdev->dev, "Cannot get IRQ resource\n");
> +               return irq;
> +       }
> +
>         err = request_irq(irq, vm_interrupt, IRQF_SHARED,
>                         dev_name(&vdev->dev), vm_dev);
>         if (err)
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] virtio-mmio: add error check for platform_get_irq
  2019-07-02 14:48   ` [PATCH v2] " Ihor Matushchak
  2019-07-02 18:18     ` Ivan T. Ivanov
@ 2019-07-02 18:23     ` Michael S. Tsirkin
  1 sibling, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2019-07-02 18:23 UTC (permalink / raw)
  To: Ihor Matushchak; +Cc: jasowang, virtualization, linux-kernel, iivanov.xz

On Tue, Jul 02, 2019 at 05:48:18PM +0300, Ihor Matushchak wrote:
> in vm_find_vqs() irq has a wrong type
> so, in case of no IRQ resource defined,
> wrong parameter will be passed to request_irq()
> 
> Signed-off-by: Ihor Matushchak <ihor.matushchak@foobox.net>

Thanks!
pls don't make v2 a response to v1 in the future though.

> ---
> Changes in v2:
> Don't overwrite error code value.
> 
>  drivers/virtio/virtio_mmio.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index f363fbeb5ab0..e09edb5c5e06 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -463,9 +463,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
>  		       struct irq_affinity *desc)
>  {
>  	struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
> -	unsigned int irq = platform_get_irq(vm_dev->pdev, 0);
> +	int irq = platform_get_irq(vm_dev->pdev, 0);
>  	int i, err, queue_idx = 0;
>  
> +	if (irq < 0) {
> +		dev_err(&vdev->dev, "Cannot get IRQ resource\n");
> +		return irq;
> +	}
> +
>  	err = request_irq(irq, vm_interrupt, IRQF_SHARED,
>  			dev_name(&vdev->dev), vm_dev);
>  	if (err)
> -- 
> 2.17.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-07-02 18:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-02  9:59 [PATCH] virtio-mmio: add error check for platform_get_irq Ihor Matushchak
2019-07-02 13:31 ` Ivan T. Ivanov
2019-07-02 14:48   ` [PATCH v2] " Ihor Matushchak
2019-07-02 18:18     ` Ivan T. Ivanov
2019-07-02 18:23     ` Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).