# git rev-parse -q --verify a8dba0531bc0ba8b65e77a4a858da4b6eeaa1b92^{commit} a8dba0531bc0ba8b65e77a4a858da4b6eeaa1b92 already have revision, skipping fetch # git checkout -q -f -B kisskb a8dba0531bc0ba8b65e77a4a858da4b6eeaa1b92 # git clean -qxdf # < git log -1 # commit a8dba0531bc0ba8b65e77a4a858da4b6eeaa1b92 # Merge: e83b009c5c36 2c8ccb37b08f # Author: Linus Torvalds # Date: Wed Aug 14 11:10:38 2019 -0700 # # Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma # # Pull rdma fixes from Doug Ledford: # "Fairly small pull request for -rc3. I'm out of town the rest of this # week, so I made sure to clean out as much as possible from patchworks # in enough time for 0-day to chew through it (Yay! for 0-day being back # online! :-)). Jason might send through any emergency stuff that could # pop up, otherwise I'm back next week. # # The only real thing of note is the siw ABI change. Since we just # merged siw *this* release, there are no prior kernel releases to # maintain kernel ABI with. I told Bernard that if there is anything # else about the siw ABI he thinks he might want to change before it # goes set in stone, he should get it in ASAP. The siw module was around # for several years outside the kernel tree, and it had to be revamped # considerably for inclusion upstream, so we are making no attempts to # be backward compatible with the out of tree version. Once 5.3 is # actually released, we will have our baseline ABI to maintain. # # Summary: # # - Fix a memory registration release flow issue that was causing a # WARN_ON (mlx5) # # - If the counters for a port aren't allocated, then we can't do # operations on the non-existent counters (core) # # - Check the right variable for error code result (mlx5) # # - Fix a use after free issue (mlx5) # # - Fix an off by one memory leak (siw) # # - Actually return an error code on error (core) # # - Allow siw to be built on 32bit arches (siw, ABI change, but OK # since siw was just merged this merge window and there is no prior # released kernel to maintain compatibility with and we also updated # the rdma-core user space package to match)" # # * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: # RDMA/siw: Change CQ flags from 64->32 bits # RDMA/core: Fix error code in stat_get_doit_qp() # RDMA/siw: Fix a memory leak in siw_init_cpulist() # IB/mlx5: Fix use-after-free error while accessing ev_file pointer # IB/mlx5: Check the correct variable in error handling code # RDMA/counter: Prevent QP counter binding if counters unsupported # IB/mlx5: Fix implicit MR release flow # < /opt/cross/kisskb/br-xtensa-full-2016.08-613-ge98b4dd/bin/xtensa-linux-gcc --version # < /opt/cross/kisskb/br-xtensa-full-2016.08-613-ge98b4dd/bin/xtensa-linux-ld --version # < git log --format=%s --max-count=1 a8dba0531bc0ba8b65e77a4a858da4b6eeaa1b92 # < make -s -j 120 ARCH=xtensa O=/kisskb/build/linus_xtensa-allmodconfig_xtensa CROSS_COMPILE=/opt/cross/kisskb/br-xtensa-full-2016.08-613-ge98b4dd/bin/xtensa-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # yes \n | make -s -j 120 ARCH=xtensa O=/kisskb/build/linus_xtensa-allmodconfig_xtensa CROSS_COMPILE=/opt/cross/kisskb/br-xtensa-full-2016.08-613-ge98b4dd/bin/xtensa-linux- oldconfig yes: standard output: Broken pipe # make -s -j 120 ARCH=xtensa O=/kisskb/build/linus_xtensa-allmodconfig_xtensa CROSS_COMPILE=/opt/cross/kisskb/br-xtensa-full-2016.08-613-ge98b4dd/bin/xtensa-linux- usr/include/asm/setup.h:17: userspace cannot reference function or variable defined in the kernel In file included from /kisskb/src/arch/xtensa/include/asm/atomic.h:19:0, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/asm-generic/bitops/atomic.h:5, from /kisskb/src/arch/xtensa/include/asm/bitops.h:339, from /kisskb/src/include/linux/bitops.h:19, from /kisskb/src/include/linux/kernel.h:12, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/wait.h:7, from /kisskb/src/include/linux/wait_bit.h:8, from /kisskb/src/include/linux/fs.h:6, from /kisskb/src/fs/ocfs2/file.c:13: /kisskb/src/fs/ocfs2/file.c: In function 'ocfs2_file_write_iter': /kisskb/src/arch/xtensa/include/asm/cmpxchg.h:172:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) ^ /kisskb/src/fs/ocfs2/file.c:2372:3: note: in expansion of macro 'xchg' xchg(&iocb->ki_complete, saved_ki_complete); ^ /kisskb/src/drivers/char/tpm/tpm2-cmd.c: In function 'tpm2_unseal_trusted': /kisskb/src/drivers/char/tpm/tpm2-cmd.c:669:2: warning: 'blob_handle' may be used uninitialized in this function [-Wmaybe-uninitialized] tpm2_flush_context(chip, blob_handle); ^ /kisskb/src/drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^ /kisskb/src/drivers/i2c/busses/i2c-sh_mobile.c: In function 'sh_mobile_i2c_isr': /kisskb/src/drivers/i2c/busses/i2c-sh_mobile.c:399:26: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized] pd->msg->buf[real_pos] = data; ^ /kisskb/src/drivers/i2c/busses/i2c-sh_mobile.c:372:16: note: 'data' was declared here unsigned char data; ^ In file included from /kisskb/src/include/linux/printk.h:332:0, from /kisskb/src/include/linux/kernel.h:15, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/kobject.h:19, from /kisskb/src/include/linux/device.h:16, from /kisskb/src/include/rdma/ib_verbs.h:43, from /kisskb/src/drivers/infiniband/sw/siw/siw_cq.c:9: /kisskb/src/drivers/infiniband/sw/siw/siw_cq.c: In function 'siw_reap_cqe': /kisskb/src/drivers/infiniband/sw/siw/siw_cq.c:76:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] cqe->flags, (void *)cqe->id); ^ /kisskb/src/include/linux/dynamic_debug.h:125:15: note: in definition of macro '__dynamic_func_call' func(&id, ##__VA_ARGS__); \ ^ /kisskb/src/include/linux/dynamic_debug.h:165:2: note: in expansion of macro '_dynamic_func_call' _dynamic_func_call(fmt, __dynamic_ibdev_dbg, \ ^ /kisskb/src/include/rdma/ib_verbs.h:100:2: note: in expansion of macro 'dynamic_ibdev_dbg' dynamic_ibdev_dbg(__dev, format, ##args) ^ /kisskb/src/drivers/infiniband/sw/siw/siw.h:725:2: note: in expansion of macro 'ibdev_dbg' ibdev_dbg(cq->base_cq.device, "CQ[%u] %s: " fmt, cq->id, __func__, \ ^ /kisskb/src/drivers/infiniband/sw/siw/siw_cq.c:74:4: note: in expansion of macro 'siw_dbg_cq' siw_dbg_cq(cq, "idx %u, type %d, flags %2x, id 0x%p\n", ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp.c: In function 'siw_activate_tx': /kisskb/src/drivers/infiniband/sw/siw/siw_qp.c:952:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] wqe->sqe.sge[0].laddr = (u64)&wqe->sqe.sge[1]; ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_try_1seg': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:53:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] memcpy((void *)paddr, &wqe->sqe.sge[1], bytes); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:59:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] memcpy((void *)paddr, (void *)sge->laddr, bytes); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:59:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] memcpy((void *)paddr, (void *)sge->laddr, bytes); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:61:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] if (copy_from_user((void *)paddr, ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:62:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (const void __user *)sge->laddr, ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:82:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] memcpy((void *)paddr, buffer + off, bytes); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:87:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] memcpy((void *)paddr, buffer + off, part); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:101:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] memcpy((void *)(paddr + part), buffer, ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_qp_prepare_tx': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:169:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] data = siw_try_1seg(c_tx, (u64)crc); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:192:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] data = siw_try_1seg(c_tx, (u64)crc); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:204:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] data = siw_try_1seg(c_tx, (u64)crc); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:219:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] data = siw_try_1seg(c_tx, (u64)crc); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_tx_hdt': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:476:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] iov[seg].iov_base = (void *)(sge->laddr + sge_off); ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:535:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void *)(sge->laddr + sge_off), ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_qp_sq_proc_tx': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:832:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] wqe->sqe.sge[0].laddr = (u64)&wqe->sqe.sge[1]; ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_fastreg_mr': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_tx.c:927:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] struct ib_mr *base_mr = (struct ib_mr *)sqe->base_mr; ^ In file included from /kisskb/src/include/linux/kernel.h:15:0, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/random.h:10, from /kisskb/src/include/linux/net.h:18, from /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:8: /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c: In function 'siw_rx_umem': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:43:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void *)dest_addr, (void *)umem->fp_addr); ^ /kisskb/src/include/linux/printk.h:306:37: note: in definition of macro 'pr_warning' printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:41:4: note: in expansion of macro 'pr_warn' pr_warn("siw: %s: [QP %u]: bogus addr: %p, %p\n", ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:43:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void *)dest_addr, (void *)umem->fp_addr); ^ /kisskb/src/include/linux/printk.h:306:37: note: in definition of macro 'pr_warning' printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:41:4: note: in expansion of macro 'pr_warn' pr_warn("siw: %s: [QP %u]: bogus addr: %p, %p\n", ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c: In function 'siw_rx_pbl': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:141:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] if (siw_rx_kva(srx, (void *)buf_addr, bytes) == bytes) { ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c: In function 'siw_proc_send': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:488:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void *)(sge->laddr + frx->sge_off), ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c: In function 'siw_proc_write': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:601:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void *)(srx->ddp_to + srx->fpdu_part_rcvd), ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c: In function 'siw_proc_rresp': /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:844:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] rv = siw_rx_kva(srx, (void *)(sge->laddr + wqe->processed), ^ In file included from /kisskb/src/include/linux/wait.h:9:0, from /kisskb/src/include/linux/net.h:19, from /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:8: /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c: In function 'siw_proc_send': /kisskb/src/include/linux/spinlock.h:288:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized] _raw_spin_unlock_irqrestore(lock, flags); \ ^ /kisskb/src/drivers/infiniband/sw/siw/siw_qp_rx.c:334:16: note: 'flags' was declared here unsigned long flags; ^ /kisskb/src/drivers/infiniband/sw/siw/siw_verbs.c: In function 'siw_copy_inline_sgl': /kisskb/src/drivers/infiniband/sw/siw/siw_verbs.c:665:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] sqe->sge[0].laddr = (u64)kbuf; ^ /kisskb/src/drivers/infiniband/sw/siw/siw_verbs.c: In function 'siw_post_send': /kisskb/src/drivers/infiniband/sw/siw/siw_verbs.c:828:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] sqe->base_mr = (uint64_t)reg_wr(wr)->mr; ^ In file included from /kisskb/src/include/linux/printk.h:332:0, from /kisskb/src/include/linux/kernel.h:15, from /kisskb/src/include/asm-generic/bug.h:18, from ./arch/xtensa/include/generated/asm/bug.h:1, from /kisskb/src/include/linux/bug.h:5, from /kisskb/src/include/linux/thread_info.h:12, from /kisskb/src/arch/xtensa/include/asm/current.h:18, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/include/linux/uaccess.h:5, from /kisskb/src/drivers/infiniband/sw/siw/siw_verbs.c:8: /kisskb/src/drivers/infiniband/sw/siw/siw_verbs.c:846:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] sqe->opcode, sqe->flags, (void *)sqe->id); ^ /kisskb/src/include/linux/dynamic_debug.h:125:15: note: in definition of macro '__dynamic_func_call' func(&id, ##__VA_ARGS__); \ ^ /kisskb/src/include/linux/dynamic_debug.h:165:2: note: in expansion of macro '_dynamic_func_call' _dynamic_func_call(fmt, __dynamic_ibdev_dbg, \ ^ /kisskb/src/include/rdma/ib_verbs.h:100:2: note: in expansion of macro 'dynamic_ibdev_dbg' dynamic_ibdev_dbg(__dev, format, ##args) ^ /kisskb/src/drivers/infiniband/sw/siw/siw.h:721:2: note: in expansion of macro 'ibdev_dbg' ibdev_dbg(&qp->sdev->base_dev, "QP[%u] %s: " fmt, qp_id(qp), __func__, \ ^ /kisskb/src/drivers/infiniband/sw/siw/siw_verbs.c:845:3: note: in expansion of macro 'siw_dbg_qp' siw_dbg_qp(qp, "opcode %d, flags 0x%x, wr_id 0x%p\n", ^ In file included from /kisskb/src/include/linux/rwsem.h:16:0, from /kisskb/src/include/linux/notifier.h:15, from /kisskb/src/include/linux/clk.h:14, from /kisskb/src/drivers/tty/serial/sh-sci.c:24: /kisskb/src/drivers/tty/serial/sh-sci.c: In function 'sci_dma_rx_submit': /kisskb/src/include/linux/spinlock.h:288:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized] _raw_spin_unlock_irqrestore(lock, flags); \ ^ /kisskb/src/drivers/tty/serial/sh-sci.c:1353:16: note: 'flags' was declared here unsigned long flags; ^ /kisskb/src/drivers/mfd/rk808.c:732:12: warning: 'rk8xx_suspend' defined but not used [-Wunused-function] static int rk8xx_suspend(struct device *dev) ^ /kisskb/src/drivers/mfd/rk808.c:752:12: warning: 'rk8xx_resume' defined but not used [-Wunused-function] static int rk8xx_resume(struct device *dev) ^ In file included from /kisskb/src/arch/xtensa/include/asm/atomic.h:19:0, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/asm-generic/bitops/atomic.h:5, from /kisskb/src/arch/xtensa/include/asm/bitops.h:339, from /kisskb/src/include/linux/bitops.h:19, from /kisskb/src/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:11: /kisskb/src/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c: In function 'ixgbevf_xdp_setup': /kisskb/src/arch/xtensa/include/asm/cmpxchg.h:172:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) ^ /kisskb/src/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:4475:4: note: in expansion of macro 'xchg' xchg(&adapter->rx_ring[i]->xdp_prog, adapter->xdp_prog); ^ /kisskb/src/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c: In function 'mlx5e_open_xsk': /kisskb/src/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c:127:1: warning: the frame size of 1296 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c: In function 'mlx5e_grp_sw_update_stats': /kisskb/src/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c:294:1: warning: the frame size of 1184 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ Completed OK # rm -rf /kisskb/build/linus_xtensa-allmodconfig_xtensa # Build took: 0:06:48.785406