From: Simon Wilkinson Date: Wed, 14 Mar 2012 14:56:06 +0000 (-0400) Subject: rx: hold call->lock across RXS_PreparePacket X-Git-Tag: upstream/1.6.2_pre2^2~206 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=81375aa2e48bbf437ab258fe76a326a4700bd095;p=packages%2Fo%2Fopenafs.git rx: hold call->lock across RXS_PreparePacket RX Security Classes have a right to assume that when RXS_PreparePacket is called that they have exclusive access to the rx_call structure. Commit e445faa68c5ec6e47d3fd9d7318ade71d98703a9 unintentionally failed to acquire the call->lock prior to RXS_PreparePacket being called. Reviewed-on: http://gerrit.openafs.org/6904 Tested-by: BuildBot Reviewed-by: Alistair Ferguson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 0fdcf171a8d2b2153648b6b799096e09eb469beb) Change-Id: I184a3c71418eb78742fbf1bf609daca1aea57f26 Reviewed-on: http://gerrit.openafs.org/6909 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index 0402ed8a6..314504a7f 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -2754,8 +2754,8 @@ rxi_PrepareSendPacket(struct rx_call *call, } if (len) p->wirevec[i - 1].iov_len += len; - RXS_PreparePacket(conn->securityObject, call, p); MUTEX_ENTER(&call->lock); + RXS_PreparePacket(conn->securityObject, call, p); } /* Given an interface MTU size, calculate an adjusted MTU size that