[openib-general] Re: madvise MADV_DONTFORK/MADV_DOFORK

Michael S. Tsirkin mst at mellanox.co.il
Mon Feb 13 11:20:46 PST 2006


Quoting Linus Torvalds <torvalds at osdl.org>:
> > 
> > Add madvise options to control whether memory range is inherited across fork.
> > Useful e.g. for when hardware is doing DMA from/into these pages.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst at mellanox.co.il>
> >
> > -		if (mpnt->vm_flags & VM_DONTCOPY) {
> > +		if (mpnt->vm_flags & (VM_DONTCOPY | VM_DONTFORK)) {
> 
> Why?
> 
> That VM_DONTCOPY _is_ DONTFORK. 
> 
> Don't add a new useless DONTFORK that doesn't have any value.

When this was last discussed, Hugh Dickins said:
> If a driver sets VM_DONTCOPY, it's likely to be because the driver knows it'll
> cause some nastiness (memory corruption, memory leak, lockup...) if it were
> copied. The memory belongs to the driver, it's letting the process have a
> window on it. I don't think we should now let the process overrule it.

Here's a pointer to the relevant discussion:
http://lkml.org/lkml/2005/11/3/112

-- 
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies



More information about the general mailing list