* [LTP] [PATCH] hugemmap/hugemmap03.c: fix the ppc64 FAILED situation procedure
@ 2014-05-28 1:32 Li Wang
2014-06-05 13:36 ` chrubis
0 siblings, 1 reply; 2+ messages in thread
From: Li Wang @ 2014-05-28 1:32 UTC (permalink / raw)
To: ltp-list; +Cc: liwan, Li Wang
From: Li Wang <wangli.ahau@gmail.com>
When testing on ppc64 arch, `./hugemmap03 -s 64` failed message as:
hugemmap03 1 TFAIL : mmap into high region failed unexpectedly - expect errno=ENOMEM, got: errno=EINVAL(22): Invalid
But it is not the system issue, MMAP(2) Programmer's Manual define the mmap() error return value like:
EINVAL We don't like addr, length, or offset (e.g., they are too large, or not aligned on a page boundary).
ENOMEM No memory is available, or the process's maximum number of mappings would have been exceeded.
So, we should consider the EINVAL return situation on ppc64.
Signed-off-by: Li Wang <wangli.ahau@gmail.com>
---
testcases/kernel/mem/hugetlb/hugemmap/hugemmap03.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap03.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap03.c
index 0287ec9..3c1ccdd 100644
--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap03.c
+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap03.c
@@ -100,7 +100,7 @@ int main(int ac, char **av)
tst_count = 0;
- /* Attempt to mmap into highmem addr, should get ENOMEM */
+ /* Attempt to mmap into highmem addr, should get ENOMEM or EINVAL (on arch ppc64) */
addr = mmap(HIGH_ADDR, map_sz, PROT_READ,
MAP_SHARED | MAP_FIXED, fildes, 0);
if (addr != MAP_FAILED) {
@@ -108,13 +108,13 @@ int main(int ac, char **av)
"succeeded unexpectedly");
goto fail;
}
- if (errno != ENOMEM)
- tst_resm(TFAIL | TERRNO, "mmap into high region "
- "failed unexpectedly - expect "
- "errno=ENOMEM, got");
- else
+ if (errno == ENOMEM || errno == EINVAL)
tst_resm(TPASS | TERRNO, "mmap into high region "
"failed as expected");
+ else
+ tst_resm(TFAIL | TERRNO, "mmap into high region "
+ "failed unexpectedly - expect "
+ "errno=ENOMEM or EINVAL, got");
fail:
close(fildes);
}
--
1.8.1.2
------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [LTP] [PATCH] hugemmap/hugemmap03.c: fix the ppc64 FAILED situation procedure
2014-05-28 1:32 [LTP] [PATCH] hugemmap/hugemmap03.c: fix the ppc64 FAILED situation procedure Li Wang
@ 2014-06-05 13:36 ` chrubis
0 siblings, 0 replies; 2+ messages in thread
From: chrubis @ 2014-06-05 13:36 UTC (permalink / raw)
To: Li Wang; +Cc: ltp-list, liwan, Li Wang
Hi!
> When testing on ppc64 arch, `./hugemmap03 -s 64` failed message as:
> hugemmap03 1 TFAIL : mmap into high region failed unexpectedly - expect errno=ENOMEM, got: errno=EINVAL(22): Invalid
>
> But it is not the system issue, MMAP(2) Programmer's Manual define the mmap() error return value like:
> EINVAL We don't like addr, length, or offset (e.g., they are too large, or not aligned on a page boundary).
> ENOMEM No memory is available, or the process's maximum number of mappings would have been exceeded.
> So, we should consider the EINVAL return situation on ppc64.
Which kernel version does this happen on?
Can you capture kernel function trace of the test?
We looked at the test (I've got help from Mel Gorman) and we concluded
that the test has nothing to do with hugepages and that it simply checks
that addresses outside of the process space are rejected by the kernel.
Which should return ENOMEM on ppc64 too (because the high address
constant in the test should be high enough for ppc64 too).
--
Cyril Hrubis
chrubis@suse.cz
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-06-05 13:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-28 1:32 [LTP] [PATCH] hugemmap/hugemmap03.c: fix the ppc64 FAILED situation procedure Li Wang
2014-06-05 13:36 ` chrubis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox