android_kernel_samsung_sm8650/drivers/infiniband/hw/hfi1
Dennis Dalessandro da86dc175b IB/hfi1: Properly allocate rdma counter desc memory
When optional counter support was added the allocation of the memory
holding the counter descriptors was not cleared properly. This caused
WARN_ON()s in the IB/sysfs code to be hit.

This is because the uninitialized memory made some of the counters wrongly
look like optional counters. Use kzalloc.

While here change the sizeof() calls to use the pointer rather than the
name of the type.

  WARNING: CPU: 0 PID: 32644 at drivers/infiniband/core/sysfs.c:1064 ib_setup_port_attrs+0x7e1/0x890 [ib_core]
  CPU: 0 PID: 32644 Comm: kworker/0:2 Tainted: G S      W 5.15.0+ #36
  Hardware name: Intel Corporation S2600WTT/S2600WTT, BIOS SE5C610.86B.01.01.0018.C4.072020161249 07/20/2016
  Workqueue: events work_for_cpu_fn
  RIP: 0010:ib_setup_port_attrs+0x7e1/0x890 [ib_core]
  RSP: 0018:ffffc90006ea3c40 EFLAGS: 00010202
  RAX: 0000000000000068 RBX: ffff888106ad8000 RCX: 0000000000000138
  RDX: ffff888126c84c00 RSI: ffff888103c41000 RDI: 0000000000000124
  RBP: ffff88810f63a801 R08: ffff888126c8a000 R09: 0000000000000001
  R10: ffffffffa09acf20 R11: 0000000000000065 R12: ffff88810f63a800
  R13: ffff88810f63a800 R14: ffff88810f63a8e0 R15: 0000000000000001
  FS:  0000000000000000(0000) GS:ffff888667a00000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00005590102cb078 CR3: 000000000240a003 CR4: 00000000001706f0
  Call Trace:
   ib_register_device.cold.44+0x23e/0x2d0 [ib_core]
   rvt_register_device+0xfa/0x230 [rdmavt]
   hfi1_register_ib_device+0x623/0x690 [hfi1]
   init_one.cold.36+0x2d1/0x49b [hfi1]
   local_pci_probe+0x45/0x80
   work_for_cpu_fn+0x16/0x20
   process_one_work+0x1b1/0x360
   worker_thread+0x1d4/0x3a0
   kthread+0x11a/0x140
   ret_from_fork+0x22/0x30

Fixes: 5e2ddd1e59 ("RDMA/counter: Add optional counter support")
Link: https://lore.kernel.org/r/20211115200913.124104.47770.stgit@awfm-01.cornelisnetworks.com
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2021-11-16 13:18:24 -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_registers.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
chip.c IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks 2021-10-29 13:30:43 -03:00
chip.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: Rebranding of hfi1 driver to Cornelis Networks 2021-10-29 13:30:43 -03: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: Rebranding of hfi1 driver to Cornelis Networks 2021-10-29 13:30:43 -03: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_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 Linux 5.15-rc4 2021-10-04 16:01:26 -03:00
ipoib.h IB/hfi1: Add ring consumer and producers traces 2021-09-27 20:06:42 -03: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_rx.c RDMA merge window pull request 2021-05-01 09:15:05 -07:00
netdev.h IB/hfi1: Rework AIP and VNIC dummy netdev usage 2021-04-13 13:54:56 -03:00
opa_compat.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
opfn.c IB/hfi1: Add TID RDMA retry timer 2019-02-05 18:07:43 -05:00
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_copy.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
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_txreq.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
sdma.c RDMA v5.15 merge window Pull Request 2021-09-02 14:47:21 -07:00
sdma.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_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 IB/hfi1: Add static trace for iowait 2018-09-30 19:21:12 -06:00
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
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
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 RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00
user_sdma.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
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
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
vnic.h RDMA/hfi1: Convert to SPDX identifier 2021-08-25 14:56:48 -03:00