On 01.06.21 18:10, Olaf Hering wrote:
Users of xc_get_pfn_type_batch may want to sanity check the data returned by Xen. Add a simple helper for this purpose.Signed-off-by: Olaf Hering <o...@aepfle.de> --- tools/libs/ctrl/xc_private.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h index 5d2c7274fb..afb08aafe1 100644 --- a/tools/libs/ctrl/xc_private.h +++ b/tools/libs/ctrl/xc_private.h @@ -421,6 +421,39 @@ void *xc_map_foreign_ranges(xc_interface *xch, uint32_t dom, int xc_get_pfn_type_batch(xc_interface *xch, uint32_t dom, unsigned int num, xen_pfn_t *);+/* Sanitiy check for types returned by Xen */+static inline bool xc_is_known_page_type(xen_pfn_t type) +{ + bool ret; + + switch (type)
I think you should not imply the planned use case here. It would be better to use "switch (type & XEN_DOMCTL_PFINFO_LTAB_MASK)". I'm on the edge regarding putting the new function into xc_private.h. In the end your use case is _not_ to call the new function from libxenctrl. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature