nvme-tcp: fence TCP socket on receive error
Ensure that no further socket reads occur after a receive processing error, either from io_work being re-scheduled or nvme_tcp_poll.
Failing to do so can result in unrecognised PDU payloads or TCP stream garbage being processed as a C2H data PDU, and potentially start copying the payload to an invalid destination after looking up a request using a bogus command id.
Bugzilla: https://bugzilla.redhat.com/2175038
Bugzilla: https://bugzilla.redhat.com/2173109
Bugzilla: https://bugzilla.redhat.com/2139643
Bugzilla: https://bugzilla.redhat.com/2159909
Signed-off-by: Chris Leech cleech@redhat.com
Edited by Chris Leech