On Thu, Feb 10, 2022 at 08:13:17PM -0600, "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> wrote: > This can be fixed either by fixing the test or by moving the increment > to be before the test. Fix it my moving copy_creds which contains > the increment before is_ucounts_overlimit. This is simpler than my approach and I find it correct too. > Both the test in fork and the test in set_user were semantically > changed when the code moved to ucounts. The change of the test in > fork was bad because it was before the increment. > > The test in set_user was wrong and the change to ucounts fixed it. So > this fix is only restore the old behavior in one lcatio not two. Whom should be the task accounted to in the case of set*uid? (The change to ucounts made the check against the pre-switch user's ucounts.) > --- > kernel/fork.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) Reviewed-by: Michal Koutný <mkoutny@xxxxxxxx>