Re: [CHECKER] 2.6.8.1 deadlock in rpc_queue_lock <<===>> rpc_sched_lock

From: Greg Banks
Date: Tue Sep 07 2004 - 22:47:01 EST


On Wed, 2004-09-08 at 12:15, Dawson Engler wrote:
> Hi All,
>
> below is a possible deadlock in linux-2.6.8.1 found by a static deadlock
> checker I'm writing. Let me know if it looks valid and/or whether the
> output is too cryptic. (Note, the error is in debugging code so maybe
> not such a big deal).
>
>[...]
> /u2/engler/mc/oses/linux/linux-2.6.8.1/net/sunrpc/sched.c:__rpc_wake_up_task
> 430: __rpc_wake_up_task(struct rpc_task *task)
> 431: {
> 432: dprintk("RPC: %4d __rpc_wake_up_task (now %ld inh %d)\n",
> 433: task->tk_pid, jiffies, rpc_inhibit);
> 434:
> 435: #ifdef RPC_DEBUG
> 436: if (task->tk_magic != 0xf00baa) {
> 437: printk(KERN_ERR "RPC: attempt to wake up non-existing task!\n");
> 438: rpc_debug = ~0;
> ===> 439: rpc_show_tasks();

If this arc ever happens, you have data structure corruption issues
which are far more worrying than a deadlock.

Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/