Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 30 Mar 2016 14:12:58 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: Libc-Test: Tests failing on Ubuntu VM

On Wed, Mar 30, 2016 at 08:04:43PM +0200, Szabolcs Nagy wrote:
> * Max Ruttenberg <mruttenberg@...technology.com> [2016-03-30 13:22:19 -0400]:
> > this is what my src/regression/REPORT file looks like:
> > 
> > ******************************************************************************************************************************
> > src/regression/malloc-brk-fail.c:33: malloc did not fail with ENOMEM, got
> > Operation not permitted
> > FAIL ./src/regression/malloc-brk-fail-static.exe [status 1]
> > src/regression/malloc-brk-fail.c:33: malloc did not fail with ENOMEM, got
> > Operation not permitted
> > FAIL ./src/regression/malloc-brk-fail.exe [status 1]
> > src/regression/malloc-oom.c:16: expected ENOMEM, got Operation not permitted
> > FAIL ./src/regression/malloc-oom-static.exe [status 1]
> > src/regression/malloc-oom.c:16: expected ENOMEM, got Operation not permitted
> > FAIL ./src/regression/malloc-oom.exe [status 1]
> > FAIL ./src/regression/putenv-doublefree-static.exe [signal Segmentation
> > fault]
> > FAIL ./src/regression/putenv-doublefree.exe [signal Segmentation fault]
> > src/regression/setenv-oom.c:23: expected ENOMEM, got Operation not permitted
> > FAIL ./src/regression/setenv-oom-static.exe [status 1]
> > src/regression/setenv-oom.c:23: expected ENOMEM, got Operation not permitted
> > FAIL ./src/regression/setenv-oom.exe [status 1]
> > ******************************************************************************************************************************
> > 
> > Is the brk system call still kosher? I thought malloc was supposed to use
> > something mmap.
> > 
> 
> i've seen such things: mmap fails with EPERM
> instead of ENOMEM when the system runs out of
> virtual address space, i don't remember the
> details though, you can debug it with strace.
> 
> if you figure it out i'd like to know when
> this happens (probably a kernel bug).

We should probably work around this kernel bug by not trusting mmap to
set errno and instead just setting it to ENOMEM on failure (in the
malloc code at least; working around it in the mmap function may be
more work becaus EPERM is a valid error for some usage cases).

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.