argo: Remove reachable ASSERT_UNREACHABLE
authorJason Andryuk <jandryuk@gmail.com>
Mon, 31 Oct 2022 12:21:31 +0000 (13:21 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 31 Oct 2022 12:21:31 +0000 (13:21 +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>
master commit: 197f612b77c5afe04e60df2100a855370d720ad7
master date: 2022-10-14 14:45:41 +0100

xen/common/argo.c

index eaea7ba8885ace455a74e58b8d6b4a2c286e142a..80f3275092af7509ef58da3df71c3ad763b5af3d 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);