Thread (18 messages) 18 messages, 4 authors, 2020-05-26

Re: [PATCH 2/5] seccomp: Introduce addfd ioctl to seccomp user notifier

From: Sargun Dhillon <hidden>
Date: 2020-05-25 00:28:37
Also in: lkml

On Sun, May 24, 2020 at 5:05 PM Al Viro [off-list ref] wrote:
On Sun, May 24, 2020 at 04:39:39PM -0700, Sargun Dhillon wrote:

Bad refcounting rules.  *IF* we go with anything of that sort (and I'm not
convinced that the entire series makes sense), it's better to have more
uniform rules re reference consumption/disposal.

Make the destructor of addfd *ALWAYS* drop its reference.  And have this
function go
Are you suggesting the in both the error, and non-error cases the ioctl
invoker side is responsible for fput'ing the final reference in both the
success and non-success cases? Would we take an extra reference
prior to fd_install?
        if (addfd->fd >= 0) {
                ret = replace_fd(addfd->fd, addfd->file, addfd->flags);
        } else {
                ret = get_unused_fd_flags(addfd->flags);
                if (ret >= 0)
                        fd_install(ret, get_file(addfd->file));
        }
Wouldn't this result in consumption of reference in one case (fd_install),
and the fd still having a reference in the replace_fd case?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help