On 07/10/2022 20:31, Jason Andryuk wrote:
> 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 <jandr...@gmail.com>
> ---
>  xen/common/argo.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/xen/common/argo.c b/xen/common/argo.c
> index 748b8714d6..973e1e9956 100644
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -1298,7 +1298,8 @@ partner_rings_remove(struct domain *src_d)
>                      ASSERT_UNREACHABLE();
>              }
>              else
> -                ASSERT_UNREACHABLE();
> +                argo_dprintk("%pd has entry for stale partner domid %d\n",
> +                             src_d, send_info->id.domain_id);

I was just about to commit this, but it ought to be

"%pd has entry for stale partner d%u\n"

so the two domains are rendered alike in the message.

Can fix on your behalf if you agree.

~Andrew

Reply via email to