Description of problem: GNBD assumes that after a send to a socket has a failed due to a socket error, future sends or receives on the socket will also fail. If this doesn't happen, it is possible to send garbage to the gnbd server. Version-Release number of selected component (if applicable): gnbd-1.1.5-1.el5 How reproducible: Not sure. A customer has seen GNBD_REQUEST_MAGIC mismatched errors likely stemming from this. Additional info: This bug was initially mentioned in comment #14 of bz #444074, but it is unrelated to the issue that the bugzilla was opened to track.
Created attachment 308279 [details] patch to disallow sending requests after a send has failed. This patch adds a "corrupt" flag to the gnbd device structure. This flag is cleared when a new socket connection is opened to the server. It is set whenever a send fails. After this all future sends will fail, and the receiver process will stop accepting replies as soon as it notices the flag.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
gfs2-utils-2.03.05-1.fc9, rgmanager-2.03.05-1.fc9, cman-2.03.05-1.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2009-0215.html