pam and nice-rt-prio-rlimits

From: Vegard Lima
Date: Mon Mar 14 2005 - 04:15:43 EST


Hello,

in the long thread on "[request for inclusion] Realtime LSM" there
doesn't appear to be too many people who has actually tested the
nice-and-rt-prio-rlimits.patch. Well, it works for me...

However, the patch to pam_limits posted here:
http://lkml.org/lkml/2005/1/14/174
is a little bit aggressive on the semi-colon side.

Tested patch (and pam.src.rpm for fedora c3) can be found here
http://home.hia.no/~vegardl/rlimit/
and below

--- Linux-PAM-0.77/modules/pam_limits/pam_limits.c.rtprio 2005-03-13 16:15:07.000000000 +0100
+++ Linux-PAM-0.77/modules/pam_limits/pam_limits.c 2005-03-13 16:27:54.000000000 +0100
@@ -39,6 +39,11 @@
#include <grp.h>
#include <pwd.h>

+/* Hack to test new rlimit values */
+#define RLIMIT_NICE 13
+#define RLIMIT_RTPRIO 14
+#define RLIM_NLIMITS 15
+
/* Module defines */
#define LINE_LENGTH 1024

@@ -293,6 +298,10 @@
else if (strcmp(lim_item, "locks") == 0)
limit_item = RLIMIT_LOCKS;
#endif
+ else if (strcmp(lim_item, "rt_priority") == 0)
+ limit_item = RLIMIT_RTPRIO;
+ else if (strcmp(lim_item, "nice") == 0)
+ limit_item = RLIMIT_NICE;
else if (strcmp(lim_item, "maxlogins") == 0) {
limit_item = LIMIT_LOGIN;
pl->flag_numsyslogins = 0;
@@ -360,6 +369,18 @@
case RLIMIT_AS:
limit_value *= 1024;
break;
+ case RLIMIT_NICE:
+ if (limit_value > 39)
+ limit_value = 39;
+ if (limit_value < 0)
+ limit_value = 0;
+ break;
+ case RLIMIT_RTPRIO:
+ if (limit_value > 99)
+ limit_value = 99;
+ if (limit_value < 0)
+ limit_value = 0;
+ break;
}

if ( (limit_item != LIMIT_LOGIN)



Thanks,
--
Vegard Lima


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/