[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] tools/xenstore: don't let special watches be children of /



Hi Juergen,


On 27/04/2022 14:51, Juergen Gross wrote:
> When firing special watches (e.g. "@releaseDomain"), they will be
> regarded to be valid children of the "/" node. So a domain having
> registered a watch for "/" and having the privilege to receive
> the special watches will receive those special watch events for the
> registered "/" watch.
>
> Fix that by calling the related fire_watches() with the "exact"
> parameter set to true, causing a mismatch for the "/" node.
>
> Reported-by: Raphael Ning <raphning@xxxxxxxxx>


Can I ask you to use my Amazon email instead:

Reported-by: Raphael Ning <raphning@xxxxxxxxxx>

Sorry about the inconsistency. I work on Xen as part of my job, but I decided 
to use Gmail for posting on xen-devel, because I heard that it's a pain to make 
Amazon mail work properly with external mailing lists.


> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> ---
>  tools/xenstore/xenstored_domain.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/xenstore/xenstored_domain.c 
> b/tools/xenstore/xenstored_domain.c
> index ae065fcbee..80ba1d627b 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -231,7 +231,7 @@ static int destroy_domain(void *_domain)
>                       unmap_interface(domain->interface);
>       }
>  
> -     fire_watches(NULL, domain, "@releaseDomain", NULL, false, NULL);
> +     fire_watches(NULL, domain, "@releaseDomain", NULL, true, NULL);
>  
>       wrl_domain_destroy(domain);
>  
> @@ -282,7 +282,7 @@ void check_domains(void)
>       }
>  
>       if (notify)
> -             fire_watches(NULL, NULL, "@releaseDomain", NULL, false, NULL);
> +             fire_watches(NULL, NULL, "@releaseDomain", NULL, true, NULL);
>  }
>  
>  /* We scan all domains rather than use the information given here. */
> @@ -495,7 +495,7 @@ static struct domain *introduce_domain(const void *ctx,
>  
>               if (!is_master_domain && !restore)
>                       fire_watches(NULL, ctx, "@introduceDomain", NULL,
> -                                  false, NULL);
> +                                  true, NULL);
>       } else {
>               /* Use XS_INTRODUCE for recreating the xenbus event-channel. */
>               if (domain->port)


Thanks, the patch looks good.

Reviewed-by: Raphael Ning <raphning@xxxxxxxxxx>


Raphael




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.