summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wright <chrisw@osdl.org>2004-06-17 17:56:56 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-06-17 17:56:56 -0700
commitfaaa0febefc3de14da204284d79dd60c59a140b2 (patch)
tree6b9152ba97b51af26908b75bf0c652fa3b57af89
parentdb49b0f961a5704409acb5145ec7cb134be1b450 (diff)
[PATCH] RLIM: add rlimit entry for POSIX mqueue allocation
Add an rlimit entry to control the maximum number of bytes a user can allocate to a POSIX mqueue. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/alpha/kernel/init_task.c1
-rw-r--r--arch/arm/kernel/init_task.c1
-rw-r--r--arch/arm26/kernel/init_task.c1
-rw-r--r--arch/cris/kernel/process.c1
-rw-r--r--arch/h8300/kernel/init_task.c1
-rw-r--r--arch/i386/kernel/init_task.c1
-rw-r--r--arch/ia64/kernel/init_task.c1
-rw-r--r--arch/m68k/kernel/process.c1
-rw-r--r--arch/m68knommu/kernel/init_task.c1
-rw-r--r--arch/mips/kernel/init_task.c1
-rw-r--r--arch/parisc/kernel/init_task.c1
-rw-r--r--arch/ppc/kernel/process.c1
-rw-r--r--arch/ppc64/kernel/init_task.c1
-rw-r--r--arch/s390/kernel/init_task.c1
-rw-r--r--arch/sh/kernel/init_task.c1
-rw-r--r--arch/sparc/kernel/init_task.c1
-rw-r--r--arch/sparc64/kernel/init_task.c1
-rw-r--r--arch/um/kernel/init_task.c1
-rw-r--r--arch/v850/kernel/init_task.c1
-rw-r--r--arch/x86_64/kernel/init_task.c1
-rw-r--r--include/asm-alpha/resource.h4
-rw-r--r--include/asm-arm/resource.h4
-rw-r--r--include/asm-arm26/resource.h4
-rw-r--r--include/asm-cris/resource.h4
-rw-r--r--include/asm-h8300/resource.h4
-rw-r--r--include/asm-i386/resource.h4
-rw-r--r--include/asm-ia64/resource.h4
-rw-r--r--include/asm-m68k/resource.h4
-rw-r--r--include/asm-mips/resource.h4
-rw-r--r--include/asm-parisc/resource.h4
-rw-r--r--include/asm-ppc/resource.h4
-rw-r--r--include/asm-ppc64/resource.h4
-rw-r--r--include/asm-s390/resource.h4
-rw-r--r--include/asm-sh/resource.h4
-rw-r--r--include/asm-sparc/resource.h4
-rw-r--r--include/asm-sparc64/resource.h4
-rw-r--r--include/asm-v850/resource.h4
-rw-r--r--include/asm-x86_64/resource.h4
-rw-r--r--include/linux/mqueue.h2
39 files changed, 76 insertions, 18 deletions
diff --git a/arch/alpha/kernel/init_task.c b/arch/alpha/kernel/init_task.c
index 60722f0355f9..835d09a7b332 100644
--- a/arch/alpha/kernel/init_task.c
+++ b/arch/alpha/kernel/init_task.c
@@ -4,6 +4,7 @@
#include <linux/init.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
diff --git a/arch/arm/kernel/init_task.c b/arch/arm/kernel/init_task.c
index d7c3f2667a83..a00cca0000bd 100644
--- a/arch/arm/kernel/init_task.c
+++ b/arch/arm/kernel/init_task.c
@@ -7,6 +7,7 @@
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/arm26/kernel/init_task.c b/arch/arm26/kernel/init_task.c
index d40e768bdbc9..5b510232a6bb 100644
--- a/arch/arm26/kernel/init_task.c
+++ b/arch/arm26/kernel/init_task.c
@@ -10,6 +10,7 @@
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/cris/kernel/process.c b/arch/cris/kernel/process.c
index c4992bf89324..9f7cad7c7849 100644
--- a/arch/cris/kernel/process.c
+++ b/arch/cris/kernel/process.c
@@ -112,6 +112,7 @@
#include <linux/fs.h>
#include <linux/user.h>
#include <linux/elfcore.h>
+#include <linux/mqueue.h>
//#define DEBUG
diff --git a/arch/h8300/kernel/init_task.c b/arch/h8300/kernel/init_task.c
index 6a8e7475b4c2..19272c2ac56a 100644
--- a/arch/h8300/kernel/init_task.c
+++ b/arch/h8300/kernel/init_task.c
@@ -7,6 +7,7 @@
#include <linux/init.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/i386/kernel/init_task.c b/arch/i386/kernel/init_task.c
index 976e6bc1668b..5e1897649af8 100644
--- a/arch/i386/kernel/init_task.c
+++ b/arch/i386/kernel/init_task.c
@@ -4,6 +4,7 @@
#include <linux/init.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/ia64/kernel/init_task.c b/arch/ia64/kernel/init_task.c
index 46cf054d344e..b69c397ed1bf 100644
--- a/arch/ia64/kernel/init_task.c
+++ b/arch/ia64/kernel/init_task.c
@@ -11,6 +11,7 @@
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index 552bd2ff1436..b426ab55ad39 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -26,6 +26,7 @@
#include <linux/a.out.h>
#include <linux/reboot.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/arch/m68knommu/kernel/init_task.c b/arch/m68knommu/kernel/init_task.c
index 51ee0a032b9c..3897043a126a 100644
--- a/arch/m68knommu/kernel/init_task.c
+++ b/arch/m68knommu/kernel/init_task.c
@@ -7,6 +7,7 @@
#include <linux/init.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/mips/kernel/init_task.c b/arch/mips/kernel/init_task.c
index 945606b2e9a3..aeda7f58391b 100644
--- a/arch/mips/kernel/init_task.c
+++ b/arch/mips/kernel/init_task.c
@@ -3,6 +3,7 @@
#include <linux/sched.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/thread_info.h>
#include <asm/uaccess.h>
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c
index ed4fb585822e..c71b9462beda 100644
--- a/arch/parisc/kernel/init_task.c
+++ b/arch/parisc/kernel/init_task.c
@@ -27,6 +27,7 @@
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/ppc/kernel/process.c b/arch/ppc/kernel/process.c
index e5bd970dfa4b..f6d8cd31406f 100644
--- a/arch/ppc/kernel/process.c
+++ b/arch/ppc/kernel/process.c
@@ -35,6 +35,7 @@
#include <linux/init_task.h>
#include <linux/module.h>
#include <linux/kallsyms.h>
+#include <linux/mqueue.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
diff --git a/arch/ppc64/kernel/init_task.c b/arch/ppc64/kernel/init_task.c
index 38cb7aeb1223..941043ae040f 100644
--- a/arch/ppc64/kernel/init_task.c
+++ b/arch/ppc64/kernel/init_task.c
@@ -4,6 +4,7 @@
#include <linux/init.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
static struct fs_struct init_fs = INIT_FS;
diff --git a/arch/s390/kernel/init_task.c b/arch/s390/kernel/init_task.c
index 652c42325eca..d73a74013e73 100644
--- a/arch/s390/kernel/init_task.c
+++ b/arch/s390/kernel/init_task.c
@@ -10,6 +10,7 @@
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c
index 469a988d4d66..44053ea92936 100644
--- a/arch/sh/kernel/init_task.c
+++ b/arch/sh/kernel/init_task.c
@@ -2,6 +2,7 @@
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c
index 76f53648c303..af81a999fae0 100644
--- a/arch/sparc/kernel/init_task.c
+++ b/arch/sparc/kernel/init_task.c
@@ -2,6 +2,7 @@
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
diff --git a/arch/sparc64/kernel/init_task.c b/arch/sparc64/kernel/init_task.c
index e4525064b590..329b38fa5c89 100644
--- a/arch/sparc64/kernel/init_task.c
+++ b/arch/sparc64/kernel/init_task.c
@@ -2,6 +2,7 @@
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/init_task.h>
+#include <linux/mqueue.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
diff --git a/arch/um/kernel/init_task.c b/arch/um/kernel/init_task.c
index 7d6bb961d89e..be82cafe908c 100644
--- a/arch/um/kernel/init_task.c
+++ b/arch/um/kernel/init_task.c
@@ -9,6 +9,7 @@
#include "linux/sched.h"
#include "linux/init_task.h"
#include "linux/version.h"
+#include "linux/mqueue.h"
#include "asm/uaccess.h"
#include "asm/pgtable.h"
#include "user_util.h"
diff --git a/arch/v850/kernel/init_task.c b/arch/v850/kernel/init_task.c
index a5dac3a83dc6..ed2f93cf7c66 100644
--- a/arch/v850/kernel/init_task.c
+++ b/arch/v850/kernel/init_task.c
@@ -15,6 +15,7 @@
#include <linux/init.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/x86_64/kernel/init_task.c b/arch/x86_64/kernel/init_task.c
index 57ec2f0ee36a..33185ca33f6a 100644
--- a/arch/x86_64/kernel/init_task.c
+++ b/arch/x86_64/kernel/init_task.c
@@ -4,6 +4,7 @@
#include <linux/init.h>
#include <linux/init_task.h>
#include <linux/fs.h>
+#include <linux/mqueue.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/include/asm-alpha/resource.h b/include/asm-alpha/resource.h
index 71d2e693f7d4..b94759c61521 100644
--- a/include/asm-alpha/resource.h
+++ b/include/asm-alpha/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_MEMLOCK 9 /* max locked-in-memory address space */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned. Fine, it's unsigned, but
@@ -43,6 +44,7 @@
{LONG_MAX, LONG_MAX}, /* RLIMIT_MEMLOCK */ \
{LONG_MAX, LONG_MAX}, /* RLIMIT_LOCKS */ \
{MAX_SIGPENDING, MAX_SIGPENDING}, /* RLIMIT_SIGPENDING */ \
+ {MQ_BYTES_MAX, MQ_BYTES_MAX}, /* RLIMIT_MSGQUEUE */ \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-arm/resource.h b/include/asm-arm/resource.h
index 5b8e15c7f73f..748c660edb15 100644
--- a/include/asm-arm/resource.h
+++ b/include/asm-arm/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
#ifdef __KERNEL__
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING}, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX}, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-arm26/resource.h b/include/asm-arm26/resource.h
index 5b8e15c7f73f..748c660edb15 100644
--- a/include/asm-arm26/resource.h
+++ b/include/asm-arm26/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
#ifdef __KERNEL__
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING}, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX}, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-cris/resource.h b/include/asm-cris/resource.h
index 24e84dc536c4..e33ada08d9b8 100644
--- a/include/asm-cris/resource.h
+++ b/include/asm-cris/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-h8300/resource.h b/include/asm-h8300/resource.h
index 7c9af85cc262..a87720b14a90 100644
--- a/include/asm-h8300/resource.h
+++ b/include/asm-h8300/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-i386/resource.h b/include/asm-i386/resource.h
index fbfa5cd7a50f..3e391b2e941f 100644
--- a/include/asm-i386/resource.h
+++ b/include/asm-i386/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
@@ -43,6 +44,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-ia64/resource.h b/include/asm-ia64/resource.h
index 8dc4509e1129..76345b5c14c8 100644
--- a/include/asm-ia64/resource.h
+++ b/include/asm-ia64/resource.h
@@ -24,8 +24,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -49,6 +50,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
# endif /* __KERNEL__ */
diff --git a/include/asm-m68k/resource.h b/include/asm-m68k/resource.h
index 74d5eb62597b..8362001c286c 100644
--- a/include/asm-m68k/resource.h
+++ b/include/asm-m68k/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-mips/resource.h b/include/asm-mips/resource.h
index 83ab5709e0e9..2453e0d1c35c 100644
--- a/include/asm-mips/resource.h
+++ b/include/asm-mips/resource.h
@@ -24,8 +24,9 @@
#define RLIMIT_MEMLOCK 9 /* max locked-in-memory address space */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12 /* Number of limit flavors. */
+#define RLIM_NLIMITS 13 /* Number of limit flavors. */
#ifdef __KERNEL__
@@ -56,6 +57,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-parisc/resource.h b/include/asm-parisc/resource.h
index 877629d0ca88..59a446534c5b 100644
--- a/include/asm-parisc/resource.h
+++ b/include/asm-parisc/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-ppc/resource.h b/include/asm-ppc/resource.h
index 457db3c9b51b..3d29914559fc 100644
--- a/include/asm-ppc/resource.h
+++ b/include/asm-ppc/resource.h
@@ -13,8 +13,9 @@
#define RLIMIT_AS 9 /* address space limit(?) */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
#ifdef __KERNEL__
@@ -39,6 +40,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-ppc64/resource.h b/include/asm-ppc64/resource.h
index 45a61e048b81..c54e9d69d829 100644
--- a/include/asm-ppc64/resource.h
+++ b/include/asm-ppc64/resource.h
@@ -22,8 +22,9 @@
#define RLIMIT_AS 9 /* address space limit(?) */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
#ifdef __KERNEL__
@@ -48,6 +49,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-s390/resource.h b/include/asm-s390/resource.h
index 1fa59c6aea5a..5f0f2ba958dd 100644
--- a/include/asm-s390/resource.h
+++ b/include/asm-s390/resource.h
@@ -25,8 +25,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -50,6 +51,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-sh/resource.h b/include/asm-sh/resource.h
index b6f415d5c1d5..73e517a3e80f 100644
--- a/include/asm-sh/resource.h
+++ b/include/asm-sh/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
#ifdef __KERNEL__
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-sparc/resource.h b/include/asm-sparc/resource.h
index 75bd2d4d1f29..58e90f72ca70 100644
--- a/include/asm-sparc/resource.h
+++ b/include/asm-sparc/resource.h
@@ -23,8 +23,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -47,6 +48,7 @@
{RLIM_INFINITY, RLIM_INFINITY}, \
{RLIM_INFINITY, RLIM_INFINITY}, \
{MAX_SIGPENDING, MAX_SIGPENDING}, \
+ {MQ_BYTES_MAX, MQ_BYTES_MAX}, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-sparc64/resource.h b/include/asm-sparc64/resource.h
index 9ac4e1ba215b..4a77dd620621 100644
--- a/include/asm-sparc64/resource.h
+++ b/include/asm-sparc64/resource.h
@@ -23,8 +23,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -46,6 +47,7 @@
{RLIM_INFINITY, RLIM_INFINITY}, \
{RLIM_INFINITY, RLIM_INFINITY}, \
{MAX_SIGPENDING, MAX_SIGPENDING}, \
+ {MQ_BYTES_MAX, MQ_BYTES_MAX}, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-v850/resource.h b/include/asm-v850/resource.h
index 43aac5597d46..9f4ca4ae638f 100644
--- a/include/asm-v850/resource.h
+++ b/include/asm-v850/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/asm-x86_64/resource.h b/include/asm-x86_64/resource.h
index 772134280ae8..9628f77179fd 100644
--- a/include/asm-x86_64/resource.h
+++ b/include/asm-x86_64/resource.h
@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIM_NLIMITS 12
+#define RLIM_NLIMITS 13
/*
* SuS says limits have to be unsigned.
@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \
+ { MQ_BYTES_MAX, MQ_BYTES_MAX }, \
}
#endif /* __KERNEL__ */
diff --git a/include/linux/mqueue.h b/include/linux/mqueue.h
index fc40b774b913..8db9d75541a6 100644
--- a/include/linux/mqueue.h
+++ b/include/linux/mqueue.h
@@ -21,6 +21,8 @@
#include <linux/types.h>
#define MQ_PRIO_MAX 32768
+/* per-uid limit of kernel memory used by mqueue, in bytes */
+#define MQ_BYTES_MAX 819200
struct mq_attr {
long mq_flags; /* message queue flags */