Package: libpam-runtime
Version: 0.76-22
Severity: wishlist
Tags: patch

Realtime priority for users is in the vanilla kernel since 2.6.12, in
the form of the RLimits patch which was merged in, but in order to use
it PAM must be patched. 

http://www.uwsg.iu.edu/hypermail/linux/kernel/0503.1/1921.html

-- System Information:
Debian Release: testing/unstable
  APT prefers stable
  APT policy: (500, 'stable'), (50, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12.4
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

-- no debconf information
--- 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)

Reply via email to