diff options
author | Don Hiatt <don.hiatt@intel.com> | 2017-10-09 12:38:19 -0700 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-10-18 10:12:59 -0400 |
commit | f8195f3b14a046ae33d9c369ffb59b4192f29e08 (patch) | |
tree | a7b66fa55b421c40d43c7eed99564d4f726090be /drivers/infiniband/hw/hfi1/uc.c | |
parent | d0a2f454713a42447ee4007582c0e43c47bcf230 (diff) | |
download | linux-stable-f8195f3b14a046ae33d9c369ffb59b4192f29e08.tar.gz linux-stable-f8195f3b14a046ae33d9c369ffb59b4192f29e08.tar.bz2 linux-stable-f8195f3b14a046ae33d9c369ffb59b4192f29e08.zip |
IB/hfi1: Eliminate allocation while atomic
The PIO trailing buffer was being dynamically allocated
but the kcalloc return value was not being checked. Further,
the GFP_KERNEL was being used even though the send engine
might be called with interrupts disabled.
Since the maximum size of the trailing buffer is only 12
bytes (CRC = 4, LT = 1, Pad = 0 to 7 bytes) just statically
allocate the buffer, remove the alloc entirely and share it
with the SDMA engine by making it global.
Reported-by: Leon Romanovsky <leon@kernel.org>
Fixes: 566d53a82644 ("IB/hfi1: Enhance PIO/SDMA send for 16B")
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Don Hiatt <don.hiatt@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/uc.c')
0 files changed, 0 insertions, 0 deletions