|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] xen/dom0less: Clear xenstore page
C Xenstored was seen failing to map a domU's event channel. Enhancing
Xen's error messages shows:
common/event_channel.c:427:d0v0 EVTCHNOP failure: d1, port 3267543746 error -22
Port 3267543746 is 0xc2c2c2c2 - SCRUB_PATTERN.
Xenstore expects a non-zero evtchn_port to be valid. Explicitly zero
the page to avoid this.
Fixes: f78895ad78c9 ("tools/xenstored: Read event channel from xenstored page")
Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx>
---
Tweaked stubdom & dom0less C xenstored pipeline success:
Test CI pipeline:
https://gitlab.com/xen-project/people/jandryuk-amd/xen/-/pipelines/1994879466
Example failure:
https://gitlab.com/xen-project/people/jandryuk-amd/xen/-/jobs/11084356847
Alternatively, a fixes could be:
Fixes: df2c03e2ebfe ("xen/arm: Alloc XenStore page for Dom0less DomUs from
hypervisor")
If the page should have been zero from the start.
gitlab-ci uses oxenstored for most testings, so this isn't seen by
default. I don't see this in local testing, so I guess I don't have
SCRUB_PATTERN writing enabled?
---
xen/common/device-tree/dom0less-build.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/xen/common/device-tree/dom0less-build.c
b/xen/common/device-tree/dom0less-build.c
index 6bb038111d..badc227031 100644
--- a/xen/common/device-tree/dom0less-build.c
+++ b/xen/common/device-tree/dom0less-build.c
@@ -600,6 +600,7 @@ static int __init alloc_xenstore_page(struct domain *d)
d->arch.hvm.params[HVM_PARAM_STORE_PFN] = gfn_x(gfn);
#endif
interface = map_domain_page(mfn);
+ clear_page(interface);
interface->connection = XENSTORE_RECONNECT;
unmap_domain_page(interface);
--
2.50.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |