Thread (9 messages) 9 messages, 4 authors, 2017-06-01

Re: [PATCH] bcm47xx: fix build regression

From: Paul E. McKenney <hidden>
Date: 2017-06-01 22:16:41
Also in: linux-mips, lkml

On Wed, May 31, 2017 at 09:30:19PM +0200, Arend van Spriel wrote:
On 31-05-17 18:31, Paul E. McKenney wrote:
quoted
On Wed, May 31, 2017 at 03:34:57PM +0200, Arnd Bergmann wrote:
quoted
On Wed, May 31, 2017 at 3:12 PM, Paul E. McKenney
[off-list ref] wrote:
quoted
On Wed, May 31, 2017 at 12:21:10PM +0200, Arnd Bergmann wrote:
quoted
On Wed, May 31, 2017 at 11:43 AM, Arend van Spriel
[off-list ref] wrote:
quoted
On 5/30/2017 1:20 PM, Arnd Bergmann wrote:
quoted
An unknown change in the kernel headers caused a build regression
in an MTD partition driver:

In file included from drivers/mtd/bcm47xxpart.c:12:0:
include/linux/bcm47xx_nvram.h: In function 'bcm47xx_nvram_init_from_mem':
include/linux/bcm47xx_nvram.h:27:10: error: 'ENOTSUPP' undeclared (first
use in this function)

Clearly we want to include linux/errno.h here.

unfortunate that you did not find the commit that caused this build
regression. You could produce preprocessor output when it was working to see
where errno.h got implicitly included and start looking there for git
history.
I did a 'git bisect run make drivers/mtd/bcm47xxpart.o' now, which pointed to
0bc2d534708b ("rcu: Refactor #includes from include/linux/rcupdate.h").

That commit seems reasonable, it was just bad luck that it caused this
regression. The commit is currently in the rcu/rcu/next branch of tip.git,
so Paul could merge the patch there.
Arnd,

Thanks for digging a bit further. I am a sucker for telling the whole story.
quoted
quoted
quoted
Apologies for the inconvenience, not sure why 0day test robot didn't
find this.  Probably because it cannot test each and every driver.  ;-)
No worries.
quoted
This patch, correct?

        https://lkml.org/lkml/2017/5/30/348
Right, I should have included the link.
And my turn to say "no worries".  ;-)

I reworked the commit log to tell the full story as shown below.
Anything I misstated or otherwise missed?
Maybe add the 'Fixes:' tag, ie.:

Fixes: 0bc2d534708b ("rcu: Refactor #includes from
include/linux/rcupdate.h")

Seems a bit redundant given that you mentioned it in the commit message,
but it might be looked for in kernel-stats scripts.
Had to rebase anyway for other reasons, so why not?

							Thanx, Paul
Regards,
Arend
quoted
							Thanx, Paul

------------------------------------------------------------------------

commit ff278071dce9af9da2b5e2b33f682710a855d266
Author: Arnd Bergmann [off-list ref]
Date:   Wed May 31 09:26:07 2017 -0700

    bcm47xx: fix build regression
    
    Commit 0bc2d534708b ("rcu: Refactor #includes from include/linux/rcupdate.h")
    caused a build regression in an MTD partition driver:
    
    In file included from drivers/mtd/bcm47xxpart.c:12:0:
    include/linux/bcm47xx_nvram.h: In function 'bcm47xx_nvram_init_from_mem':
    include/linux/bcm47xx_nvram.h:27:10: error: 'ENOTSUPP' undeclared (first use in this function)
    
    The rcupdate.h file has no particular need for linux/errno.h, so this
    commit includes linux/errno.h into bcm47xx_nvram.h.
    
    Signed-off-by: Arnd Bergmann [off-list ref]
    Signed-off-by: Paul E. McKenney [off-list ref]
diff --git a/include/linux/bcm47xx_nvram.h b/include/linux/bcm47xx_nvram.h
index 2793652fbf66..a414a2b53e41 100644
--- a/include/linux/bcm47xx_nvram.h
+++ b/include/linux/bcm47xx_nvram.h
@@ -8,6 +8,7 @@
 #ifndef __BCM47XX_NVRAM_H
 #define __BCM47XX_NVRAM_H
 
+#include <linux/errno.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/vmalloc.h>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help