From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiaoguang Wang Date: Tue, 15 Mar 2016 17:30:30 +0800 Subject: [LTP] [PATCH] device-drivers/uaccess: add a workaround for Intel's SMAP feature In-Reply-To: <1458033917-13891-1-git-send-email-wangxg.fnst@cn.fujitsu.com> References: <1458033917-13891-1-git-send-email-wangxg.fnst@cn.fujitsu.com> Message-ID: <56E7D636.9040804@cn.fujitsu.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ltp@lists.linux.it hello, Sorry, I do not have a machine with this SMAP feature, anybody can help to test this patch, thanks very much. Regards, Xiaoguang Wang On 03/15/2016 05:25 PM, Xiaoguang Wang wrote: > When Intel's new "Supervisor Mode Access Prevention" (SMAP) feature is > enabled, kernel will be forbidden to visit user space memory, please > see url: https://lwn.net/Articles/517475/ for detailed infomation. > > Here, we explicitly call stac()/clac() to enable/disable SMAP feature. > > Signed-off-by: Xiaoguang Wang > --- > testcases/kernel/device-drivers/uaccess/ltp_uaccess.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/testcases/kernel/device-drivers/uaccess/ltp_uaccess.c b/testcases/kernel/device-drivers/uaccess/ltp_uaccess.c > index a9a06e9..35a9aa0 100644 > --- a/testcases/kernel/device-drivers/uaccess/ltp_uaccess.c > +++ b/testcases/kernel/device-drivers/uaccess/ltp_uaccess.c > @@ -68,6 +68,9 @@ static ssize_t sys_tcase(struct device *dev, > str = (char *) ptr; > test_result = 0; > > +#ifdef CONFIG_X86_SMAP > + stac(); > +#endif > switch (tc) { > case TC_READ_USER: > if (copy_from_user(buffer, str, str_size)) > @@ -90,6 +93,11 @@ static ssize_t sys_tcase(struct device *dev, > break; > } > > +#ifdef CONFIG_X86_SMAP > + clac(); > +#endif > + > + > return count; > } > static DEVICE_ATTR(tcase, S_IWUSR, NULL, sys_tcase); >