mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 03:24:13 +07:00
56012e1cad
The RXE coupled with dummy device causes to the kernel panic attached
below. The panic happens when ib_register_device tries to set dma_mask
by accessing a NULLed parent device.
The RXE does not actually use DMA, so we can set the dma_mask
to architecture value.
[16240.199689] RIP: 0010:ib_register_device+0x468/0x5a0 [ib_core]
[16240.205289] RSP: 0018:ffffc9000220fc10 EFLAGS: 00010246
[16240.209909] RAX: 0000000000000024 RBX: ffff880220d1a2a8 RCX: 0000000000000000
[16240.212244] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000009
[16240.214385] RBP: ffffc9000220fcb0 R08: 0000000000000000 R09: 000000000000023f
[16240.254465] R10: 0000000000000007 R11: 0000000000000000 R12: 0000000000000000
[16240.259467] R13: 0000000000000000 R14: 0000000000000000 R15: ffff880220d1a2a8
[16240.263314] FS: 00007fd8ecca0740(0000) GS:ffff8802364c0000(0000) knlGS:0000000000000000
[16240.267292] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[16240.273503] CR2: 0000000000000218 CR3: 00000002253ba000 CR4: 00000000000006e0
[16240.277066] Call Trace:
[16240.281836] ? __kmalloc+0x26f/0x280
[16240.286596] rxe_register_device+0x297/0x300 [rdma_rxe]
[16240.291377] rxe_add+0x535/0x5b0 [rdma_rxe]
[16240.297586] rxe_net_add+0x3e/0xc0 [rdma_rxe]
[16240.302375] rxe_param_set_add+0x65/0x144 [rdma_rxe]
[16240.307769] param_attr_store+0x68/0xd0
[16240.311640] module_attr_store+0x1d/0x30
[16240.316421] sysfs_kf_write+0x3a/0x50
[16240.317802] kernfs_fop_write+0xff/0x180
[16240.322989] __vfs_write+0x37/0x140
[16240.328164] ? handle_mm_fault+0xce/0x240
[16240.333340] vfs_write+0xb2/0x1b0
[16240.335013] SyS_write+0x55/0xc0
[16240.340632] entry_SYSCALL_64_fastpath+0x1a/0xa9
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
rxe_av.c | ||
rxe_comp.c | ||
rxe_cq.c | ||
rxe_hdr.h | ||
rxe_hw_counters.c | ||
rxe_hw_counters.h | ||
rxe_icrc.c | ||
rxe_loc.h | ||
rxe_mcast.c | ||
rxe_mmap.c | ||
rxe_mr.c | ||
rxe_net.c | ||
rxe_net.h | ||
rxe_opcode.c | ||
rxe_opcode.h | ||
rxe_param.h | ||
rxe_pool.c | ||
rxe_pool.h | ||
rxe_qp.c | ||
rxe_queue.c | ||
rxe_queue.h | ||
rxe_recv.c | ||
rxe_req.c | ||
rxe_resp.c | ||
rxe_srq.c | ||
rxe_sysfs.c | ||
rxe_task.c | ||
rxe_task.h | ||
rxe_verbs.c | ||
rxe_verbs.h | ||
rxe.c | ||
rxe.h |