On Fri, Sep 15, 2017 at 07:09:56PM +0100, Ian Jackson wrote:
> And insist that it works.
>
> Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
> ---
> include/hw/xen/xen_common.h | 26 ++------------------------
> 1 file changed, 2 insertions(+), 24 deletions(-)
>
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index 86c7f26..b6cb024 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -12,6 +12,7 @@
>
> #include <xenctrl.h>
> #include <xenstore.h>
> +#include <xentoolcore.h>
> #include <xen/io/xenbus.h>
>
> #include "hw/hw.h"
> @@ -289,30 +290,7 @@ static inline int xen_modified_memory(domid_t domid, uint64_t first_pfn,
>
> static inline int xen_restrict(domid_t domid)
> {
> - int rc;
> -
> - /* Attempt to restrict devicemodel operations */
> - rc = xendevicemodel_restrict(xen_dmod, domid);
> - trace_xen_domid_restrict(rc ? errno : 0);
> -
> - if (rc < 0) {
> - /*
> - * If errno is ENOTTY then restriction is not implemented so
> - * there's no point in trying to restrict other types of
> - * operation, but it should not be treated as a failure.
> - */
> - if (errno == ENOTTY) {
> - return 0;
> - }
> -
> - return rc;
> - }
> -
> - /* Restrict foreignmemory operations */
> - rc = xenforeignmemory_restrict(xen_fmem, domid);
> - trace_xen_domid_restrict(rc ? errno : 0);
> -
> - return rc;
> + return xentoolcore_restrict_all(domid);
xentoolcore_restrict_all is going to need a compatibility stub, which
can be done in this same header (xen_common.h).
I think we can keep the call to trace_xen_domid_restrict(), that's just
a debug printf.
Also, we could remove the compatibility stub for xendevicemodel_restrict
and xenforeignmemory_restrict as there are not used anymore.
--
Anthony PERARD