Re: [PATCH v5 0/3] close_range()

From: Linus Torvalds
Date: Wed Jun 03 2020 - 20:14:00 EST


On Wed, Jun 3, 2020 at 4:24 PM Christian Brauner
<christian.brauner@xxxxxxxxxx> wrote:
>
> Ok, here's what I have. Does the below look somewhat sane?

Probably. Needs lots of testing. But this one looks wrong:

> +int __close_range(unsigned fd, unsigned max_fd, unsigned int flags)
> {
> + if ((max_fd + 1) >= cur_max)
> + max_unshare_fds = fd;

A normal value for "close everything starting at X" would have a
max_fd value of ~0.

So "max_fd+1" would overflow to 0, and then this would never trigger.

Other than that it looks what what I imagine my feverdreams were about.

Linus