]> git.baikalelectronics.ru Git - kernel.git/commit
arm/xen: Enable user access to the kernel before issuing a privcmd call
authorJulien Grall <julien.grall@citrix.com>
Fri, 11 Sep 2015 16:25:59 +0000 (17:25 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 11 Sep 2015 17:50:03 +0000 (18:50 +0100)
commit1e6760297be2c8cca0d103e2ef24e6e0fea5623d
tree3dd23439d981eb8e93da117a6a563c797d4fe08c
parentd8982293a7539e40f7c4b7b016ba942862230823
arm/xen: Enable user access to the kernel before issuing a privcmd call

When Xen is copying data to/from the guest it will check if the kernel
has the right to do the access. If not, the hypercall will return an
error.

After the commit 0bac703e02ae406de455210b4e25772a93bedda4 "ARM:
software-based privileged-no-access support", the kernel can't access
any longer the user space by default. This will result to fail on every
hypercall made by the userspace (i.e via privcmd).

We have to enable the userspace access and then restore the correct
permission every time the privcmd is used to made an hypercall.

I didn't find generic helpers to do a these operations, so the change
is only arm32 specific.

Reported-by: Riku Voipio <riku.voipio@linaro.org>
Signed-off-by: Julien Grall <julien.grall@citrix.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/xen/hypercall.S