[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/17] mm: madvise MADV_USERFAULT
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH 08/17] mm: madvise MADV_USERFAULT |
Date: |
Tue, 7 Oct 2014 12:01:02 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
* Kirill A. Shutemov (address@hidden) wrote:
> On Tue, Oct 07, 2014 at 11:46:04AM +0100, Dr. David Alan Gilbert wrote:
> > * Kirill A. Shutemov (address@hidden) wrote:
> > > On Fri, Oct 03, 2014 at 07:07:58PM +0200, Andrea Arcangeli wrote:
> > > > MADV_USERFAULT is a new madvise flag that will set VM_USERFAULT in the
> > > > vma flags. Whenever VM_USERFAULT is set in an anonymous vma, if
> > > > userland touches a still unmapped virtual address, a sigbus signal is
> > > > sent instead of allocating a new page. The sigbus signal handler will
> > > > then resolve the page fault in userland by calling the
> > > > remap_anon_pages syscall.
> > >
> > > Hm. I wounder if this functionality really fits madvise(2) interface: as
> > > far as I understand it, it provides a way to give a *hint* to kernel which
> > > may or may not trigger an action from kernel side. I don't think an
> > > application will behaive reasonably if kernel ignore the *advise* and will
> > > not send SIGBUS, but allocate memory.
> >
> > Aren't DONTNEED and DONTDUMP similar cases of madvise operations that are
> > expected to do what they say ?
>
> No. If kernel would ignore MADV_DONTNEED or MADV_DONTDUMP it will not
> affect correctness, just behaviour will be suboptimal: more than needed
> memory used or wasted space in coredump.
That's not how the manpage reads for DONTNEED; it calls it out as a special
case near the top, and explicitly says what will happen if you read the
area marked as DONTNEED.
It looks like there are openssl patches that use DONTDUMP to explicitly
make sure keys etc don't land in cores.
Dave
>
> --
> Kirill A. Shutemov
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [PATCH 02/17] mm: gup: add get_user_pages_locked and get_user_pages_unlocked, (continued)
- [Qemu-devel] [PATCH 02/17] mm: gup: add get_user_pages_locked and get_user_pages_unlocked, Andrea Arcangeli, 2014/10/03
- [Qemu-devel] [PATCH 05/17] mm: gup: use get_user_pages_fast and get_user_pages_unlocked, Andrea Arcangeli, 2014/10/03
- [Qemu-devel] [PATCH 12/17] mm: sys_remap_anon_pages, Andrea Arcangeli, 2014/10/03
- [Qemu-devel] [PATCH 17/17] userfaultfd: implement USERFAULTFD_RANGE_REGISTER|UNREGISTER, Andrea Arcangeli, 2014/10/03
- [Qemu-devel] [PATCH 08/17] mm: madvise MADV_USERFAULT, Andrea Arcangeli, 2014/10/03
- Re: [Qemu-devel] [PATCH 08/17] mm: madvise MADV_USERFAULT, Andrea Arcangeli, 2014/10/07
- Re: [Qemu-devel] [PATCH 08/17] mm: madvise MADV_USERFAULT, Kirill A. Shutemov, 2014/10/07
Re: [Qemu-devel] [PATCH 00/17] RFC: userfault v2, zhanghailiang, 2014/10/27
- Re: [Qemu-devel] [PATCH 00/17] RFC: userfault v2, Andrea Arcangeli, 2014/10/29
- Re: [Qemu-devel] [PATCH 00/17] RFC: userfault v2, Peter Maydell, 2014/10/29
- Re: [Qemu-devel] [PATCH 00/17] RFC: userfault v2, zhanghailiang, 2014/10/30
- Re: [Qemu-devel] [PATCH 00/17] RFC: userfault v2, Peter Feiner, 2014/10/31
- Re: [Qemu-devel] [PATCH 00/17] RFC: userfault v2, zhanghailiang, 2014/10/31
- Re: [Qemu-devel] [PATCH 00/17] RFC: userfault v2, zhanghailiang, 2014/10/31