diff options
-rw-r--r-- | ipc/msg.c | 25 | ||||
-rw-r--r-- | ipc/sem.c | 1 |
2 files changed, 0 insertions, 26 deletions
@@ -141,31 +141,6 @@ void __init msg_init(void) | |||
141 | IPC_MSG_IDS, sysvipc_msg_proc_show); | 141 | IPC_MSG_IDS, sysvipc_msg_proc_show); |
142 | } | 142 | } |
143 | 143 | ||
144 | /* | ||
145 | * msg_lock_(check_) routines are called in the paths where the rw_mutex | ||
146 | * is not held. | ||
147 | */ | ||
148 | static inline struct msg_queue *msg_lock(struct ipc_namespace *ns, int id) | ||
149 | { | ||
150 | struct kern_ipc_perm *ipcp = ipc_lock(&msg_ids(ns), id); | ||
151 | |||
152 | if (IS_ERR(ipcp)) | ||
153 | return (struct msg_queue *)ipcp; | ||
154 | |||
155 | return container_of(ipcp, struct msg_queue, q_perm); | ||
156 | } | ||
157 | |||
158 | static inline struct msg_queue *msg_lock_check(struct ipc_namespace *ns, | ||
159 | int id) | ||
160 | { | ||
161 | struct kern_ipc_perm *ipcp = ipc_lock_check(&msg_ids(ns), id); | ||
162 | |||
163 | if (IS_ERR(ipcp)) | ||
164 | return (struct msg_queue *)ipcp; | ||
165 | |||
166 | return container_of(ipcp, struct msg_queue, q_perm); | ||
167 | } | ||
168 | |||
169 | static inline struct msg_queue *msq_obtain_object(struct ipc_namespace *ns, int id) | 144 | static inline struct msg_queue *msq_obtain_object(struct ipc_namespace *ns, int id) |
170 | { | 145 | { |
171 | struct kern_ipc_perm *ipcp = ipc_obtain_object(&msg_ids(ns), id); | 146 | struct kern_ipc_perm *ipcp = ipc_obtain_object(&msg_ids(ns), id); |
@@ -1296,7 +1296,6 @@ static int semctl_down(struct ipc_namespace *ns, int semid, | |||
1296 | &semid64.sem_perm, 0); | 1296 | &semid64.sem_perm, 0); |
1297 | if (IS_ERR(ipcp)) { | 1297 | if (IS_ERR(ipcp)) { |
1298 | err = PTR_ERR(ipcp); | 1298 | err = PTR_ERR(ipcp); |
1299 | /* the ipc lock is not held upon failure */ | ||
1300 | goto out_unlock1; | 1299 | goto out_unlock1; |
1301 | } | 1300 | } |
1302 | 1301 | ||