Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1443550 > unrolled thread

[PATCH] powernv: Use __printf in pe_level_printk

Started byJoe Perches <joe@perches.com>
First post2016-07-14 17:50 +0200
Last post2016-07-22 07:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] powernv: Use __printf in pe_level_printk Joe Perches <joe@perches.com> - 2016-07-14 17:50 +0200
    Re: [PATCH] powernv: Use __printf in pe_level_printk Joe Perches <joe@perches.com> - 2016-07-15 07:00 +0200
    Re: [PATCH] powernv: Use __printf in pe_level_printk kbuild test robot <lkp@intel.com> - 2016-07-22 07:40 +0200

#1443550 — [PATCH] powernv: Use __printf in pe_level_printk

FromJoe Perches <joe@perches.com>
Date2016-07-14 17:50 +0200
Subject[PATCH] powernv: Use __printf in pe_level_printk
Message-ID<rUR3H-34H-9@gated-at.bofh.it>
Make the compiler detect format and argument mismatches.

Signed-off-by: Joe Perches <joe@perches.com>
---
 arch/powerpc/platforms/powernv/pci.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/platforms/powernv/pci.h b/arch/powerpc/platforms/powernv/pci.h
index 3a97990..1c1a586 100644
--- a/arch/powerpc/platforms/powernv/pci.h
+++ b/arch/powerpc/platforms/powernv/pci.h
@@ -213,6 +213,7 @@ extern void pnv_pci_dma_bus_setup(struct pci_bus *bus);
 extern int pnv_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type);
 extern void pnv_teardown_msi_irqs(struct pci_dev *pdev);
 
+__printf(3, 4)
 extern void pe_level_printk(const struct pnv_ioda_pe *pe, const char *level,
 			    const char *fmt, ...);
 #define pe_err(pe, fmt, ...)					\
-- 
2.8.0.rc4.16.g56331f8

[toc] | [next] | [standalone]


#1443941

FromJoe Perches <joe@perches.com>
Date2016-07-15 07:00 +0200
Message-ID<rV3od-2pG-5@gated-at.bofh.it>
In reply to#1443550
On Fri, 2016-07-15 at 14:36 +1000, Michael Ellerman wrote:
> Joe Perches <joe@perches.com> writes:
> 
> > 
> > Make the compiler detect format and argument mismatches.
> > 
> > Signed-off-by: Joe Perches <joe@perches.com>
> > ---
> >  arch/powerpc/platforms/powernv/pci.h | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/powerpc/platforms/powernv/pci.h
> > b/arch/powerpc/platforms/powernv/pci.h
> > index 3a97990..1c1a586 100644
> > --- a/arch/powerpc/platforms/powernv/pci.h
> > +++ b/arch/powerpc/platforms/powernv/pci.h
> > @@ -213,6 +213,7 @@ extern void pnv_pci_dma_bus_setup(struct pci_bus
> > *bus);
> >  extern int pnv_setup_msi_irqs(struct pci_dev *pdev, int nvec, int
> > type);
> >  extern void pnv_teardown_msi_irqs(struct pci_dev *pdev);
> >  
> > +__printf(3, 4)
> >  extern void pe_level_printk(const struct pnv_ioda_pe *pe, const
> > char *level,
> >  			    const char *fmt, ...);
> Thanks, but it breaks the build due to lots of new warnings.
> 
> We'll have to fix those before merging it.

Good.  Are you going to fix those?

I thought I did a powerpc defconfig build of arch/powerpc/
and I believe it finished without error, but I'm pleased
it found some defects.

I think it's now marked "rejected" in patchwork.
Perhaps it'd better to mark it "deferred" instead.

[toc] | [prev] | [next] | [standalone]


#1448402

Fromkbuild test robot <lkp@intel.com>
Date2016-07-22 07:40 +0200
Message-ID<rXBlM-1x5-9@gated-at.bofh.it>
In reply to#1443550

[Multipart message — attachments visible in raw view] — view raw

Hi,

[auto build test ERROR on v4.7-rc7]
[also build test ERROR on next-20160721]
[cannot apply to powerpc/next]
[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/Joe-Perches/powernv-Use-__printf-in-pe_level_printk/20160715-171449
config: powerpc-ppc64_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   In file included from arch/powerpc/platforms/powernv/pci-ioda.c:49:0:
   arch/powerpc/platforms/powernv/pci-ioda.c: In function 'pnv_ioda_setup_bus_PE':
>> arch/powerpc/platforms/powernv/pci-ioda.c:1067:15: error: format '%d' expects argument of type 'int', but argument 4 has type 'resource_size_t {aka long long unsigned int}' [-Werror=format=]
      pe_info(pe, "Secondary bus %d..%d associated with PE#%d\n",
                  ^
   arch/powerpc/platforms/powernv/pci.h:224:33: note: in definition of macro 'pe_info'
     pe_level_printk(pe, KERN_INFO, fmt, ##__VA_ARGS__)
                                    ^
   arch/powerpc/platforms/powernv/pci-ioda.c:1067:15: error: format '%d' expects argument of type 'int', but argument 5 has type 'resource_size_t {aka long long unsigned int}' [-Werror=format=]
      pe_info(pe, "Secondary bus %d..%d associated with PE#%d\n",
                  ^
   arch/powerpc/platforms/powernv/pci.h:224:33: note: in definition of macro 'pe_info'
     pe_level_printk(pe, KERN_INFO, fmt, ##__VA_ARGS__)
                                    ^
   arch/powerpc/platforms/powernv/pci-ioda.c:1070:15: error: format '%d' expects argument of type 'int', but argument 4 has type 'resource_size_t {aka long long unsigned int}' [-Werror=format=]
      pe_info(pe, "Secondary bus %d associated with PE#%d\n",
                  ^
   arch/powerpc/platforms/powernv/pci.h:224:33: note: in definition of macro 'pe_info'
     pe_level_printk(pe, KERN_INFO, fmt, ##__VA_ARGS__)
                                    ^
   arch/powerpc/platforms/powernv/pci-ioda.c: In function 'pnv_pci_ioda1_setup_dma_pe':
>> arch/powerpc/platforms/powernv/pci-ioda.c:2100:15: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'int64_t {aka long long int}' [-Werror=format=]
       pe_err(pe, " Failed to configure 32-bit TCE table,"
                  ^
   arch/powerpc/platforms/powernv/pci.h:220:32: note: in definition of macro 'pe_err'
     pe_level_printk(pe, KERN_ERR, fmt, ##__VA_ARGS__)
                                   ^
   arch/powerpc/platforms/powernv/pci-ioda.c: In function 'pnv_pci_ioda2_set_window':
>> arch/powerpc/platforms/powernv/pci-ioda.c:2160:14: error: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'long unsigned int' [-Werror=format=]
     pe_info(pe, "Setting up window#%d %llx..%llx pg=%x\n", num,
                 ^
   arch/powerpc/platforms/powernv/pci.h:224:33: note: in definition of macro 'pe_info'
     pe_level_printk(pe, KERN_INFO, fmt, ##__VA_ARGS__)
                                    ^
   arch/powerpc/platforms/powernv/pci-ioda.c:2176:14: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'int64_t {aka long long int}' [-Werror=format=]
      pe_err(pe, "Failed to configure TCE table, err %ld\n", rc);
                 ^
   arch/powerpc/platforms/powernv/pci.h:220:32: note: in definition of macro 'pe_err'
     pe_level_printk(pe, KERN_ERR, fmt, ##__VA_ARGS__)
                                   ^
   cc1: all warnings being treated as errors

vim +1067 arch/powerpc/platforms/powernv/pci-ioda.c

184cd4a3 Benjamin Herrenschmidt 2011-11-15  1061  	pe->pbus = bus;
184cd4a3 Benjamin Herrenschmidt 2011-11-15  1062  	pe->pdev = NULL;
184cd4a3 Benjamin Herrenschmidt 2011-11-15  1063  	pe->mve_number = -1;
b918c62e Yinghai Lu             2012-05-17  1064  	pe->rid = bus->busn_res.start << 8;
184cd4a3 Benjamin Herrenschmidt 2011-11-15  1065  
fb446ad0 Gavin Shan             2012-08-20  1066  	if (all)
fb446ad0 Gavin Shan             2012-08-20 @1067  		pe_info(pe, "Secondary bus %d..%d associated with PE#%d\n",
1e916772 Gavin Shan             2016-05-03  1068  			bus->busn_res.start, bus->busn_res.end, pe->pe_number);
fb446ad0 Gavin Shan             2012-08-20  1069  	else
fb446ad0 Gavin Shan             2012-08-20 @1070  		pe_info(pe, "Secondary bus %d associated with PE#%d\n",
1e916772 Gavin Shan             2016-05-03  1071  			bus->busn_res.start, pe->pe_number);
184cd4a3 Benjamin Herrenschmidt 2011-11-15  1072  
184cd4a3 Benjamin Herrenschmidt 2011-11-15  1073  	if (pnv_ioda_configure_pe(phb, pe)) {

:::::: The code at line 1067 was first introduced by commit
:::::: fb446ad075cfa5212b26c4f77751faefe574ad8b powerpc/powernv: Create bus sensitive PEs

:::::: TO: Gavin Shan <shangw@linux.vnet.ibm.com>
:::::: CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web