- Mar 28, 2019
-
-
Ira Weiny authored
Trace MADs going to/from user space. Suggested-by:
Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by:
Ira Weiny <ira.weiny@intel.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Ira Weiny authored
Trace agent details when agents are [un]registered. In addition, report agent details on send/recv. Reviewed-by:
"Ruhl, Michael J" <michael.j.ruhl@intel.com> Reviewed-by:
Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by:
Ira Weiny <ira.weiny@intel.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Ira Weiny authored
Trace received MAD details. Reviewed-by:
"Ruhl, Michael J" <michael.j.ruhl@intel.com> Reviewed-by:
Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by:
Ira Weiny <ira.weiny@intel.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Ira Weiny authored
Use the standard Linux trace mechanism to trace MADs being sent. 4 trace points are added, when the MAD is posted to the qp, when the MAD is completed, if a MAD is resent, and when the MAD completes in error. Reviewed-by:
"Ruhl, Michael J" <michael.j.ruhl@intel.com> Suggested-by:
Steven Rostedt (VMware) <rostedt@goodmis.org> Reviewed-by:
Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by:
Ira Weiny <ira.weiny@intel.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Potnuri Bharat Teja authored
Remove Steve and add undersigned as maintainer for iw_cxgb4 drivers. Signed-off-by:
Potnuri Bharat Teja <bharat@chelsio.com> Acked-by:
Steve Wise <larrystevenwise@gmail.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Yuval Shaia authored
Caller already clears props before calling query_device. Signed-off-by:
Yuval Shaia <yuval.shaia@oracle.com> Acked-by:
Adit Ranadive <aditr@vmware.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Artemy Kovalyov authored
The InfiniBand Architecture Specification section 10.6.7.2.4 TYPE 2 MEMORY WINDOWS says that if the CI supports the Base Memory Management Extensions defined in this specification, the R_Key format for a Type 2 Memory Window must consist of: * 24 bit index in the most significant bits of the R_Key, which is owned by the CI, and * 8 bit key in the least significant bits of the R_Key, which is owned by the Consumer. This means that the kernel should compare only the index part of a R_Key to determine equality with another R_Key. Fixes: db570d7d ("IB/mlx5: Add ODP support to MW") Signed-off-by:
Artemy Kovalyov <artemyko@mellanox.com> Signed-off-by:
Moni Shoua <monis@mellanox.com> Signed-off-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Artemy Kovalyov authored
Move index increment after its is used or otherwise it will start the dump of the WQE from second WQE BB. Fixes: 34f4c955 ("IB/mlx5: Use fragmented QP's buffer for in-kernel users") Signed-off-by:
Artemy Kovalyov <artemyko@mellanox.com> Signed-off-by:
Moni Shoua <monis@mellanox.com> Signed-off-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Leon Romanovsky authored
The forgotten static keyword causes to the following error to appear while building HNS driver. Declare hns_roce_cmq_send() to be static function to fix this warning. drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1089:5: warning: no previous prototype for _hns_roce_cmq_send_ [-Wmissing-prototypes] int hns_roce_cmq_send(struct hns_roce_dev *hr_dev, Fixes: 6a04aed6 ("RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset") Signed-off-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
- Mar 27, 2019
-
-
Leon Romanovsky authored
Attempt to use check_shl_overflow() with inputs of unsigned type produces the following compilation warnings. drivers/infiniband/hw/mlx5/qp.c: In function _set_user_rq_size_: ./include/linux/overflow.h:230:6: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] _s >= 0 && _s < 8 * sizeof(*d) ? _s : 0; \ ^~ drivers/infiniband/hw/mlx5/qp.c:5820:6: note: in expansion of macro _check_shl_overflow_ if (check_shl_overflow(rwq->wqe_count, rwq->wqe_shift, &rwq->buf_size)) ^~~~~~~~~~~~~~~~~~ ./include/linux/overflow.h:232:26: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] (_to_shift != _s || *_d < 0 || _a < 0 || \ ^ drivers/infiniband/hw/mlx5/qp.c:5820:6: note: in expansion of macro _check_shl_overflow_ if (check_shl_overflow(rwq->wqe_count, rwq->wqe_shift, &rwq->buf_size)) ^~~~~~~~~~~~~~~~~~ ./include/linux/overflow.h:232:36: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] (_to_shift != _s || *_d < 0 || _a < 0 || \ ^ drivers/infiniband/hw/mlx5/qp.c:5820:6: note: in expansion of macro _check_shl_overflow_ if (check_shl_overflow(rwq->wqe_count, rwq->wqe_shift,&rwq->buf_size)) ^~~~~~~~~~~~~~~~~~ Fixes: 0c668477 ("overflow.h: Add arithmetic shift helper") Reviewed-by:
Bart Van Assche <bvanassche@acm.org> Acked-by:
Kees Cook <keescook@chromium.org> Signed-off-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Colin Ian King authored
The variable len is not being inintialized and the uninitialized value is being returned. However, this return path is never reached because the default case in the switch statement returns -ENOSYS. Clean up the code by replacing the return -ENOSYS with a break for the default case and returning -ENOSYS at the end of the function. This allows len to be removed. Also remove redundant break that follows a return statement. Signed-off-by:
Colin Ian King <colin.king@canonical.com> Reviewed-by:
Max Gurtovoy <maxg@mellanox.com> Reviewed-by:
Sagi Grimberg <sagi@grimberg.me> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Kangjie Lu authored
alloc_ordered_workqueue may fail and return NULL. The fix captures the failure and handles it properly to avoid potential NULL pointer dereferences. Signed-off-by:
Kangjie Lu <kjlu@umn.edu> Reviewed-by:
Shiraz, Saleem <shiraz.saleem@intel.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Ira Weiny authored
No device supports ODP MR without an invalidate_range callback. Warn on any any device which attempts to support ODP without supplying this callback. Then we can remove the checks for the callback within the code. This stems from the discussion https://www.spinics.net/lists/linux-rdma/msg76460.html ...which concluded this code was no longer necessary. Acked-by:
John Hubbard <jhubbard@nvidia.com> Reviewed-by:
Haggai Eran <haggaie@mellanox.com> Signed-off-by:
Ira Weiny <ira.weiny@intel.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
- Mar 26, 2019
-
-
Leon Romanovsky authored
BUG: KASAN: slab-out-of-bounds in rxe_mem_init_user+0x6c1/0x740 [rdma_rxe] Read of size 8 at addr ffff88805c01a608 by task ib_send_bw/573 CPU: 24 PID: 573 Comm: ib_send_bw Not tainted 5.0.0-rc5+ #189 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014 Call Trace: rxe_mem_init_user+0x6c1/0x740 [rdma_rxe] rxe_reg_user_mr+0x9b/0x110 [rdma_rxe] ib_uverbs_reg_mr+0x428/0x9c0 [ib_uverbs] ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0x2b0/0x410 [ib_uverbs] ib_uverbs_run_method+0x79c/0x1da0 [ib_uverbs] rxe_mem_init_user+0x6c1/0x740 [rdma_rxe] rxe_reg_user_mr+0x9b/0x110 [rdma_rxe] ib_uverbs_reg_mr+0x428/0x9c0 [ib_uverbs] ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0x2b0/0x410 [ib_uverbs] ib_uverbs_run_method+0x79c/0x1da0 [ib_uverbs] ib_uverbs_cmd_verbs+0x5f2/0xf20 [ib_uverbs] ib_uverbs_ioctl+0x202/0x310 [ib_uverbs] do_vfs_ioctl+0x193/0x1440 ksys_ioctl+0x3a/0x70 __x64_sys_ioctl+0x6f/0xb0 do_syscall_64+0x13f/0x570 entry_SYSCALL_64_after_hwframe+0x49/0xbe Allocated by task 573: __kasan_kmalloc.constprop.5+0xc1/0xd0 __kmalloc+0x161/0x310 rxe_mem_alloc+0x52/0x470 [rdma_rxe] rxe_mem_init_user+0x113/0x740 [rdma_rxe] rxe_reg_user_mr+0x9b/0x110 [rdma_rxe] ib_uverbs_reg_mr+0x428/0x9c0 [ib_uverbs] ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0x2b0/0x410 [ib_uverbs] ib_uverbs_run_method+0x79c/0x1da0 [ib_uverbs] ib_uverbs_cmd_verbs+0x5f2/0xf20 [ib_uverbs] ib_uverbs_ioctl+0x202/0x310 [ib_uverbs] do_vfs_ioctl+0x193/0x1440 ksys_ioctl+0x3a/0x70 __x64_sys_ioctl+0x6f/0xb0 do_syscall_64+0x13f/0x570 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 0: __kasan_slab_free+0x12e/0x180 kfree+0x10a/0x2c0 rcu_process_callbacks+0xa77/0x1260 __do_softirq+0x2ad/0xacb Test scenario: ib_send_bw -x 1 -d rxe0 -a & ib_send_bw -x 1 -d rxe0 -a localhost Fixes: 8700e3e7 ("Soft RoCE driver") Reported-by:
Parav Pandit <parav@mellanox.com> Reviewed-by:
Zhu Yanjun <yanjun.zhu@oracle.com> Tested-by:
Zhu Yanjun <yanjun.zhu@oracle.com> Signed-off-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Enrico Weigelt, metux IT consult authored
Adjust the kconfig whitespace in bnxt_re/iser to match the kernel standard. Signed-off-by:
Enrico Weigelt, metux IT consult <info@metux.net> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Colin Ian King authored
The non-null check on udata is redundant as this check was performed just a few statements earlier and the check is always true as udata must be non-null at this point. Remove redundant the check on udata and the redundant else part that can never be executed. Detected by CoverityScan, CID#1477317 ("Logically dead code") Fixes: 89944450 ("IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs") Signed-off-by:
Colin Ian King <colin.king@canonical.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Also introduce cm_local_id() to reduce the amount of boilerplate when converting a local ID to an XArray index. Signed-off-by:
Matthew Wilcox <willy@infradead.org> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Pull the allocation function out into its own function to reduce the length of ib_register_mad_agent() a little and keep all the allocation logic together. Signed-off-by:
Matthew Wilcox <willy@infradead.org> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Remove the custom spinlock as the XArray handles its own locking. Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Mike Marciniszyn authored
The adaptive PIO implementation only considers the current packet size when deciding between SDMA and pio for a packet. This causes credit return forces if small and large packets are interleaved. Add a running average to avoid costly credit forces so that a large sequence of small packets is required to go below the threshold that chooses pio. Reviewed-by:
Michael J. Ruhl <michael.j.ruhl@intel.com> Signed-off-by:
Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by:
Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Erez Alfasi authored
"__attribute__" set of macros has been standardized, have became more potentially portable and consistent code back in v2.6.21 by commit 82ddcb04 ("[PATCH] extend the set of "__attribute__" shortcut macros"). Moreover, nowadays checkpatch.pl warns about using __attribute__((packed)) instead of __packed. This patch converts all the "__attribute__ ((packed))" annotations to "__packed" within the RDMA subsystem. Signed-off-by:
Erez Alfasi <ereza@mellanox.com> Signed-off-by:
Leon Romanovsky <leonro@mellanox.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Lijun Ou authored
The src_mac array is not used in hns_roce_v2_modify_qp function. Signed-off-by:
Lijun Ou <oulijun@huawei.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Lijun Ou authored
According to IB protocol, the send with invalidate operation will not invalidate mr that was created through a register mr or reregister mr. Fixes: e93df010 ("RDMA/hns: Support local invalidate for hip08 in kernel space") Signed-off-by:
Lijun Ou <oulijun@huawei.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Lijun Ou authored
The driver should not print the error information when the hip08 driver not support virtual function. Signed-off-by:
Lijun Ou <oulijun@huawei.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Lijun Ou authored
According to IB protocol, some fields of qp context are filled with optional when the relatived attr_mask are set. The relatived attr_mask include IB_QP_TIMEOUT, IB_QP_RETRY_CNT, IB_QP_RNR_RETRY and IB_QP_MIN_RNR_TIMER. Besides, we move some assignments of the fields of qp context into the outside of the specific qp state jump function. Signed-off-by:
Lijun Ou <oulijun@huawei.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Lijun Ou authored
According to hip08 UM(User Manual), the raq_psn field size is [23:0]. Signed-off-by:
Lijun Ou <oulijun@huawei.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Lijun Ou authored
Only when the IB_QP_RQ_PSN flags of attr_mask is set is it valid to assign the relatived fields of rq'psn into the qp context when modified qp. Signed-off-by:
Lijun Ou <oulijun@huawei.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Lijun Ou authored
Only when the IB_QP_SQ_PSN flags of attr_mask is set is it valid to assign the relatived fields of psn into the qp context when modified qp. Signed-off-by:
Lijun Ou <oulijun@huawei.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@infradead.org> Acked-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-