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 |
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 --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) */
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(-)