lkml.org 
[lkml]   [2020]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 0/3] close_range()
    On Wed, Jun 03, 2020 at 05:13:36PM -0700, Linus Torvalds wrote:
    > On Wed, Jun 3, 2020 at 4:24 PM Christian Brauner
    > <christian.brauner@ubuntu.com> wrote:
    > >
    > > Ok, here's what I have. Does the below look somewhat sane?
    >
    > Probably. Needs lots of testing. But this one looks wrong:

    Right, there's a patch for a test-suite for the new flag too using
    CLONE_FILES to create a shared fdtable and the proceeds to close all
    (or subsets of) fds:

    https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git/commit/?h=close_range&id=498e7e844fe6e3f3306b2cd1b5e926e1cd394b99

    I've been running that in an endless loop for a while.

    >
    > > +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.

    Ugh, obvious braino from my side. This should just be:

    if (max_fd >= cur_max)
    max_unshare_fds = fd;

    >
    > 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.

    Thanks!
    Christian

    \
     
     \ /
      Last update: 2020-06-04 03:16    [W:2.718 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site