Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp2786957ybh; Mon, 9 Mar 2020 13:02:12 -0700 (PDT) X-Google-Smtp-Source: ADFU+vsIIyw6p+d/QgHqIEBD5IcBdAf7aO9zt5w7xpxpIxCIThSuuqRZlWuWJy8/dYaCcMF6G9eD X-Received: by 2002:aca:5f09:: with SMTP id t9mr115234oib.5.1583784132134; Mon, 09 Mar 2020 13:02:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583784132; cv=none; d=google.com; s=arc-20160816; b=xdmWhGrWa0nxUmmicd+j9tgj+2nhl8WnP/zdTAkVre/iMA9IEY0TiBVKwaCmQ2JlSf 1Tchl39vfGG7kvKk8zKRb7yaWEo/oWIhCXc5J6xeSRbqlwb2AAXwMUtotTZoUM16itYX w0rYt2n4fK5Fcrzrp9PoGGt5QQUCRZXTpB/b6Fg3lKLyLbvyFaJSvuzqke3fGeFEpj/J n9ar/gXKG91NCCEPY/n8WCa0D0qkSvRNb8MkEQMPLoQYCk8S9KewJtXuffHO6vnFCNrs jGewOuCr34aY3dZeVQxDnPNDokSUyRQ8SuN8jXKXFhEkXWBszu4PyBJHbxqy9QZYbrfp 4boA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:mime-version:user-agent :message-id:in-reply-to:date:references:cc:to:from; bh=yWI0SYYm7IV5Chag1hUSEvuWOwhDi8QARA+ESWSwV4g=; b=wxXMt5NpL8mmVnIo5px2XTZhWdabKvCBS52CKAja+8MqufyyGUPJflmwDCys4PwSnu QMj/dMLz6XLeMo4IJ3lJNg2B8vBSIrT1XFibZDwgH7P8QNN7It1awwPIszqQzjCjAhH3 p9iTtX/k3YssfK/NmlR722127dyGNlfd2Es88/RWbAwCmajkhXaNiz1C8dC3GjLCc3EI pWF6k/GNjpMn+KSzw8f/SNlsSdPt1garEzivgQvNgFJtyTMqiSPEdMbUjJZ9qvuT3Poi b9VN37iRuUanavdBEPr95Dfr8uzX5pSUAoVbETyIIpG5b5RL95r47xj+cG3uzVOcFNaS +1iQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xmission.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q25si4284684oij.74.2020.03.09.13.01.57; Mon, 09 Mar 2020 13:02:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xmission.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726640AbgCIUAu (ORCPT + 99 others); Mon, 9 Mar 2020 16:00:50 -0400 Received: from out01.mta.xmission.com ([166.70.13.231]:36954 "EHLO out01.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725992AbgCIUAu (ORCPT ); Mon, 9 Mar 2020 16:00:50 -0400 Received: from in02.mta.xmission.com ([166.70.13.52]) by out01.mta.xmission.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jBOa0-00020A-Nl; Mon, 09 Mar 2020 14:00:48 -0600 Received: from ip68-227-160-95.om.om.cox.net ([68.227.160.95] helo=x220.xmission.com) by in02.mta.xmission.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.87) (envelope-from ) id 1jBOZz-000704-Uf; Mon, 09 Mar 2020 14:00:48 -0600 From: ebiederm@xmission.com (Eric W. Biederman) To: Bernd Edlinger Cc: Christian Brauner , Kees Cook , Jann Horn , Jonathan Corbet , Alexander Viro , Andrew Morton , Alexey Dobriyan , Thomas Gleixner , Oleg Nesterov , Frederic Weisbecker , Andrei Vagin , Ingo Molnar , "Peter Zijlstra \(Intel\)" , Yuyang Du , David Hildenbrand , Sebastian Andrzej Siewior , Anshuman Khandual , David Howells , James Morris , Greg Kroah-Hartman , Shakeel Butt , Jason Gunthorpe , Christian Kellner , Andrea Arcangeli , Aleksa Sarai , "Dmitry V. Levin" , "linux-doc\@vger.kernel.org" , "linux-kernel\@vger.kernel.org" , "linux-fsdevel\@vger.kernel.org" , "linux-mm\@kvack.org" , "stable\@vger.kernel.org" , "linux-api\@vger.kernel.org" References: <202003021531.C77EF10@keescook> <20200303085802.eqn6jbhwxtmz4j2x@wittgenstein> <87v9nlii0b.fsf@x220.int.ebiederm.org> <87a74xi4kz.fsf@x220.int.ebiederm.org> <87r1y8dqqz.fsf@x220.int.ebiederm.org> <87tv32cxmf.fsf_-_@x220.int.ebiederm.org> <87v9ne5y4y.fsf_-_@x220.int.ebiederm.org> <875zfe5xzb.fsf_-_@x220.int.ebiederm.org> <87tv2xz510.fsf@x220.int.ebiederm.org> Date: Mon, 09 Mar 2020 14:58:30 -0500 In-Reply-To: (Bernd Edlinger's message of "Mon, 9 Mar 2020 19:52:38 +0000") Message-ID: <87mu8pz4ex.fsf@x220.int.ebiederm.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-XM-SPF: eid=1jBOZz-000704-Uf;;;mid=<87mu8pz4ex.fsf@x220.int.ebiederm.org>;;;hst=in02.mta.xmission.com;;;ip=68.227.160.95;;;frm=ebiederm@xmission.com;;;spf=neutral X-XM-AID: U2FsdGVkX1+ucALiSAok3l44Xl1kyMX8rcnnV7uxymg= X-SA-Exim-Connect-IP: 68.227.160.95 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on sa05.xmission.com X-Spam-Level: X-Spam-Status: No, score=0.5 required=8.0 tests=ALL_TRUSTED,BAYES_50, DCC_CHECK_NEGATIVE,T_TM2_M_HEADER_IN_MSG,T_TooManySym_01,XMSubLong autolearn=disabled version=3.4.2 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.4981] * 0.7 XMSubLong Long Subject * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa05 1397; Body=1 Fuz1=1 Fuz2=1] * 0.0 T_TooManySym_01 4+ unique symbols in subject X-Spam-DCC: XMission; sa05 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ;Bernd Edlinger X-Spam-Relay-Country: X-Spam-Timing: total 274 ms - load_scoreonly_sql: 0.05 (0.0%), signal_user_changed: 2.5 (0.9%), b_tie_ro: 1.72 (0.6%), parse: 0.87 (0.3%), extract_message_metadata: 11 (4.2%), get_uri_detail_list: 0.90 (0.3%), tests_pri_-1000: 22 (8.1%), tests_pri_-950: 1.13 (0.4%), tests_pri_-900: 0.82 (0.3%), tests_pri_-90: 25 (9.1%), check_bayes: 24 (8.7%), b_tokenize: 9 (3.2%), b_tok_get_all: 7 (2.7%), b_comp_prob: 1.89 (0.7%), b_tok_touch_all: 3.9 (1.4%), b_finish: 0.67 (0.2%), tests_pri_0: 197 (72.2%), check_dkim_signature: 0.50 (0.2%), check_dkim_adsp: 1.95 (0.7%), poll_dns_idle: 0.60 (0.2%), tests_pri_10: 1.94 (0.7%), tests_pri_500: 8 (2.8%), rewrite_mail: 0.00 (0.0%) Subject: Re: [PATCH v2 4/5] exec: Move exec_mmap right after de_thread in flush_old_exec X-Spam-Flag: No X-SA-Exim-Version: 4.2.1 (built Thu, 05 May 2016 13:38:54 -0600) X-SA-Exim-Scanned: Yes (on in02.mta.xmission.com) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ok. I think this has it sorted: exec: Move exec_mmap right after de_thread in flush_old_exec I have read through the code in exec_mmap and I do not see anything that depends on sighand or the sighand lock, or on signals in anyway so this should be safe. This rearrangement of code has two significant benefits. It makes the determination of passing the point of no return by testing bprm->mm accurate. All failures prior to that point in flush_old_exec are either truly recoverable or they are fatal. Further this consolidates all of the possible indefinite waits for userspace together at the top of flush_old_exec. The possible wait for a ptracer on PTRACE_EVENT_EXIT, the possible wait for a page fault to be resolved in clear_child_tid, and the possible wait for a page fault in exit_robust_list. This consolidation allows the creation of a mutex to replace cred_guard_mutex that is not held over possible indefinite userspace waits. Which will allow removing deadlock scenarios from the kernel. Reviewed-by: Bernd Edlinger Signed-off-by: "Eric W. Biederman" I don't think I usually have this many typos. Sigh. Eric