# git rev-parse -q --verify 21f54ddae449f4bdd9f1498124901d67202243d9^{commit} 21f54ddae449f4bdd9f1498124901d67202243d9 already have revision, skipping fetch # git checkout -q -f -B kisskb 21f54ddae449f4bdd9f1498124901d67202243d9 # git clean -qxdf # git log -1 commit 21f54ddae449f4bdd9f1498124901d67202243d9 Author: Linus Torvalds Date: Mon Oct 3 21:03:48 2016 -0700 Using BUG_ON() as an assert() is _never_ acceptable That just generally kills the machine, and makes debugging only much harder, since the traces may long be gone. Debugging by assert() is a disease. Don't do it. If you can continue, you're much better off doing so with a live machine where you have a much higher chance that the report actually makes it to the system logs, rather than result in a machine that is just completely dead. The only valid situation for BUG_ON() is when continuing is not an option, because there is massive corruption. But if you are just verifying that something is true, you warn about your broken assumptions (preferably just once), and limp on. Fixes: 22f2ac51b6d6 ("mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page()") Cc: Johannes Weiner Cc: Miklos Szeredi Cc: Andrew Morton Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < git log --format=%s --max-count=1 21f54ddae449f4bdd9f1498124901d67202243d9 # < make -j 10 ARCH=sparc O=/home/kisskb/slave/build/linus_sparc-allnoconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/sparc64-linux/bin/sparc64-linux- allnoconfig # make -j 10 ARCH=sparc O=/home/kisskb/slave/build/linus_sparc-allnoconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/sparc64-linux/bin/sparc64-linux- make[1]: Entering directory '/home/kisskb/slave/build/linus_sparc-allnoconfig_sparc64' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release UPD include/config/kernel.release GEN ./Makefile WRAP arch/sparc/include/generated/asm/clkdev.h WRAP arch/sparc/include/generated/asm/cputime.h WRAP arch/sparc/include/generated/asm/div64.h WRAP arch/sparc/include/generated/asm/emergency-restart.h WRAP arch/sparc/include/generated/asm/exec.h WRAP arch/sparc/include/generated/asm/irq_regs.h WRAP arch/sparc/include/generated/asm/irq_work.h WRAP arch/sparc/include/generated/asm/linkage.h WRAP arch/sparc/include/generated/asm/local.h WRAP arch/sparc/include/generated/asm/local64.h WRAP arch/sparc/include/generated/asm/mcs_spinlock.h WRAP arch/sparc/include/generated/asm/mm-arch-hooks.h WRAP arch/sparc/include/generated/asm/module.h WRAP arch/sparc/include/generated/asm/mutex.h WRAP arch/sparc/include/generated/asm/preempt.h WRAP arch/sparc/include/generated/asm/rwsem.h WRAP arch/sparc/include/generated/asm/serial.h WRAP arch/sparc/include/generated/asm/trace_clock.h WRAP arch/sparc/include/generated/asm/types.h WRAP arch/sparc/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 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 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/sparc/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/calibrate.o CC init/init_task.o LD usr/built-in.o UPD include/generated/compile.h CC init/version.o LD arch/sparc/crypto/built-in.o CC arch/sparc/math-emu/math_32.o CC arch/sparc/mm/fault_32.o AS arch/sparc/kernel/entry.o CC arch/sparc/mm/init_32.o AS arch/sparc/kernel/wof.o CC kernel/fork.o AS arch/sparc/kernel/wuf.o AS arch/sparc/kernel/etrap_32.o AS arch/sparc/kernel/rtrap_32.o CC arch/sparc/kernel/traps_32.o LD certs/built-in.o CC mm/filemap.o CC kernel/exec_domain.o CC fs/open.o CC fs/read_write.o CC arch/sparc/mm/extable.o CC arch/sparc/kernel/irq_32.o LD ipc/built-in.o CC arch/sparc/kernel/sun4m_irq.o CC arch/sparc/mm/srmmu.o CC security/commoncap.o LD init/mounts.o LD init/built-in.o CC arch/sparc/mm/iommu.o CC arch/sparc/mm/io-unit.o CC kernel/panic.o CC arch/sparc/kernel/sun4d_irq.o AS arch/sparc/mm/srmmu_access.o CC arch/sparc/kernel/process_32.o CC mm/mempool.o CC arch/sparc/kernel/signal_32.o CC security/min_addr.o CC fs/file_table.o CC kernel/cpu.o AS arch/sparc/mm/hypersparc.o AS arch/sparc/mm/viking.o AS arch/sparc/mm/tsunami.o CC kernel/exit.o AS arch/sparc/mm/swift.o CC arch/sparc/mm/leon_mm.o LD security/built-in.o LD arch/sparc/net/built-in.o CC fs/super.o CC mm/oom_kill.o CC mm/maccess.o CC arch/sparc/kernel/sigutil_32.o CC arch/sparc/kernel/ioport.o CC fs/char_dev.o CC arch/sparc/mm/highmem.o CC fs/stat.o CC mm/page_alloc.o CC fs/exec.o LD arch/sparc/mm/built-in.o CC fs/pipe.o CC fs/namei.o CC fs/fcntl.o CC mm/page-writeback.o LD arch/sparc/math-emu/built-in.o CC kernel/softirq.o LD crypto/built-in.o CC arch/sparc/kernel/setup_32.o CC kernel/resource.o LD block/built-in.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o CC drivers/base/component.o CC arch/sparc/kernel/idprom.o CC fs/ioctl.o CC fs/readdir.o LD drivers/block/built-in.o LD drivers/bus/built-in.o LD drivers/cdrom/built-in.o CC drivers/char/mem.o CC mm/readahead.o CC kernel/sysctl.o CC drivers/base/core.o CC arch/sparc/kernel/sys_sparc_32.o AS arch/sparc/kernel/systbls_32.o CC kernel/sysctl_binary.o CC drivers/char/random.o LD sound/built-in.o CC drivers/char/misc.o LD drivers/char/agp/built-in.o CC mm/swap.o CC arch/sparc/kernel/time_32.o CC mm/truncate.o CC mm/vmscan.o LD drivers/clk/bcm/built-in.o CC mm/shmem.o LD drivers/clk/mvebu/built-in.o LD drivers/clk/ti/built-in.o LD drivers/clk/built-in.o CC fs/select.o CC kernel/capability.o CC drivers/base/bus.o CC arch/sparc/kernel/windows.o LD drivers/char/built-in.o CC arch/sparc/kernel/cpu.o CC arch/sparc/kernel/devices.o CC kernel/ptrace.o CC fs/dcache.o LD firmware/built-in.o CC fs/inode.o CC fs/attr.o CC fs/bad_inode.o CC arch/sparc/kernel/ptrace_32.o CC arch/sparc/kernel/unaligned_32.o LD drivers/clocksource/built-in.o CC fs/file.o CC drivers/base/dd.o LD drivers/firewire/built-in.o CC mm/util.o CC fs/filesystems.o CC kernel/user.o CC fs/namespace.o CC mm/mmzone.o AS arch/sparc/kernel/una_asm_32.o CC arch/sparc/kernel/prom_common.o CC kernel/signal.o CC drivers/base/syscore.o CC kernel/sys.o CC fs/seq_file.o CC fs/xattr.o CC arch/sparc/kernel/prom_32.o CC mm/vmstat.o CC fs/libfs.o CC drivers/base/driver.o CC fs/fs-writeback.o CC arch/sparc/kernel/of_device_common.o CC mm/backing-dev.o CC drivers/base/class.o CC drivers/base/platform.o CC fs/pnode.o CC arch/sparc/kernel/of_device_32.o CC arch/sparc/kernel/leon_kernel.o CC fs/splice.o CC kernel/kmod.o CC mm/mm_init.o CC arch/sparc/kernel/leon_pmc.o CC mm/mmu_context.o CC arch/sparc/kernel/dma.o CC mm/percpu.o CC mm/slab_common.o CC mm/compaction.o CC drivers/base/cpu.o CC drivers/base/firmware.o CC drivers/base/init.o CC kernel/workqueue.o CC fs/sync.o CC arch/sparc/kernel/auxio_32.o LD drivers/firmware/broadcom/built-in.o LD drivers/firmware/built-in.o CC arch/sparc/kernel/apc.o CC kernel/pid.o LD net/built-in.o CC drivers/base/map.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/gpu/drm/hisilicon/built-in.o LD drivers/gpu/drm/i2c/built-in.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD drivers/hwtracing/intel_th/built-in.o LD drivers/gpu/drm/omapdrm/built-in.o CC arch/sparc/kernel/pmc.o LD drivers/gpu/drm/panel/built-in.o LD drivers/gpu/drm/tilcdc/built-in.o LD drivers/gpu/drm/built-in.o LD drivers/gpu/vga/built-in.o LD drivers/gpu/built-in.o CC kernel/task_work.o CC kernel/extable.o CC mm/vmacache.o CC lib/lockref.o CC fs/utimes.o CC drivers/base/devres.o CC lib/bcd.o CC lib/div64.o AS arch/sparc/kernel/head_32.o LDS arch/sparc/kernel/vmlinux.lds LD arch/sparc/kernel/built-in.o LD arch/sparc/built-in.o CC drivers/base/attribute_container.o CC drivers/base/transport_class.o CC drivers/base/topology.o LD drivers/i2c/algos/built-in.o LD drivers/i2c/busses/built-in.o LD drivers/idle/built-in.o CC mm/interval_tree.o CC kernel/params.o LD drivers/i2c/muxes/built-in.o LD drivers/i2c/built-in.o CC fs/stack.o CC lib/sort.o CC drivers/base/container.o CC lib/parser.o CC fs/fs_struct.o CC lib/halfmd4.o CC fs/statfs.o CC fs/fs_pin.o LD drivers/irqchip/built-in.o CC drivers/base/property.o CC drivers/base/cacheinfo.o LD drivers/base/power/built-in.o CC drivers/base/dma-mapping.o CC lib/debug_locks.o CC lib/random32.o CC mm/list_lru.o CC mm/workingset.o CC mm/debug.o CC mm/gup.o CC kernel/kthread.o CC fs/nsfs.o CC fs/no-block.o CC lib/bust_spinlocks.o LD fs/devpts/built-in.o LD fs/exofs/built-in.o LD fs/notify/dnotify/built-in.o LD fs/notify/fanotify/built-in.o CC lib/kasprintf.o LD fs/notify/inotify/built-in.o CC kernel/sys_ni.o CC lib/bitmap.o LD fs/notify/built-in.o LD fs/quota/built-in.o CC kernel/nsproxy.o CC fs/ramfs/inode.o CC mm/highmem.o LD arch/sparc/prom/built-in.o CC arch/sparc/prom/bootstr_32.o CC fs/ramfs/file-mmu.o CC kernel/notifier.o LD drivers/base/built-in.o CC kernel/ksysfs.o LD drivers/lguest/built-in.o LD drivers/macintosh/built-in.o CC arch/sparc/prom/console_32.o CC mm/memory.o LD drivers/media/common/b2c2/built-in.o LD drivers/media/common/saa7146/built-in.o LD drivers/media/common/siano/built-in.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/media/common/built-in.o LD drivers/media/firewire/built-in.o LD drivers/media/i2c/soc_camera/built-in.o LD drivers/media/i2c/built-in.o CC arch/sparc/lib/atomic32.o CC mm/mincore.o LD drivers/media/mmc/siano/built-in.o LD drivers/media/mmc/built-in.o LD fs/ramfs/ramfs.o LD fs/ramfs/built-in.o LD fs/built-in.o CC kernel/cred.o CC arch/sparc/lib/ucmpdi2.o LD drivers/media/pci/b2c2/built-in.o LD drivers/media/pci/ddbridge/built-in.o CC arch/sparc/prom/init_32.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/mantis/built-in.o CC arch/sparc/prom/memory.o CC lib/scatterlist.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/media/platform/omap/built-in.o LD drivers/media/platform/built-in.o LD drivers/media/pci/ngene/built-in.o CC arch/sparc/prom/misc_32.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/pci/pt1/built-in.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/pci/smipcie/built-in.o CC arch/sparc/prom/mp.o LD drivers/media/pci/ttpci/built-in.o CC arch/sparc/lib/ksyms.o LD drivers/media/pci/built-in.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/rc/built-in.o LD drivers/media/tuners/built-in.o CC arch/sparc/prom/printf.o LD drivers/media/usb/b2c2/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o CC arch/sparc/prom/ranges.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/usb/siano/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/media/usb/zr364xx/built-in.o AS arch/sparc/lib/ashldi3.o LD drivers/media/usb/built-in.o LD drivers/mfd/built-in.o AS arch/sparc/lib/ashrdi3.o CC kernel/reboot.o LD drivers/media/built-in.o LD drivers/misc/cb710/built-in.o CC kernel/async.o CC arch/sparc/lib/bitext.o CC kernel/range.o LD drivers/misc/eeprom/built-in.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/misc/mic/bus/built-in.o LD drivers/misc/mic/built-in.o LD drivers/misc/ti-st/built-in.o LD drivers/misc/built-in.o LD drivers/mmc/built-in.o LD drivers/net/built-in.o LD virt/lib/built-in.o CC mm/mlock.o LD drivers/nfc/built-in.o LD virt/built-in.o CC drivers/of/base.o AS arch/sparc/lib/blockops.o LD drivers/nvme/host/built-in.o LD drivers/platform/built-in.o LD drivers/nvme/target/built-in.o CC arch/sparc/prom/tree_32.o LD drivers/power/built-in.o AS arch/sparc/lib/checksum_32.o LD drivers/nvme/built-in.o CC arch/sparc/lib/cmpdi2.o CC lib/gcd.o CC lib/lcm.o LD drivers/pwm/built-in.o CC lib/list_sort.o CC kernel/smpboot.o CC drivers/rtc/rtc-lib.o CC drivers/rtc/systohc.o AS arch/sparc/lib/copy_user.o CC lib/uuid.o AS arch/sparc/lib/divdi3.o AS arch/sparc/lib/locks.o AS arch/sparc/lib/lshrdi3.o AS arch/sparc/lib/memcmp.o AS arch/sparc/lib/memcpy.o CC lib/flex_array.o AS arch/sparc/lib/memscan_32.o AS arch/sparc/lib/memset.o AS arch/sparc/lib/muldi3.o LD drivers/sbus/char/built-in.o AS arch/sparc/lib/strlen.o LD drivers/sbus/built-in.o AR arch/sparc/prom/lib.a CC drivers/of/device.o AS arch/sparc/lib/strncmp_32.o CC kernel/irq/irqdesc.o AS arch/sparc/lib/udivdi3.o LD arch/sparc/lib/built-in.o CC mm/mmap.o AR arch/sparc/lib/lib.a CC lib/iov_iter.o CC drivers/rtc/class.o CC kernel/irq/handle.o CC lib/clz_ctz.o LD drivers/soc/bcm/built-in.o LD drivers/soc/fsl/built-in.o LD drivers/soc/built-in.o LD drivers/tty/ipwireless/built-in.o CC lib/bsearch.o LD drivers/tty/serial/built-in.o LD drivers/tty/vt/built-in.o LD drivers/tty/built-in.o CC lib/find_bit.o CC lib/llist.o CC lib/memweight.o CC drivers/rtc/interface.o CC drivers/rtc/rtc-m48t59.o CC kernel/irq/manage.o CC lib/kfifo.o CC drivers/of/platform.o CC drivers/of/pdt.o LD drivers/video/backlight/built-in.o CC lib/percpu-refcount.o LD drivers/video/fbdev/core/built-in.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o LD drivers/video/fbdev/omap2/omapfb/built-in.o LD drivers/video/fbdev/omap2/built-in.o LD drivers/video/fbdev/built-in.o LD drivers/video/built-in.o CC lib/percpu_ida.o CC lib/rhashtable.o CC lib/reciprocal_div.o LD drivers/of/built-in.o CC lib/once.o CC lib/string_helpers.o CC lib/hexdump.o CC mm/mprotect.o LD drivers/rtc/rtc-core.o CC mm/mremap.o LD drivers/rtc/built-in.o LD drivers/built-in.o CC mm/msync.o CC mm/rmap.o CC mm/vmalloc.o CC mm/pagewalk.o CC kernel/irq/spurious.o CC lib/kstrtox.o CC lib/pci_iomap.o LD kernel/livepatch/built-in.o CC mm/pgtable-generic.o CC kernel/locking/mutex.o CC kernel/irq/resend.o CC lib/iomap_copy.o CC kernel/locking/semaphore.o CC mm/init-mm.o CC mm/bootmem.o CC lib/devres.o CC lib/hweight.o CC lib/syscall.o CC kernel/irq/chip.o CC kernel/irq/dummychip.o CC kernel/irq/devres.o CC lib/atomic64.o CC lib/strncpy_from_user.o CC kernel/locking/rwsem.o CC kernel/locking/percpu-rwsem.o CC kernel/locking/rwsem-spinlock.o CC lib/strnlen_user.o CC kernel/power/qos.o CC kernel/printk/printk.o CC mm/dmapool.o CC kernel/rcu/update.o CC kernel/sched/core.o CC mm/slub.o CC kernel/time/time.o CC lib/argv_split.o LD kernel/locking/built-in.o CC kernel/time/timer.o LD kernel/irq/built-in.o CC kernel/dma.o CC kernel/rcu/sync.o /home/kisskb/slave/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /home/kisskb/slave/src/kernel/printk/printk.c:183:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] CC kernel/up.o CC lib/chacha20.o CC kernel/sched/loadavg.o LD kernel/power/built-in.o CC kernel/memremap.o LD kernel/printk/built-in.o CC lib/clz_tab.o CC kernel/rcu/tiny.o CC kernel/time/hrtimer.o CC lib/cmdline.o CC kernel/time/itimer.o CC lib/ctype.o CC lib/dec_and_lock.o CC kernel/sched/clock.o CC lib/decompress.o CC kernel/time/posix-timers.o CC lib/dma-noop.o CC lib/dump_stack.o CC kernel/sched/cputime.o LD kernel/rcu/built-in.o CC kernel/time/posix-cpu-timers.o CC lib/earlycpio.o CC lib/extable.o CC lib/flex_proportions.o CC kernel/time/timekeeping.o CC lib/idr.o CC lib/int_sqrt.o CC lib/ioremap.o CC lib/irq_regs.o CC kernel/sched/idle_task.o CC lib/is_single_threaded.o CC kernel/sched/fair.o CC kernel/sched/rt.o CC kernel/time/ntp.o LD mm/built-in.o CC lib/klist.o CC lib/kobject.o CC lib/kobject_uevent.o CC kernel/sched/deadline.o CC lib/md5.o CC kernel/time/clocksource.o CC lib/nmi_backtrace.o CC kernel/sched/stop_task.o CC kernel/sched/wait.o CC kernel/sched/swait.o CC kernel/sched/completion.o CC kernel/sched/idle.o CC kernel/time/jiffies.o CC kernel/time/timer_list.o CC lib/nodemask.o CC lib/plist.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC kernel/time/timeconv.o CC kernel/time/timecounter.o CC kernel/time/posix-clock.o CC kernel/time/alarmtimer.o CC kernel/time/clockevents.o CC lib/seq_buf.o CC kernel/time/tick-common.o LD kernel/sched/built-in.o CC lib/sha1.o CC lib/show_mem.o CC lib/string.o CC lib/timerqueue.o CC lib/vsprintf.o LD lib/built-in.o LD kernel/time/built-in.o LD kernel/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 SYSMAP System.map STRIP arch/sparc/boot/image kernel: arch/sparc/boot/image is ready STRIP arch/sparc/boot/zImage kernel: arch/sparc/boot/zImage is ready make[1]: Leaving directory '/home/kisskb/slave/build/linus_sparc-allnoconfig_sparc64' Completed OK # rm -rf /home/kisskb/slave/build/linus_sparc-allnoconfig_sparc64 # Build took: 0:00:19.699853