Hi Ian,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc2 next-20170524]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Ian-Abbott/bug-fix-problem-including-linux-bug-h-from-linux-kernel-h/20170525-063508
config: x86_64-nfsroot (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from arch/x86/include/asm/bug.h:81:0,
                    from include/linux/bug.h:4,
                    from arch/x86/purgatory/purgatory.c:13:
   include/asm-generic/bug.h:101:13: warning: 'struct pt_regs' declared inside 
parameter list will not be visible outside of this definition or declaration
         struct pt_regs *regs, struct warn_args *args);
                ^~~~~~~
   arch/x86/purgatory/purgatory.c: In function 'verify_sha256_digest':
>> arch/x86/purgatory/purgatory.c:48:32: warning: implicit declaration of 
>> function 'ARRAY_SIZE' [-Wimplicit-function-declaration]
     end = purgatory_sha_regions + ARRAY_SIZE(purgatory_sha_regions);
                                   ^~~~~~~~~~
   In file included from arch/x86/include/asm/bug.h:81:0,
                    from include/linux/bug.h:4,
                    from include/linux/page-flags.h:9,
                    from kernel/bounds.c:9:
   include/asm-generic/bug.h:101:13: warning: 'struct pt_regs' declared inside 
parameter list will not be visible outside of this definition or declaration
         struct pt_regs *regs, struct warn_args *args);
                ^~~~~~~

vim +/ARRAY_SIZE +48 arch/x86/purgatory/purgatory.c

8fc5b4d41 Vivek Goyal      2014-08-08   7   *       Vivek Goyal 
<vgo...@redhat.com>
8fc5b4d41 Vivek Goyal      2014-08-08   8   *
8fc5b4d41 Vivek Goyal      2014-08-08   9   * This source code is licensed 
under the GNU General Public License,
8fc5b4d41 Vivek Goyal      2014-08-08  10   * Version 2.  See the file COPYING 
for more details.
8fc5b4d41 Vivek Goyal      2014-08-08  11   */
8fc5b4d41 Vivek Goyal      2014-08-08  12  
40c50c1fe Thomas Gleixner  2017-03-10 @13  #include <linux/bug.h>
40c50c1fe Thomas Gleixner  2017-03-10  14  #include <asm/purgatory.h>
40c50c1fe Thomas Gleixner  2017-03-10  15  
8fc5b4d41 Vivek Goyal      2014-08-08  16  #include "sha256.h"
8fc5b4d41 Vivek Goyal      2014-08-08  17  #include "../boot/string.h"
8fc5b4d41 Vivek Goyal      2014-08-08  18  
40c50c1fe Thomas Gleixner  2017-03-10  19  unsigned long purgatory_backup_dest 
__section(.kexec-purgatory);
40c50c1fe Thomas Gleixner  2017-03-10  20  unsigned long purgatory_backup_src 
__section(.kexec-purgatory);
40c50c1fe Thomas Gleixner  2017-03-10  21  unsigned long purgatory_backup_sz 
__section(.kexec-purgatory);
8fc5b4d41 Vivek Goyal      2014-08-08  22  
40c50c1fe Thomas Gleixner  2017-03-10  23  u8 
purgatory_sha256_digest[SHA256_DIGEST_SIZE] __section(.kexec-purgatory);
8fc5b4d41 Vivek Goyal      2014-08-08  24  
40c50c1fe Thomas Gleixner  2017-03-10  25  struct kexec_sha_region 
purgatory_sha_regions[KEXEC_SEGMENT_MAX] __section(.kexec-purgatory);
8fc5b4d41 Vivek Goyal      2014-08-08  26  
8fc5b4d41 Vivek Goyal      2014-08-08  27  /*
8fc5b4d41 Vivek Goyal      2014-08-08  28   * On x86, second kernel requries 
first 640K of memory to boot. Copy
8fc5b4d41 Vivek Goyal      2014-08-08  29   * first 640K to a backup region in 
reserved memory range so that second
8fc5b4d41 Vivek Goyal      2014-08-08  30   * kernel can use first 640K.
8fc5b4d41 Vivek Goyal      2014-08-08  31   */
8fc5b4d41 Vivek Goyal      2014-08-08  32  static int copy_backup_region(void)
8fc5b4d41 Vivek Goyal      2014-08-08  33  {
40c50c1fe Thomas Gleixner  2017-03-10  34       if (purgatory_backup_dest) {
40c50c1fe Thomas Gleixner  2017-03-10  35               memcpy((void 
*)purgatory_backup_dest,
40c50c1fe Thomas Gleixner  2017-03-10  36                      (void 
*)purgatory_backup_src, purgatory_backup_sz);
40c50c1fe Thomas Gleixner  2017-03-10  37       }
8fc5b4d41 Vivek Goyal      2014-08-08  38       return 0;
8fc5b4d41 Vivek Goyal      2014-08-08  39  }
8fc5b4d41 Vivek Goyal      2014-08-08  40  
72042a8c7 Tobin C. Harding 2017-02-20  41  static int verify_sha256_digest(void)
8fc5b4d41 Vivek Goyal      2014-08-08  42  {
40c50c1fe Thomas Gleixner  2017-03-10  43       struct kexec_sha_region *ptr, 
*end;
8fc5b4d41 Vivek Goyal      2014-08-08  44       u8 digest[SHA256_DIGEST_SIZE];
8fc5b4d41 Vivek Goyal      2014-08-08  45       struct sha256_state sctx;
8fc5b4d41 Vivek Goyal      2014-08-08  46  
8fc5b4d41 Vivek Goyal      2014-08-08  47       sha256_init(&sctx);
40c50c1fe Thomas Gleixner  2017-03-10 @48       end = purgatory_sha_regions + 
ARRAY_SIZE(purgatory_sha_regions);
40c50c1fe Thomas Gleixner  2017-03-10  49  
40c50c1fe Thomas Gleixner  2017-03-10  50       for (ptr = 
purgatory_sha_regions; ptr < end; ptr++)
8fc5b4d41 Vivek Goyal      2014-08-08  51               sha256_update(&sctx, 
(uint8_t *)(ptr->start), ptr->len);

:::::: The code at line 48 was first introduced by commit
:::::: 40c50c1fecdf012a3bf055ec813f0ef2eda2749c kexec, x86/purgatory: Unbreak 
it and clean it up

:::::: TO: Thomas Gleixner <t...@linutronix.de>
:::::: CC: Thomas Gleixner <t...@linutronix.de>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to