From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752645AbdGYP1y (ORCPT ); Tue, 25 Jul 2017 11:27:54 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:55055 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752144AbdGYP1x (ORCPT ); Tue, 25 Jul 2017 11:27:53 -0400 From: Arnd Bergmann To: Andrey Ryabinin Cc: Arnd Bergmann , Dmitry Vyukov , Alexander Potapenko , Andrew Morton , Andrey Konovalov , Mark Rutland , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] [v3] kasan: avoid -Wmaybe-uninitialized warning Date: Tue, 25 Jul 2017 17:27:29 +0200 Message-Id: <20170725152739.4176967-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:8Fr1N5CC6b3i4VA6XZ8gnbygr61ncv6KTSq7wItEWevkgp7EYbG yxTlkIKH0AnVe56z64gK04nEDRMRyBM/mIJojsnDCEdIwCoA0wsci2FT6rSDWzBBAUr+NWh YSFiiZNjH61UhXz4/ICNtmzFoKYBUdzpKTKyvBFaHeyqgYULMmx+yyWD7h6ylLUfD9TfN8m 8RW2Ghlt/2JyR79EUvfgg== X-UI-Out-Filterresults: notjunk:1;V01:K0:oXAiT7yTdvc=:5IYwKgGJCdobg8eO0M0MlF omB5NoGkr5IcNO/eKPAlZnpKZSwZ8ihNpdnLE9PT4wxZAusxigOQOy+9haT1gUG3Uq/igNDj1 jYMSUeaMNObYtO8Ebtb8WrGJjpdkQa5rFtDOXWRfDI3oMydynZ4TodL89BeWD4p/d5RZaL8IS NGg/jj+Hbw/FPLlWRtSOWcstev0dtJf1sgtCr9wOSYRGnNS5Rg/RwJkDDpcDgcYMSQEUbuoGJ zu3GKBcVgLR7/obus5SDBnyXTIPHsyymtojSoOA+at8LhWDoLHHFLejtnBYVAnx7F7MoMuqaq UlKKrUsK0lTd5krY/UwIsU9ujA36QWWFjB/lwpbmSQ6Ye6t/H/CN1yZcs4QcbdVOGrB83YO7o sSGf3iiASoLn9pVbhr6P83UsKJjLcNWiudn+N0KiTbmWCJTqVNI7ED4FwULE98uIOUg+7c1sS l2552/7fLWe+KZmA5V4OEwSgf28AAqDt2Q4l86KvovkPEipNx1gzFchp68Fs/Yvvj49GAcbW6 BMMdsv2RxkRsZYv1k5N/fEAaDTSzC+qV9y/toPMr3taqxokoI5hzBVoHauhu7nIEnlCy2G4hR Jbh4xDrJOx/lG1rGn1VpEb/pKb7I3cFbxTpEmHHxODNy7TPwmYjgONTVf5LCYkKlV/thblxXQ IbqgmKkrY4LZ6K7tYmyGfq4ultQJ8b34lvQQCWIkRJhXiAj/O1SiFpEIZGZjzhOj1aedQpBmU geLg2dN02xQ9o7gSAaIgvE7HlMVJ0exa8Vea/Q== 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 to the most likely value together with the other struct members shuts up that warning. Fixes: b235b9808664 ("kasan: unify report headers") Link: https://patchwork.kernel.org/patch/9641417/ Suggested-by: Alexander Potapenko Suggested-by: Andrey Ryabinin Cc: Dmitry Vyukov Signed-off-by: Arnd Bergmann --- Originally submitted on March 23, but unfortunately is still needed, as verified on 4.13-rc1, with aarch64-linux-gcc-7.1.1 v2: add a comment as Andrew suggested v3: move initialization as Alexander and Andrey suggested --- mm/kasan/report.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/kasan/report.c b/mm/kasan/report.c index 04bb1d3eb9ec..6bcfb01ba038 100644 --- a/mm/kasan/report.c +++ b/mm/kasan/report.c @@ -401,6 +401,7 @@ void kasan_report(unsigned long addr, size_t size, disable_trace_on_warning(); info.access_addr = (void *)addr; + info.first_bad_addr = (void *)addr; info.access_size = size; info.is_write = is_write; info.ip = ip; -- 2.9.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f200.google.com (mail-wr0-f200.google.com [209.85.128.200]) by kanga.kvack.org (Postfix) with ESMTP id E0FBF6B02F3 for ; Tue, 25 Jul 2017 11:27:44 -0400 (EDT) Received: by mail-wr0-f200.google.com with SMTP id q50so28715996wrb.14 for ; Tue, 25 Jul 2017 08:27:44 -0700 (PDT) Received: from mout.kundenserver.de (mout.kundenserver.de. [212.227.17.24]) by mx.google.com with ESMTPS id 61si8997182wrg.24.2017.07.25.08.27.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Jul 2017 08:27:43 -0700 (PDT) From: Arnd Bergmann Subject: [PATCH] [v3] kasan: avoid -Wmaybe-uninitialized warning Date: Tue, 25 Jul 2017 17:27:29 +0200 Message-Id: <20170725152739.4176967-1-arnd@arndb.de> Sender: owner-linux-mm@kvack.org List-ID: To: Andrey Ryabinin Cc: Arnd Bergmann , Dmitry Vyukov , Alexander Potapenko , Andrew Morton , Andrey Konovalov , Mark Rutland , kasan-dev@googlegroups.com, linux-mm@kvack.org, 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 to the most likely value together with the other struct members shuts up that warning. Fixes: b235b9808664 ("kasan: unify report headers") Link: https://patchwork.kernel.org/patch/9641417/ Suggested-by: Alexander Potapenko Suggested-by: Andrey Ryabinin Cc: Dmitry Vyukov Signed-off-by: Arnd Bergmann --- Originally submitted on March 23, but unfortunately is still needed, as verified on 4.13-rc1, with aarch64-linux-gcc-7.1.1 v2: add a comment as Andrew suggested v3: move initialization as Alexander and Andrey suggested --- mm/kasan/report.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/kasan/report.c b/mm/kasan/report.c index 04bb1d3eb9ec..6bcfb01ba038 100644 --- a/mm/kasan/report.c +++ b/mm/kasan/report.c @@ -401,6 +401,7 @@ void kasan_report(unsigned long addr, size_t size, disable_trace_on_warning(); info.access_addr = (void *)addr; + info.first_bad_addr = (void *)addr; info.access_size = size; info.is_write = is_write; info.ip = ip; -- 2.9.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org