Re: madvise MADV_DONTFORK/MADV_DOFORK

From: Michael S. Tsirkin
Date: Mon Feb 13 2006 - 14:17:22 EST


Quoting Linus Torvalds <torvalds@xxxxxxxx>:
> >
> > 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@xxxxxxxxxxxxxx>
> >
> > - 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/