[lkml]   [2002]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
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);

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
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:28    [W:0.072 / U:0.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site