OpenVZ Forum


Home » Mailing lists » Devel » [RFC PATCH 0/2] net: connect to UNIX sockets from specified root
[RFC PATCH 0/2] net: connect to UNIX sockets from specified root [message #47407] Fri, 10 August 2012 12:57 Go to previous message
Stanislav Kinsbursky is currently offline  Stanislav Kinsbursky
Messages: 683
Registered: October 2011
Senior Member
Today, there is a problem in connecting of local SUNRPC thansports. These
transports uses UNIX sockets and connection itself is done by rpciod
workqueue.
But UNIX sockets lookup is done in context of process file system root. I.e.
all local thunsports are connecting in rpciod context.
This works nice until we will try to mount NFS from process with other root -
for example in container. This container can have it's own (nested) root and
rcpbind process, listening on it's own unix sockets. But NFS mount attempt in
this container will register new service (Lockd for example) in global rpcbind
- not containers's one.

This patch set introduces kernel connect helper for UNIX stream sockets and
modifies unix_find_other() to be able to search from specified root.
It also replaces generic socket connect call for local transports by new
helper in SUNRPC layer.

The following series implements...

---

Stanislav Kinsbursky (2):
unix sockets: add ability for search for peer from passed root
SUNRPC: connect local transports with unix_stream_connect_root() helper


include/net/af_unix.h | 2 ++
net/sunrpc/xprtsock.c | 28 +++++++++++++++++++++++++---
net/unix/af_unix.c | 25 ++++++++++++++++++-------
3 files changed, 45 insertions(+), 10 deletions(-)
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [PATCH v4 7/9] IPC: message queue receive cleanup
Next Topic: Running windows over OpenVZ
Goto Forum:
  


Current Time: Wed Aug 07 09:23:56 GMT 2024

Total time taken to generate the page: 0.02983 seconds