Skip to content

RFC posix mqueue namespace (v11)

Serge E. Hallyn containers 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest2 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2mqueue ns: move mqueue_mnt into struct ipc_namespaceinclude/linux/ipc_namespace.h init/Kconfig ipc/mqueue.c +4 more+131 -680 replies
2/2ipc namespaces: implement support for posix msqueuesinclude/linux/ipc_namespace.h ipc/mqueue.c ipc/msgutil.c +2 more+154 -510 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC patch 0/2] posix mqueue namespace (v11)

(Ok I don't know what the actual version number is - it's high but 11 is probably safe)

Cedric and Nadia took several approaches to making posix message queues per-namespace. I ended up mamking some deep changes so am not retaining their Signed-off-by:s on this version, but this is definately very much based on work by both of them.

Patch 2 hopefully explains my approach. Briefly,

1. sysv and posix ipc are both under CLONE_NEWIPC
2. the mqueue sb is per-ipc-namespace

So to create a new ipc namespace, you would

	unshare(CLONE_NEWIPC|CLONE_NEWNS);
	umount /dev/mqueue
	mount -t mqueue mqueue /dev/mqueue

It's perfectly valid to do vfs operations on files in another ipc_namespace's /dev/mqueue, but any use of mq_open(3) and friends will act in your own ipc_ns.

thanks,
-serge