When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com --- tools/testing/selftests/openat2/openat2_test.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c index d7ec1e7..1bddbe9 100644 --- a/tools/testing/selftests/openat2/openat2_test.c +++ b/tools/testing/selftests/openat2/openat2_test.c @@ -22,7 +22,11 @@ * XXX: This is wrong on {mips, parisc, powerpc, sparc}. */ #undef O_LARGEFILE +#ifdef __aarch64__ +#define O_LARGEFILE 0x20000 +#else #define O_LARGEFILE 0x8000 +#endif
struct open_how_ext { struct open_how inner;
Hi,
When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
# openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000) not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument)
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com
tools/testing/selftests/openat2/openat2_test.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c index d7ec1e7..1bddbe9 100644 --- a/tools/testing/selftests/openat2/openat2_test.c +++ b/tools/testing/selftests/openat2/openat2_test.c @@ -22,7 +22,11 @@
- XXX: This is wrong on {mips, parisc, powerpc, sparc}.
*/ #undef O_LARGEFILE +#ifdef __aarch64__ +#define O_LARGEFILE 0x20000 +#else #define O_LARGEFILE 0x8000 +#endif struct open_how_ext { struct open_how inner;
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote:
Hi,
When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
# openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000) not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument)
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com
Could you apply this patch if no objection from your side? Thanks.
tools/testing/selftests/openat2/openat2_test.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c index d7ec1e7..1bddbe9 100644 --- a/tools/testing/selftests/openat2/openat2_test.c +++ b/tools/testing/selftests/openat2/openat2_test.c @@ -22,7 +22,11 @@ * XXX: This is wrong on {mips, parisc, powerpc, sparc}. */ #undef O_LARGEFILE +#ifdef __aarch64__ +#define O_LARGEFILE 0x20000 +#else #define O_LARGEFILE 0x8000 +#endif struct open_how_ext { struct open_how inner;
Hi Baolin,
On 8/22/21 8:40 PM, Baolin Wang wrote:
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote:
Hi,
When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
Please cc everybody get_maintainers.pl suggests. You are missing key reviewers for this change.
Adding Christian Brauner and Aleksa Sarai to the thread.
# openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000)
Not sure I understand this. 208000 (!= 208000) look sthe same to me.
not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument)
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com
Could you apply this patch if no objection from your side? Thanks.
Ideally this define should come from an include file.
Christian, Aleksa,
Can you review this patch and let me know if this approach looks right.
tools/testing/selftests/openat2/openat2_test.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c index d7ec1e7..1bddbe9 100644 --- a/tools/testing/selftests/openat2/openat2_test.c +++ b/tools/testing/selftests/openat2/openat2_test.c @@ -22,7 +22,11 @@ * XXX: This is wrong on {mips, parisc, powerpc, sparc}. */ #undef O_LARGEFILE +#ifdef __aarch64__ +#define O_LARGEFILE 0x20000 +#else #define O_LARGEFILE 0x8000 +#endif struct open_how_ext { struct open_how inner;
thanks, -- Shuah
Hi Shuah,
On 2021/8/24 3:23, Shuah Khan wrote:
Hi Baolin,
On 8/22/21 8:40 PM, Baolin Wang wrote:
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote:
Hi,
When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
Please cc everybody get_maintainers.pl suggests. You are missing key reviewers for this change.
Adding Christian Brauner and Aleksa Sarai to the thread.
Thanks.
# openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000)
Not sure I understand this. 208000 (!= 208000) look sthe same to me.
These are not the error message, just show the fd flags. The error is it should return -22 (-EINVAL) for this test case, but it returns 3 which indicates a successful openat2() calling.
not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument)
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com
Could you apply this patch if no objection from your side? Thanks.
Ideally this define should come from an include file.
Christian, Aleksa,
Can you review this patch and let me know if this approach looks right.
tools/testing/selftests/openat2/openat2_test.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c index d7ec1e7..1bddbe9 100644 --- a/tools/testing/selftests/openat2/openat2_test.c +++ b/tools/testing/selftests/openat2/openat2_test.c @@ -22,7 +22,11 @@ * XXX: This is wrong on {mips, parisc, powerpc, sparc}. */ #undef O_LARGEFILE +#ifdef __aarch64__ +#define O_LARGEFILE 0x20000 +#else #define O_LARGEFILE 0x8000 +#endif struct open_how_ext { struct open_how inner;
thanks, -- Shuah
On 2021-08-23, Shuah Khan skhan@linuxfoundation.org wrote:
Hi Baolin,
On 8/22/21 8:40 PM, Baolin Wang wrote:
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote:
Hi,
When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
Please cc everybody get_maintainers.pl suggests. You are missing key reviewers for this change.
Adding Christian Brauner and Aleksa Sarai to the thread.
# openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000)
Not sure I understand this. 208000 (!= 208000) look sthe same to me.
not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument)
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com
Could you apply this patch if no objection from your side? Thanks.
Ideally this define should come from an include file.
The issue is that O_LARGEFILE is set to 0 by glibc because glibc appears to hide the nuts and bolts of largefile support from userspace. I couldn't find a nice way of doing a architecture-dependent includes of include/uapi from kselftests, so I just went with this instead -- but I agree that a proper include would be better if someone can figure out how to do it.
Christian, Aleksa,
Can you review this patch and let me know if this approach looks right.
Reviewed-by: Aleksa Sarai cyphar@cyphar.com
It'd be nice to fix this for the other architectures I mention in the comment (mips, parisc, powerpc, sparc) -- which are the ones that I could find that had a custom O_LARGEFILE definition.
tools/testing/selftests/openat2/openat2_test.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c index d7ec1e7..1bddbe9 100644 --- a/tools/testing/selftests/openat2/openat2_test.c +++ b/tools/testing/selftests/openat2/openat2_test.c @@ -22,7 +22,11 @@ * XXX: This is wrong on {mips, parisc, powerpc, sparc}. */ #undef O_LARGEFILE +#ifdef __aarch64__ +#define O_LARGEFILE 0x20000 +#else #define O_LARGEFILE 0x8000 +#endif struct open_how_ext { struct open_how inner;
thanks, -- Shuah
On Tue, Aug 24, 2021 at 09:21:29PM +1000, Aleksa Sarai wrote:
On 2021-08-23, Shuah Khan skhan@linuxfoundation.org wrote:
Hi Baolin,
On 8/22/21 8:40 PM, Baolin Wang wrote:
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote:
Hi,
When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
Please cc everybody get_maintainers.pl suggests. You are missing key reviewers for this change.
Adding Christian Brauner and Aleksa Sarai to the thread.
# openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000)
Not sure I understand this. 208000 (!= 208000) look sthe same to me.
not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument)
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com
Could you apply this patch if no objection from your side? Thanks.
Ideally this define should come from an include file.
The issue is that O_LARGEFILE is set to 0 by glibc because glibc appears to hide the nuts and bolts of largefile support from userspace. I couldn't find a nice way of doing a architecture-dependent includes of include/uapi from kselftests, so I just went with this instead -- but I agree that a proper include would be better if someone can figure out how to do it.
I'd just add arch-dependent defines for now and call it good. So seems good enough for me:
Thanks! Acked-by: Christian Brauner christian.brauner@ubuntu.com
Christian, Aleksa,
Can you review this patch and let me know if this approach looks right.
Reviewed-by: Aleksa Sarai cyphar@cyphar.com
On 8/24/21 5:36 AM, Christian Brauner wrote:
On Tue, Aug 24, 2021 at 09:21:29PM +1000, Aleksa Sarai wrote:
On 2021-08-23, Shuah Khan skhan@linuxfoundation.org wrote:
Hi Baolin,
On 8/22/21 8:40 PM, Baolin Wang wrote:
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote:
Hi,
When running the openat2 test suite on ARM64 platform, we got below failure, since the definition of the O_LARGEFILE is different on ARM64. So we can set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
Please cc everybody get_maintainers.pl suggests. You are missing key reviewers for this change.
Adding Christian Brauner and Aleksa Sarai to the thread.
# openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000)
Not sure I understand this. 208000 (!= 208000) look sthe same to me.
not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument)
Signed-off-by: Baolin Wang baolin.wang@linux.alibaba.com
Could you apply this patch if no objection from your side? Thanks.
Ideally this define should come from an include file.
The issue is that O_LARGEFILE is set to 0 by glibc because glibc appears to hide the nuts and bolts of largefile support from userspace. I couldn't find a nice way of doing a architecture-dependent includes of include/uapi from kselftests, so I just went with this instead -- but I agree that a proper include would be better if someone can figure out how to do it.
From a quick look, it will take sone work to consolidate multiple O_LARGEFILE defines.
I'd just add arch-dependent defines for now and call it good. So seems good enough for me:
Thanks! Acked-by: Christian Brauner christian.brauner@ubuntu.com
Christian, Aleksa,
Can you review this patch and let me know if this approach looks right.
Reviewed-by: Aleksa Sarai cyphar@cyphar.com
Thank you for the patch and the reviews. I will apply this for 5.15-rc1
thanks, -- Shuah
On 8/24/21 8:33 AM, Shuah Khan wrote:
On 8/24/21 5:36 AM, Christian Brauner wrote:
On Tue, Aug 24, 2021 at 09:21:29PM +1000, Aleksa Sarai wrote:
On 2021-08-23, Shuah Khan skhan@linuxfoundation.org wrote:
Hi Baolin,
On 8/22/21 8:40 PM, Baolin Wang wrote:
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote:
Hi,
> When running the openat2 test suite on ARM64 platform, we got below failure, > since the definition of the O_LARGEFILE is different on ARM64. So we can > set the correct O_LARGEFILE definition on ARM64 to fix this issue.
Sorry, I forgot to copy the failure log:
Please send me v2 with failure log included in the commit log.
thanks, -- Shuah
On 2021/8/25 0:50, Shuah Khan wrote:
On 8/24/21 8:33 AM, Shuah Khan wrote:
On 8/24/21 5:36 AM, Christian Brauner wrote:
On Tue, Aug 24, 2021 at 09:21:29PM +1000, Aleksa Sarai wrote:
On 2021-08-23, Shuah Khan skhan@linuxfoundation.org wrote:
Hi Baolin,
On 8/22/21 8:40 PM, Baolin Wang wrote:
Hi Shuah,
On 2021/7/28 20:32, Baolin Wang wrote: > Hi, > >> When running the openat2 test suite on ARM64 platform, we got >> below failure, >> since the definition of the O_LARGEFILE is different on ARM64. >> So we can >> set the correct O_LARGEFILE definition on ARM64 to fix this issue. > > Sorry, I forgot to copy the failure log: >
Please send me v2 with failure log included in the commit log.
Sure. Thanks for reviewing.
linux-kselftest-mirror@lists.linaro.org