perf/x86: Check user address explicitly in copy_from_user_nmi()
Signed-off-by: Arun Sharma <asharma@fb.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: linux-kernel@vger.kernel.org Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1334961696-19580-5-git-send-email-asharma@fb.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Родитель
bc6ca7b342
Коммит
db0dc75d64
|
@ -8,6 +8,7 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include <asm/word-at-a-time.h>
|
#include <asm/word-at-a-time.h>
|
||||||
|
#include <linux/sched.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* best effort, GUP based copy_from_user() that is NMI-safe
|
* best effort, GUP based copy_from_user() that is NMI-safe
|
||||||
|
@ -21,6 +22,9 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n)
|
||||||
void *map;
|
void *map;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (__range_not_ok(from, n, TASK_SIZE) == 0)
|
||||||
|
return len;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
ret = __get_user_pages_fast(addr, 1, 0, &page);
|
ret = __get_user_pages_fast(addr, 1, 0, &page);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче