stable/linux-3.18.y build: 204 builds: 5 failed, 199 passed, 35 errors, 212 warnings (v3.18.49)
Arnd Bergmann
arnd at arndb.de
Fri Apr 21 10:27:14 EDT 2017
On Thu, Apr 20, 2017 at 7:04 PM, kernelci.org bot <bot at kernelci.org> wrote:
> stable/linux-3.18.y build: 204 builds: 5 failed, 199 passed, 35 errors, 212 warnings (v3.18.49)
I've gone through all these now and found a fix. In three cases, there is no
fix yet since the respective drivers got removed before the warning was
noticed. Do we have a policy for how to deal with those? Should I just
send patches to address the warnings for 3.18?
> Errors summary:
> 7 arch/mips/jz4740/irq.h:21:38: error: 'struct irq_data' declared inside
> parameter list will not be visible outside of this definition or declaration
> [-Werror]
> 7 arch/mips/jz4740/irq.h:20:39: error: 'struct irq_data' declared inside
> parameter list will not be visible outside of this definition or declaration
> [-Werror]
5b235dc2647e4 MIPS: Fix the build on jz4740 after removing the custom gpio.h
> 2 arch/mips/mm/fault.c:321:1: error: the frame size of 1104 bytes is larger
> than 1024 bytes [-Werror=frame-larger-than=]
This is a result of a newer compiler version, combined with the -Werror
flag that is applied to arch/mips/, and two of the mips defconfigs overriding
CONFIG_FRAME_WARN to 1024 on a 64-bit architecture (probably by
accident).
I saw this also when I looked at the 3.16 warnings, but only now actually
bisected it. The fix is
86038c5ea81b ("perf: Avoid horrible stack usage")
> Detailed per-defconfig build reports:
>
> allmodconfig+CONFIG_OF=n (x86) — PASS, 0 errors, 8 warnings, 0 section
> mismatches
>
> Warnings:
> fs/nfs/nfs4proc.c:3062:10: warning: switch condition has boolean value
> [-Wswitch-bool]
c7757074839f ("fs/nfs: fix new compiler warning about boolean in switch")
> drivers/iommu/intel-iommu.c:1762:25: warning: unused variable 'drhd'
> [-Wunused-variable]
509fca899d56 ("iommu/vt-d: Remove unused variable")
> drivers/message/i2o/i2o_config.c:893:19: warning: cast to pointer from
> integer of different size [-Wint-to-pointer-cast]
> drivers/message/i2o/i2o_config.c:953:10: warning: cast to pointer from
> integer of different size [-Wint-to-pointer-cast]
The driver is obsolete and was removed in v4.2. It looks like the warning
should still be there in v4.1.y, but I don't remember having seen it. It
would be trivial to fix this with an obvious patch adding a cast.
> drivers/staging/bcm/CmHost.c:1503:3: warning: cast to pointer from integer
> of different size [-Wint-to-pointer-cast]
> drivers/staging/bcm/CmHost.c:1546:3: warning: cast to pointer from integer
> of different size [-Wint-to-pointer-cast]
> drivers/staging/bcm/CmHost.c:1564:3: warning: cast to pointer from integer
> of different size [-Wint-to-pointer-cast]
Similarly, the driver was removed in v3.19, but I could create a patch for
the warning.
> drivers/scsi/advansys.c:71:2: warning: #warning this driver is still not
> properly converted to the DMA API [-Wcpp]
The driver was properly converted in v4.2 and the warning removed, but the
conversion would be outside of stable-kernel-rules.
> Section mismatches:
> WARNING: arch/x86/kernel/built-in.o(.text.unlikely+0x157f): Section mismatch
> in reference from the function cpumask_empty.constprop.3() to the variable
> .init.data:nmi_ipi_mask
> WARNING: arch/x86/built-in.o(.text.unlikely+0x189b): Section mismatch in
> reference from the function cpumask_empty.constprop.3() to the variable
> .init.data:nmi_ipi_mask
> WARNING: vmlinux.o(.text.unlikely+0x1962): Section mismatch in reference
> from the function cpumask_empty.constprop.3() to the variable
> .init.data:nmi_ipi_mask
f0ba662a6e06f2 x86: Properly _init-annotate NMI selftest code
> allnoconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
>
> Warnings:
> mm/page_alloc.c:5346:34: warning: array subscript is below array bounds
> [-Warray-bounds]
Also bisected this one now, this is also missing on 3.16:
90cae1fe1c35 ("mm/init: fix zone boundary creation")
> ar7_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
>
> Warnings:
> include/linux/kernel.h:713:17: warning: comparison of distinct pointer types
> lacks a cast
2f5281ba2a8f ("net: ti: cpmac: Fix compiler warning due to type confusion")
> at91_dt_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
>
> Warnings:
> drivers/clk/at91/clk-usb.c:155:20: warning: initialization from incompatible
> pointer type [-Wincompatible-pointer-types]
> drivers/clk/at91/clk-usb.c:193:20: warning: initialization from incompatible
> pointer type [-Wincompatible-pointer-types]
I've send this fix:
8<------
clk: at91: usb: fix determine_rate prototype again
We had an incorrect backport of
4591243102fa ("clk: at91: usb: propagate rate modification to the parent clk")
that was fixed incorrectly in linux-3.18.y by
76723e7ed589 ("clk: at91: usb: fix determine_rate prototype")
This should fix it properly.
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
diff --git a/drivers/clk/at91/clk-usb.c b/drivers/clk/at91/clk-usb.c
index 0283a5713d6c..930a424cc4a0 100644
--- a/drivers/clk/at91/clk-usb.c
+++ b/drivers/clk/at91/clk-usb.c
@@ -59,7 +59,7 @@ static unsigned long
at91sam9x5_clk_usb_recalc_rate(struct clk_hw *hw,
static long at91sam9x5_clk_usb_determine_rate(struct clk_hw *hw,
unsigned long rate,
unsigned long *best_parent_rate,
- struct clk_hw **best_parent_hw)
+ struct clk **best_parent_hw)
{
struct clk *parent = NULL;
long best_rate = -EINVAL;
@@ -91,7 +91,7 @@ static long at91sam9x5_clk_usb_determine_rate(struct
clk_hw *hw,
best_rate = tmp_rate;
best_diff = tmp_diff;
*best_parent_rate = tmp_parent_rate;
- *best_parent_hw = __clk_get_hw(parent);
+ *best_parent_hw = parent;
}
if (!best_diff || tmp_rate < rate)
---------->8
> ath79_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
>
> Warnings:
> arch/mips/kernel/entry.S:170: Warning: tried to set unrecognized symbol:
> MIPS_ISA_LEVEL_RAW
aebac99384f7 ("MIPS: kernel: entry.S: Set correct ISA level for mips_ihb")
> cerfcube_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
>
> Warnings:
> fs/nfsd/nfs4state.c:3781:3: warning: 'old_deny_bmap' may be used
> uninitialized in this function [-Wmaybe-uninitialized]
5368e1a6 ("nfsd: work around a gcc-5.1 warning")
> corgi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
>
> Warnings:
> drivers/usb/gadget/legacy/inode.c:648:10: warning: 'value' may be used
> uninitialized in this function [-Wmaybe-uninitialized]
This is caused by the backport of f01d35a15fa0416 from 4.0 to 3.18:
c81fc59be42c6e0 gadgetfs: use-after-free in ->aio_read()
The backported patch was buggy, but the mainline code was
rewritten in a larger patch directly following this one in a way that
fixed the bug.
For stable, we should need only a one-line change, which I sent now:
diff --git a/drivers/usb/gadget/legacy/inode.c
b/drivers/usb/gadget/legacy/inode.c
index 54f964bbc79a..fe45311f243e 100644
--- a/drivers/usb/gadget/legacy/inode.c
+++ b/drivers/usb/gadget/legacy/inode.c
@@ -654,6 +654,7 @@ fail:
GFP_KERNEL);
if (!priv->iv) {
kfree(priv);
+ value = -ENOMEM;
goto fail;
}
}
> defconfig+CONFIG_LKDTM=y (mips) — PASS, 0 errors, 3 warnings, 0 section
> mismatches
>
> Warnings:
> include/asm-generic/div64.h:43:28: warning: comparison of distinct pointer
> types lacks a cast
> include/asm-generic/div64.h:43:28: warning: comparison of distinct pointer
> types lacks a cast
2ae83bf93882 ("[CIFS] Fix setting time before epoch (negative time values)")
> efm32_defconfig (arm) — PASS, 0 errors, 1 warning, 0 section mismatches
>
> Warnings:
> arch/arm/kernel/head-nommu.S:167: Warning: Use of r13 as a source register
> is deprecated when r15 is the destination register.
970d96f9a81b ("ARM: 8383/1: nommu: avoid deprecated source register on mov")
> imx_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
>
> Warnings:
> drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c:1478:8: warning: 'skb'
> may be used uninitialized in this function [-Wmaybe-uninitialized]
22f44150aad7 ("brcmfmac: avoid gcc-5.1 warning")
> ip27_defconfig (mips) — PASS, 0 errors, 6 warnings, 0 section mismatches
>
> Warnings:
> lib/cpumask.c:194:25: warning: the address of 'cpu_all_bits' will always
> evaluate as 'true' [-Waddress]
f36963c9d3f6f4 cpumask_set_cpu_local_first => cpumask_local_spread, lament
> include/linux/sched.h:1975:56: warning: 'noio_flag' may be used
> uninitialized in this function [-Wmaybe-uninitialized]
I've bisected this to
be0c37c985ed ("MIPS: Rearrange PTE bits into fixed positions.")
which accidentally shuts up the warning, but does not apply to
3.18, and is not appropriate for a stable backport.
The code is correct, so we can probably just add an initialization
for the variable. Patch sent.
> drivers/tty/nozomi.c:857:9: warning: 'size' may be used uninitialized in
> this function [-Wmaybe-uninitialized]
a4f642a8a3c2 ("tty: nozomi: avoid a harmless gcc warning")
> drivers/net/ethernet/neterion/vxge/vxge-main.c:2149:13: warning:
> 'adaptive_coalesce_rx_interrupts' defined but not used [-Wunused-function]
> drivers/net/ethernet/neterion/vxge/vxge-main.c:2121:13: warning:
> 'adaptive_coalesce_tx_interrupts' defined but not used [-Wunused-function]
57e7c8cef224 ("net: vxge: avoid unused function warnings")
> ip32_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
>
> Warnings:
> drivers/misc/ioc4.c:194:16: warning: 'start' may be used uninitialized in
> this function [-Wmaybe-uninitialized]
769105aa740d ("misc: ioc4: simplify wave period measurement in clock_calibrate")
> malta_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
>
> Warnings:
> drivers/net/wireless/hostap/hostap_hw.c:842:5: warning: 'rec' may be used
> uninitialized in this function [-Wmaybe-uninitialized]
48dc5fb3ba53b2 hostap: avoid uninitialized variable use in hfa384x_get_rid
> msp71xx_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
>
> Warnings:
> arch/mips/pci/ops-pmcmsp.c:196:24: warning: 'bpci_lock' defined but not used
> [-Wunused-variable]
c4a305374bbf ("MIPS: MSP71xx: remove odd locking in PCI config space
access code")
> mtx1_defconfig (mips) — PASS, 0 errors, 4 warnings, 0 section mismatches
>
> Warnings:
> drivers/net/ethernet/dec/tulip/winbond-840.c:910:2: warning: #warning
> Processor architecture undefined [-Wcpp]
de92718883dd ("net: tulip: turn compile-time warning into dev_warn()")
> multi_v7_defconfig+CONFIG_ARM_LPAE=y (arm) — PASS, 0 errors, 3 warnings, 0
> section mismatches
>
> Warnings:
> drivers/mmc/host/sunxi-mmc.c:297:35: warning: cast to pointer from integer
> of different size [-Wint-to-pointer-cast]
d34712d2e3db ("mmc: sunxi: avoid invalid pointer calculation")
> multi_v7_defconfig+CONFIG_SMP=n (arm) — FAIL, 1 error, 2 warnings, 0 section
> mismatches
>
> Errors:
> arch/arm/kernel/psci.c:287:12: error: redefinition of 'psci_init'
> Warnings:
patch sent:
commit 37290221124afbaa9a11f17d2b1fc6bf2e829872
Author: Arnd Bergmann <arnd at arndb.de>
Date: Fri Apr 21 15:54:10 2017 +0200
[3.18-stable regression] ARM: psci: fix header file
Commit be95485a0b828 was incorrectly backported to 3.18 and
now causes a different build error when CONFIG_SMP is disabled:
arch/arm/kernel/psci.c:287:12: error: redefinition of 'psci_init'
This version is how it should be on 3.18, with the main psci
code built for both SMP and UP, but the psci_smp_available()
function only being available for SMP builds.
Fixes: dbcfee724255 ("ARM: 8457/1: psci-smp is built only for SMP")
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
diff --git a/arch/arm/include/asm/psci.h b/arch/arm/include/asm/psci.h
index e3789fb02c9c..8ca5308a05d7 100644
--- a/arch/arm/include/asm/psci.h
+++ b/arch/arm/include/asm/psci.h
@@ -37,11 +37,15 @@ struct psci_operations {
extern struct psci_operations psci_ops;
extern struct smp_operations psci_smp_ops;
-#if defined(CONFIG_SMP) && defined(CONFIG_ARM_PSCI)
+#ifdef CONFIG_ARM_PSCI
int psci_init(void);
-bool psci_smp_available(void);
#else
static inline int psci_init(void) { return 0; }
+#endif
+
+#if defined(CONFIG_SMP) && defined(CONFIG_ARM_PSCI)
+bool psci_smp_available(void);
+#else
static inline bool psci_smp_available(void) { return false; }
#endif
> nlm_xlp_defconfig (mips) — FAIL, 1 error, 3 warnings, 0 section mismatches
>
> Errors:
> fs/gfs2/dir.c:768:9: warning: 'leaf_no' may be used uninitialized in this
> function [-Wmaybe-uninitialized]
> fs/gfs2/dir.c:987:8: warning: 'leaf_no' may be used uninitialized in this
> function [-Wmaybe-uninitialized]
67893f12e537 ("gfs2: avoid uninitialized variable warning")
(also needed on v4.4.y)
> fs/btrfs/extent_io.c:2166:13: warning: cast to pointer from integer of
> different size [-Wint-to-pointer-cast]
6e1103a6e9b1 ("btrfs: fix state->private cast on 32 bit machines")
> realview-smp_defconfig
>
> Warnings:
> arch/arm/mm/cache-l2x0.c:168:13: warning: 'l2x0_cache_sync' defined but not
> used [-Wunused-function]
> arch/arm/mm/cache-l2x0.c:185:13: warning: 'l2x0_flush_all' defined but not
> used [-Wunused-function]
> arch/arm/mm/cache-l2x0.c:195:13: warning: 'l2x0_disable' defined but not
> used [-Wunused-function]
20e783e39e55 ARM: 8296/1: cache-l2x0: clean up aurora cache handling
> rm200_defconfig (mips) — FAIL, 0 errors, 5 warnings, 0 section mismatches
>
> Warnings:
> drivers/scsi/aic94xx/aic94xx_sds.c:597:2: warning: 'offs' may be used
> uninitialized in this function [-Wmaybe-uninitialized]
36dd5acd196574d4 aic94xx: Skip reading user settings if flash is not found
> arch/mips/boot/elf2ecoff.c:270:8: warning: variable 'shstrtab' set but not
> used [-Wunused-but-set-variable]
> Warnings:
> arch/mips/ralink/prom.c:64:2: warning: 'argc' is used uninitialized in this
> function [-Wuninitialized]
> arch/mips/ralink/prom.c:64:2: warning: 'argv' is used uninitialized in this
> function [-Wuninitialized]
9c48568b3692 ("MIPS: ralink: Cosmetic change to prom_init().")
> tinyconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
>
> Warnings:
> .config:807:warning: override: KERNEL_XZ changes choice state
> .config:809:warning: override: SLOB changes choice state
236dec051078 ("kconfig: tinyconfig: provide whole choice blocks to
avoid warnings")
More information about the linux-arm-kernel
mailing list