diff options
| author | Chris Wright <chrisw@osdl.org> | 2004-06-17 17:56:56 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-06-17 17:56:56 -0700 |
| commit | faaa0febefc3de14da204284d79dd60c59a140b2 (patch) | |
| tree | 6b9152ba97b51af26908b75bf0c652fa3b57af89 | |
| parent | db49b0f961a5704409acb5145ec7cb134be1b450 (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>
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 */ |
