From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935030AbdCWPE6 (ORCPT ); Thu, 23 Mar 2017 11:04:58 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:50991 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933803AbdCWPEy (ORCPT ); Thu, 23 Mar 2017 11:04:54 -0400 From: Arnd Bergmann To: Andrey Ryabinin Cc: Arnd Bergmann , Alexander Potapenko , Dmitry Vyukov , Andrew Morton , Andrey Konovalov , Peter Zijlstra , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] kasan: avoid -Wmaybe-uninitialized warning Date: Thu, 23 Mar 2017 16:04:09 +0100 Message-Id: <20170323150415.301180-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:8Jq67o7bYWv7EWi35DnmJ86bIineCjbyWmQMo1Etf+3sZ4ZLhhP jvINRE+9lZ/ypFTeK3z+IsDxgjObrMjWPnaLOIUPNqzhPDS47hHeOGnBLGuzn6VkMzm0uO1 J4Sov7qC7nLXCazY81s/GTIwEmFIA5eftdl5jaeaSmp5dK6m74BWkmZywk3CKf09PEo5dc2 Dxhkx1ONlMj8YQO+MarNQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:mls5AqJaPsE=:6bDAJPuGqg3bmsQUGu/bs2 3mXaZLpzfPBXQQFEh1/2fUY05B2E5Khpy1jBUgbsCeQPNm/xemf24c5ugis/8rTadk4w+wcFQ JldJQ5skUDxpEWhSeJ+U4zpr2IzJS1sajOirn+3Qho6L8uO4lJPXNOks/nkvf1KYEE2CQYBGg 82miK7pj8+vCYQC/jxon+4uAUHJA0gBy0r/k2pduwviW/EMAuiBOuDnRGALAKMRyQkQy6CAjW ZyT5G3Let8zGmuwURdI/YpdwZsGxmaSn5zFYWso3LT4UTtPoEWtYU2N3/L6/OtIAKf4HZ+ugs Uu4KqiLz7+a5Q4f348wa7P0NdDEFidLAyCFx9db5tbW3dSUwfcpO2f3BxOhtHK/bgTzR9YXmk eI/HQsJuXQ3rKmo19ekctM4PUbEbd3FXQvd5rKnzfUR00gYRJ07vsGfNbxLesHm0/DMk/7zpL xEmgx/QTLuU+ff+GzlEovWvBAMmTa8dqosoJoGPZiOe5eRuK2EpN99joaqQ3QrcrHDmFixxzx t2K7RC0IPNzxNQaB+u936FJ21q0R5OL7TVIb3hfKkij1h4N+TQJ+bI027tvfBNiUzGApcDvOy FgVmC7+rb2blQLO26JSN+Z0f06gmMt87QGAIOVuZh9aaJzfnttWgVT9uCfyt+opPe4wOr56Px 37A0MFhmqPyxzs+uRWDuU6XE99QVLNz5m6/EGV85cPjoAShzpYMoTeOog7ZFFFyxFx5Q= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org gcc-7 produces this warning: mm/kasan/report.c: In function 'kasan_report': mm/kasan/report.c:351:3: error: 'info.first_bad_addr' may be used uninitialized in this function [-Werror=maybe-uninitialized] print_shadow_for_address(info->first_bad_addr); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm/kasan/report.c:360:27: note: 'info.first_bad_addr' was declared here The code seems fine as we only print info.first_bad_addr when there is a shadow, and we always initialize it in that case, but this is relatively hard for gcc to figure out after the latest rework. Adding an intialization in the other code path gets rid of the warning. Fixes: b235b9808664 ("kasan: unify report headers") Signed-off-by: Arnd Bergmann --- mm/kasan/report.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/kasan/report.c b/mm/kasan/report.c index 718a10a48a19..63de3069dceb 100644 --- a/mm/kasan/report.c +++ b/mm/kasan/report.c @@ -109,6 +109,8 @@ const char *get_wild_bug_type(struct kasan_access_info *info) { const char *bug_type = "unknown-crash"; + info->first_bad_addr = (void *)(-1ul); + if ((unsigned long)info->access_addr < PAGE_SIZE) bug_type = "null-ptr-deref"; else if ((unsigned long)info->access_addr < TASK_SIZE) -- 2.9.0