Author: trasz
Date: Sun Oct 18 15:58:16 2020
New Revision: 366809
URL: https://svnweb.freebsd.org/changeset/base/366809

Log:
  Add compat.linux.dummy_rlimits, and disable by default.
  
  Turns out the dummy rlimits fix prlimit(1), but break su(8)
  (login-1:4.5-1ubuntu2) - although not sudo(8), for some reason.
  
  MFC after:    2 weeks
  Sponsored by: The FreeBSD Foundation
  Differential Revision:        https://reviews.freebsd.org/D26814

Modified:
  head/sys/compat/linux/linux_mib.c
  head/sys/compat/linux/linux_mib.h
  head/sys/compat/linux/linux_misc.c

Modified: head/sys/compat/linux/linux_mib.c
==============================================================================
--- head/sys/compat/linux/linux_mib.c   Sun Oct 18 15:56:47 2020        
(r366808)
+++ head/sys/compat/linux/linux_mib.c   Sun Oct 18 15:58:16 2020        
(r366809)
@@ -77,6 +77,11 @@ SYSCTL_INT(_compat_linux, OID_AUTO, default_stacksize,
     &linux_default_stacksize, 0,
     "Default soft stack size resource limit, or -1 for unlimited");
 
+int linux_dummy_rlimits = 0;
+SYSCTL_INT(_compat_linux, OID_AUTO, dummy_rlimits, CTLFLAG_RWTUN,
+    &linux_dummy_rlimits, 0,
+    "Return dummy values for unsupported Linux-specific rlimits");
+
 int linux_ignore_ip_recverr = 1;
 SYSCTL_INT(_compat_linux, OID_AUTO, ignore_ip_recverr, CTLFLAG_RWTUN,
     &linux_ignore_ip_recverr, 0, "Ignore enabling IP_RECVERR");

Modified: head/sys/compat/linux/linux_mib.h
==============================================================================
--- head/sys/compat/linux/linux_mib.h   Sun Oct 18 15:56:47 2020        
(r366808)
+++ head/sys/compat/linux/linux_mib.h   Sun Oct 18 15:58:16 2020        
(r366809)
@@ -65,6 +65,7 @@ int   linux_kernver(struct thread *td);
 extern int linux_debug;
 extern int linux_default_openfiles;
 extern int linux_default_stacksize;
+extern int linux_dummy_rlimits;
 extern int linux_ignore_ip_recverr;
 extern int linux_preserve_vstatus;
 extern bool linux_map_sched_prio;

Modified: head/sys/compat/linux/linux_misc.c
==============================================================================
--- head/sys/compat/linux/linux_misc.c  Sun Oct 18 15:56:47 2020        
(r366808)
+++ head/sys/compat/linux/linux_misc.c  Sun Oct 18 15:58:16 2020        
(r366809)
@@ -1377,6 +1377,9 @@ static bool
 linux_get_dummy_limit(l_uint resource, struct rlimit *rlim)
 {
 
+       if (linux_dummy_rlimits == 0)
+               return (false);
+
        switch (resource) {
        case LINUX_RLIMIT_LOCKS:
        case LINUX_RLIMIT_SIGPENDING:
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to