# git rev-parse -q --verify 410694e214d5b479bc8b035ded0bb832f1c469b4^{commit} 410694e214d5b479bc8b035ded0bb832f1c469b4 already have revision, skipping fetch # git checkout -q -f -B kisskb 410694e214d5b479bc8b035ded0bb832f1c469b4 # git clean -qxdf # git log -1 commit 410694e214d5b479bc8b035ded0bb832f1c469b4 Merge: 35df017 0ca81a2 Author: Linus Torvalds Date: Sat Oct 24 07:28:05 2015 +0900 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull infiniband fixes from Doug Ledford: "It's late in the game, I know, but these fixes seemed important enough to warrant a late pull request. They all involve oopses or use after frees or corruptions. Six serious fixes: - Hold the mutex around the find and corresponding update of our gid - The ifa list is rcu protected, copy its contents under rcu to avoid using a freed structure - On error, netdev might be null, so check it before trying to release it - On init, if workqueue alloc fails, fail init - The new demux patches exposed a bug in mlx5 and ipath drivers, we need to use the payload P_Key to determine the P_Key the packet arrived on because the hardware doesn't tell us the truth - Due to a couple convoluted error flows, it is possible for the CM to trigger a use_after_free and a double_free of rb nodes. Add two checks to prevent that. This code has worked for 10+ years. It is likely that some of the recent changes have caused this issue to surface. The current patch will protect us from nasty events for now while we track down why this is just now showing up" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: IB/cm: Fix rb-tree duplicate free and use-after-free IB/cma: Use inner P_Key to determine netdev IB/ucma: check workqueue allocation before usage IB/cma: Potential NULL dereference in cma_id_from_event IB/core: Fix use after free of ifa IB/core: Fix memory corruption in ib_cache_gid_set_default_gid # < /opt/cross/gcc-4.6.3-nolibc/hppa-linux/bin/hppa-linux-gcc --version # < git log --format=%s --max-count=1 410694e214d5b479bc8b035ded0bb832f1c469b4 # < make -j 240 ARCH=parisc O=/home/kisskb/slave/build/linus_parisc-allnoconfig_parisc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/hppa-linux/bin/hppa-linux- allnoconfig # make -j 240 ARCH=parisc O=/home/kisskb/slave/build/linus_parisc-allnoconfig_parisc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/hppa-linux/bin/hppa-linux- make[1]: Entering directory `/home/kisskb/slave/build/linus_parisc-allnoconfig_parisc' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[1]: Leaving directory `/home/kisskb/slave/build/linus_parisc-allnoconfig_parisc' make[1]: Entering directory `/home/kisskb/slave/build/linus_parisc-allnoconfig_parisc' CHK include/config/kernel.release UPD include/config/kernel.release GEN ./Makefile WRAP arch/parisc/include/generated/asm/auxvec.h WRAP arch/parisc/include/generated/asm/barrier.h WRAP arch/parisc/include/generated/asm/clkdev.h WRAP arch/parisc/include/generated/asm/cputime.h WRAP arch/parisc/include/generated/asm/device.h WRAP arch/parisc/include/generated/asm/div64.h WRAP arch/parisc/include/generated/asm/emergency-restart.h WRAP arch/parisc/include/generated/asm/exec.h WRAP arch/parisc/include/generated/asm/hw_irq.h WRAP arch/parisc/include/generated/asm/irq_regs.h WRAP arch/parisc/include/generated/asm/irq_work.h WRAP arch/parisc/include/generated/asm/kdebug.h WRAP arch/parisc/include/generated/asm/kvm_para.h WRAP arch/parisc/include/generated/asm/local.h WRAP arch/parisc/include/generated/asm/local64.h WRAP arch/parisc/include/generated/asm/mcs_spinlock.h WRAP arch/parisc/include/generated/asm/mm-arch-hooks.h WRAP arch/parisc/include/generated/asm/mutex.h WRAP arch/parisc/include/generated/asm/param.h WRAP arch/parisc/include/generated/asm/percpu.h WRAP arch/parisc/include/generated/asm/poll.h WRAP arch/parisc/include/generated/asm/preempt.h WRAP arch/parisc/include/generated/asm/seccomp.h WRAP arch/parisc/include/generated/asm/segment.h WRAP arch/parisc/include/generated/asm/topology.h WRAP arch/parisc/include/generated/asm/trace_clock.h WRAP arch/parisc/include/generated/asm/user.h WRAP arch/parisc/include/generated/asm/vga.h WRAP arch/parisc/include/generated/asm/word-at-a-time.h WRAP arch/parisc/include/generated/asm/xor.h WRAP arch/parisc/include/generated/uapi/asm/resource.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/parisc/kernel/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh :1298:2: warning: #warning syscall userfaultfd not implemented [-Wcpp] :1301:2: warning: #warning syscall membarrier not implemented [-Wcpp] 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 CC arch/parisc/mm/init.o CC arch/parisc/mm/fault.o CC arch/parisc/mm/ioremap.o CC arch/parisc/kernel/cache.o AS arch/parisc/kernel/pacache.o CC arch/parisc/kernel/setup.o CC arch/parisc/kernel/traps.o CC arch/parisc/kernel/time.o CC arch/parisc/kernel/irq.o CC arch/parisc/kernel/pa7300lc.o AS arch/parisc/kernel/entry.o AS arch/parisc/kernel/syscall.o CC arch/parisc/kernel/sys_parisc.o CC arch/parisc/kernel/firmware.o CC arch/parisc/kernel/ptrace.o CC arch/parisc/kernel/hardware.o CC arch/parisc/kernel/inventory.o CC arch/parisc/kernel/drivers.o CC arch/parisc/kernel/signal.o AS arch/parisc/kernel/hpmc.o AS arch/parisc/kernel/real2.o CC arch/parisc/kernel/parisc_ksyms.o CC arch/parisc/kernel/unaligned.o CC arch/parisc/kernel/process.o CC arch/parisc/kernel/processor.o CC arch/parisc/kernel/pdc_cons.o CC arch/parisc/kernel/pdc_chassis.o CC arch/parisc/kernel/unwind.o CC arch/parisc/kernel/topology.o CC arch/parisc/kernel/pci-dma.o AS arch/parisc/kernel/head.o LDS arch/parisc/kernel/vmlinux.lds CC arch/parisc/math-emu/driver.o CC arch/parisc/math-emu/decode_exc.o CC arch/parisc/math-emu/frnd.o CC arch/parisc/math-emu/fpudispatch.o CC arch/parisc/math-emu/denormal.o CC arch/parisc/math-emu/dfmpy.o CC arch/parisc/math-emu/sfmpy.o CC arch/parisc/math-emu/sfsqrt.o CC arch/parisc/math-emu/dfsqrt.o CC arch/parisc/math-emu/dfadd.o CC arch/parisc/math-emu/fmpyfadd.o CC arch/parisc/math-emu/sfadd.o CC arch/parisc/math-emu/dfsub.o CC arch/parisc/math-emu/sfsub.o CC arch/parisc/math-emu/fcnvfxt.o CC arch/parisc/math-emu/fcnvff.o CC arch/parisc/math-emu/fcnvxf.o CC arch/parisc/math-emu/fcnvfx.o LD certs/built-in.o CC arch/parisc/math-emu/fcnvuf.o CC arch/parisc/math-emu/fcnvfu.o CC arch/parisc/math-emu/fcnvfut.o CC arch/parisc/math-emu/dfdiv.o CC arch/parisc/math-emu/sfdiv.o CC arch/parisc/math-emu/dfrem.o CC arch/parisc/math-emu/sfrem.o CC arch/parisc/math-emu/dfcmp.o CC arch/parisc/math-emu/sfcmp.o CC kernel/fork.o CC kernel/exec_domain.o CC kernel/panic.o CC kernel/cpu.o CC kernel/exit.o CC kernel/softirq.o CC kernel/resource.o CC kernel/sysctl.o CC kernel/sysctl_binary.o CC kernel/capability.o CC kernel/ptrace.o CC kernel/user.o CC kernel/signal.o CC kernel/sys.o CC kernel/kmod.o CC kernel/workqueue.o CC kernel/pid.o CC kernel/task_work.o CC kernel/extable.o CC mm/filemap.o CC kernel/params.o CC mm/mempool.o CC mm/oom_kill.o CC kernel/sys_ni.o CC kernel/kthread.o CC mm/maccess.o CC kernel/nsproxy.o CC mm/page_alloc.o CC kernel/notifier.o CC mm/page-writeback.o CC mm/readahead.o CC kernel/ksysfs.o CC mm/swap.o CC kernel/cred.o LD ipc/built-in.o CC mm/truncate.o CC mm/vmscan.o CC kernel/async.o CC mm/shmem.o CC kernel/range.o CC kernel/reboot.o CC kernel/smpboot.o CC mm/util.o CC mm/mmzone.o CC kernel/up.o CC mm/vmstat.o CC kernel/memremap.o CC mm/backing-dev.o LD kernel/livepatch/built-in.o CC kernel/power/qos.o CC kernel/printk/printk.o CC mm/mm_init.o CC kernel/rcu/update.o CC kernel/rcu/tiny.o CC mm/mmu_context.o CC mm/percpu.o CC kernel/locking/mutex.o CC kernel/irq/irqdesc.o CC kernel/irq/handle.o CC kernel/locking/semaphore.o CC mm/slab_common.o CC kernel/sched/core.o CC kernel/irq/manage.o CC kernel/locking/percpu-rwsem.o CC kernel/locking/rwsem.o CC kernel/sched/loadavg.o CC kernel/irq/spurious.o CC kernel/irq/resend.o CC mm/compaction.o CC kernel/locking/rwsem-spinlock.o CC mm/vmacache.o CC kernel/sched/clock.o CC mm/interval_tree.o CC kernel/sched/cputime.o CC kernel/time/time.o CC mm/list_lru.o CC kernel/irq/chip.o CC kernel/time/timer.o CC kernel/sched/idle_task.o CC kernel/irq/dummychip.o CC kernel/time/hrtimer.o CC kernel/irq/devres.o CC kernel/irq/autoprobe.o CC mm/workingset.o CC fs/open.o CC kernel/sched/fair.o CC mm/debug.o CC mm/highmem.o CC fs/stat.o CC fs/file_table.o CC fs/char_dev.o CC kernel/sched/rt.o CC kernel/time/itimer.o CC mm/gup.o CC kernel/time/posix-timers.o CC fs/super.o CC kernel/sched/deadline.o CC fs/read_write.o CC mm/memory.o CC kernel/time/posix-cpu-timers.o CC kernel/sched/stop_task.o CC kernel/time/timekeeping.o CC mm/mincore.o CC fs/exec.o CC kernel/time/ntp.o CC kernel/sched/completion.o CC kernel/time/clocksource.o CC mm/mlock.o CC kernel/sched/wait.o CC fs/pipe.o CC kernel/sched/idle.o CC fs/namei.o CC mm/mmap.o CC mm/mprotect.o CC kernel/time/timer_list.o CC mm/mremap.o CC kernel/time/jiffies.o CC fs/fcntl.o CC kernel/time/timeconv.o CC mm/msync.o CC fs/ioctl.o CC mm/rmap.o CC security/commoncap.o CC mm/vmalloc.o CC fs/readdir.o CC kernel/time/posix-clock.o CC security/min_addr.o CC fs/select.o CC mm/pagewalk.o CC kernel/time/alarmtimer.o CC fs/dcache.o CC kernel/time/timecounter.o CC mm/pgtable-generic.o CC fs/attr.o CC fs/inode.o CC mm/init-mm.o CC mm/bootmem.o CC fs/bad_inode.o CC fs/file.o CC fs/filesystems.o CC fs/namespace.o CC mm/slub.o CC fs/seq_file.o CC mm/dmapool.o CC fs/xattr.o CC fs/libfs.o CC fs/fs-writeback.o CC fs/pnode.o CC fs/splice.o CC fs/sync.o CC fs/utimes.o LD crypto/built-in.o CC fs/stack.o CC fs/fs_struct.o CC fs/statfs.o CC fs/nsfs.o CC fs/fs_pin.o CC fs/no-block.o LD fs/devpts/built-in.o LD fs/exofs/built-in.o LD fs/quota/built-in.o CC fs/ramfs/inode.o CC fs/ramfs/file-mmu.o LD fs/notify/dnotify/built-in.o LD fs/notify/fanotify/built-in.o LD block/built-in.o LD init/mounts.o LD fs/notify/inotify/built-in.o LD arch/parisc/mm/built-in.o LD init/built-in.o LD fs/notify/built-in.o LD sound/built-in.o LD kernel/rcu/built-in.o LD arch/parisc/kernel/built-in.o LD firmware/built-in.o LD kernel/locking/built-in.o LD net/built-in.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o LD drivers/bus/built-in.o LD drivers/block/built-in.o LD drivers/cdrom/built-in.o LD drivers/clocksource/built-in.o LD drivers/clk/built-in.o LD drivers/gpio/built-in.o LD drivers/idle/built-in.o LD drivers/firewire/built-in.o LD drivers/irqchip/built-in.o LD drivers/lguest/built-in.o LD drivers/leds/built-in.o LD drivers/macintosh/built-in.o LD drivers/net/built-in.o LD drivers/mfd/built-in.o LD drivers/nfc/built-in.o LD drivers/soc/built-in.o LD drivers/pwm/built-in.o LD drivers/mmc/built-in.o CC drivers/char/mem.o LD drivers/platform/built-in.o CC drivers/char/random.o CC drivers/parisc/power.o CC drivers/char/misc.o LD kernel/power/built-in.o LD drivers/hsi/controllers/built-in.o LD drivers/hsi/clients/built-in.o LD drivers/char/agp/built-in.o LD drivers/gpu/vga/built-in.o CC drivers/rtc/rtc-lib.o LD drivers/i2c/busses/built-in.o LD drivers/i2c/muxes/built-in.o LD drivers/video/backlight/built-in.o LD drivers/i2c/algos/built-in.o LD drivers/hsi/built-in.o CC drivers/rtc/class.o LD drivers/firmware/broadcom/built-in.o LD drivers/misc/ti-st/built-in.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/misc/cb710/built-in.o CC drivers/rtc/interface.o LD drivers/misc/eeprom/built-in.o CC drivers/rtc/rtc-generic.o LD drivers/i2c/built-in.o CC drivers/base/component.o LD drivers/firmware/built-in.o CC drivers/base/core.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/misc/mic/bus/built-in.o LD drivers/gpu/drm/i2c/built-in.o LD drivers/gpu/drm/panel/built-in.o CC drivers/base/bus.o LD drivers/gpu/drm/tilcdc/built-in.o CC drivers/tty/tty_io.o CC drivers/video/fbdev/core/fb_notify.o CC drivers/base/dd.o CC drivers/tty/n_tty.o CC drivers/base/syscore.o LD drivers/misc/mic/built-in.o CC drivers/tty/tty_ioctl.o CC arch/parisc/lib/iomap.o CC drivers/base/driver.o CC arch/parisc/lib/bitops.o CC drivers/base/class.o CC drivers/tty/tty_ldisc.o CC drivers/base/platform.o LD drivers/gpu/drm/built-in.o CC drivers/tty/tty_buffer.o LD drivers/misc/built-in.o CC arch/parisc/lib/checksum.o CC drivers/base/cpu.o CC drivers/tty/tty_port.o LD drivers/video/fbdev/omap2/displays-new/built-in.o LD drivers/media/firewire/built-in.o CC drivers/tty/tty_mutex.o CC drivers/base/firmware.o AS arch/parisc/lib/fixup.o CC drivers/tty/tty_ldsem.o CC arch/parisc/lib/delay.o CC lib/usercopy.o CC drivers/base/init.o LD drivers/video/fbdev/omap2/dss/built-in.o CC drivers/base/devres.o LD drivers/media/tuners/built-in.o CC lib/lockref.o CC arch/parisc/lib/io.o LD kernel/printk/built-in.o CC drivers/base/attribute_container.o CC drivers/base/map.o CC lib/div64.o CC lib/bcd.o LD drivers/tty/ipwireless/built-in.o AS arch/parisc/lib/lusercopy.o LD drivers/gpu/built-in.o LD drivers/tty/serial/built-in.o LD drivers/media/i2c/soc_camera/built-in.o CC arch/parisc/lib/memcpy.o CC drivers/base/transport_class.o CC drivers/base/topology.o CC drivers/base/container.o CC lib/sort.o LD fs/ramfs/ramfs.o LD drivers/media/mmc/siano/built-in.o CC lib/parser.o LD drivers/tty/vt/built-in.o CC arch/parisc/lib/ucmpdi2.o CC lib/halfmd4.o LD drivers/media/rc/keymaps/built-in.o CC arch/parisc/lib/memset.o CC drivers/base/property.o CC lib/random32.o CC lib/debug_locks.o LD drivers/media/i2c/built-in.o CC drivers/base/dma-mapping.o LD drivers/media/platform/omap/built-in.o LD drivers/video/fbdev/omap2/built-in.o LD drivers/media/common/b2c2/built-in.o LD fs/ramfs/built-in.o LD drivers/media/mmc/built-in.o CC lib/bust_spinlocks.o CC drivers/base/cacheinfo.o LD drivers/base/power/built-in.o CC lib/kasprintf.o CC lib/bitmap.o LD drivers/media/rc/built-in.o LD drivers/media/platform/built-in.o CC lib/scatterlist.o CC lib/gcd.o LD drivers/media/common/siano/built-in.o LD drivers/media/common/saa7146/built-in.o CC lib/lcm.o CC lib/list_sort.o CC lib/uuid.o LD drivers/media/common/built-in.o CC lib/flex_array.o CC lib/iov_iter.o CC lib/clz_ctz.o CC lib/bsearch.o CC lib/find_bit.o LD drivers/media/usb/b2c2/built-in.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/usb/siano/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/media/usb/dvb-usb/built-in.o CC lib/llist.o CC lib/memweight.o CC lib/kfifo.o LD drivers/media/usb/zr364xx/built-in.o CC lib/percpu-refcount.o CC lib/percpu_ida.o LD drivers/media/usb/built-in.o LD drivers/media/pci/b2c2/built-in.o LD drivers/media/pci/dm1105/built-in.o CC lib/rhashtable.o LD drivers/media/pci/netup_unidvb/built-in.o CC lib/reciprocal_div.o LD drivers/media/pci/ddbridge/built-in.o CC lib/string_helpers.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/pluto2/built-in.o CC lib/hexdump.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/pci/pt1/built-in.o CC lib/kstrtox.o LD drivers/media/pci/smipcie/built-in.o LD drivers/media/pci/saa7146/built-in.o CC lib/pci_iomap.o CC lib/iomap_copy.o CC lib/devres.o CC lib/hweight.o LD drivers/media/pci/ttpci/built-in.o CC lib/atomic64.o LD kernel/irq/built-in.o CC lib/strncpy_from_user.o CC lib/argv_split.o CC lib/bug.o LD drivers/media/pci/built-in.o CC lib/cmdline.o CC lib/ctype.o CC lib/dec_and_lock.o CC lib/decompress.o CC lib/dump_stack.o CC lib/earlycpio.o CC lib/extable.o CC lib/flex_proportions.o CC lib/idr.o CC lib/int_sqrt.o CC lib/ioremap.o CC lib/irq_regs.o CC lib/is_single_threaded.o LD drivers/media/built-in.o CC lib/klist.o CC lib/kobject.o CC lib/kobject_uevent.o CC lib/md5.o CC lib/nmi_backtrace.o CC lib/plist.o CC lib/proportions.o CC lib/radix-tree.o LD drivers/parisc/built-in.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/video/fbdev/core/built-in.o LD security/built-in.o LD drivers/video/fbdev/built-in.o LD drivers/video/built-in.o LD arch/parisc/math-emu/built-in.o AR arch/parisc/lib/lib.a LD arch/parisc/lib/built-in.o LD drivers/rtc/rtc-core.o LD drivers/rtc/built-in.o LD drivers/char/built-in.o LD kernel/time/built-in.o LD kernel/sched/built-in.o LD drivers/base/built-in.o LD kernel/built-in.o LD mm/built-in.o LD lib/built-in.o LD drivers/tty/built-in.o LD drivers/built-in.o LD fs/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 make[1]: Leaving directory `/home/kisskb/slave/build/linus_parisc-allnoconfig_parisc' Completed OK # rm -rf /home/kisskb/slave/build/linus_parisc-allnoconfig_parisc # Build took: 0:00:18.709429