From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965829AbcKXOgq (ORCPT ); Thu, 24 Nov 2016 09:36:46 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:38864 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965768AbcKXOgn (ORCPT ); Thu, 24 Nov 2016 09:36:43 -0500 From: Dmitry Vyukov To: aryabinin@virtuozzo.com, glider@google.com, akpm@linux-foundation.org Cc: stable@vger.kernel.org, Dmitry Vyukov , arnd@arndb.de, kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, #@google.com, 4.0+@google.com Subject: [PATCH v2] kasan: update kasan_global for gcc 7 Date: Thu, 24 Nov 2016 15:36:38 +0100 Message-Id: <1479998198-144377-1-git-send-email-dvyukov@google.com> X-Mailer: git-send-email 2.8.0.rc3.226.g39d4020 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org kasan_global struct is part of compiler/runtime ABI. gcc revision 241983 has added a new field to kasan_global struct. Update kernel definition of kasan_global struct to include the new field. Without this patch KASAN is broken with gcc 7. Signed-off-by: Dmitry Vyukov Cc: aryabinin@virtuozzo.com Cc: glider@google.com Cc: akpm@linux-foundation.org Cc: arnd@arndb.de Cc: kasan-dev@googlegroups.com Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org # 4.0+ --- Changes since v1: - added cc stable --- include/linux/compiler-gcc.h | 4 +++- mm/kasan/kasan.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index 432f5c9..928e5ca 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h @@ -263,7 +263,9 @@ #endif #endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP && !__CHECKER__ */ -#if GCC_VERSION >= 50000 +#if GCC_VERSION >= 70000 +#define KASAN_ABI_VERSION 5 +#elif GCC_VERSION >= 50000 #define KASAN_ABI_VERSION 4 #elif GCC_VERSION >= 40902 #define KASAN_ABI_VERSION 3 diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index e5c2181..03f4545 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -53,6 +53,9 @@ struct kasan_global { #if KASAN_ABI_VERSION >= 4 struct kasan_source_location *location; #endif +#if KASAN_ABI_VERSION >= 5 + char *odr_indicator; +#endif }; /** -- 2.8.0.rc3.226.g39d4020