On Tue, Jun 29, 2021 at 8:52 AM Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote: > > Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > > > Why the "sigpending < LONG_MAX" test in that > > > > if (override_rlimit || (sigpending < LONG_MAX && sigpending <= > > task_rlimit(t, RLIMIT_SIGPENDING))) { > > thing? > > On second look that sigpending < LONG_MAX check is necessary. When > inc_rlimit_ucounts detects a problem it returns LONG_MAX. I saw that, but _without_ that test you'd be left with just that sigpending <= task_rlimit(t, RLIMIT_SIGPENDING) and if task_rlimit() is LONG_MAX, then that means "no limits", so it is all ok. IOW, afaik even _if_ sigpending ends up being LONG_MAX, the conditional does the right thing without that "sigpending < LONG_MAX" test. Linus