Re: [PATCH 4/4] x86: Check user address explicitly incopy_from_user_nmi()

From: Peter Zijlstra
Date: Tue Jun 05 2012 - 12:56:22 EST


On Fri, 2012-04-20 at 15:41 -0700, Arun Sharma wrote:
> Signed-off-by: Arun Sharma <asharma@xxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> arch/x86/lib/usercopy.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/lib/usercopy.c b/arch/x86/lib/usercopy.c
> index d6ae30b..2da7914 100644
> --- a/arch/x86/lib/usercopy.c
> +++ b/arch/x86/lib/usercopy.c
> @@ -21,6 +21,9 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n)
> void *map;
> int ret;
>
> + if (__range_not_ok(from, n, TASK_SIZE) == 0)
> + return len;
> +
> do {
> ret = __get_user_pages_fast(addr, 1, 0, &page);
> if (!ret)

Needed the below to make it compile.. folded that.

---
--- a/arch/x86/lib/usercopy.c
+++ b/arch/x86/lib/usercopy.c
@@ -8,6 +8,7 @@
#include <linux/module.h>

#include <asm/word-at-a-time.h>
+#include <linux/sched.h>

/*
* best effort, GUP based copy_from_user() that is NMI-safe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/