[PATCH 6.6 209/299] xen/events: fix error code in xen_bind_pirq_msi_to_irq()

Greg Kroah-Hartman
2024-02-27T13:56:25Z

From: Dan Carpenter <dan.carpenter@linaro.org>

commit 7f3da4b698bcc21a6df0e7f114af71d53a3e26ac upstream.

Return -ENOMEM if xen_irq_init() fails. currently the code returns an
uninitialized variable or zero.

Fixes: 5dd9ad32d775 ("xen/events: drop xen_allocate_irqs_dynamic()")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Juergen Gross <jgross@ssue.com>
Link: https://lore.kernel.org/r/3b9ab040-a92e-4e35-b687-3a95890a9ace@moroto.mountain
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/xen/events/events_base.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1099,8 +1099,10 @@ int xen_bind_pirq_msi_to_irq(struct pci_

for (i = 0; i < nvec; i++) {
info = xen_irq_init(irq + i);
- if (!info)
+ if (!info) {
+ ret = -ENOMEM;
goto error_irq;
+ }

irq_set_chip_and_handler_name(irq + i, &xen_pirq_chip, handle_edge_irq, name);