[PATCH 0/2] NFSD: fix races in service per-net resources allocation

Stanislav Kinsbursky
2013-02-01T11:27:44Z

After "NFS" (SUNRPC + NFSd actually) containerization work some basic
principles of SUNRPC service initialization and deinitialization has been
changed: now one service can be shared between different network namespaces
and network "resources" can be attached or detached from the running service.
This leads to races, described here:

https://bugzilla.redhat.com/show_bug.cgi?id=904870

and which this small patch set is aimed to solve by using per-cpu rw semphores
to sync per-net resources processing and shutdown.

The following series implements...

---

Stanislav Kinsbursky (2):
per-cpu semaphores: export symbols to modules
SUNRPC: protect transport processing with per-cpu rw semaphore

include/linux/sunrpc/svc.h | 2 ++
lib/Makefile | 2 +-
lib/percpu-rwsem.c | 6 ++++++
net/sunrpc/Kconfig | 1 +
net/sunrpc/svc.c | 2 ++
net/sunrpc/svc_xprt.c | 33 +++++++++++++++++++++++++++------
6 files changed, 39 insertions(+), 7 deletions(-)