Commit faaa0feb authored by Chris Wright's avatar Chris Wright Committed by Linus Torvalds

[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: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent db49b0f9
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -112,6 +112,7 @@ ...@@ -112,6 +112,7 @@
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/user.h> #include <linux/user.h>
#include <linux/elfcore.h> #include <linux/elfcore.h>
#include <linux/mqueue.h>
//#define DEBUG //#define DEBUG
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <linux/a.out.h> #include <linux/a.out.h>
#include <linux/reboot.h> #include <linux/reboot.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/kallsyms.h> #include <linux/kallsyms.h>
#include <linux/mqueue.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
static struct fs_struct init_fs = INIT_FS; static struct fs_struct init_fs = INIT_FS;
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/mqueue.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "linux/sched.h" #include "linux/sched.h"
#include "linux/init_task.h" #include "linux/init_task.h"
#include "linux/version.h" #include "linux/version.h"
#include "linux/mqueue.h"
#include "asm/uaccess.h" #include "asm/uaccess.h"
#include "asm/pgtable.h" #include "asm/pgtable.h"
#include "user_util.h" #include "user_util.h"
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/init_task.h> #include <linux/init_task.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mqueue.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_MEMLOCK 9 /* max locked-in-memory address space */ #define RLIMIT_MEMLOCK 9 /* max locked-in-memory address space */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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 * SuS says limits have to be unsigned. Fine, it's unsigned, but
...@@ -43,6 +44,7 @@ ...@@ -43,6 +44,7 @@
{LONG_MAX, LONG_MAX}, /* RLIMIT_MEMLOCK */ \ {LONG_MAX, LONG_MAX}, /* RLIMIT_MEMLOCK */ \
{LONG_MAX, LONG_MAX}, /* RLIMIT_LOCKS */ \ {LONG_MAX, LONG_MAX}, /* RLIMIT_LOCKS */ \
{MAX_SIGPENDING, MAX_SIGPENDING}, /* RLIMIT_SIGPENDING */ \ {MAX_SIGPENDING, MAX_SIGPENDING}, /* RLIMIT_SIGPENDING */ \
{MQ_BYTES_MAX, MQ_BYTES_MAX}, /* RLIMIT_MSGQUEUE */ \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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__ #ifdef __KERNEL__
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING}, \ { MAX_SIGPENDING, MAX_SIGPENDING}, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX}, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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__ #ifdef __KERNEL__
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING}, \ { MAX_SIGPENDING, MAX_SIGPENDING}, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX}, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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 @@ ...@@ -43,6 +44,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -24,8 +24,9 @@ ...@@ -24,8 +24,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -49,6 +50,7 @@ ...@@ -49,6 +50,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
# endif /* __KERNEL__ */ # endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -24,8 +24,9 @@ ...@@ -24,8 +24,9 @@
#define RLIMIT_MEMLOCK 9 /* max locked-in-memory address space */ #define RLIMIT_MEMLOCK 9 /* max locked-in-memory address space */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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__ #ifdef __KERNEL__
...@@ -56,6 +57,7 @@ ...@@ -56,6 +57,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -13,8 +13,9 @@ ...@@ -13,8 +13,9 @@
#define RLIMIT_AS 9 /* address space limit(?) */ #define RLIMIT_AS 9 /* address space limit(?) */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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__ #ifdef __KERNEL__
...@@ -39,6 +40,7 @@ ...@@ -39,6 +40,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -22,8 +22,9 @@ ...@@ -22,8 +22,9 @@
#define RLIMIT_AS 9 /* address space limit(?) */ #define RLIMIT_AS 9 /* address space limit(?) */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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__ #ifdef __KERNEL__
...@@ -48,6 +49,7 @@ ...@@ -48,6 +49,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -25,8 +25,9 @@ ...@@ -25,8 +25,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -50,6 +51,7 @@ ...@@ -50,6 +51,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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__ #ifdef __KERNEL__
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -23,8 +23,9 @@ ...@@ -23,8 +23,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -47,6 +48,7 @@ ...@@ -47,6 +48,7 @@
{RLIM_INFINITY, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \
{RLIM_INFINITY, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \
{MAX_SIGPENDING, MAX_SIGPENDING}, \ {MAX_SIGPENDING, MAX_SIGPENDING}, \
{MQ_BYTES_MAX, MQ_BYTES_MAX}, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -23,8 +23,9 @@ ...@@ -23,8 +23,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -46,6 +47,7 @@ ...@@ -46,6 +47,7 @@
{RLIM_INFINITY, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \
{RLIM_INFINITY, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \
{MAX_SIGPENDING, MAX_SIGPENDING}, \ {MAX_SIGPENDING, MAX_SIGPENDING}, \
{MQ_BYTES_MAX, MQ_BYTES_MAX}, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
#define RLIMIT_AS 9 /* address space limit */ #define RLIMIT_AS 9 /* address space limit */
#define RLIMIT_LOCKS 10 /* maximum file locks held */ #define RLIMIT_LOCKS 10 /* maximum file locks held */
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */ #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. * SuS says limits have to be unsigned.
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \
{ MAX_SIGPENDING, MAX_SIGPENDING }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \
{ MQ_BYTES_MAX, MQ_BYTES_MAX }, \
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
#include <linux/types.h> #include <linux/types.h>
#define MQ_PRIO_MAX 32768 #define MQ_PRIO_MAX 32768
/* per-uid limit of kernel memory used by mqueue, in bytes */
#define MQ_BYTES_MAX 819200
struct mq_attr { struct mq_attr {
long mq_flags; /* message queue flags */ long mq_flags; /* message queue flags */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment