argo: Remove reachable ASSERT_UNREACHABLE
authorJason Andryuk <jandryuk@gmail.com>
Fri, 7 Oct 2022 19:31:24 +0000 (15:31 -0400)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 14 Oct 2022 13:45:41 +0000 (14:45 +0100)
I observed this ASSERT_UNREACHABLE in partner_rings_remove consistently
trip.  It was in OpenXT with the viptables patch applied.

dom10 shuts down.
dom7 is REJECTED sending to dom10.
dom7 shuts down and this ASSERT trips for dom10.

The argo_send_info has a domid, but there is no refcount taken on
the domain.  Therefore it's not appropriate to ASSERT that the domain
can be looked up via domid.  Replace with a debug message.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com>
Release-acked-by: Henry Wang <Henry.Wang@arm.com>
xen/common/argo.c

index 748b8714d65e657a8e0f493950fb97e4689c71b2..9ad2ecaa1e42337567cef6ecd53d56965590d60e 100644 (file)
@@ -1298,7 +1298,8 @@ partner_rings_remove(struct domain *src_d)
                     ASSERT_UNREACHABLE();
             }
             else
-                ASSERT_UNREACHABLE();
+                argo_dprintk("%pd has entry for stale partner d%u\n",
+                             src_d, send_info->id.domain_id);
 
             if ( dst_d )
                 rcu_unlock_domain(dst_d);