[PATCH] have lockd and rpciod drop locks on exit

Robert Love (rml@tech9.net)
29 Aug 2002 11:31:54 -0400


Linus,

Neither lockd nor rpciod properly drop the BKL on exit.

Yes, the BKL is automatically relinquished on schedule but the failure
to drop the lock throws off the atomic accounting and results in a
preempt_count warning on exit.

This makes them play fair - it does not hurt.

Patch is against 2.5.32-bk. Please, apply.

Robert Love

diff -urN linux-2.5.32/fs/lockd/svc.c linux/fs/lockd/svc.c
--- linux-2.5.32/fs/lockd/svc.c Tue Aug 27 15:26:51 2002
+++ linux/fs/lockd/svc.c Wed Aug 28 17:42:50 2002
@@ -203,6 +203,7 @@
rpciod_down();

/* Release module */
+ unlock_kernel();
MOD_DEC_USE_COUNT;
}

diff -urN linux-2.5.32/net/sunrpc/sched.c linux/net/sunrpc/sched.c
--- linux-2.5.32/net/sunrpc/sched.c Tue Aug 27 15:26:43 2002
+++ linux/net/sunrpc/sched.c Wed Aug 28 17:42:50 2002
@@ -1030,6 +1030,7 @@
wake_up(assassin);

dprintk("RPC: rpciod exiting\n");
+ unlock_kernel();
MOD_DEC_USE_COUNT;
return 0;
}

-
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/