X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=lib%2Ftest_lockup.c;h=c3fd87d6c2dd0eafb5a4650da0cf35e7cce5c375;hb=refs%2Fheads%2Faccepted%2Ftizen_8.0_unified;hp=906b598740a7b87b45368c6453f7f8a319d25ea3;hpb=27151f177827d478508e756c7657273261aaf8a9;p=platform%2Fkernel%2Flinux-rpi.git diff --git a/lib/test_lockup.c b/lib/test_lockup.c index 906b598..c3fd87d 100644 --- a/lib/test_lockup.c +++ b/lib/test_lockup.c @@ -417,9 +417,14 @@ static bool test_kernel_ptr(unsigned long addr, int size) return false; /* should be at least readable kernel address */ - if (access_ok(ptr, 1) || - access_ok(ptr + size - 1, 1) || - get_kernel_nofault(buf, ptr) || + if (!IS_ENABLED(CONFIG_ALTERNATE_USER_ADDRESS_SPACE) && + (access_ok((void __user *)ptr, 1) || + access_ok((void __user *)ptr + size - 1, 1))) { + pr_err("user space ptr invalid in kernel: %#lx\n", addr); + return true; + } + + if (get_kernel_nofault(buf, ptr) || get_kernel_nofault(buf, ptr + size - 1)) { pr_err("invalid kernel ptr: %#lx\n", addr); return true;