On 03/02/2017 04:48 PM, Andrey Konovalov wrote:
> Introduce get_shadow_bug_type() function, which determines bug type
> based on the shadow value for a particular kernel address.
> Introduce get_wild_bug_type() function, which determines bug type
> for addresses which don't have a corresponding shadow value.
> 
> Signed-off-by: Andrey Konovalov <andreyk...@google.com>
> ---
>  mm/kasan/report.c | 40 ++++++++++++++++++++++++++++++----------
>  1 file changed, 30 insertions(+), 10 deletions(-)
> 
> diff --git a/mm/kasan/report.c b/mm/kasan/report.c
> index f479365530b6..2790b4cadfa3 100644
> --- a/mm/kasan/report.c
> +++ b/mm/kasan/report.c
> @@ -49,7 +49,13 @@ static const void *find_first_bad_addr(const void *addr, 
> size_t size)
>       return first_bad_addr;
>  }
>  
> -static void print_error_description(struct kasan_access_info *info)
> +static bool addr_has_shadow(struct kasan_access_info *info)
> +{
> +     return (info->access_addr >=
> +             kasan_shadow_to_mem((void *)KASAN_SHADOW_START));
> +}
> +
> +static const char *get_shadow_bug_type(struct kasan_access_info *info)
>  {
>       const char *bug_type = "unknown-crash";
>       u8 *shadow_addr;
> @@ -96,6 +102,27 @@ static void print_error_description(struct 
> kasan_access_info *info)
>               break;
>       }
>  
> +     return bug_type;
> +}
> +
> +const char *get_wild_bug_type(struct kasan_access_info *info)

static 


Reply via email to