On Wed, 2019-05-15 at 06:20 +0000, Christophe Leroy wrote:

Confirming this works on hash and radix book3s64.

> +
> +     // only operate on VM areas for now
> +     area = find_vm_area((void *)addr);
> +     if (!area || end > (unsigned long)area->addr + area->size ||
> +         !(area->flags & VM_ALLOC))
> +             return -EINVAL;

https://lore.kernel.org/patchwork/project/lkml/list/?series=391470

With this patch, the above series causes crashes on (at least) Hash,
since it adds another user of change_page_rw() and change_page_nx()
that for reasons I don't understand yet, we can't handle.  I can work
around this with:

        if (area->flags & VM_FLUSH_RESET_PERMS)
                return 0;

so this is broken on at least one platform as of 5.2-rc1.  We're going
to look into this more to see if there's anything else we have to do as
a result of this series before the next merge window, or if just
working around it like this is good enough.

- Russell

Reply via email to