[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55F2F517.6020105@citrix.com>
Date: Fri, 11 Sep 2015 16:36:55 +0100
From: Julien Grall <julien.grall@...rix.com>
To: Russell King - ARM Linux <linux@....linux.org.uk>
CC: Ian Campbell <ian.campbell@...rix.com>,
<xen-devel@...ts.xenproject.org>,
<linux-arm-kernel@...ts.infradead.org>,
<stefano.stabellini@...citrix.com>, <linux-kernel@...r.kernel.org>,
Riku Voipio <riku.voipio@...aro.org>
Subject: Re: [PATCH] arm/xen: Enable user access to the kernel before issuing
a privcmd call
On 11/09/15 16:25, Russell King - ARM Linux wrote:
> On Fri, Sep 11, 2015 at 03:56:38PM +0100, Julien Grall wrote:
>> Well, we can't assume that the function will be called with uaccess
>> disabled.
>
> Please explain your reasoning.
I think I was confused about the usage of uaccess.
Thank you for the explanation.
> The reason copy_from_user() et.al. need to save and restore the DACR is
> because the DACR may be in one of two states on older ARM architectures.
> It may have set the kernel domain to 'manager' mode, to allow these
> accessors to work on kernel memory, or the kernel domain may be in
> 'client' mode, thereby preventing the accessors from touching kernel
> memory.
>
> Unless the code path is reachable with the kernel domain in manager
> mode, (iow, a set_fs(KERNEL_DS) or set_fs(get_ds()) has been done) then
> it should be safe to use uaccess_disable/uaccess_enable.
I believe that our privcmd driver doesn't made any usage of set_fs(...),
so I will use the uaccess_{disable,enable} macro.
Regards,
--
Julien Grall
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists