usercopy: Remove pointer from overflow report

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: ad67b74d24 ("printk: hash addresses printed with %p")
Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
Kees Cook 2018-01-02 12:15:53 -08:00
parent ae64f9bd1d
commit 4f5e838605

View File

@ -58,12 +58,11 @@ static noinline int check_stack_object(const void *obj, unsigned long len)
return GOOD_STACK; return GOOD_STACK;
} }
static void report_usercopy(const void *ptr, unsigned long len, static void report_usercopy(unsigned long len, bool to_user, const char *type)
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 ? "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(), * For greater effect, it would be nice to do do_group_exit(),
* but BUG() actually hooks all the lock-breaking and per-arch * 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; return;
report: report:
report_usercopy(ptr, n, to_user, err); report_usercopy(n, to_user, err);
} }
EXPORT_SYMBOL(__check_object_size); EXPORT_SYMBOL(__check_object_size);