This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 03/09/2017 04:00 PM, Stefan Liebler wrote:
On 03/08/2017 05:20 PM, Zack Weinberg wrote:On 03/06/2017 09:42 PM, Yury Norov wrote:On Mon, Mar 06, 2017 at 05:49:19PM -0300, Wainer dos Santos Moschetta wrote:LGTM.Thanks. I don't have the write access to the glibc repo. Could you (someone else) apply the patch?I have committed the patch. zwHi, on s390 (31bit), I get the following fails: FAIL: misc/test-errno: FAIL: mlock: errno is: 12 (Cannot allocate memory) expected: 22 (Invalid argument) FAIL: posix/test-errno: FAIL: mlock: errno is: 12 (Cannot allocate memory) expected: 22 (Invalid argument) Is it intended, that the same test is run twice?
Good catch. I think the Linux test should be renamed, so that it does not override the generic test. We want to run both on Linux.
Why is the test-errno added to tests in sysdeps/unix/sysv/linux/Makefile with: ifeq ($(subdir),misc) tests += test-errno endif
After renaming the source file, something like that will be necessary to run the test.
Regarding mlock-syscall: If the compat mlock syscall is used, it returns 12 (ENOMEM). This is also observable if you compile and run the testcase with -m32 on a x86_64 system.
I'd argue that this is a kernel bug. EINVAL is required here because the address computation overflows (in 32-bit mode). I don't see a good way to force a different error code, without risking thrashing the system. Maybe we could map a page, unmap it, and pass that to mlock? That should result in ENOMEM reliably, I think.
I've compiled and run posix/test-errno.c on my s390x system and get the following error: FAIL: setsockopt: errno is: 22 (Invalid argument) expected: 9 (Bad file descriptor) sl=0xfdfa9170 before setsockopt syscall. The test succeeds if I sl is initialized to zero.
Right, the initializer is missing. Assuming that none of the get* calls which are called with &sl modify the variable (which is a reasonable assumption because they are expected to fail), adding the initializer should be the right fix.
Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |