Re: [Qemu-devel] [PATCH RFC 3/6] xen: restrict: use xentoolcore_restrict_all

2017-09-25 Thread Anthony PERARD
On Fri, Sep 15, 2017 at 07:09:56PM +0100, Ian Jackson wrote:
> And insist that it works.
> 
> Signed-off-by: Ian Jackson 
> ---
>  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 
>  #include 
> +#include 
>  #include 
>  
>  #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



[Qemu-devel] [PATCH RFC 3/6] xen: restrict: use xentoolcore_restrict_all

2017-09-15 Thread Ian Jackson
And insist that it works.

Signed-off-by: Ian Jackson 
---
 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 
 #include 
+#include 
 #include 
 
 #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);
 }
 
 void destroy_hvm_domain(bool reboot);
-- 
2.1.4