2023-10-07 10:19:15

by Thomas Weißschuh

[permalink] [raw]
Subject: [PATCH] tools/nolibc: drop test for getauxval(AT_PAGESZ)

The test will not work for systems with pagesize != 4096 like aarch64
and some others.

Other testcases are already testing the same functionality:
* auxv_AT_UID tests getauxval() in general.
* test_getpagesize() tests pagesize() which directly calls
getauxval(AT_PAGESZ).

Fixes: 48967b73f8fe ("selftests/nolibc: add testcases for startup code")
Cc: [email protected]
Signed-off-by: Thomas Weißschuh <[email protected]>
---
Note:

This should probably also make it into 6.6.
---
tools/testing/selftests/nolibc/nolibc-test.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c
index a3ee4496bf0a..7e3936c182dc 100644
--- a/tools/testing/selftests/nolibc/nolibc-test.c
+++ b/tools/testing/selftests/nolibc/nolibc-test.c
@@ -630,7 +630,6 @@ int run_startup(int min, int max)
CASE_TEST(environ_HOME); EXPECT_PTRNZ(1, getenv("HOME")); break;
CASE_TEST(auxv_addr); EXPECT_PTRGT(test_auxv != (void *)-1, test_auxv, brk); break;
CASE_TEST(auxv_AT_UID); EXPECT_EQ(1, getauxval(AT_UID), getuid()); break;
- CASE_TEST(auxv_AT_PAGESZ); EXPECT_GE(1, getauxval(AT_PAGESZ), 4096); break;
case __LINE__:
return ret; /* must be last */
/* note: do not set any defaults so as to permit holes above */

---
base-commit: ab663cc32912914258bc8a2fbd0e753f552ee9d8
change-id: 20231007-nolibc-auxval-pagesz-05f5ff79c4c4

Best regards,
--
Thomas Weißschuh <[email protected]>


2023-10-07 10:38:03

by Willy Tarreau

[permalink] [raw]
Subject: Re: [PATCH] tools/nolibc: drop test for getauxval(AT_PAGESZ)

On Sat, Oct 07, 2023 at 12:18:55PM +0200, Thomas Wei?schuh wrote:
> The test will not work for systems with pagesize != 4096 like aarch64
> and some others.
>
> Other testcases are already testing the same functionality:
> * auxv_AT_UID tests getauxval() in general.
> * test_getpagesize() tests pagesize() which directly calls
> getauxval(AT_PAGESZ).
>
> Fixes: 48967b73f8fe ("selftests/nolibc: add testcases for startup code")
> Cc: [email protected]
> Signed-off-by: Thomas Wei?schuh <[email protected]>
> ---
> Note:
>
> This should probably also make it into 6.6.

Agreed, you should just push it to the fixes branch.

Thanks!
Willy

2023-10-07 10:45:48

by Thomas Weißschuh

[permalink] [raw]
Subject: Re: [PATCH] tools/nolibc: drop test for getauxval(AT_PAGESZ)

On 2023-10-07 12:36:20+0200, Willy Tarreau wrote:
> On Sat, Oct 07, 2023 at 12:18:55PM +0200, Thomas Weißschuh wrote:
> > The test will not work for systems with pagesize != 4096 like aarch64
> > and some others.
> >
> > Other testcases are already testing the same functionality:
> > * auxv_AT_UID tests getauxval() in general.
> > * test_getpagesize() tests pagesize() which directly calls
> > getauxval(AT_PAGESZ).
> >
> > Fixes: 48967b73f8fe ("selftests/nolibc: add testcases for startup code")
> > Cc: [email protected]
> > Signed-off-by: Thomas Weißschuh <[email protected]>
> > ---
> > Note:
> >
> > This should probably also make it into 6.6.
>
> Agreed, you should just push it to the fixes branch.

Good point.

'fixes' now contains Ammar's alignment fix, the tree location update and
this patch.

Thomas

2023-10-07 13:42:20

by Zhangjin Wu

[permalink] [raw]
Subject: [PATCH] Re: tools/nolibc: drop test for getauxval(AT_PAGESZ)

Hi, Thomas

> The test will not work for systems with pagesize != 4096 like aarch64
> and some others.
>

We have used EXPECT_GE() instead of EXPECT_EQ(), so this should not
fail, do I miss something ?;-)

Thanks,
Zhangjin Wu

> Other testcases are already testing the same functionality:
> * auxv_AT_UID tests getauxval() in general.
> * test_getpagesize() tests pagesize() which directly calls
> getauxval(AT_PAGESZ).
>
> Fixes: 48967b73f8fe ("selftests/nolibc: add testcases for startup code")
> Cc: [email protected]
> Signed-off-by: Thomas Weißschuh <[email protected]>
> ---
> Note:
>
> This should probably also make it into 6.6.
> ---
> tools/testing/selftests/nolibc/nolibc-test.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c
> index a3ee4496bf0a..7e3936c182dc 100644
> --- a/tools/testing/selftests/nolibc/nolibc-test.c
> +++ b/tools/testing/selftests/nolibc/nolibc-test.c
> @@ -630,7 +630,6 @@ int run_startup(int min, int max)
> CASE_TEST(environ_HOME); EXPECT_PTRNZ(1, getenv("HOME")); break;
> CASE_TEST(auxv_addr); EXPECT_PTRGT(test_auxv != (void *)-1, test_auxv, brk); break;
> CASE_TEST(auxv_AT_UID); EXPECT_EQ(1, getauxval(AT_UID), getuid()); break;
> - CASE_TEST(auxv_AT_PAGESZ); EXPECT_GE(1, getauxval(AT_PAGESZ), 4096); break;
> case __LINE__:
> return ret; /* must be last */
> /* note: do not set any defaults so as to permit holes above */
>
> ---
> base-commit: ab663cc32912914258bc8a2fbd0e753f552ee9d8
> change-id: 20231007-nolibc-auxval-pagesz-05f5ff79c4c4
>
> Best regards,
> --
> Thomas Weißschuh <[email protected]>

2023-10-07 14:54:37

by Thomas Weißschuh

[permalink] [raw]
Subject: Re: [PATCH] Re: tools/nolibc: drop test for getauxval(AT_PAGESZ)

Hi Zhangjin,

On 2023-10-07 21:42:02+0800, Zhangjin Wu wrote:
> > The test will not work for systems with pagesize != 4096 like aarch64
> > and some others.
> >
>
> We have used EXPECT_GE() instead of EXPECT_EQ(), so this should not
> fail, do I miss something ?;-)

Indeed, I missed that, sorry for the noise.

IMO we can still remove the testcase, but drop it from the
fixes branch and adapt the commit message and Fixes tag.

> Thanks,
> Zhangjin Wu
>
> > Other testcases are already testing the same functionality:
> > * auxv_AT_UID tests getauxval() in general.
> > * test_getpagesize() tests pagesize() which directly calls
> > getauxval(AT_PAGESZ).
> >
> > Fixes: 48967b73f8fe ("selftests/nolibc: add testcases for startup code")
> > Cc: [email protected]
> > Signed-off-by: Thomas Weißschuh <[email protected]>

> [..]