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

Thomas Weißschuh posted 1 patch 2 years, 2 months ago
tools/testing/selftests/nolibc/nolibc-test.c | 1 -
1 file changed, 1 deletion(-)
[PATCH] tools/nolibc: drop test for getauxval(AT_PAGESZ)
Posted by Thomas Weißschuh 2 years, 2 months ago
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: stable@vger.kernel.org
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
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 <linux@weissschuh.net>

[PATCH] Re: tools/nolibc: drop test for getauxval(AT_PAGESZ)
Posted by Zhangjin Wu 2 years, 2 months ago
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: stable@vger.kernel.org
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> 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 <linux@weissschuh.net>
Re: [PATCH] Re: tools/nolibc: drop test for getauxval(AT_PAGESZ)
Posted by Thomas Weißschuh 2 years, 2 months ago
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: stable@vger.kernel.org
> > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>

> [..]
Re: [PATCH] tools/nolibc: drop test for getauxval(AT_PAGESZ)
Posted by Willy Tarreau 2 years, 2 months ago
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: stable@vger.kernel.org
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> Note:
> 
> This should probably also make it into 6.6.

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

Thanks!
Willy
Re: [PATCH] tools/nolibc: drop test for getauxval(AT_PAGESZ)
Posted by Thomas Weißschuh 2 years, 2 months ago
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: stable@vger.kernel.org
> > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> > ---
> > 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