Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753419AbdHIPcY (ORCPT ); Wed, 9 Aug 2017 11:32:24 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:34764 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752474AbdHIPcX (ORCPT ); Wed, 9 Aug 2017 11:32:23 -0400 MIME-Version: 1.0 In-Reply-To: <201708092333.gJ53XSff%fengguang.wu@intel.com> References: <201708092333.gJ53XSff%fengguang.wu@intel.com> From: Arnd Bergmann Date: Wed, 9 Aug 2017 17:32:21 +0200 X-Google-Sender-Auth: TR_wPCf-speg8hOgo4Dc75L2Zgk Message-ID: Subject: Re: drivers/tty/serial/8250/8250_fintek.c:364: warning: 'probe_data' is used uninitialized in this function To: kbuild test robot Cc: Daniel Micay , kbuild-all@01.org, Linux Kernel Mailing List , Kees Cook , Andrew Morton , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2333 Lines: 45 On Wed, Aug 9, 2017 at 5:07 PM, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: bfa738cf3dfae2111626650f86135f93c5ff0a22 > commit: 6974f0c4555e285ab217cee58b6e874f776ff409 include/linux/string.h: add the option of fortified string.h functions > date: 4 weeks ago > config: x86_64-randconfig-v0-08092220 (attached as .config) > compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 > reproduce: > git checkout 6974f0c4555e285ab217cee58b6e874f776ff409 > # save the attached .config to linux build tree > make ARCH=x86_64 > > All warnings (new ones prefixed by >>): > > In file included from include/linux/bitmap.h:8, > from include/linux/cpumask.h:11, > from arch/x86/include/asm/cpumask.h:4, > from arch/x86/include/asm/msr.h:10, > from arch/x86/include/asm/processor.h:20, > from arch/x86/include/asm/cpufeature.h:4, > from arch/x86/include/asm/thread_info.h:52, > from include/linux/thread_info.h:37, > from arch/x86/include/asm/preempt.h:6, > from include/linux/preempt.h:80, > from include/linux/spinlock.h:50, > from include/linux/seqlock.h:35, > from include/linux/time.h:5, > from include/linux/stat.h:18, > from include/linux/module.h:10, > from drivers/tty/serial/8250/8250_fintek.c:11: > include/linux/string.h: In function 'strcpy': > include/linux/string.h:209: warning: '______f' is static but declared in inline function 'strcpy' which is not static > include/linux/string.h:211: warning: '______f' is static but declared in inline function 'strcpy' which is not static This clearly comes from __trace_if() when CONFIG_PROFILE_ALL_BRANCHES is enabled. I did not see the warning with gcc-7.1.1, and I guess this only happens on older compilers like the gcc-4.4 that was used here. What is the reason for __FORTIFY_INLINE to be "extern __always_inline" rather than "static __always_inline"? If they cannot just be 'static', maybe this can be changed to depend on the compiler version. Arnd