diff for duplicates of <20170516062318.GC16015@js1304-desktop> diff --git a/a/1.txt b/N1/1.txt index 505ffdb..888d7f7 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -64,3 +64,81 @@ patchset. Thanks. -------------------->8------------------ +>From b2d38de92f2b1c20de6c29682b7a5c29e0f3fe26 Mon Sep 17 00:00:00 2001 +From: Joonsoo Kim <iamjoonsoo.kim@lge.com> +Date: Tue, 16 May 2017 14:56:27 +0900 +Subject: [PATCH] mm/kasan: fix-up CONFIG_KASAN_INLINE + +Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com> +--- + mm/kasan/kasan.c | 13 +++++++++++-- + mm/kasan/kasan.h | 2 ++ + mm/kasan/report.c | 2 +- + 3 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/mm/kasan/kasan.c b/mm/kasan/kasan.c +index 76c1c37..fd6b7d4 100644 +--- a/mm/kasan/kasan.c ++++ b/mm/kasan/kasan.c +@@ -622,7 +622,7 @@ static noinline void check_memory_region_slow(unsigned long addr, + + report: + preempt_enable(); +- kasan_report(addr, size, write, ret_ip); ++ __kasan_report(addr, size, write, ret_ip); + } + + static __always_inline void check_memory_region_inline(unsigned long addr, +@@ -634,7 +634,7 @@ static __always_inline void check_memory_region_inline(unsigned long addr, + + if (unlikely((void *)addr < + kasan_shadow_to_mem((void *)KASAN_SHADOW_START))) { +- kasan_report(addr, size, write, ret_ip); ++ __kasan_report(addr, size, write, ret_ip); + return; + } + +@@ -692,6 +692,15 @@ void *memcpy(void *dest, const void *src, size_t len) + return __memcpy(dest, src, len); + } + ++void kasan_report(unsigned long addr, size_t size, ++ bool is_write, unsigned long ip) ++{ ++ if (!pshadow_val(addr, size)) ++ return; ++ ++ check_memory_region_slow(addr, size, is_write, ip); ++} ++ + void kasan_alloc_pages(struct page *page, unsigned int order) + { + if (likely(!PageHighMem(page))) { +diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h +index db04087..7a20707 100644 +--- a/mm/kasan/kasan.h ++++ b/mm/kasan/kasan.h +@@ -108,6 +108,8 @@ static inline bool arch_kasan_recheck_prepare(unsigned long addr, + static inline bool kasan_pshadow_inited(void) { return false; } + #endif + ++void __kasan_report(unsigned long addr, size_t size, ++ bool is_write, unsigned long ip); + void kasan_report(unsigned long addr, size_t size, + bool is_write, unsigned long ip); + void kasan_report_double_free(struct kmem_cache *cache, void *object, +diff --git a/mm/kasan/report.c b/mm/kasan/report.c +index 9b47e10..7831d58 100644 +--- a/mm/kasan/report.c ++++ b/mm/kasan/report.c +@@ -418,7 +418,7 @@ static inline bool kasan_report_enabled(void) + return !test_and_set_bit(KASAN_BIT_REPORTED, &kasan_flags); + } + +-void kasan_report(unsigned long addr, size_t size, ++void __kasan_report(unsigned long addr, size_t size, + bool is_write, unsigned long ip) + { + struct kasan_access_info info; +-- +2.7.4 diff --git a/a/content_digest b/N1/content_digest index 4540882..2b18b5d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -81,6 +81,84 @@ "\n" "Thanks.\n" "\n" - -------------------->8------------------ + "-------------------->8------------------\n" + ">From b2d38de92f2b1c20de6c29682b7a5c29e0f3fe26 Mon Sep 17 00:00:00 2001\n" + "From: Joonsoo Kim <iamjoonsoo.kim@lge.com>\n" + "Date: Tue, 16 May 2017 14:56:27 +0900\n" + "Subject: [PATCH] mm/kasan: fix-up CONFIG_KASAN_INLINE\n" + "\n" + "Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\n" + "---\n" + " mm/kasan/kasan.c | 13 +++++++++++--\n" + " mm/kasan/kasan.h | 2 ++\n" + " mm/kasan/report.c | 2 +-\n" + " 3 files changed, 14 insertions(+), 3 deletions(-)\n" + "\n" + "diff --git a/mm/kasan/kasan.c b/mm/kasan/kasan.c\n" + "index 76c1c37..fd6b7d4 100644\n" + "--- a/mm/kasan/kasan.c\n" + "+++ b/mm/kasan/kasan.c\n" + "@@ -622,7 +622,7 @@ static noinline void check_memory_region_slow(unsigned long addr,\n" + " \n" + " report:\n" + " \tpreempt_enable();\n" + "-\tkasan_report(addr, size, write, ret_ip);\n" + "+\t__kasan_report(addr, size, write, ret_ip);\n" + " }\n" + " \n" + " static __always_inline void check_memory_region_inline(unsigned long addr,\n" + "@@ -634,7 +634,7 @@ static __always_inline void check_memory_region_inline(unsigned long addr,\n" + " \n" + " \tif (unlikely((void *)addr <\n" + " \t\tkasan_shadow_to_mem((void *)KASAN_SHADOW_START))) {\n" + "-\t\tkasan_report(addr, size, write, ret_ip);\n" + "+\t\t__kasan_report(addr, size, write, ret_ip);\n" + " \t\treturn;\n" + " \t}\n" + " \n" + "@@ -692,6 +692,15 @@ void *memcpy(void *dest, const void *src, size_t len)\n" + " \treturn __memcpy(dest, src, len);\n" + " }\n" + " \n" + "+void kasan_report(unsigned long addr, size_t size,\n" + "+\t\tbool is_write, unsigned long ip)\n" + "+{\n" + "+\tif (!pshadow_val(addr, size))\n" + "+\t\treturn;\n" + "+\n" + "+\tcheck_memory_region_slow(addr, size, is_write, ip);\n" + "+}\n" + "+\n" + " void kasan_alloc_pages(struct page *page, unsigned int order)\n" + " {\n" + " \tif (likely(!PageHighMem(page))) {\n" + "diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h\n" + "index db04087..7a20707 100644\n" + "--- a/mm/kasan/kasan.h\n" + "+++ b/mm/kasan/kasan.h\n" + "@@ -108,6 +108,8 @@ static inline bool arch_kasan_recheck_prepare(unsigned long addr,\n" + " static inline bool kasan_pshadow_inited(void) {\treturn false; }\n" + " #endif\n" + " \n" + "+void __kasan_report(unsigned long addr, size_t size,\n" + "+\t\tbool is_write, unsigned long ip);\n" + " void kasan_report(unsigned long addr, size_t size,\n" + " \t\tbool is_write, unsigned long ip);\n" + " void kasan_report_double_free(struct kmem_cache *cache, void *object,\n" + "diff --git a/mm/kasan/report.c b/mm/kasan/report.c\n" + "index 9b47e10..7831d58 100644\n" + "--- a/mm/kasan/report.c\n" + "+++ b/mm/kasan/report.c\n" + "@@ -418,7 +418,7 @@ static inline bool kasan_report_enabled(void)\n" + " \treturn !test_and_set_bit(KASAN_BIT_REPORTED, &kasan_flags);\n" + " }\n" + " \n" + "-void kasan_report(unsigned long addr, size_t size,\n" + "+void __kasan_report(unsigned long addr, size_t size,\n" + " \t\tbool is_write, unsigned long ip)\n" + " {\n" + " \tstruct kasan_access_info info;\n" + "-- \n" + 2.7.4 -db83aef8a607c07650edfc4232fbb193e355235428bc086d32c49925ca71a476 +e4a3413a0007b6dd88ea9792f60851ac9ebb44c1b58a9e0738b0af438e7ab2e9
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.