Messages in this thread Patch in this message |  | | Date | Fri, 30 Aug 2002 18:22:31 -0400 (EDT) | From | Chuck Lever <> | Subject | [PATCH] prevent oops in xprt_lock_write, against 2.4.20 |
| |
hi marcelo-
when several RPC requests want to reconnect a TCP transport socket at once, xprt_lock_write serializes the tasks to prevent multiple socket connects. however, TCP connects are always done by a RPC child task that has no request slot. xprt_lock_write can oops if there is no request slot allocated to the invoking RPC task. reviewed and accepted by Trond.
i had thought the 2.5.32 patch wouldn't apply to 2.4.20, but Trond pointed out to me that his xprt_lock_write patches snuck into 2.4.20-pre5, which i hadn't noticed.
--- 2.4.20-pre5/net/sunrpc/xprt.c.orig Fri Aug 30 15:49:28 2002 +++ 2.4.20-pre5/net/sunrpc/xprt.c Fri Aug 30 18:16:17 2002 @@ -147,5 +147,5 @@ task->tk_timeout = 0; task->tk_status = -EAGAIN; - if (task->tk_rqstp->rq_nresend) + if (task->tk_rqstp && task->tk_rqstp->rq_nresend) rpc_sleep_on(&xprt->resend, task, NULL, NULL); else --
corporate: <cel at netapp dot com> personal: <chucklever at bigfoot dot com>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |