Subject: Potential locking issue in sunrpc

From: Ben Greear <[email-masked]>
Date: Thu, 30 Jun 2011 16:12:43 -0700

This method in sched.c says we should have a lock for ASYNC

/*
  * Make an RPC task runnable.
  *
  * Note: If the task is ASYNC, this must be called with
  * the spinlock held to protect the wait queue operation.
  */
static void rpc_make_runnable(struct rpc_task *task)

However, I don't think the lock is being taken for
the call path starting with rpcb_call_async in
rpcb_clnt.c:

rpcb_call_async
rpc_run_task
rpc_execute
rpc_make_runnable

Is the comment on the make_runnable method wrong, or are we missing locking?

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com