This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH v4] Fix Linux fcntl OFD locks for non-LFS architectures (BZ#20251)
On 10/07/2018 03:31, Stefan Liebler wrote:
> On 07/09/2018 08:37 PM, Adhemerval Zanella wrote:
>> So it seems that kernel between 4.13 through 4.15 have this issue with for
>> compat kernels and I do think it is a kernel issue because fcntl64 is the
>> expected way to use OFD locks. GLIBC returns EOVERFLOW because from
>> application standpoint, it should use LFS variant instead.
> Yes, I agree with you.
> Shall we document this kernel issue in the release-wiki and/or the testcase itself?
I have added a note on 2.28 release wiki  about this potential failure
and if Carlos approves I would like to push the patch below.
>From aca2b996f3ba8fdf76e5e71e3868b701c5aa5c2b Mon Sep 17 00:00:00 2001
From: Adhemerval Zanella <email@example.com>
Date: Tue, 10 Jul 2018 09:24:40 -0300
Subject: [PATCH] Comment tst-ofdlocks-compat expected failure in some Linux
As pointed out in a libc-alpha thread , the misc/tst-ofdlocks-compat
may fail in some specific Linux releases. This patch adds a comment
along with a link to discussion in the test source code.
No changes are expected.
* sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Add a comment about
a kernel issue which lead to test failure in some cases.
ChangeLog | 5 +++++
sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c | 8 ++++++++
2 files changed, 13 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 7a052c3..9c57396 100644
@@ -1,3 +1,8 @@
+2018-07-10 Adhemerval Zanella <firstname.lastname@example.org>
+ * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Add a comment about
+ a kernel issue which lead to test failure in some cases.
2018-07-06 Florian Weimer <email@example.com>
diff --git a/sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c b/sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c
index d1d00eb..03c4abf 100644
@@ -40,6 +40,14 @@ do_prepare (int argc, char **argv)
#define PREPARE do_prepare
+/* Linux between 4.13 and 4.15 return EOVERFLOW for LFS OFD locks usage
+ in compat mode (non-LFS ABI running on a LFS default kernel, such as
+ i386 on a x86_64 kernel or s390-32 on a s390-64 kernel) . This is
+ a kernel issue because __NR_fcntl64 is the expected way to use OFD locks
+ (used on GLIBC for both fcntl and fcntl64).
+  https://sourceware.org/ml/libc-alpha/2018-07/msg00243.html */