projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit '683b6c6f82a60fabf47012581c2cfbf1b037ab95' into stable/for-linus-3.15
[firefly-linux-kernel-4.4.55.git]
/
ipc
/
namespace.c
diff --git
a/ipc/namespace.c
b/ipc/namespace.c
index 4be6581d3b7fa075c3d899e889ce6d09e8fcca86..59451c1e214d71f1b771b764d309b20759e19eb6 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)