# git rev-parse -q --verify 194dc870a5890e855ecffb30f3b80ba7c88f96d6^{commit} 194dc870a5890e855ecffb30f3b80ba7c88f96d6 already have revision, skipping fetch # git checkout -q -f -B kisskb 194dc870a5890e855ecffb30f3b80ba7c88f96d6 # git clean -qxdf # git log -1 commit 194dc870a5890e855ecffb30f3b80ba7c88f96d6 Author: Linus Torvalds Date: Wed Jul 27 20:03:31 2016 -0700 Add braces to avoid "ambiguous ‘else’" compiler warnings Some of our "for_each_xyz()" macro constructs make gcc unhappy about lack of braces around if-statements inside or outside the loop, because the loop construct itself has a "if-then-else" statement inside of it. The resulting warnings look something like this: drivers/gpu/drm/i915/i915_debugfs.c: In function ‘i915_dump_lrc’: drivers/gpu/drm/i915/i915_debugfs.c:2103:6: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses] if (ctx != dev_priv->kernel_context) ^ even if the code itself is fine. Since the warning is fairly easy to avoid by adding a braces around the if-statement near the for_each_xyz() construct, do so, rather than disabling the otherwise potentially useful warning. (The if-then-else statements used in the "for_each_xyz()" constructs are designed to be inherently safe even with no braces, but in this case it's quite understandable that gcc isn't really able to tell that). This finally leaves the standard "allmodconfig" build with just a handful of remaining warnings, so new and valid warnings hopefully will stand out. Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/s390x-linux/bin/s390x-linux-gcc --version # < git log --format=%s --max-count=1 194dc870a5890e855ecffb30f3b80ba7c88f96d6 # < make -j 48 ARCH=s390 O=/home/kisskb/slave/build/linus_s390-allnoconfig_s390x CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/s390x-linux/bin/s390x-linux- allnoconfig # make -j 48 ARCH=s390 O=/home/kisskb/slave/build/linus_s390-allnoconfig_s390x CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/s390x-linux/bin/s390x-linux- make[1]: Entering directory '/home/kisskb/slave/build/linus_s390-allnoconfig_s390x' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release UPD include/config/kernel.release GEN ./Makefile WRAP arch/s390/include/generated/asm/clkdev.h WRAP arch/s390/include/generated/asm/irq_work.h WRAP arch/s390/include/generated/asm/mcs_spinlock.h WRAP arch/s390/include/generated/asm/mm-arch-hooks.h WRAP arch/s390/include/generated/asm/preempt.h WRAP arch/s390/include/generated/asm/trace_clock.h WRAP arch/s390/include/generated/asm/word-at-a-time.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h Using /home/kisskb/slave/src as source for kernel HOSTCC scripts/sortextable CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost HOSTCC arch/s390/tools/gen_facilities CHK include/generated/facilities.h UPD include/generated/facilities.h CHK include/generated/timeconst.h CC kernel/bounds.s UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/s390/kernel/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh CC init/main.o CHK include/generated/compile.h CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o LD usr/built-in.o UPD include/generated/compile.h CC init/version.o LD arch/s390/net/built-in.o CC arch/s390/mm/init.o CC arch/s390/mm/fault.o CC arch/s390/mm/extmem.o CC arch/s390/mm/vmem.o CC arch/s390/mm/maccess.o CC arch/s390/mm/gup.o CC arch/s390/mm/mem_detect.o CC arch/s390/mm/pgtable.o CC arch/s390/mm/page-states.o CC arch/s390/mm/mmap.o CC arch/s390/mm/pgalloc.o CC arch/s390/mm/pageattr.o CC arch/s390/kernel/traps.o CC arch/s390/kernel/early.o CC arch/s390/kernel/setup.o CC arch/s390/kernel/time.o CC arch/s390/kernel/process.o AS arch/s390/kernel/base.o CC arch/s390/kernel/irq.o CC arch/s390/kernel/signal.o CC arch/s390/kernel/ipl.o CC arch/s390/kernel/vtime.o CC arch/s390/kernel/idle.o CC arch/s390/kernel/processor.o CC arch/s390/kernel/ptrace.o CC arch/s390/kernel/sys_s390.o CC arch/s390/kernel/ebcdic.o CC arch/s390/kernel/cpcmd.o CC arch/s390/kernel/dis.o CC arch/s390/kernel/machine_kexec.o CC arch/s390/kernel/sclp.o CC arch/s390/kernel/diag.o LD certs/built-in.o CC arch/s390/kernel/vdso.o CC arch/s390/kernel/jump_label.o CC arch/s390/kernel/sysinfo.o AS arch/s390/kernel/pgm_check.o CC arch/s390/kernel/lgr.o CC arch/s390/kernel/os_info.o CC arch/s390/kernel/nmi.o CC arch/s390/kernel/debug.o CC arch/s390/kernel/cache.o CC arch/s390/kernel/runtime_instr.o CC arch/s390/kernel/fpu.o CC arch/s390/kernel/dumpstack.o AS arch/s390/kernel/reipl.o AS arch/s390/kernel/entry.o AS arch/s390/kernel/relocate_kernel.o AS arch/s390/kernel/head64.o AS arch/s390/kernel/head.o LDS arch/s390/kernel/vmlinux.lds VDSO64A arch/s390/kernel/vdso64/clock_gettime.o VDSO64A arch/s390/kernel/vdso64/note.o VDSO64A arch/s390/kernel/vdso64/getcpu.o CC kernel/exec_domain.o VDSO64A arch/s390/kernel/vdso64/gettimeofday.o VDSO64A arch/s390/kernel/vdso64/clock_getres.o LDS arch/s390/kernel/vdso64/vdso64.lds CC kernel/fork.o CC kernel/cpu.o CC kernel/panic.o CC kernel/exit.o CC kernel/softirq.o CC kernel/sysctl.o CC kernel/resource.o LD init/mounts.o CC kernel/sysctl_binary.o LD init/built-in.o CC kernel/ptrace.o CC kernel/capability.o CC kernel/signal.o CC kernel/sys.o CC kernel/pid.o CC kernel/workqueue.o CC kernel/kmod.o CC kernel/user.o CC kernel/task_work.o VDSO64L arch/s390/kernel/vdso64/vdso64.so.dbg CC kernel/kthread.o CC kernel/extable.o CC kernel/params.o LD arch/s390/mm/built-in.o CC kernel/sys_ni.o OBJCOPY arch/s390/kernel/vdso64/vdso64.so CC kernel/nsproxy.o CC kernel/cred.o AS arch/s390/kernel/vdso64/vdso64_wrapper.o CC kernel/notifier.o CC kernel/ksysfs.o CC kernel/async.o CC kernel/reboot.o CC kernel/range.o CC kernel/smpboot.o LD kernel/livepatch/built-in.o LD arch/s390/kernel/vdso64/built-in.o CC kernel/power/qos.o CC kernel/up.o CC kernel/printk/printk.o CC kernel/locking/mutex.o LD ipc/built-in.o CC kernel/kexec_core.o CC kernel/rcu/update.o CC kernel/irq/irqdesc.o CC kernel/rcu/sync.o CC kernel/rcu/tiny.o CC kernel/kexec.o CC kernel/irq/handle.o CC kernel/irq/manage.o CC kernel/sched/core.o CC kernel/sched/loadavg.o CC kernel/locking/semaphore.o CC kernel/sched/cputime.o CC security/commoncap.o CC kernel/sched/clock.o CC kernel/time/time.o CC kernel/time/timer.o CC mm/filemap.o CC kernel/time/hrtimer.o CC mm/mempool.o CC mm/oom_kill.o CC kernel/time/itimer.o CC kernel/sched/idle_task.o CC mm/maccess.o CC fs/open.o CC kernel/irq/spurious.o CC fs/read_write.o CC mm/page_alloc.o CC mm/page-writeback.o CC kernel/locking/rwsem.o CC fs/file_table.o CC kernel/locking/percpu-rwsem.o LD kernel/rcu/built-in.o CC fs/super.o LD crypto/built-in.o CC fs/char_dev.o CC kernel/time/posix-timers.o CC kernel/irq/resend.o CC fs/stat.o CC fs/exec.o CC fs/pipe.o CC fs/namei.o CC fs/fcntl.o CC security/min_addr.o CC mm/readahead.o CC fs/ioctl.o CC mm/swap.o CC kernel/locking/rwsem-xadd.o CC fs/readdir.o CC fs/select.o CC fs/dcache.o CC fs/bad_inode.o CC kernel/time/posix-cpu-timers.o CC fs/attr.o CC fs/inode.o LD kernel/printk/built-in.o LD arch/s390/kernel/built-in.o LD arch/s390/built-in.o CC fs/file.o LD block/built-in.o CC fs/filesystems.o CC fs/namespace.o CC fs/seq_file.o CC fs/xattr.o CC mm/truncate.o CC kernel/sched/fair.o CC mm/shmem.o CC mm/vmscan.o LD kernel/power/built-in.o CC kernel/sched/rt.o CC kernel/irq/chip.o CC mm/util.o CC fs/libfs.o CC kernel/irq/dummychip.o CC fs/fs-writeback.o CC fs/pnode.o CC kernel/irq/devres.o CC mm/mmzone.o CC fs/splice.o CC kernel/time/timekeeping.o LD security/built-in.o LD kernel/locking/built-in.o CC fs/utimes.o CC fs/sync.o CC kernel/sched/deadline.o CC fs/stack.o CC kernel/sched/stop_task.o LD sound/built-in.o CC kernel/time/ntp.o CC kernel/sched/wait.o CC mm/vmstat.o CC mm/backing-dev.o CC kernel/sched/swait.o CC kernel/sched/completion.o CC kernel/sched/idle.o CC mm/mm_init.o CC mm/mmu_context.o CC kernel/time/clocksource.o CC kernel/time/jiffies.o CC mm/percpu.o CC mm/compaction.o CC kernel/time/timeconv.o CC kernel/time/timer_list.o CC mm/slab_common.o LD kernel/irq/built-in.o CC kernel/time/timecounter.o CC fs/fs_struct.o LD firmware/built-in.o CC fs/statfs.o CC fs/fs_pin.o CC fs/nsfs.o CC kernel/time/alarmtimer.o CC kernel/time/posix-clock.o CC fs/no-block.o CC kernel/time/clockevents.o CC mm/vmacache.o CC mm/interval_tree.o CC kernel/time/tick-common.o CC mm/list_lru.o LD fs/devpts/built-in.o CC mm/workingset.o LD fs/exofs/built-in.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o CC mm/debug.o CC mm/memory.o CC mm/highmem.o CC mm/gup.o LD fs/quota/built-in.o CC mm/mincore.o LD drivers/block/built-in.o LD drivers/bus/built-in.o CC mm/mlock.o LD drivers/cdrom/built-in.o CC mm/mmap.o LD fs/notify/dnotify/built-in.o LD fs/notify/fanotify/built-in.o LD drivers/clocksource/built-in.o LD drivers/s390/block/built-in.o LD drivers/firewire/built-in.o LD kernel/sched/built-in.o CC mm/mprotect.o CC drivers/char/mem.o LD drivers/hwtracing/intel_th/built-in.o LD drivers/clk/bcm/built-in.o LD drivers/clk/mvebu/built-in.o CC drivers/char/random.o LD fs/notify/inotify/built-in.o CC mm/msync.o CC mm/mremap.o LD net/built-in.o LD drivers/s390/crypto/built-in.o CC mm/vmalloc.o CC mm/rmap.o LD fs/notify/built-in.o LD drivers/clk/ti/built-in.o LD drivers/gpu/vga/built-in.o LD drivers/idle/built-in.o CC mm/pagewalk.o LD drivers/irqchip/built-in.o LD drivers/lguest/built-in.o CC drivers/base/component.o CC fs/ramfs/inode.o CC mm/pgtable-generic.o LD drivers/macintosh/built-in.o CC mm/init-mm.o CC fs/ramfs/file-mmu.o LD drivers/clk/built-in.o CC mm/nobootmem.o CC mm/sparse.o CC mm/dmapool.o CC mm/memblock.o CC mm/sparse-vmemmap.o CC drivers/s390/char/ctrlchar.o LD drivers/firmware/broadcom/built-in.o LD drivers/i2c/busses/built-in.o LD drivers/i2c/algos/built-in.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/mfd/built-in.o CC drivers/s390/cio/airq.o CC mm/slub.o LD drivers/misc/cb710/built-in.o LD drivers/gpu/drm/hisilicon/built-in.o LD drivers/firmware/built-in.o CC drivers/s390/cio/blacklist.o CC drivers/base/core.o LD drivers/i2c/muxes/built-in.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/misc/eeprom/built-in.o LD drivers/mmc/built-in.o LD drivers/i2c/built-in.o /home/kisskb/slave/src/mm/page_alloc.c: In function 'free_area_init_node': /home/kisskb/slave/src/mm/page_alloc.c:5757:17: warning: 'zone_start_pfn' may be used uninitialized in this function [-Wuninitialized] LD drivers/gpu/drm/i2c/built-in.o LD drivers/media/firewire/built-in.o LD drivers/misc/mic/bus/built-in.o LD drivers/gpu/drm/panel/built-in.o LD drivers/net/built-in.o LD drivers/media/mmc/siano/built-in.o CC lib/usercopy.o LD drivers/media/i2c/soc_camera/built-in.o LD drivers/media/common/b2c2/built-in.o CC drivers/s390/cio/chsc.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD drivers/media/mmc/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD drivers/platform/built-in.o LD drivers/nfc/built-in.o LD kernel/time/built-in.o CC drivers/s390/cio/cio.o LD drivers/media/i2c/built-in.o LD drivers/misc/mic/built-in.o LD drivers/media/platform/omap/built-in.o CC drivers/s390/cio/idset.o CC drivers/s390/cio/chp.o CC drivers/s390/cio/css.o AS arch/s390/lib/mem.o LD kernel/built-in.o LD drivers/media/common/saa7146/built-in.o LD drivers/misc/ti-st/built-in.o LD drivers/media/common/siano/built-in.o CC arch/s390/lib/xor.o LD drivers/nvme/target/built-in.o LD drivers/gpu/drm/omapdrm/built-in.o LD drivers/media/platform/built-in.o LD drivers/nvme/host/built-in.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/misc/built-in.o CC arch/s390/lib/delay.o CC arch/s390/lib/find.o CC drivers/char/misc.o CC drivers/s390/char/keyboard.o CC drivers/s390/char/defkeymap.o LD drivers/power/built-in.o LD drivers/media/common/built-in.o LD drivers/nvme/built-in.o LD drivers/char/agp/built-in.o LD drivers/pwm/built-in.o LD fs/ramfs/ramfs.o CC arch/s390/lib/string.o LD drivers/gpu/drm/tilcdc/built-in.o CC drivers/s390/char/sclp.o LD fs/ramfs/built-in.o LD drivers/media/pci/b2c2/built-in.o CC lib/lockref.o CC lib/bcd.o LD drivers/media/rc/keymaps/built-in.o CC lib/div64.o LD drivers/s390/net/built-in.o LD drivers/soc/bcm/built-in.o CC lib/parser.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/gpu/drm/built-in.o CC lib/sort.o LD drivers/soc/fsl/built-in.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/tuners/built-in.o LD drivers/media/rc/built-in.o LD drivers/video/backlight/built-in.o CC arch/s390/lib/uaccess.o LD drivers/soc/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/media/pci/smipcie/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/pluto2/built-in.o CC drivers/base/bus.o LD drivers/s390/scsi/built-in.o CC drivers/tty/tty_io.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/ttpci/built-in.o LD drivers/s390/virtio/built-in.o CC drivers/tty/n_tty.o CC drivers/base/dd.o CC drivers/base/syscore.o CC drivers/s390/char/sclp_rw.o CC drivers/tty/tty_ioctl.o LD drivers/media/pci/pt1/built-in.o CC drivers/s390/cio/isc.o CC drivers/s390/char/sclp_cmd.o CC drivers/s390/char/sclp_quiesce.o CC drivers/s390/cio/fcx.o CC drivers/tty/tty_ldisc.o CC drivers/base/driver.o CC drivers/tty/tty_port.o LD drivers/video/fbdev/core/built-in.o CC drivers/tty/tty_buffer.o CC drivers/s390/cio/itcw.o CC drivers/base/class.o CC drivers/s390/cio/ccwreq.o LD drivers/gpu/built-in.o CC drivers/s390/cio/crw.o CC drivers/s390/cio/device.o CC drivers/s390/char/sclp_config.o CC drivers/s390/cio/ioasm.o CC drivers/s390/cio/trace.o LD drivers/media/pci/built-in.o CC drivers/s390/char/sclp_cpi_sys.o CC drivers/s390/cio/device_fsm.o LD virt/lib/built-in.o LD arch/s390/lib/built-in.o CC drivers/base/platform.o CC drivers/base/cpu.o CC drivers/base/firmware.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o LD virt/built-in.o CC drivers/s390/cio/device_ops.o LD drivers/media/usb/b2c2/built-in.o CC drivers/base/init.o CC drivers/s390/cio/device_id.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o CC drivers/s390/cio/cmf.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC drivers/s390/cio/device_status.o CC drivers/s390/cio/device_pgid.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/usb/siano/built-in.o CC lib/halfmd4.o CC drivers/s390/char/sclp_ctl.o CC drivers/s390/char/sclp_early.o LD drivers/video/fbdev/omap2/built-in.o CC drivers/s390/char/sclp_ocf.o CC lib/debug_locks.o AR arch/s390/lib/lib.a LD drivers/media/usb/zr364xx/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o CC lib/random32.o CC drivers/tty/tty_mutex.o LD drivers/video/fbdev/built-in.o CC drivers/tty/tty_ldsem.o CC drivers/base/map.o CC drivers/base/devres.o CC lib/kasprintf.o CC lib/bust_spinlocks.o CC drivers/base/transport_class.o LD drivers/video/built-in.o CC drivers/base/attribute_container.o LD drivers/tty/ipwireless/built-in.o LD drivers/media/usb/built-in.o CC lib/bitmap.o CC drivers/base/topology.o CC lib/scatterlist.o CC drivers/base/container.o CC lib/gcd.o LD drivers/tty/serial/built-in.o CC lib/lcm.o LD fs/built-in.o LD drivers/tty/vt/built-in.o CC lib/uuid.o CC lib/list_sort.o CC drivers/base/property.o CC drivers/base/cacheinfo.o LD drivers/char/built-in.o CC lib/flex_array.o CC lib/iov_iter.o CC drivers/base/dma-mapping.o LD drivers/base/power/built-in.o CC lib/find_bit.o CC lib/clz_ctz.o CC lib/bsearch.o CC lib/llist.o CC lib/memweight.o LD drivers/media/built-in.o CC lib/percpu-refcount.o CC lib/kfifo.o LD mm/built-in.o CC lib/percpu_ida.o CC lib/rhashtable.o CC lib/reciprocal_div.o CC lib/once.o CC lib/hexdump.o CC lib/string_helpers.o CC lib/kstrtox.o CC lib/hweight.o CC lib/argv_split.o CC lib/syscall.o CC lib/cmdline.o CC lib/chacha20.o CC lib/ctype.o LD drivers/s390/char/built-in.o CC lib/dec_and_lock.o CC lib/decompress.o CC lib/dma-noop.o CC lib/dump_stack.o CC lib/extable.o CC lib/flex_proportions.o CC lib/idr.o CC lib/earlycpio.o CC lib/ioremap.o CC lib/int_sqrt.o CC lib/is_single_threaded.o CC lib/irq_regs.o CC lib/klist.o CC lib/kobject.o CC lib/kobject_uevent.o CC lib/nmi_backtrace.o CC lib/md5.o CC lib/nodemask.o CC lib/plist.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC lib/seq_buf.o CC lib/sha1.o CC lib/show_mem.o CC lib/string.o CC lib/timerqueue.o CC lib/vsprintf.o LD drivers/base/built-in.o LD lib/built-in.o LD drivers/s390/cio/ccw_device.o LD drivers/s390/cio/built-in.o LD drivers/s390/built-in.o LD drivers/tty/built-in.o LD drivers/built-in.o AR lib/lib.a LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux SORTEX vmlinux SYSMAP System.map OBJCOPY arch/s390/boot/image LDS arch/s390/boot/compressed/vmlinux.lds GEN arch/s390/boot/compressed/sizes.h OBJCOPY arch/s390/boot/compressed/vmlinux.bin GZIP arch/s390/boot/compressed/vmlinux.bin.gz AS arch/s390/boot/compressed/head.o CC arch/s390/boot/compressed/misc.o LD arch/s390/boot/compressed/piggy.o LD arch/s390/boot/compressed/vmlinux OBJCOPY arch/s390/boot/bzImage make[1]: Leaving directory '/home/kisskb/slave/build/linus_s390-allnoconfig_s390x' Completed OK # rm -rf /home/kisskb/slave/build/linus_s390-allnoconfig_s390x # Build took: 0:00:13.732675