Re: [PATCH] selftests: openat2: Fix testing failure for O_LARGEFILE flag

From: Baolin Wang
Date: Tue Aug 24 2021 - 01:25:42 EST


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@xxxxxxxxxxxxxxxxx>

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