|
@@ -8,17 +8,20 @@
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
|
- * SHMMAX, SHMMNI and SHMALL are upper limits are defaults which can
|
|
|
- * be modified by sysctl.
|
|
|
+ * SHMMNI, SHMMAX and SHMALL are default upper limits which can be
|
|
|
+ * modified by sysctl. The SHMMAX and SHMALL values have been chosen to
|
|
|
+ * be as large possible without facilitating scenarios where userspace
|
|
|
+ * causes overflows when adjusting the limits via operations of the form
|
|
|
+ * "retrieve current limit; add X; update limit". It is therefore not
|
|
|
+ * advised to make SHMMAX and SHMALL any larger. These limits are
|
|
|
+ * suitable for both 32 and 64-bit systems.
|
|
|
*/
|
|
|
-
|
|
|
#define SHMMIN 1 /* min shared seg size (bytes) */
|
|
|
#define SHMMNI 4096 /* max num of segs system wide */
|
|
|
-#define SHMMAX (ULONG_MAX - (1L<<24)) /* max shared seg size (bytes) */
|
|
|
-#define SHMALL (ULONG_MAX - (1L<<24)) /* max shm system wide (pages) */
|
|
|
+#define SHMMAX (ULONG_MAX - (1UL << 24)) /* max shared seg size (bytes) */
|
|
|
+#define SHMALL (ULONG_MAX - (1UL << 24)) /* max shm system wide (pages) */
|
|
|
#define SHMSEG SHMMNI /* max shared segs per process */
|
|
|
|
|
|
-
|
|
|
/* Obsolete, used only for backwards compatibility and libc5 compiles */
|
|
|
struct shmid_ds {
|
|
|
struct ipc_perm shm_perm; /* operation perms */
|