diff mbox series

[v3,10/21] xen/shbuf: switch xen-front-pgdir-shbuf to use INVALID_GRANT_REF

Message ID 20220505081640.17425-11-jgross@suse.com (mailing list archive)
State Accepted
Commit 888fd787f30dfe959fdd685c422187a428d2cf17
Headers show
Series xen: simplify frontend side ring setup | expand

Commit Message

Jürgen Groß May 5, 2022, 8:16 a.m. UTC
Instead of using a private macro for an invalid grant reference use
the common one.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- terminate grant ref list with 0 (Oleksandr Tyshchenko)
---
 drivers/xen/xen-front-pgdir-shbuf.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

Comments

Oleksandr Tyshchenko May 9, 2022, 8:47 a.m. UTC | #1
On 05.05.22 11:16, Juergen Gross wrote:


Hello Juergen


> Instead of using a private macro for an invalid grant reference use
> the common one.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V3:
> - terminate grant ref list with 0 (Oleksandr Tyshchenko)


Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


> ---
>   drivers/xen/xen-front-pgdir-shbuf.c | 18 +++++-------------
>   1 file changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/xen/xen-front-pgdir-shbuf.c b/drivers/xen/xen-front-pgdir-shbuf.c
> index a959dee21134..b6433761d42c 100644
> --- a/drivers/xen/xen-front-pgdir-shbuf.c
> +++ b/drivers/xen/xen-front-pgdir-shbuf.c
> @@ -21,15 +21,6 @@
>   
>   #include <xen/xen-front-pgdir-shbuf.h>
>   
> -#ifndef GRANT_INVALID_REF
> -/*
> - * FIXME: usage of grant reference 0 as invalid grant reference:
> - * grant reference 0 is valid, but never exposed to a PV driver,
> - * because of the fact it is already in use/reserved by the PV console.
> - */
> -#define GRANT_INVALID_REF	0
> -#endif
> -
>   /**
>    * This structure represents the structure of a shared page
>    * that contains grant references to the pages of the shared
> @@ -38,6 +29,7 @@
>    */
>   struct xen_page_directory {
>   	grant_ref_t gref_dir_next_page;
> +#define XEN_GREF_LIST_END	0
>   	grant_ref_t gref[1]; /* Variable length */
>   };
>   
> @@ -83,7 +75,7 @@ grant_ref_t
>   xen_front_pgdir_shbuf_get_dir_start(struct xen_front_pgdir_shbuf *buf)
>   {
>   	if (!buf->grefs)
> -		return GRANT_INVALID_REF;
> +		return INVALID_GRANT_REF;
>   
>   	return buf->grefs[0];
>   }
> @@ -142,7 +134,7 @@ void xen_front_pgdir_shbuf_free(struct xen_front_pgdir_shbuf *buf)
>   		int i;
>   
>   		for (i = 0; i < buf->num_grefs; i++)
> -			if (buf->grefs[i] != GRANT_INVALID_REF)
> +			if (buf->grefs[i] != INVALID_GRANT_REF)
>   				gnttab_end_foreign_access(buf->grefs[i], 0UL);
>   	}
>   	kfree(buf->grefs);
> @@ -355,7 +347,7 @@ static void backend_fill_page_dir(struct xen_front_pgdir_shbuf *buf)
>   	}
>   	/* Last page must say there is no more pages. */
>   	page_dir = (struct xen_page_directory *)ptr;
> -	page_dir->gref_dir_next_page = GRANT_INVALID_REF;
> +	page_dir->gref_dir_next_page = XEN_GREF_LIST_END;
>   }
>   
>   /**
> @@ -384,7 +376,7 @@ static void guest_fill_page_dir(struct xen_front_pgdir_shbuf *buf)
>   
>   		if (grefs_left <= XEN_NUM_GREFS_PER_PAGE) {
>   			to_copy = grefs_left;
> -			page_dir->gref_dir_next_page = GRANT_INVALID_REF;
> +			page_dir->gref_dir_next_page = XEN_GREF_LIST_END;
>   		} else {
>   			to_copy = XEN_NUM_GREFS_PER_PAGE;
>   			page_dir->gref_dir_next_page = buf->grefs[i + 1];
diff mbox series

Patch

diff --git a/drivers/xen/xen-front-pgdir-shbuf.c b/drivers/xen/xen-front-pgdir-shbuf.c
index a959dee21134..b6433761d42c 100644
--- a/drivers/xen/xen-front-pgdir-shbuf.c
+++ b/drivers/xen/xen-front-pgdir-shbuf.c
@@ -21,15 +21,6 @@ 
 
 #include <xen/xen-front-pgdir-shbuf.h>
 
-#ifndef GRANT_INVALID_REF
-/*
- * FIXME: usage of grant reference 0 as invalid grant reference:
- * grant reference 0 is valid, but never exposed to a PV driver,
- * because of the fact it is already in use/reserved by the PV console.
- */
-#define GRANT_INVALID_REF	0
-#endif
-
 /**
  * This structure represents the structure of a shared page
  * that contains grant references to the pages of the shared
@@ -38,6 +29,7 @@ 
  */
 struct xen_page_directory {
 	grant_ref_t gref_dir_next_page;
+#define XEN_GREF_LIST_END	0
 	grant_ref_t gref[1]; /* Variable length */
 };
 
@@ -83,7 +75,7 @@  grant_ref_t
 xen_front_pgdir_shbuf_get_dir_start(struct xen_front_pgdir_shbuf *buf)
 {
 	if (!buf->grefs)
-		return GRANT_INVALID_REF;
+		return INVALID_GRANT_REF;
 
 	return buf->grefs[0];
 }
@@ -142,7 +134,7 @@  void xen_front_pgdir_shbuf_free(struct xen_front_pgdir_shbuf *buf)
 		int i;
 
 		for (i = 0; i < buf->num_grefs; i++)
-			if (buf->grefs[i] != GRANT_INVALID_REF)
+			if (buf->grefs[i] != INVALID_GRANT_REF)
 				gnttab_end_foreign_access(buf->grefs[i], 0UL);
 	}
 	kfree(buf->grefs);
@@ -355,7 +347,7 @@  static void backend_fill_page_dir(struct xen_front_pgdir_shbuf *buf)
 	}
 	/* Last page must say there is no more pages. */
 	page_dir = (struct xen_page_directory *)ptr;
-	page_dir->gref_dir_next_page = GRANT_INVALID_REF;
+	page_dir->gref_dir_next_page = XEN_GREF_LIST_END;
 }
 
 /**
@@ -384,7 +376,7 @@  static void guest_fill_page_dir(struct xen_front_pgdir_shbuf *buf)
 
 		if (grefs_left <= XEN_NUM_GREFS_PER_PAGE) {
 			to_copy = grefs_left;
-			page_dir->gref_dir_next_page = GRANT_INVALID_REF;
+			page_dir->gref_dir_next_page = XEN_GREF_LIST_END;
 		} else {
 			to_copy = XEN_NUM_GREFS_PER_PAGE;
 			page_dir->gref_dir_next_page = buf->grefs[i + 1];