usercopy: Remove pointer from overflow report
authorKees Cook <keescook@chromium.org>
Tue, 2 Jan 2018 20:15:53 +0000 (12:15 -0800)
committerKees Cook <keescook@chromium.org>
Mon, 15 Jan 2018 20:07:44 +0000 (12:07 -0800)
Using %p was already mostly useless in the usercopy overflow reports,
so this removes it entirely to avoid confusion now that %p-hashing
is enabled.

Fixes: ad67b74d2469d9b8 ("printk: hash addresses printed with %p")
Signed-off-by: Kees Cook <keescook@chromium.org>
mm/usercopy.c

index a9852b2..5df1e68 100644 (file)
@@ -58,12 +58,11 @@ static noinline int check_stack_object(const void *obj, unsigned long len)
        return GOOD_STACK;
 }
 
-static void report_usercopy(const void *ptr, unsigned long len,
-                           bool to_user, const char *type)
+static void report_usercopy(unsigned long len, bool to_user, const char *type)
 {
-       pr_emerg("kernel memory %s attempt detected %s %p (%s) (%lu bytes)\n",
+       pr_emerg("kernel memory %s attempt detected %s '%s' (%lu bytes)\n",
                to_user ? "exposure" : "overwrite",
-               to_user ? "from" : "to", ptr, type ? : "unknown", len);
+               to_user ? "from" : "to", type ? : "unknown", len);
        /*
         * For greater effect, it would be nice to do do_group_exit(),
         * but BUG() actually hooks all the lock-breaking and per-arch
@@ -261,6 +260,6 @@ void __check_object_size(const void *ptr, unsigned long n, bool to_user)
                return;
 
 report:
-       report_usercopy(ptr, n, to_user, err);
+       report_usercopy(n, to_user, err);
 }
 EXPORT_SYMBOL(__check_object_size);