We should also verify that poisoned data after a misaligned struct is
also handled correctly by is_zeroed_user(). This test passes with no
kernel changes needed, so is_zeroed_user() was correct already.

Fixes: b28a10aedcd4 ("selftests: add openat2(2) selftests")
Signed-off-by: Aleksa Sarai <cyp...@cyphar.com>
---
 tools/testing/selftests/openat2/openat2_test.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/openat2/openat2_test.c 
b/tools/testing/selftests/openat2/openat2_test.c
index 5790ab446527..4ca175a16ad6 100644
--- a/tools/testing/selftests/openat2/openat2_test.c
+++ b/tools/testing/selftests/openat2/openat2_test.c
@@ -112,9 +112,9 @@ void test_openat2_struct(void)
                                 *
                                 * This is effectively to check that 
is_zeroed_user() works.
                                 */
-                               copy = malloc(misalign + sizeof(how_ext));
+                               copy = malloc(misalign*2 + sizeof(how_ext));
                                how_copy = copy + misalign;
-                               memset(copy, 0xff, misalign);
+                               memset(copy, 0xff, misalign*2 + 
sizeof(how_ext));
                                memcpy(how_copy, &how_ext, sizeof(how_ext));
                        }
 

-- 
2.46.1


Reply via email to