2023-04-13 01:17:59

by Deming Wang

[permalink] [raw]
Subject: [PATCH] selftests/powerpc: Replace obsolete memalign() with posix_memalign()

memalign() is obsolete according to its manpage.

Replace memalign() with posix_memalign() and remove malloc.h include
that was there for memalign().

As a pointer is passed into posix_memalign(), initialize *s to NULL
to silence a warning about the function's return value being used as
uninitialized (which is not valid anyway because the error is properly
checked before s is returned).

Signed-off-by: Deming Wang <[email protected]>
---
tools/testing/selftests/powerpc/stringloops/strlen.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/powerpc/stringloops/strlen.c b/tools/testing/selftests/powerpc/stringloops/strlen.c
index 9055ebc484d0..f9c1f9cc2d32 100644
--- a/tools/testing/selftests/powerpc/stringloops/strlen.c
+++ b/tools/testing/selftests/powerpc/stringloops/strlen.c
@@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
-#include <malloc.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
@@ -51,10 +50,11 @@ static void bench_test(char *s)
static int testcase(void)
{
char *s;
+ int ret;
unsigned long i;

- s = memalign(128, SIZE);
- if (!s) {
+ ret = posix_memalign((void **)&s, 128, SIZE);
+ if (ret < 0) {
perror("memalign");
exit(1);
}
--
2.27.0


2023-04-28 08:19:42

by Muhammad Usama Anjum

[permalink] [raw]
Subject: Re: [PATCH] selftests/powerpc: Replace obsolete memalign() with posix_memalign()

On 4/13/23 6:02 AM, Deming Wang wrote:
> memalign() is obsolete according to its manpage.
>
> Replace memalign() with posix_memalign() and remove malloc.h include
> that was there for memalign().
Thanks for the patch.

>
> As a pointer is passed into posix_memalign(), initialize *s to NULL
I'm unable to find this initialization below. Did you really mean to add
the initialization?

> to silence a warning about the function's return value being used as
> uninitialized (which is not valid anyway because the error is properly
> checked before s is returned).
>
> Signed-off-by: Deming Wang <[email protected]>
> ---
> tools/testing/selftests/powerpc/stringloops/strlen.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/powerpc/stringloops/strlen.c b/tools/testing/selftests/powerpc/stringloops/strlen.c
> index 9055ebc484d0..f9c1f9cc2d32 100644
> --- a/tools/testing/selftests/powerpc/stringloops/strlen.c
> +++ b/tools/testing/selftests/powerpc/stringloops/strlen.c
> @@ -1,5 +1,4 @@
> // SPDX-License-Identifier: GPL-2.0
> -#include <malloc.h>
> #include <stdlib.h>
> #include <string.h>
> #include <time.h>
> @@ -51,10 +50,11 @@ static void bench_test(char *s)
> static int testcase(void)
> {
> char *s;
> + int ret;
> unsigned long i;
>
> - s = memalign(128, SIZE);
> - if (!s) {
> + ret = posix_memalign((void **)&s, 128, SIZE);
> + if (ret < 0) {
Can we do if (!ret) instead? The page says:
posix_memalign() returns zero on success.
> perror("memalign");
> exit(1);
> }

--
BR,
Muhammad Usama Anjum