MADV_FREE and wait4 EFAULT

RW rwmaillists at googlemail.com
Tue Apr 16 23:28:34 UTC 2013


On Tue, 16 Apr 2013 14:12:54 -0700
Carl Shapiro wrote:

> I am seeing wait4 system calls failing with an EFAULT and I am trying
> to understand what might be going wrong.
> 
> An inspection of the wait4 implementation suggests the  opportunity
> for EFAULT is within its invocations of copyout.  In my situation,
> the status and rusage pointer arguments contain addresses to mmaped
> pages which have been madvised as MADV_FREE.
> 
> Is it permissible to pass pages which have been madvised MADV_FREE to
> wait4 or any other system call for that matter?  Might there be
> another opportunity for a wait4 to EFAULT?


IIRC MADV_FREE  pages are marked clean and placed on the end of the
inactive queue as "low hanging fruit" for the page daemon. AFAIK they're
no different to any other clean page. Malloc'ed memory pages are
commonly in that state.   


More information about the freebsd-hackers mailing list