projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Correct .gbs.conf settings
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
ipc
/
namespace.c
diff --git
a/ipc/namespace.c
b/ipc/namespace.c
index
7ee61bf
..
59451c1
100644
(file)
--- a/
ipc/namespace.c
+++ b/
ipc/namespace.c
@@
-81,7
+81,7
@@
void free_ipcs(struct ipc_namespace *ns, struct ipc_ids *ids,
int next_id;
int total, in_use;
int next_id;
int total, in_use;
- down_write(&ids->rw
_mutex
);
+ down_write(&ids->rw
sem
);
in_use = ids->in_use;
in_use = ids->in_use;
@@
-89,11
+89,12
@@
void free_ipcs(struct ipc_namespace *ns, struct ipc_ids *ids,
perm = idr_find(&ids->ipcs_idr, next_id);
if (perm == NULL)
continue;
perm = idr_find(&ids->ipcs_idr, next_id);
if (perm == NULL)
continue;
- ipc_lock_by_ptr(perm);
+ rcu_read_lock();
+ ipc_lock_object(perm);
free(ns, perm);
total++;
}
free(ns, perm);
total++;
}
- up_write(&ids->rw
_mutex
);
+ up_write(&ids->rw
sem
);
}
static void free_ipc_ns(struct ipc_namespace *ns)
}
static void free_ipc_ns(struct ipc_namespace *ns)
@@
-171,7
+172,7
@@
static int ipcns_install(struct nsproxy *nsproxy, void *new)
{
struct ipc_namespace *ns = new;
if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN) ||
{
struct ipc_namespace *ns = new;
if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN) ||
- !ns
own_capable(
CAP_SYS_ADMIN))
+ !ns
_capable(current_user_ns(),
CAP_SYS_ADMIN))
return -EPERM;
/* Ditch state from the old ipc namespace */
return -EPERM;
/* Ditch state from the old ipc namespace */