Date: Sun, 18 Oct 2020 15:58:16 +0000 (UTC) From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r366809 - head/sys/compat/linux Message-ID: <202010181558.09IFwGJZ018288@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010181558.09IFwGJZ018288>