linux-stable/drivers/infiniband/hw/hfi1
Mike Marciniszyn b1151b74ff IB/hfi1: Fix alloc failure with larger txqueuelen
The following allocation with large txqueuelen will result in the
following warning:

  Call Trace:
   __alloc_pages_nodemask+0x283/0x2c0
   kmalloc_large_node+0x3c/0xa0
   __kmalloc_node+0x22a/0x2f0
   hfi1_ipoib_txreq_init+0x19f/0x330 [hfi1]
   hfi1_ipoib_setup_rn+0xd3/0x1a0 [hfi1]
   rdma_init_netdev+0x5a/0x80 [ib_core]
   ipoib_intf_init+0x6c/0x350 [ib_ipoib]
   ipoib_intf_alloc+0x5c/0xc0 [ib_ipoib]
   ipoib_add_one+0xbe/0x300 [ib_ipoib]
   add_client_context+0x12c/0x1a0 [ib_core]
   ib_register_client+0x147/0x190 [ib_core]
   ipoib_init_module+0xdd/0x132 [ib_ipoib]
   do_one_initcall+0x46/0x1c3
   do_init_module+0x5a/0x220
   load_module+0x14c5/0x17f0
   __do_sys_init_module+0x13b/0x180
   do_syscall_64+0x5b/0x1a0
   entry_SYSCALL_64_after_hwframe+0x65/0xca

For ipoib, the txqueuelen is modified with the module parameter
send_queue_size.

Fix by changing to use kv versions of the same allocator to handle the
large allocations.  The allocation embeds a hdr struct that is dma mapped.
Change that struct to a pointer to a kzalloced struct.

Cc: stable@vger.kernel.org
Fixes: d99dc602e2 ("IB/hfi1: Add functions to transmit datagram ipoib packets")
Link: https://lore.kernel.org/r/1642287756-182313-3-git-send-email-mike.marciniszyn@cornelisnetworks.com
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2022-01-28 11:12:15 -04:00
..
affinity.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
affinity.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
aspm.c IB/hfi1: Reduce excessive aspm inlines 2019-06-28 22:34:26 -03:00
aspm.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
chip.c IB/hfi1: Fix early init panic 2021-12-07 13:22:54 -04:00
chip.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
chip_registers.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
common.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
debugfs.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
debugfs.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
device.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
device.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
driver.c IB/hfi1: Fix early init panic 2021-12-07 13:22:54 -04:00
efivar.c IB/hf1: Use string_upper() instead of an open coded variant 2021-10-05 15:22:37 -03:00
efivar.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
eprom.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
eprom.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
exp_rcv.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
exp_rcv.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
fault.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
fault.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
file_ops.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
firmware.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
hfi.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
init.c IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr 2021-12-07 13:22:54 -04:00
intr.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
iowait.c RDMA/hw/hfi1/iowait: Demote half-completed kernel-doc and fix formatting issue in another 2021-01-28 15:42:26 -04:00
iowait.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
ipoib.h IB/hfi1: Fix alloc failure with larger txqueuelen 2022-01-28 11:12:15 -04:00
ipoib_main.c RDMA: Constify netdev->dev_addr accesses 2021-10-25 14:33:09 -03:00
ipoib_rx.c IB/hfi1: Activate the dummy netdev 2020-05-21 11:23:56 -03:00
ipoib_tx.c IB/hfi1: Fix alloc failure with larger txqueuelen 2022-01-28 11:12:15 -04:00
Kconfig IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks 2021-10-29 13:30:43 -03:00
mad.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
mad.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
Makefile IB/hfi1: Add functions to receive accelerated ipoib packets 2020-05-21 11:23:56 -03:00
mmu_rb.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
mmu_rb.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
msix.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
msix.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
netdev.h IB/hfi1: Rework AIP and VNIC dummy netdev usage 2021-04-13 13:54:56 -03:00
netdev_rx.c RDMA merge window pull request 2021-05-01 09:15:05 -07:00
opa_compat.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
opfn.c
opfn.h IB/hfi1: Make opfn.h self sufficient 2019-04-24 11:31:49 -03:00
pcie.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
pio.c IB/hfi1: Fix abba locking issue with sc_disable() 2021-10-13 13:33:22 -03:00
pio.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
pio_copy.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
platform.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
platform.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
qp.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
qp.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
qsfp.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
qsfp.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
rc.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
rc.h IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA 2019-04-03 15:27:30 -03:00
ruc.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
sdma.c IB/hfi1: Insure use of smp_processor_id() is preempt disabled 2021-12-07 13:22:54 -04:00
sdma.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
sdma_txreq.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
sysfs.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
tid_rdma.c RDMA/hfi1: Fix typo in comments 2021-07-30 10:06:08 -03:00
tid_rdma.h IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA 2019-11-06 13:15:36 -04:00
trace.c IB/hfi1: make hist static 2021-09-08 08:33:04 -03:00
trace.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_ctxts.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_dbg.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_ibhdrs.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_iowait.h
trace_misc.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_mmu.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_rc.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_rx.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
trace_tid.h treewide: Add missing semicolons to __assign_str uses 2021-06-30 09:19:14 -04:00
trace_tx.h IB/hfi1: Add ring consumer and producers traces 2021-09-27 20:06:42 -03:00
uc.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
ud.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
user_exp_rcv.c RDMA/hfi1: Use struct_size() and flex_array_size() helpers 2021-09-27 20:15:54 -03:00
user_exp_rcv.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
user_pages.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
user_sdma.c IB/hfi1: Use bitmap_zalloc() when applicable 2021-11-29 14:33:55 -04:00
user_sdma.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
verbs.c IB/hfi1: Properly allocate rdma counter desc memory 2021-11-16 13:18:24 -04:00
verbs.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
verbs_txreq.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
verbs_txreq.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
vnic.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
vnic_main.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
vnic_sdma.c RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00