aboutsummaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
Diffstat (limited to 'ipc')
-rw-r--r--ipc/mq_sysctl.c18
-rw-r--r--ipc/mqueue.c9
2 files changed, 24 insertions, 3 deletions
diff --git a/ipc/mq_sysctl.c b/ipc/mq_sysctl.c
index e22336a09b4a..383d638340b8 100644
--- a/ipc/mq_sysctl.c
+++ b/ipc/mq_sysctl.c
@@ -73,6 +73,24 @@ static ctl_table mq_sysctls[] = {
73 .extra1 = &msg_maxsize_limit_min, 73 .extra1 = &msg_maxsize_limit_min,
74 .extra2 = &msg_maxsize_limit_max, 74 .extra2 = &msg_maxsize_limit_max,
75 }, 75 },
76 {
77 .procname = "msg_default",
78 .data = &init_ipc_ns.mq_msg_default,
79 .maxlen = sizeof(int),
80 .mode = 0644,
81 .proc_handler = proc_mq_dointvec_minmax,
82 .extra1 = &msg_max_limit_min,
83 .extra2 = &msg_max_limit_max,
84 },
85 {
86 .procname = "msgsize_default",
87 .data = &init_ipc_ns.mq_msgsize_default,
88 .maxlen = sizeof(int),
89 .mode = 0644,
90 .proc_handler = proc_mq_dointvec_minmax,
91 .extra1 = &msg_maxsize_limit_min,
92 .extra2 = &msg_maxsize_limit_max,
93 },
76 {} 94 {}
77}; 95};
78 96
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index 6828e2c93cef..609d53f7a915 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -145,9 +145,10 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
145 info->qsize = 0; 145 info->qsize = 0;
146 info->user = NULL; /* set when all is ok */ 146 info->user = NULL; /* set when all is ok */
147 memset(&info->attr, 0, sizeof(info->attr)); 147 memset(&info->attr, 0, sizeof(info->attr));
148 info->attr.mq_maxmsg = min(ipc_ns->mq_msg_max, DFLT_MSG); 148 info->attr.mq_maxmsg = min(ipc_ns->mq_msg_max,
149 info->attr.mq_msgsize = 149 ipc_ns->mq_msg_default);
150 min(ipc_ns->mq_msgsize_max, DFLT_MSGSIZE); 150 info->attr.mq_msgsize = min(ipc_ns->mq_msgsize_max,
151 ipc_ns->mq_msgsize_default);
151 if (attr) { 152 if (attr) {
152 info->attr.mq_maxmsg = attr->mq_maxmsg; 153 info->attr.mq_maxmsg = attr->mq_maxmsg;
153 info->attr.mq_msgsize = attr->mq_msgsize; 154 info->attr.mq_msgsize = attr->mq_msgsize;
@@ -1261,6 +1262,8 @@ int mq_init_ns(struct ipc_namespace *ns)
1261 ns->mq_queues_max = DFLT_QUEUESMAX; 1262 ns->mq_queues_max = DFLT_QUEUESMAX;
1262 ns->mq_msg_max = DFLT_MSGMAX; 1263 ns->mq_msg_max = DFLT_MSGMAX;
1263 ns->mq_msgsize_max = DFLT_MSGSIZEMAX; 1264 ns->mq_msgsize_max = DFLT_MSGSIZEMAX;
1265 ns->mq_msg_default = DFLT_MSG;
1266 ns->mq_msgsize_default = DFLT_MSGSIZE;
1264 1267
1265 ns->mq_mnt = kern_mount_data(&mqueue_fs_type, ns); 1268 ns->mq_mnt = kern_mount_data(&mqueue_fs_type, ns);
1266 if (IS_ERR(ns->mq_mnt)) { 1269 if (IS_ERR(ns->mq_mnt)) {