Re: [PATCH 05/14] tools/libs: guest: Use const whenever we point to literal strings

2021-05-18 Thread Julien Grall

Hi Anthony,

On 11/05/2021 15:58, Anthony PERARD wrote:

On Mon, Apr 05, 2021 at 04:57:04PM +0100, Julien Grall wrote:

From: Julien Grall 

literal strings are not meant to be modified. So we should use const
*char rather than char * when we want to store a pointer to them.

Signed-off-by: Julien Grall 
---
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index 2953aeb90b35..e379b07f9945 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -1148,11 +1148,12 @@ static int vcpu_hvm(struct xc_dom_image *dom)
  
  /*  */
  
-static int x86_compat(xc_interface *xch, uint32_t domid, char *guest_type)

+static int x86_compat(xc_interface *xch, uint32_t domid,
+  const char *guest_type)
  {
  static const struct {
-char   *guest;
-uint32_tsize;
+const char  *guest;
+uint32_t   size;


It seems that one space have been removed by mistake just before "size".


Well spotted. I will fix on commit.



The rest looks good:
Reviewed-by: Anthony PERARD 


Thank you!

Cheers,

--
Julien Grall



Re: [PATCH 05/14] tools/libs: guest: Use const whenever we point to literal strings

2021-05-11 Thread Anthony PERARD
On Mon, Apr 05, 2021 at 04:57:04PM +0100, Julien Grall wrote:
> From: Julien Grall 
> 
> literal strings are not meant to be modified. So we should use const
> *char rather than char * when we want to store a pointer to them.
> 
> Signed-off-by: Julien Grall 
> ---
> diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
> index 2953aeb90b35..e379b07f9945 100644
> --- a/tools/libs/guest/xg_dom_x86.c
> +++ b/tools/libs/guest/xg_dom_x86.c
> @@ -1148,11 +1148,12 @@ static int vcpu_hvm(struct xc_dom_image *dom)
>  
>  /*  
> */
>  
> -static int x86_compat(xc_interface *xch, uint32_t domid, char *guest_type)
> +static int x86_compat(xc_interface *xch, uint32_t domid,
> +  const char *guest_type)
>  {
>  static const struct {
> -char   *guest;
> -uint32_tsize;
> +const char  *guest;
> +uint32_t   size;

It seems that one space have been removed by mistake just before "size".

The rest looks good:
Reviewed-by: Anthony PERARD 

Thanks,

-- 
Anthony PERARD



[PATCH 05/14] tools/libs: guest: Use const whenever we point to literal strings

2021-04-05 Thread Julien Grall
From: Julien Grall 

literal strings are not meant to be modified. So we should use const
*char rather than char * when we want to store a pointer to them.

Signed-off-by: Julien Grall 
---
 tools/include/xenguest.h| 10 +-
 tools/libs/guest/xg_dom_core.c  |  8 
 tools/libs/guest/xg_dom_elfloader.c |  4 ++--
 tools/libs/guest/xg_dom_hvmloader.c |  2 +-
 tools/libs/guest/xg_dom_x86.c   |  9 +
 tools/libs/guest/xg_private.h   |  2 +-
 6 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 217022b6e767..a4492038cf3a 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -108,7 +108,7 @@ struct xc_dom_image {
 
 /* info from (elf) kernel image */
 struct elf_dom_parms *parms;
-char *guest_type;
+const char *guest_type;
 
 /* memory layout */
 struct xc_dom_seg kernel_seg;
@@ -266,8 +266,8 @@ struct xc_dom_arch {
 /* arch-specific memory initialization. */
 int (*meminit) (struct xc_dom_image * dom);
 
-char *guest_type;
-char *native_protocol;
+const char *guest_type;
+const char *native_protocol;
 int page_shift;
 int sizeof_pfn;
 int p2m_base_supported;
@@ -374,9 +374,9 @@ char *xc_dom_strdup(struct xc_dom_image *dom, const char 
*str);
 
 /* --- alloc memory pool --- */
 
-xen_pfn_t xc_dom_alloc_page(struct xc_dom_image *dom, char *name);
+xen_pfn_t xc_dom_alloc_page(struct xc_dom_image *dom, const char *name);
 int xc_dom_alloc_segment(struct xc_dom_image *dom,
- struct xc_dom_seg *seg, char *name,
+ struct xc_dom_seg *seg, const char *name,
  xen_vaddr_t start, xen_vaddr_t size);
 
 /* --- misc bits --- */
diff --git a/tools/libs/guest/xg_dom_core.c b/tools/libs/guest/xg_dom_core.c
index 98ef8e8fc9ca..4918ee517bdd 100644
--- a/tools/libs/guest/xg_dom_core.c
+++ b/tools/libs/guest/xg_dom_core.c
@@ -422,7 +422,7 @@ void *xc_dom_pfn_to_ptr_retcount(struct xc_dom_image *dom, 
xen_pfn_t pfn,
 struct xc_dom_phys *phys;
 xen_pfn_t offset;
 unsigned int page_shift = XC_DOM_PAGE_SHIFT(dom);
-char *mode = "unset";
+const char *mode = "unset";
 
 *count_out = 0;
 
@@ -525,7 +525,7 @@ void *xc_dom_pfn_to_ptr_retcount(struct xc_dom_image *dom, 
xen_pfn_t pfn,
 return phys->ptr;
 }
 
-static int xc_dom_chk_alloc_pages(struct xc_dom_image *dom, char *name,
+static int xc_dom_chk_alloc_pages(struct xc_dom_image *dom, const char *name,
   xen_pfn_t pages)
 {
 unsigned int page_size = XC_DOM_PAGE_SIZE(dom);
@@ -576,7 +576,7 @@ static int xc_dom_alloc_pad(struct xc_dom_image *dom, 
xen_vaddr_t boundary)
 }
 
 int xc_dom_alloc_segment(struct xc_dom_image *dom,
- struct xc_dom_seg *seg, char *name,
+ struct xc_dom_seg *seg, const char *name,
  xen_vaddr_t start, xen_vaddr_t size)
 {
 unsigned int page_size = XC_DOM_PAGE_SIZE(dom);
@@ -611,7 +611,7 @@ int xc_dom_alloc_segment(struct xc_dom_image *dom,
 return 0;
 }
 
-xen_pfn_t xc_dom_alloc_page(struct xc_dom_image *dom, char *name)
+xen_pfn_t xc_dom_alloc_page(struct xc_dom_image *dom, const char *name)
 {
 xen_vaddr_t start;
 xen_pfn_t pfn;
diff --git a/tools/libs/guest/xg_dom_elfloader.c 
b/tools/libs/guest/xg_dom_elfloader.c
index 06e713fe1119..0d6247db5d08 100644
--- a/tools/libs/guest/xg_dom_elfloader.c
+++ b/tools/libs/guest/xg_dom_elfloader.c
@@ -50,8 +50,8 @@ void xc_elf_set_logfile(xc_interface *xch, struct elf_binary 
*elf,
 
 /*  */
 
-static char *xc_dom_guest_type(struct xc_dom_image *dom,
-   struct elf_binary *elf)
+static const char *xc_dom_guest_type(struct xc_dom_image *dom,
+ struct elf_binary *elf)
 {
 uint64_t machine = elf_uval(elf, elf->ehdr, e_machine);
 
diff --git a/tools/libs/guest/xg_dom_hvmloader.c 
b/tools/libs/guest/xg_dom_hvmloader.c
index ec6ebad7fd52..4e6f30858a59 100644
--- a/tools/libs/guest/xg_dom_hvmloader.c
+++ b/tools/libs/guest/xg_dom_hvmloader.c
@@ -130,7 +130,7 @@ static elf_errorstatus xc_dom_parse_hvm_kernel(struct 
xc_dom_image *dom)
 
 static int module_init_one(struct xc_dom_image *dom,
struct xc_hvm_firmware_module *module,
-   char *name)
+   const char *name)
 {
 struct xc_dom_seg seg;
 void *dest;
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index 2953aeb90b35..e379b07f9945 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -1148,11 +1148,12 @@ static int vcpu_hvm(struct xc_dom_image *dom)
 
 /*