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 remote-tracking branch 'wireless/master' into mac80211
[firefly-linux-kernel-4.4.55.git]
/
ipc
/
msg.c
diff --git
a/ipc/msg.c
b/ipc/msg.c
index 7385de25788a80c0d9cb51e6a9921997ae135e74..a71af5a65abf2b6a3029c4792d13594317dba8d2 100644
(file)
--- a/
ipc/msg.c
+++ b/
ipc/msg.c
@@
-443,9
+443,12
@@
static int msgctl_down(struct ipc_namespace *ns, int msqid, int cmd,
goto out_unlock;
}
goto out_unlock;
}
+ err = ipc_update_perm(&msqid64.msg_perm, ipcp);
+ if (err)
+ goto out_unlock;
+
msq->q_qbytes = msqid64.msg_qbytes;
msq->q_qbytes = msqid64.msg_qbytes;
- ipc_update_perm(&msqid64.msg_perm, ipcp);
msq->q_ctime = get_seconds();
/* sleeping receivers might be excluded by
* stricter permissions.
msq->q_ctime = get_seconds();
/* sleeping receivers might be excluded by
* stricter permissions.
@@
-922,6
+925,7
@@
out:
#ifdef CONFIG_PROC_FS
static int sysvipc_msg_proc_show(struct seq_file *s, void *it)
{
#ifdef CONFIG_PROC_FS
static int sysvipc_msg_proc_show(struct seq_file *s, void *it)
{
+ struct user_namespace *user_ns = seq_user_ns(s);
struct msg_queue *msq = it;
return seq_printf(s,
struct msg_queue *msq = it;
return seq_printf(s,
@@
-933,10
+937,10
@@
static int sysvipc_msg_proc_show(struct seq_file *s, void *it)
msq->q_qnum,
msq->q_lspid,
msq->q_lrpid,
msq->q_qnum,
msq->q_lspid,
msq->q_lrpid,
-
msq->q_perm.uid
,
-
msq->q_perm.gid
,
-
msq->q_perm.cuid
,
-
msq->q_perm.cgid
,
+
from_kuid_munged(user_ns, msq->q_perm.uid)
,
+
from_kgid_munged(user_ns, msq->q_perm.gid)
,
+
from_kuid_munged(user_ns, msq->q_perm.cuid)
,
+
from_kgid_munged(user_ns, msq->q_perm.cgid)
,
msq->q_stime,
msq->q_rtime,
msq->q_ctime);
msq->q_stime,
msq->q_rtime,
msq->q_ctime);