lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 24 Aug 2021 21:21:29 +1000
From:   Aleksa Sarai <cyphar@...har.com>
To:     Shuah Khan <skhan@...uxfoundation.org>
Cc:     Baolin Wang <baolin.wang@...ux.alibaba.com>, shuah@...nel.org,
        Christian Brauner <christian@...uner.io>,
        linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] selftests: openat2: Fix testing failure for O_LARGEFILE
 flag

On 2021-08-23, Shuah Khan <skhan@...uxfoundation.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@...ux.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@...har.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

-- 
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
<https://www.cyphar.com/>

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ