diff mbox series

[kvm-unit-tests] s390x/snippets/c/sie-dat: Fix compiler warning with GCC 11.2

Message ID 20240216190048.83801-1-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series [kvm-unit-tests] s390x/snippets/c/sie-dat: Fix compiler warning with GCC 11.2 | expand

Commit Message

Thomas Huth Feb. 16, 2024, 7 p.m. UTC
GCC 11.2.1 from RHEL 9.0 complains:

 s390x/snippets/c/sie-dat.c: In function ‘main’:
 s390x/snippets/c/sie-dat.c:51:22: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
    51 |         *invalid_ptr = 42;
       |         ~~~~~~~~~~~~~^~~~
 cc1: all warnings being treated as errors

Let's use the OPAQUE_PTR() macro here too, which we already used
in other spots to fix similar -Wstringop-overflow warnings.

Reported-by: Jan Richter <jarichte@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 s390x/snippets/c/sie-dat.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Claudio Imbrenda Feb. 16, 2024, 7:08 p.m. UTC | #1
On Fri, 16 Feb 2024 20:00:48 +0100
Thomas Huth <thuth@redhat.com> wrote:

> GCC 11.2.1 from RHEL 9.0 complains:
> 
>  s390x/snippets/c/sie-dat.c: In function ‘main’:
>  s390x/snippets/c/sie-dat.c:51:22: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
>     51 |         *invalid_ptr = 42;
>        |         ~~~~~~~~~~~~~^~~~
>  cc1: all warnings being treated as errors
> 
> Let's use the OPAQUE_PTR() macro here too, which we already used
> in other spots to fix similar -Wstringop-overflow warnings.
> 
> Reported-by: Jan Richter <jarichte@redhat.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

> ---
>  s390x/snippets/c/sie-dat.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/s390x/snippets/c/sie-dat.c b/s390x/snippets/c/sie-dat.c
> index ecfcb60e..9d89801d 100644
> --- a/s390x/snippets/c/sie-dat.c
> +++ b/s390x/snippets/c/sie-dat.c
> @@ -9,6 +9,7 @@
>   */
>  #include <libcflat.h>
>  #include <asm-generic/page.h>
> +#include <asm/mem.h>
>  #include "sie-dat.h"
>  
>  static uint8_t test_pages[GUEST_TEST_PAGE_COUNT * PAGE_SIZE] __attribute__((__aligned__(PAGE_SIZE)));
> @@ -47,7 +48,7 @@ int main(void)
>  	force_exit();
>  
>  	/* the first unmapped address */
> -	invalid_ptr = (uint8_t *)(GUEST_TOTAL_PAGE_COUNT * PAGE_SIZE);
> +	invalid_ptr = OPAQUE_PTR(GUEST_TOTAL_PAGE_COUNT * PAGE_SIZE);
>  	*invalid_ptr = 42;
>  
>  	/* indicate we've written the non-allowed page (should never get here) */
diff mbox series

Patch

diff --git a/s390x/snippets/c/sie-dat.c b/s390x/snippets/c/sie-dat.c
index ecfcb60e..9d89801d 100644
--- a/s390x/snippets/c/sie-dat.c
+++ b/s390x/snippets/c/sie-dat.c
@@ -9,6 +9,7 @@ 
  */
 #include <libcflat.h>
 #include <asm-generic/page.h>
+#include <asm/mem.h>
 #include "sie-dat.h"
 
 static uint8_t test_pages[GUEST_TEST_PAGE_COUNT * PAGE_SIZE] __attribute__((__aligned__(PAGE_SIZE)));
@@ -47,7 +48,7 @@  int main(void)
 	force_exit();
 
 	/* the first unmapped address */
-	invalid_ptr = (uint8_t *)(GUEST_TOTAL_PAGE_COUNT * PAGE_SIZE);
+	invalid_ptr = OPAQUE_PTR(GUEST_TOTAL_PAGE_COUNT * PAGE_SIZE);
 	*invalid_ptr = 42;
 
 	/* indicate we've written the non-allowed page (should never get here) */