Skip to content

Commit

Permalink
nvme-tcp: fix nvme_tcp_term_pdu to match spec
Browse files Browse the repository at this point in the history
The FEI field of C2HTermReq/H2CTermReq is 4 bytes but not 4-byte-aligned
in the NVMe/TCP specification (it is located at offset 10 in the PDU).
Split it into two 16-bit integers in struct nvme_tcp_term_pdu
so no padding is inserted. There should also be 10 reserved bytes after.
There are currently no users of this type.

Fixes: fc221d0 ("nvme-tcp: Add protocol header")
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Caleb Sander <csander@purestorage.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
  • Loading branch information
Caleb Sander authored and Christoph Hellwig committed Mar 22, 2023
1 parent def84ab commit aa01c67
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions include/linux/nvme-tcp.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,9 @@ struct nvme_tcp_icresp_pdu {
struct nvme_tcp_term_pdu {
struct nvme_tcp_hdr hdr;
__le16 fes;
__le32 fei;
__u8 rsvd[8];
__le16 feil;
__le16 feiu;
__u8 rsvd[10];
};

/**
Expand Down

0 comments on commit aa01c67

Please sign in to comment.