diff options
author | Dennis Dalessandro <dennis.dalessandro@intel.com> | 2017-05-30 03:19:46 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-06-27 23:58:12 +0300 |
commit | 52d86e72c515ebd4fb0d329470aa50698e28fb36 (patch) | |
tree | 1ae858e80803f73349e9688197c0530a5ef661da /drivers/infiniband/hw/hfi1/driver.c | |
parent | 6c31e5283cb06b81a13cc88da2f2ad3db594a935 (diff) | |
download | linux-52d86e72c515ebd4fb0d329470aa50698e28fb36.tar.xz |
IB/hfi1: Remove subtraction of uninitialized value
In process_receive_packet the packet header field is used to calculate
the length of the packet. However this is not necessarily setup. In fact
only if the ECN prescan is enabled will the packet header be valid at
this point.
The code works as is because we do not do anything with the packet
length at this point in the packet processing. The length and header are
setup correctly in hfi1_setup_ib_header which is called by the following
sequence:
process_receive_packet()
-> rhf_receieve_function_map[]()
--> process_receive_ib()
---> hfi1_setup_9B_packet()
----> hfi1_setup_ib_header()
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/driver.c')
-rw-r--r-- | drivers/infiniband/hw/hfi1/driver.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hfi1/driver.c b/drivers/infiniband/hw/hfi1/driver.c index 2a1022e374a5..9e59430bc55c 100644 --- a/drivers/infiniband/hw/hfi1/driver.c +++ b/drivers/infiniband/hw/hfi1/driver.c @@ -703,7 +703,6 @@ static inline int process_rcv_packet(struct hfi1_packet *packet, int thread) packet->etype = rhf_rcv_type(packet->rhf); - packet->hlen = (u8 *)packet->rhf_addr - (u8 *)packet->hdr; /* total length */ packet->tlen = rhf_pkt_len(packet->rhf); /* in bytes */ /* retrieve eager buffer details */ |