diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2017-12-04 21:20:33 -0800 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2017-12-16 22:37:13 -0800 |
commit | e0baa01438d3fa3979f94f98be19ca3df88e0b7c (patch) | |
tree | d9dd381b426ebb1f3a76465099cb5dd2aaca0d29 /arch | |
parent | c633544a6154146a210cf158157a1ae7c55473b6 (diff) | |
download | linux-e0baa01438d3fa3979f94f98be19ca3df88e0b7c.tar.gz linux-e0baa01438d3fa3979f94f98be19ca3df88e0b7c.tar.bz2 linux-e0baa01438d3fa3979f94f98be19ca3df88e0b7c.zip |
xtensa: use __memset in __xtensa_clear_user
memset on xtensa is capable of accessing user memory, but KASAN checks
if memset function is actually used for that and reports it as an error:
==================================================================
BUG: KASAN: user-memory-access in padzero+0x4d/0x58
Write of size 519 at addr 0049ddf9 by task init/1
Call Trace:
[<b0189978>] kasan_report+0x160/0x238
[<b0188818>] check_memory_region+0xf8/0x100
[<b018891c>] memset+0x20/0x34
[<b0238b71>] padzero+0x4d/0x58
==================================================================
Use __memset in __xtensa_clear_user to avoid that.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/xtensa/include/asm/uaccess.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/xtensa/include/asm/uaccess.h b/arch/xtensa/include/asm/uaccess.h index b8f152b6aaa5..18bbe1caad94 100644 --- a/arch/xtensa/include/asm/uaccess.h +++ b/arch/xtensa/include/asm/uaccess.h @@ -261,7 +261,7 @@ raw_copy_to_user(void __user *to, const void *from, unsigned long n) static inline unsigned long __xtensa_clear_user(void *addr, unsigned long size) { - if ( ! memset(addr, 0, size) ) + if (!__memset(addr, 0, size)) return size; return 0; } |