From: Oleg Nesterov <oleg@redhat.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Jeff Layton <jlayton@kernel.org>,
viro@zeniv.linux.org.uk, berrange@redhat.com,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH 1/3] exec: Move unshare_files down to avoid locks being dropped on exec.
Date: Mon, 17 Sep 2018 17:49:38 +0200 [thread overview]
Message-ID: <20180917154938.GC25173@redhat.com> (raw)
In-Reply-To: <874leps5n9.fsf_-_@xmission.com>
On 09/16, Eric W. Biederman wrote:
>
> @@ -1291,6 +1292,12 @@ int flush_old_exec(struct linux_binprm * bprm)
> flush_thread();
> current->personality &= ~bprm->per_clear;
>
> + retval = unshare_files(&displaced);
I was going to sugget basically the same changes, please feel free to add
my reviewed-by to 1-3.
Just for record. If we should really worry about unshare_files() failure
after de_thread() (imo we shouldn't), we can do another change:
__do_execve_file:
unshare_fd(CLONE_FILES, &bprm->unshared_copy);
...
flush_old_exec:
de_thread();
if (bprm->unshared_copy) {
// now that we killed sub-threads recheck
if (current->files->count > 1) {
put_files_struct(current->files);
current->files = bprm->unshared_copy;
} else {
put_files_struct(bprm->unshared_copy);
}
}
but again, I think your series is fine.
Oleg.
next prev parent reply other threads:[~2018-09-17 15:49 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-14 10:53 [PATCH v3 0/3] exec: fix passing of file locks across execve in multithreaded processes Jeff Layton
2018-09-14 10:53 ` [PATCH v3 1/3] exec: separate thread_count for files_struct Jeff Layton
2018-09-15 16:04 ` Oleg Nesterov
2018-09-16 16:10 ` Eric W. Biederman
2018-09-17 15:24 ` Oleg Nesterov
2018-09-17 20:45 ` Eric W. Biederman
2018-09-14 10:53 ` [PATCH v3 2/3] exec: delay clone(CLONE_FILES) if task associated with current files_struct is exec'ing Jeff Layton
2018-09-14 10:53 ` [PATCH v3 3/3] exec: do unshare_files after de_thread Jeff Layton
2018-09-15 16:37 ` Oleg Nesterov
2018-09-16 16:49 ` Eric W. Biederman
2018-09-17 15:28 ` Oleg Nesterov
2018-09-16 16:59 ` Eric W. Biederman
2018-09-16 17:38 ` [RFC][PATCH 0/3] exec: Moving unshare_files_struct Eric W. Biederman
2018-09-16 17:39 ` [RFC][PATCH 1/3] exec: Move unshare_files down to avoid locks being dropped on exec Eric W. Biederman
2018-09-17 15:49 ` Oleg Nesterov [this message]
2018-09-16 17:40 ` [RFC][PATCH 2/3] exec: Simplify unshare_files Eric W. Biederman
2018-09-17 16:23 ` Oleg Nesterov
2018-09-17 20:26 ` Eric W. Biederman
2018-09-16 17:41 ` [RFC][PATCH 3/3] exec: Remove reset_files_struct Eric W. Biederman
2018-09-17 15:59 ` [RFC][PATCH 0/3] exec: Moving unshare_files_struct Oleg Nesterov
2018-09-18 22:18 ` Eric W. Biederman
2018-09-17 16:24 ` Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180917154938.GC25173@redhat.com \
--to=oleg@redhat.com \
--cc=berrange@redhat.com \
--cc=ebiederm@xmission.com \
--cc=jlayton@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).