* [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign()
@ 2023-04-13 1:27 Deming Wang
2023-04-13 22:11 ` Andrew Morton
0 siblings, 1 reply; 6+ messages in thread
From: Deming Wang @ 2023-04-13 1:27 UTC (permalink / raw)
To: akpm, shuah; +Cc: linux-mm, linux-kselftest, linux-kernel, Deming Wang
memalign() is obsolete according to its manpage.
Replace memalign() with posix_memalign().
As a pointer is passed into posix_memalign(),initialize *map 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 map is returned).
Signed-off-by: Deming Wang <wangdeming@inspur.com>
---
tools/testing/selftests/mm/soft-dirty.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selftests/mm/soft-dirty.c
index 21d8830c5f24..c99350e110ec 100644
--- a/tools/testing/selftests/mm/soft-dirty.c
+++ b/tools/testing/selftests/mm/soft-dirty.c
@@ -80,9 +80,9 @@ static void test_hugepage(int pagemap_fd, int pagesize)
int i, ret;
size_t hpage_len = read_pmd_pagesize();
- map = memalign(hpage_len, hpage_len);
- if (!map)
- ksft_exit_fail_msg("memalign failed\n");
+ ret = posix_memalign((void **)(&map), hpage_len, hpage_len);
+ if (ret < 0)
+ ksft_exit_fail_msg("posix_memalign failed\n");
ret = madvise(map, hpage_len, MADV_HUGEPAGE);
if (ret)
--
2.27.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign()
2023-04-13 1:27 [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign() Deming Wang
@ 2023-04-13 22:11 ` Andrew Morton
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Morton @ 2023-04-13 22:11 UTC (permalink / raw)
To: Deming Wang; +Cc: shuah, linux-mm, linux-kselftest, linux-kernel
On Wed, 12 Apr 2023 21:27:51 -0400 Deming Wang <wangdeming@inspur.com> wrote:
> memalign() is obsolete according to its manpage.
>
> Replace memalign() with posix_memalign().
>
> As a pointer is passed into posix_memalign(),initialize *map 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 map is returned).
>
The patch you sent doesn't do this?
> --- a/tools/testing/selftests/mm/soft-dirty.c
> +++ b/tools/testing/selftests/mm/soft-dirty.c
> @@ -80,9 +80,9 @@ static void test_hugepage(int pagemap_fd, int pagesize)
> int i, ret;
> size_t hpage_len = read_pmd_pagesize();
>
> - map = memalign(hpage_len, hpage_len);
> - if (!map)
> - ksft_exit_fail_msg("memalign failed\n");
> + ret = posix_memalign((void **)(&map), hpage_len, hpage_len);
> + if (ret < 0)
> + ksft_exit_fail_msg("posix_memalign failed\n");
>
> ret = madvise(map, hpage_len, MADV_HUGEPAGE);
> if (ret)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign()
@ 2023-04-12 9:35 Deming Wang
0 siblings, 0 replies; 6+ messages in thread
From: Deming Wang @ 2023-04-12 9:35 UTC (permalink / raw)
To: akpm, shuah; +Cc: linux-mm, linux-kselftest, linux-kernel, Deming Wang
memalign() is obsolete according to its manpage.
Replace memalign() with posix_memalign().
As a pointer is passed into posix_memalign(),initialize *map 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 p is returned).
Signed-off-by: Deming Wang <wangdeming@inspur.com>
---
tools/testing/selftests/mm/soft-dirty.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selftests/mm/soft-dirty.c
index 21d8830c5f24..c99350e110ec 100644
--- a/tools/testing/selftests/mm/soft-dirty.c
+++ b/tools/testing/selftests/mm/soft-dirty.c
@@ -80,9 +80,9 @@ static void test_hugepage(int pagemap_fd, int pagesize)
int i, ret;
size_t hpage_len = read_pmd_pagesize();
- map = memalign(hpage_len, hpage_len);
- if (!map)
- ksft_exit_fail_msg("memalign failed\n");
+ ret = posix_memalign((void **)(&map), hpage_len, hpage_len);
+ if (ret < 0)
+ ksft_exit_fail_msg("posix_memalign failed\n");
ret = madvise(map, hpage_len, MADV_HUGEPAGE);
if (ret)
--
2.27.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign()
@ 2023-04-12 7:27 Deming Wang
2023-04-12 8:25 ` David Hildenbrand
0 siblings, 1 reply; 6+ messages in thread
From: Deming Wang @ 2023-04-12 7:27 UTC (permalink / raw)
To: akpm, shuah; +Cc: linux-mm, linux-kselftest, linux-kernel, Deming Wang
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 *p 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 p is returned).
Signed-off-by: Deming Wang <wangdeming@inspur.com>
---
tools/testing/selftests/mm/soft-dirty.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selftests/mm/soft-dirty.c
index 21d8830c5f24..4bb7421141a2 100644
--- a/tools/testing/selftests/mm/soft-dirty.c
+++ b/tools/testing/selftests/mm/soft-dirty.c
@@ -80,8 +80,8 @@ static void test_hugepage(int pagemap_fd, int pagesize)
int i, ret;
size_t hpage_len = read_pmd_pagesize();
- map = memalign(hpage_len, hpage_len);
- if (!map)
+ ret = posix_memalign((void *)(&map), hpage_len, hpage_len);
+ if (ret < 0)
ksft_exit_fail_msg("memalign failed\n");
ret = madvise(map, hpage_len, MADV_HUGEPAGE);
--
2.27.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign()
2023-04-12 7:27 Deming Wang
@ 2023-04-12 8:25 ` David Hildenbrand
0 siblings, 0 replies; 6+ messages in thread
From: David Hildenbrand @ 2023-04-12 8:25 UTC (permalink / raw)
To: Deming Wang, akpm, shuah; +Cc: linux-mm, linux-kselftest, linux-kernel
On 12.04.23 09:27, 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().
>
> As a pointer is passed into posix_memalign(), initialize *p 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 p is returned).
I don't follow how that comment here applies to the patch. What is p?
Where is it initialized to NULL?
>
> Signed-off-by: Deming Wang <wangdeming@inspur.com>
> ---
> tools/testing/selftests/mm/soft-dirty.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selftests/mm/soft-dirty.c
> index 21d8830c5f24..4bb7421141a2 100644
> --- a/tools/testing/selftests/mm/soft-dirty.c
> +++ b/tools/testing/selftests/mm/soft-dirty.c
> @@ -80,8 +80,8 @@ static void test_hugepage(int pagemap_fd, int pagesize)
> int i, ret;
> size_t hpage_len = read_pmd_pagesize();
>
> - map = memalign(hpage_len, hpage_len);
> - if (!map)
> + ret = posix_memalign((void *)(&map), hpage_len, hpage_len);
posix_memalign expects an "void **memptr", casting to "void *" looks
weird. Further, you can drop the parentheses around &map.
ret = posix_memalign((void **)&map, hpage_len, hpage_len);
> + if (ret < 0)
> ksft_exit_fail_msg("memalign failed\n");
Better adjust the comment to "posix_memalign() failed\n"
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign()
@ 2023-04-12 6:58 Deming Wang
0 siblings, 0 replies; 6+ messages in thread
From: Deming Wang @ 2023-04-12 6:58 UTC (permalink / raw)
To: akpm, shuah; +Cc: linux-mm, linux-kselftest, linux-kernel, Deming Wang
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 *p 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 p is returned).
Signed-off-by: Deming Wang <wangdeming@inspur.com>
---
tools/testing/selftests/mm/soft-dirty.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selftests/mm/soft-dirty.c
index 21d8830c5f24..4bb7421141a2 100644
--- a/tools/testing/selftests/mm/soft-dirty.c
+++ b/tools/testing/selftests/mm/soft-dirty.c
@@ -80,8 +80,8 @@ static void test_hugepage(int pagemap_fd, int pagesize)
int i, ret;
size_t hpage_len = read_pmd_pagesize();
- map = memalign(hpage_len, hpage_len);
- if (!map)
+ ret = posix_memalign((void *)(&map), hpage_len, hpage_len)
+ if (ret < 0)
ksft_exit_fail_msg("memalign failed\n");
ret = madvise(map, hpage_len, MADV_HUGEPAGE);
--
2.27.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-04-13 22:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-13 1:27 [PATCH] selftests/mm: Replace obsolete memalign() with posix_memalign() Deming Wang
2023-04-13 22:11 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2023-04-12 9:35 Deming Wang
2023-04-12 7:27 Deming Wang
2023-04-12 8:25 ` David Hildenbrand
2023-04-12 6:58 Deming Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).