Re: proposal to refine capability checks when _rlimit_overlimit() is true

From: Theodore Ts'o
Date: Wed Jan 03 2024 - 12:31:03 EST


On Wed, Jan 03, 2024 at 07:11:18AM +0100, Greg KH wrote:
> On Wed, Jan 03, 2024 at 11:12:28AM +0800, 孟敬姿 wrote:
> > Hi!
> >
> > We observed a potential refinement in the kernel/fork.c line 2368.
> > Currently, both CAP_SYS_ADMIN and CAP_SYS_RESOURCE are checked when
> > the limit is over system limit. We suggest considering an adjustment
> > to utilize CAP_SYS_RESOURCE exclusively. Here's our rationale for this
> > suggestion:
>
> As I said when you proposed changing CAP permissions on the tty ioctls,
> have you tried this and seen what actually breaks by doing so? Please
> audit the userspace code out there to ensure that what you are
> attempting to propose actually would work, and then, if so, submit a
> patch to do so. Attempts of "wouldn't it be nice", don't go very far as
> it shows that the work to do so hasn't actually been done.

It's not just a matter of "auditing the userspace code", but how
systems might be set up. So doing this could very easily cause
various systems to break based on how system administrators might have
set up their system.

What capabilities are used to add appropriate permissions is
fundamentally making a potential user space interface, and so it is
incredibly risky. So any time we make such changes, we need to make a
very careful cost/benefit analysis.

- Ted