Messages in this thread Patch in this message | | | Date | Mon, 22 Feb 1999 00:26:27 +0000 | From | David Woodhouse <> |
| |
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/
| |