On 26.08.25 17:03, Jason Andryuk wrote:
On 2025-08-26 03:22, Jan Beulich wrote:
On 26.08.2025 02:55, Jason Andryuk wrote:
rc is overwritten by the evtchn_status hypercall in each iteration, so
the return value will be whatever the last iteration is.

Which may even be a false "success". Especially for that it feels like ...

I'll state that here...


  Change to an
explicit -ENOENT for an un-found virq and return 0 on a successful
match.

Signed-off-by: Jason Andryuk <[email protected]>

... this also wants a Fixes: tag and perhaps a Cc: to stable@.

and add these.


--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1318,7 +1318,7 @@ static int find_virq(unsigned int virq, unsigned int cpu, evtchn_port_t *evtchn)
  {
      struct evtchn_status status;
      evtchn_port_t port;
-    int rc = -ENOENT;
+    int rc;

Maybe best to also move this into the more narrow scope (loop body)?

Sounds good.

Either way:
Reviewed-by: Jan Beulich <[email protected]>

With the changes you promised to do:

Reviewed-by: Juergen Gross <[email protected]>


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to