Lines Matching +full:shared +full:- +full:memory
10 ----------
14 --------
26 -----------
37 outside the confinement of all-or-nothing shared resources of legacy
44 shared at the time of their creation. unshare() was conceptualized by
45 Al Viro in the August of 2000, on the Linux-Kernel mailing list, as part
48 shared resources without creating a new process. unshare() is a natural
53 -----------
57 resources is not possible. Since namespaces are shared by default
59 even non-threaded applications if they have a need to disassociate
60 from default shared namespace. The following lists two use-cases
63 2.1 Per-security context namespaces
67 the kernel's per-process namespace mechanism. Polyinstantiated directories,
68 such as per-user and/or per-security context instance of /tmp, /var/tmp or
69 per-security context instance of a user's home directory, isolate user
74 of shared-tree feature in the Linux kernel, even regular Linux systems
79 2.2 unsharing of virtual memory and/or open files
84 virtual memory and open files. Without unshare(), the server has to
85 decide what needs to be shared at the time of creating the process
93 -------
106 ---------------
111 be shared, similar flags in unshare(int flags) should specify
123 ---------------------------
126 unshare - disassociate parts of the process execution context
135 context that are currently being shared with other processes. Part
136 of execution context, such as the namespace, is shared by default
138 such as the virtual memory, open file descriptors, etc, may be
139 shared by explicit request to share them when creating a process
143 shared execution context without creating a new process.
145 The flags argument specifies one or bitwise-or'ed of several of
150 is disassociated from the shared file system information.
154 caller is disassociated from the shared file descriptor
159 disassociated from the shared namespace.
162 If CLONE_VM is set, the virtual memory of the caller is
163 disassociated from the shared virtual memory.
166 On success, zero returned. On failure, -1 is returned and errno is
169 EPERM CLONE_NEWNS was specified by a non-root process (process
172 ENOMEM Cannot allocate sufficient memory to copy parts of caller's
178 The unshare() call is Linux-specific and should not be used
185 --------------------
189 the current shared version, associates newly duplicated structures
190 with the current task structure and releases corresponding shared
194 1) clone operates on a newly allocated not-yet-active task
201 current task and releasing older shared structures. Failure
204 both virtual memory and namespace. After successfully unsharing
208 system call will have to go back to older, shared, vm
229 4) Appropriately release older, shared, context structures.
232 -------------------
265 set and signals are also being shared, force CLONE_THREAD. If
278 older, shared, structures.
284 and CLONE_THREAD, return -EINVAL since they are not implemented yet.
297 ---------------------
303 yet, return -EINVAL.
315 4) Concurrent execution: Use shared memory segments and futex on
323 --------------