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

Reply via email to