diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-13 16:00:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-13 16:00:36 -0500 |
commit | 78a45c6f067824cf5d0a9fedea7339ac2e28603c (patch) | |
tree | b4f78c8b6b9059ddace0a18c11629b8d2045f793 /ipc/namespace.c | |
parent | f96fe225677b3efb74346ebd56fafe3997b02afa (diff) | |
parent | 29d293b6007b91a4463f05bc8d0b26e0e65c5816 (diff) |
Merge branch 'akpm' (second patch-bomb from Andrew)
Merge second patchbomb from Andrew Morton:
- the rest of MM
- misc fs fixes
- add execveat() syscall
- new ratelimit feature for fault-injection
- decompressor updates
- ipc/ updates
- fallocate feature creep
- fsnotify cleanups
- a few other misc things
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (99 commits)
cgroups: Documentation: fix trivial typos and wrong paragraph numberings
parisc: percpu: update comments referring to __get_cpu_var
percpu: update local_ops.txt to reflect this_cpu operations
percpu: remove __get_cpu_var and __raw_get_cpu_var macros
fsnotify: remove destroy_list from fsnotify_mark
fsnotify: unify inode and mount marks handling
fallocate: create FAN_MODIFY and IN_MODIFY events
mm/cma: make kmemleak ignore CMA regions
slub: fix cpuset check in get_any_partial
slab: fix cpuset check in fallback_alloc
shmdt: use i_size_read() instead of ->i_size
ipc/shm.c: fix overly aggressive shmdt() when calls span multiple segments
ipc/msg: increase MSGMNI, remove scaling
ipc/sem.c: increase SEMMSL, SEMMNI, SEMOPM
ipc/sem.c: change memory barrier in sem_lock() to smp_rmb()
lib/decompress.c: consistency of compress formats for kernel image
decompress_bunzip2: off by one in get_next_block()
usr/Kconfig: make initrd compression algorithm selection not expert
fault-inject: add ratelimit option
ratelimit: add initialization macro
...
Diffstat (limited to 'ipc/namespace.c')
-rw-r--r-- | ipc/namespace.c | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/ipc/namespace.c b/ipc/namespace.c index b54468e48e32..1a3ffd40356e 100644 --- a/ipc/namespace.c +++ b/ipc/namespace.c | |||
@@ -45,14 +45,6 @@ static struct ipc_namespace *create_ipc_ns(struct user_namespace *user_ns, | |||
45 | msg_init_ns(ns); | 45 | msg_init_ns(ns); |
46 | shm_init_ns(ns); | 46 | shm_init_ns(ns); |
47 | 47 | ||
48 | /* | ||
49 | * msgmni has already been computed for the new ipc ns. | ||
50 | * Thus, do the ipcns creation notification before registering that | ||
51 | * new ipcns in the chain. | ||
52 | */ | ||
53 | ipcns_notify(IPCNS_CREATED); | ||
54 | register_ipcns_notifier(ns); | ||
55 | |||
56 | ns->user_ns = get_user_ns(user_ns); | 48 | ns->user_ns = get_user_ns(user_ns); |
57 | 49 | ||
58 | return ns; | 50 | return ns; |
@@ -99,25 +91,11 @@ void free_ipcs(struct ipc_namespace *ns, struct ipc_ids *ids, | |||
99 | 91 | ||
100 | static void free_ipc_ns(struct ipc_namespace *ns) | 92 | static void free_ipc_ns(struct ipc_namespace *ns) |
101 | { | 93 | { |
102 | /* | ||
103 | * Unregistering the hotplug notifier at the beginning guarantees | ||
104 | * that the ipc namespace won't be freed while we are inside the | ||
105 | * callback routine. Since the blocking_notifier_chain_XXX routines | ||
106 | * hold a rw lock on the notifier list, unregister_ipcns_notifier() | ||
107 | * won't take the rw lock before blocking_notifier_call_chain() has | ||
108 | * released the rd lock. | ||
109 | */ | ||
110 | unregister_ipcns_notifier(ns); | ||
111 | sem_exit_ns(ns); | 94 | sem_exit_ns(ns); |
112 | msg_exit_ns(ns); | 95 | msg_exit_ns(ns); |
113 | shm_exit_ns(ns); | 96 | shm_exit_ns(ns); |
114 | atomic_dec(&nr_ipc_ns); | 97 | atomic_dec(&nr_ipc_ns); |
115 | 98 | ||
116 | /* | ||
117 | * Do the ipcns removal notification after decrementing nr_ipc_ns in | ||
118 | * order to have a correct value when recomputing msgmni. | ||
119 | */ | ||
120 | ipcns_notify(IPCNS_REMOVED); | ||
121 | put_user_ns(ns->user_ns); | 99 | put_user_ns(ns->user_ns); |
122 | proc_free_inum(ns->proc_inum); | 100 | proc_free_inum(ns->proc_inum); |
123 | kfree(ns); | 101 | kfree(ns); |