Here are the build results from automated periodic testing.
The tree being built was next, found at:
http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git (master branch)
Topmost commit:
3a48294 Add linux-next specific files for 20160615
Build logs (stderr only) can be found at the following link (experimental):
http://arm-soc.lixom.net/buildlogs/next/next-20160615/
Runtime: 73m 31s
Passed: 116 Failed: 4
Warnings: 207
Section mismatches: 0
-------------------------------------------------------------------------------
Failed defconfigs: arm64.allmodconfig arm.allmodconfig arm.badge4_defconfig arm.ezx_defconfig
-------------------------------------------------------------------------------
Errors:
arm64.allmodconfig: /work/build/batch/samples/seccomp/bpf-fancy.c:13:27: fatal error: linux/seccomp.h: No such file or directory /work/build/batch/samples/seccomp/bpf-helper.h:20:50: fatal error: linux/seccomp.h: No such file or directory /work/build/batch/samples/seccomp/dropper.c:20:27: fatal error: linux/seccomp.h: No such file or directory /work/build/batch/samples/seccomp/bpf-direct.c:21:27: fatal error: linux/seccomp.h: No such file or directory
arm.allmodconfig: /work/build/batch/arch/arm/include/asm/jump_label.h:13:7: error: impossible constraint in 'asm' /work/build/batch/arch/arm/include/asm/jump_label.h:13:7: error: impossible constraint in 'asm' /work/build/batch/arch/arm/include/asm/jump_label.h:13:7: error: impossible constraint in 'asm'
arm.badge4_defconfig: /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token
arm.ezx_defconfig: /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token
Warnings: 1 arch/arm/include/asm/pgtable.h:262:15: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized] 1 drivers/block/floppy.c:1777:44: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:1779:44: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:4488:45: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:4496:45: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:810:44: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:825:43: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:826:43: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/clocksource/timer-nps.c:97:208: warning: comparison of distinct pointer types lacks a cast 1 drivers/infiniband/core/cma.c:1253:12: warning: 'src_addr_storage.sin_addr.s_addr' may be used uninitialized in this function [-Wmaybe-uninitialized] 1 drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized] 1 include/sound/control.h:219:9: warning: 'master_vol' may be used uninitialized in this function [-Wmaybe-uninitialized] 2 drivers/media/dvb-frontends/cxd2841er.c:2354:40: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized] 2 drivers/net/wireless/intel/iwlegacy/3945.c:1022:5: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] 2 drivers/staging/ks7010/ks7010_config.c:263:8: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 3 include/linux/compaction.h:237:122: warning: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration 3 include/linux/compaction.h:242:125: warning: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration 4 drivers/net/phy/mdio-mux.c:188:3: warning: 'parent_bus_node' may be used uninitialized in this function [-Wmaybe-uninitialized] 5 include/linux/firmware.h:80:90: warning: 'request_firmware_into_buf' declared 'static' but never defined [-Wunused-function] 6 drivers/clk/sunxi/clk-sun4i-tcon-ch1.c:82:6: warning: unused variable 'num_parents' [-Wunused-variable] 66 arch/arm/include/asm/jump_label.h:13:7: warning: asm operand 0 probably doesn't match constraints 102 arch/arm/include/asm/pgtable.h:262:8: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized]
Section mismatches:
On Wednesday, June 15, 2016 12:31:28 AM CEST Olof's autobuilder wrote:
arm64.allmodconfig: /work/build/batch/samples/seccomp/bpf-fancy.c:13:27: fatal error: linux/seccomp.h: No such file or directory /work/build/batch/samples/seccomp/bpf-helper.h:20:50: fatal error: linux/seccomp.h: No such file or directory /work/build/batch/samples/seccomp/dropper.c:20:27: fatal error: linux/seccomp.h: No such file or directory /work/build/batch/samples/seccomp/bpf-direct.c:21:27: fatal error: linux/seccomp.h: No such file or directory
I still have no idea about that.
arm.allmodconfig: /work/build/batch/arch/arm/include/asm/jump_label.h:13:7: error: impossible constraint in 'asm' /work/build/batch/arch/arm/include/asm/jump_label.h:13:7: error: impossible constraint in 'asm' /work/build/batch/arch/arm/include/asm/jump_label.h:13:7: error: impossible constraint in 'asm'
or this one, I don't see this on my build box.
arm.badge4_defconfig: /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token /work/build/batch/include/linux/firmware.h:82:1: error: expected identifier or '(' before '{' token
I sent a patch for this.
Warnings: 1 arch/arm/include/asm/pgtable.h:262:15: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized]
I have applied a local workaround to shut up the warning on my machine:
--- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */ + entry = *fe->pte; } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
This is probably wrong though.
The problem appeared with
commit 78d5e6079a91b36ef13a14e4ccb857bf9fb815a4 Author: Kirill A. Shutemov kirill.shutemov@linux.intel.com Date: Thu Jun 9 09:36:11 2016 +1000
mm: postpone page table allocation until we have page to map
1 drivers/block/floppy.c:1777:44: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:1779:44: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:4488:45: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:4496:45: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:810:44: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:825:43: warning: self-comparison always evaluates to true [-Wtautological-compare] 1 drivers/block/floppy.c:826:43: warning: self-comparison always evaluates to true [-Wtautological-compare]
I submitted a patch for asm/floppy.h:
--- a/arch/arm/include/asm/floppy.h +++ b/arch/arm/include/asm/floppy.h @@ -17,7 +17,7 @@
#define fd_outb(val,port) \ do { \ - if ((port) == FD_DOR) \ + if ((port) == (u32)FD_DOR) \ fd_setdor((val)); \ else \ outb((val),(port)); \
but got no reply. I should probably just add it to Russell's patch tracker.
1 drivers/clocksource/timer-nps.c:97:208: warning: comparison of distinct pointer types lacks a cast
Submitted a patch.
1 drivers/infiniband/core/cma.c:1253:12: warning: 'src_addr_storage.sin_addr.s_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]
I don't currently see this one.
1 drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized] 2 drivers/net/wireless/intel/iwlegacy/3945.c:1022:5: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
Sent a patch a while ago, this is also part of mainline
1 include/sound/control.h:219:9: warning: 'master_vol' may be used uninitialized in this function [-Wmaybe-uninitialized]
Have not seen this one, is it powerpc specific?
2 drivers/media/dvb-frontends/cxd2841er.c:2354:40: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized] 2 drivers/staging/ks7010/ks7010_config.c:263:8: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
I have a patch, need to send that out
3 include/linux/compaction.h:237:122: warning: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration 3 include/linux/compaction.h:242:125: warning: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration
I have a patch, need to send that out
4 drivers/net/phy/mdio-mux.c:188:3: warning: 'parent_bus_node' may be used uninitialized in this function [-Wmaybe-uninitialized]
Sent a patch this week.
6 drivers/clk/sunxi/clk-sun4i-tcon-ch1.c:82:6: warning: unused variable 'num_parents' [-Wunused-variable]
I have a patch, need to send that out
Arnd
On Wed, Jun 15, 2016 at 02:12:25PM +0200, Arnd Bergmann wrote:
Warnings: 1 arch/arm/include/asm/pgtable.h:262:15: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized]
I have applied a local workaround to shut up the warning on my machine:
--- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
entry = *fe->pte; } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
This is probably wrong though.
Yeah, it's NULL-pointer dereferece.
I don't see the warning. What gcc version is it?
The problem appeared with
commit 78d5e6079a91b36ef13a14e4ccb857bf9fb815a4 Author: Kirill A. Shutemov kirill.shutemov@linux.intel.com Date: Thu Jun 9 09:36:11 2016 +1000
mm: postpone page table allocation until we have page to map
On Wednesday, June 15, 2016 3:26:04 PM CEST Kirill A. Shutemov wrote:
On Wed, Jun 15, 2016 at 02:12:25PM +0200, Arnd Bergmann wrote:
Warnings: 1 arch/arm/include/asm/pgtable.h:262:15: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized]
I have applied a local workaround to shut up the warning on my machine:
--- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
entry = *fe->pte; } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
This is probably wrong though.
Yeah, it's NULL-pointer dereferece.
I don't see the warning. What gcc version is it?
Every version I have here shows the warning, that's 4.6, 4.7, 4.9, 5.3 and 6.1. on ARM, but I don't see it on x86 with any of the same versions.
Arnd
On Wed, Jun 15, 2016 at 03:09:13PM +0200, Arnd Bergmann wrote:
On Wednesday, June 15, 2016 3:26:04 PM CEST Kirill A. Shutemov wrote:
On Wed, Jun 15, 2016 at 02:12:25PM +0200, Arnd Bergmann wrote:
Warnings: 1 arch/arm/include/asm/pgtable.h:262:15: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized]
I have applied a local workaround to shut up the warning on my machine:
--- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
entry = *fe->pte; } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
This is probably wrong though.
Yeah, it's NULL-pointer dereferece.
I don't see the warning. What gcc version is it?
Every version I have here shows the warning, that's 4.6, 4.7, 4.9, 5.3 and 6.1. on ARM, but I don't see it on x86 with any of the same versions.
Okay, see it. What about patch below?
I everthing is fine, I'll include this into updated version of my huge tmpfs patchset.
diff --git a/mm/memory.c b/mm/memory.c index 8e80e8ffc6ee..f50d2b3c9993 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */ + entry = __pte(0); /* silly gcc */ } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
On Wednesday, June 15, 2016 4:39:09 PM CEST Kirill A. Shutemov wrote:
On Wed, Jun 15, 2016 at 03:09:13PM +0200, Arnd Bergmann wrote:
On Wednesday, June 15, 2016 3:26:04 PM CEST Kirill A. Shutemov wrote:
On Wed, Jun 15, 2016 at 02:12:25PM +0200, Arnd Bergmann wrote:
Warnings: 1 arch/arm/include/asm/pgtable.h:262:15: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized]
I have applied a local workaround to shut up the warning on my machine:
--- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
entry = *fe->pte; } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
This is probably wrong though.
Yeah, it's NULL-pointer dereferece.
I don't see the warning. What gcc version is it?
Every version I have here shows the warning, that's 4.6, 4.7, 4.9, 5.3 and 6.1. on ARM, but I don't see it on x86 with any of the same versions.
Actually I now also found a result with the same warning on x86 in a randconfig build, just not with allmodconfig.
Okay, see it. What about patch below?
I everthing is fine, I'll include this into updated version of my huge tmpfs patchset.
diff --git a/mm/memory.c b/mm/memory.c index 8e80e8ffc6ee..f50d2b3c9993 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
} else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))entry = __pte(0); /* silly gcc */
I can confirm that this addresses the build warning, I just don't understand the comment you add. I can see that it makes sense that we always enter the (!fe->pte) case when pmd_none(*fe->pmd), but is that something that gcc should have been able to figure out?
I would also guess that we get better object code if we initialize fe->pte to NULL here, so the compiler can just jump to the (!fe->pte) case. The version below also avoids the warning.
Arnd
diff --git a/mm/memory.c b/mm/memory.c index b48739d35a5e..04377d2e6c88 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */ + fe->pte = NULL; } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
On Wed, Jun 15, 2016 at 05:22:57PM +0200, Arnd Bergmann wrote:
On Wednesday, June 15, 2016 4:39:09 PM CEST Kirill A. Shutemov wrote:
On Wed, Jun 15, 2016 at 03:09:13PM +0200, Arnd Bergmann wrote:
On Wednesday, June 15, 2016 3:26:04 PM CEST Kirill A. Shutemov wrote:
On Wed, Jun 15, 2016 at 02:12:25PM +0200, Arnd Bergmann wrote:
Warnings: 1 arch/arm/include/asm/pgtable.h:262:15: warning: 'entry' may be used uninitialized in this function [-Wmaybe-uninitialized]
I have applied a local workaround to shut up the warning on my machine:
--- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
entry = *fe->pte; } else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))
This is probably wrong though.
Yeah, it's NULL-pointer dereferece.
I don't see the warning. What gcc version is it?
Every version I have here shows the warning, that's 4.6, 4.7, 4.9, 5.3 and 6.1. on ARM, but I don't see it on x86 with any of the same versions.
Actually I now also found a result with the same warning on x86 in a randconfig build, just not with allmodconfig.
Okay, see it. What about patch below?
I everthing is fine, I'll include this into updated version of my huge tmpfs patchset.
diff --git a/mm/memory.c b/mm/memory.c index 8e80e8ffc6ee..f50d2b3c9993 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
} else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))entry = __pte(0); /* silly gcc */
I can confirm that this addresses the build warning, I just don't understand the comment you add. I can see that it makes sense that we always enter the (!fe->pte) case when pmd_none(*fe->pmd), but is that something that gcc should have been able to figure out?
I would also guess that we get better object code if we initialize fe->pte to NULL here, so the compiler can just jump to the (!fe->pte) case. The version below also avoids the warning.
Okay, makes sense. I'll fold this into updated patch.
diff --git a/mm/memory.c b/mm/memory.c index b48739d35a5e..04377d2e6c88 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3501,6 +3501,7 @@ static int handle_pte_fault(struct fault_env *fe) * for an instant, it will be difficult to retract from * concurrent faults and from rmap lookups. */
} else { /* See comment in pte_alloc_one_map() */ if (pmd_trans_unstable(fe->pmd) || pmd_devmap(*fe->pmd))fe->pte = NULL;
kernel-build-reports@lists.linaro.org