Red Hat Bugzilla – Bug 449812
gnbd does explicitly disallow sending requests after a send has failed.
Last modified: 2010-10-22 21:40:50 EDT
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):
Not sure. A customer has seen GNBD_REQUEST_MAGIC mismatched errors likely
stemming from this.
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
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
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.