On Thu, Feb 7, 2019 at 5:26 PM Al Viro [off-list ref] wrote:
I'm trying to put together some formal description of what's going on in there.
Another question, BTW: updates of user->unix_inflight would seem to be movable
into the callers of unix_{not,}inflight(). Any objections against lifting
it into unix_{attach,detach}_fds()? We do, after all, have fp->count right
there, so what's the point incrementing/decrementing the sucker one-by-one?
_And_ we are checking it right there (in too_many_unix_fds() called from
unix_attach_fds())...
I see no issues with that.
Also shouldn't the rlimit check be made against user->unix_inflight +
fp->count? Althought I'm not quite following if fp->user can end up
different from current_user() and what should happen in that case...
Thanks,
Miklos