On Thu, May 15, 2025 at 10:31:00PM -0700, Eric Biggers wrote: > +static inline __le32 nvme_tcp_hdgst(const void *pdu, size_t len) > +{ > + return cpu_to_le32(~crc32c(NVME_TCP_CRC_SEED, pdu, len)); > } This drops the unaligned handling. Now in the NVMe protocol it will always be properly aligned, but my TCP-foo is not good enough to remember if the networking code will also guarantee 32-bit alignment for the start of the packet? Otherwise this looks great: Reviewed-by: Christoph Hellwig <hch@xxxxxx>