On Fri, Mar 17, 2017 at 12:01 AM, Ben Hutchings ben@decadent.org.uk wrote:
On Thu, 2017-03-16 at 10:37 +0100, Arnd Bergmann wrote:
AFAICT, this is fixed by 8f57e4d930d4 ("include/linux/kernel.h: change abs() macro so it uses consistent return type") which is also in 4.4.y-stable
Changing the type of abs() seems like a somewhat risky change. I'd be happier to extract just the iio type fix.
I think the iio part by itself won't address the warning, but you could add a type cast to do that as a simpler workaround.
One problem seems to cause all the kernelci build failures, I had to bisect it to be sure and came out at:
842dfc11ea9a ("MIPS: Fix build with binutils 2.24.51+")
I had to apply these first:
f7a46fa7bb00 "MIPS: save/restore MSACSR register on context switch" b83406735a4a "MIPS: preserve scalar FP CSR when switching vector context" 33c771ba5c5d "MIPS: save/disable MSA in lose_fpu" c9017757c532 "MIPS: init upper 64b of vector registers when MSA is first used"
which I *think* are all worthwhile fixes too.
That seems reasonable, but I don't know anything about the history of those patches.
drivers/mtd/mtd_blkdevs.c:100:2: warning: switch condition has boolean value [-Wswitch-bool]
cc7fce802290 ("mtd: blkdevs: fix switch-bool compilation warning")
That looks redundant with 10fbd36e362a "blk: rq_data_dir() should not return a boolean".
Right, I missed that.
rt305x_defconfig (mips) — FAIL, 224 errors, 4 warnings, 0 section mismatches
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]
886f9c69fc68 ("MIPS: ralink: Remove unused rt*_wdt_reset functions")
No, that's for a different issue that doesn't appear to exist in 3.16. I think you mean:
9c48568b3692 "MIPS: ralink: Cosmetic change to prom_init()."
I've added that.
Right, my mistake. In later versions we need both, and I must have copied the wrong line from the log.
uninitialized in this function [-Wmaybe-uninitialized] arch/mips/include/asm/compat.h:208:24: warning: 'fp' may be used uninitialized in this function [-Wmaybe-uninitialized]
Not sure what happens here. Possibly this is one configuration that disables -Wmaybe-uninitialized in later kernels, though I can't see why.
This appears to be a real bug, fixed by:
640465bda58c "MIPS: Zero variable read by get_user / __get_user in case of an error."
I've added that.
Ah, good catch.
arch/x86/include/asm/pgtable_64.h:184:26: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
I don't see this one yet.
That warning doesn't make any sense to me...
Just for reference, this is the whole build log for that config, maybe that helps you find something. The compiler was gcc version 5.3.1 20160412:
../fs/namespace.c: In function 'SyS_mount': ../fs/namespace.c:2787:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized] ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags, ^ ../fs/namespace.c:2766:8: note: 'kernel_dev' was declared here char *kernel_dev; ^ ../fs/namespace.c:2787:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized] ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags, ^ ../fs/namespace.c:2764:8: note: 'kernel_type' was declared here char *kernel_type; ^ ../drivers/hid/hid-input.c: In function 'hidinput_hid_event': ../drivers/hid/hid-input.c:1122:67: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] if (usage->type == EV_KEY && !!test_bit(usage->code, input->key) != value) ^ In file included from ../arch/x86/include/asm/pgtable.h:439:0, from ../include/linux/mm.h:51, from ../mm/hugetlb.c:8: ../mm/hugetlb.c: In function 'dissolve_free_huge_pages': ../arch/x86/include/asm/pgtable_64.h:184:26: warning: suggest parentheses around assignment used as truth value [-Wparentheses] #define vmemmap ((struct page *)VMEMMAP_START) ^ ../include/asm-generic/memory_model.h:51:29: note: in expansion of macro 'vmemmap' #define __pfn_to_page(pfn) (vmemmap + (pfn)) ^ ../include/asm-generic/memory_model.h:73:21: note: in expansion of macro '__pfn_to_page' #define pfn_to_page __pfn_to_page ^ ../mm/hugetlb.c:1114:36: note: in expansion of macro 'pfn_to_page' if (rc = dissolve_free_huge_page(pfn_to_page(pfn))) ^ ../fs/nfs/nfs4proc.c: In function 'nfs4_proc_get_rootfh': ../fs/nfs/nfs4proc.c:3005:10: warning: switch condition has boolean value [-Wswitch-bool] switch (auth_probe) { ^