Linking a module driver via mount through the VFS layer

David Woodhouse (David.Woodhouse@mvhi.com)
Mon, 22 Feb 1999 00:26:27 +0000


While looking through the nfsd client list locking code, I noticed that
exp_getclient() is called from fs/lockd/svcproc.c:446 without previously
calling exp_readlock()

Is this intentional or harmless, or should we add the relevant locking code?

Index: svcproc.c
===================================================================
RCS file: /cvs/linux/fs/lockd/svcproc.c,v
retrieving revision 1.1.1.2
diff -u -w -r1.1.1.2 svcproc.c
--- svcproc.c 1999/01/04 10:31:28 1.1.1.2
+++ svcproc.c 1999/02/22 00:25:35
@@ -443,10 +443,12 @@
if (nlmsvc_ops != NULL) {
struct svc_client *clnt;
saddr.sin_addr.s_addr = argp->addr;
+ nlmsvc_ops->exp_readlock();
if ((clnt = nlmsvc_ops->exp_getclient(&saddr)) != NULL
&& (host = nlm_lookup_host(clnt, &saddr, 0, 0)) != NULL) {
nlmsvc_free_host_resources(host);
}
+ nlmsvc_ops->exp_unlock();
nlm_release_host(host);
}

---- ---- ----
David Woodhouse David.Woodhouse@mvhi.com Office: (+44) 1223 810302
Project Leader, Process Information Systems Mobile: (+44) 976 658355
Axiom (Cambridge) Ltd., Swaffham Bulbeck, Cambridge, CB5 0NA, UK.
finger dwmw2@ferret.lmh.ox.ac.uk for PGP key.

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