From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58742) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UZfsw-0002WB-Bh for qemu-devel@nongnu.org; Tue, 07 May 2013 07:16:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UZfsr-0001ED-Kw for qemu-devel@nongnu.org; Tue, 07 May 2013 07:16:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45570) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UZfsr-0001E7-DF for qemu-devel@nongnu.org; Tue, 07 May 2013 07:16:37 -0400 Date: Tue, 7 May 2013 13:16:30 +0200 From: Andrew Jones Message-ID: <20130507111629.GA10720@hawk.usersys.redhat.com> References: <1367870221-12676-1-git-send-email-aarcange@redhat.com> <1367870221-12676-2-git-send-email-aarcange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1367870221-12676-2-git-send-email-aarcange@redhat.com> Subject: Re: [Qemu-devel] [PATCH 1/4] mm: madvise MADV_USERFAULT List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andrea Arcangeli Cc: Anthony Liguori , Juan Quintela , Hugh Dickins , qemu-devel@nongnu.org, linux-kernel@vger.kernel.org, Orit Wasserman , Mel Gorman , Paolo Bonzini , Isaku Yamahata On Mon, May 06, 2013 at 09:56:58PM +0200, Andrea Arcangeli wrote: > +++ b/mm/madvise.c > @@ -93,6 +93,21 @@ static long madvise_behavior(struct vm_area_struct * vma, > if (error) > goto out; > break; > + case MADV_USERFAULT: > + if (vma->vm_ops) { > + error = -EINVAL; > + goto out; > + } > + new_flags |= VM_USERFAULT; > + break; > + case MADV_NOUSERFAULT: > + if (vma->vm_ops) { > + WARN_ON(new_flags & VM_USERFAULT); > + error = -EINVAL; > + goto out; > + } > + new_flags &= ~VM_USERFAULT; > + break; > } > > if (new_flags == vma->vm_flags) { > @@ -405,6 +420,7 @@ madvise_behavior_valid(int behavior) > case MADV_HUGEPAGE: > case MADV_NOHUGEPAGE: > #endif > + case MADV_USERFAULT: Missing MADV_NOUSERFAULT: here > case MADV_DONTDUMP: > case MADV_DODUMP: > return 1;