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.1^2~11 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=e4b2709a076d2d40b3db6d052c3ee3fbd5226fdf;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: I19fbc3c9da5bbf607b41491404b70a87d68e033e Reviewed-on: http://gerrit.openafs.org/6907 Reviewed-by: Derrick Brashear Tested-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