Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp3026562imj; Mon, 11 Feb 2019 12:32:03 -0800 (PST) X-Google-Smtp-Source: AHgI3IY086bI8dwNmzDhk/wWJpuol/XXsKX9ccT98LR8AvpdTRPIJBC45EgI5on7x7m3Yp+hrWz9 X-Received: by 2002:a17:902:108a:: with SMTP id c10mr57212pla.131.1549917123534; Mon, 11 Feb 2019 12:32:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549917123; cv=none; d=google.com; s=arc-20160816; b=T4UihFEPCzOnah0JLXPQG0/lMFIFaEIpSJJ2tUunLoMu6/IgKnLUwNpQaKrgOr1Czj jIHsGDpcnhPSvlhcMbJuY0ZCur5Cx+KCCi+mW+dfWmRg8eEKF3Utt0m91DRlxlHw8FR9 9SaJxbodfIpIcVoZ/MnxmUxqX5KQg0wG8a34kRjz6BkyGG83RdfXr1lM50fgybiba1xd 1MDDSLIP9wekn0bFNs7jdO+hNfXYeC0vKlR9dBlFe/JFpqucMEM9lVs04EztlWkWKLw5 zfMVYzumfecWJM7MqrdgJTQ7kMzjB8yTYg0qVtGKosBKh60fSGrqDYmtqVX9F7RlEtQr 58Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=W/EZLKajy8JSYHsqoJcwtTkOtG/yCtFvk2MfTxSujVs=; b=zRrtDV3aESQb6RDVY89h91yjFvnqRAtb1iHoB4A6xn1Rj/RDmZ/WjUPmDwwXJwpMUH Bmr6/GL9/PnNOM1aNZCfzjRQp/rBKXLdKwF6x4qBCruomrmTeOcIZsj0qdje1d+xjgQV 3uXZjct/8cmsey4ALqzvPLccKVmvmcLAYPM/TbTAQaMYz/Eudu5OTImiRyOZqEN3t9nu UI4cdHOWp8rsz8+a/o+20D/zhBehEUs3ySb683l6nfIR94Qi2qmO+SpcRKlSTFkbLatq tTiWVJ5xkpaiQzWEgm+eq1MeQXqLDzEj/Mw2guSUsYo7OHasufrKr3vHUHwugXbKXrIO bfCg== 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d189si5135866pfa.70.2019.02.11.12.31.47; Mon, 11 Feb 2019 12:32:03 -0800 (PST) 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730514AbfBKRM4 (ORCPT + 99 others); Mon, 11 Feb 2019 12:12:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46248 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726663AbfBKRMz (ORCPT ); Mon, 11 Feb 2019 12:12:55 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4603DA7393; Mon, 11 Feb 2019 17:12:55 +0000 (UTC) Received: from dhcp-27-174.brq.redhat.com (unknown [10.43.17.152]) by smtp.corp.redhat.com (Postfix) with SMTP id C0E0860FDC; Mon, 11 Feb 2019 17:12:53 +0000 (UTC) Received: by dhcp-27-174.brq.redhat.com (nbSMTP-1.00) for uid 1000 oleg@redhat.com; Mon, 11 Feb 2019 18:12:54 +0100 (CET) Date: Mon, 11 Feb 2019 18:12:53 +0100 From: Oleg Nesterov To: Ivan Delalande Cc: Andrew Morton , Al Viro , Dmitry Safonov <0x7f454c46@gmail.com>, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Andy Lutomirski Subject: Re: [PATCH v2] exec: don't force_sigsegv processes with a pending fatal signal Message-ID: <20190211171252.GE21430@redhat.com> References: <20190205025308.GA24455@visor> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190205025308.GA24455@visor> User-Agent: Mutt/1.5.24 (2015-08-30) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Mon, 11 Feb 2019 17:12:55 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org sorry, I couldn't look at this patch before. On 02/04, Ivan Delalande wrote: > > --- a/fs/exec.c > +++ b/fs/exec.c > @@ -1660,7 +1660,12 @@ int search_binary_handler(struct linux_binprm *bprm) > if (retval < 0 && !bprm->mm) { > /* we got to flush_old_exec() and failed after it */ > read_unlock(&binfmt_lock); > - force_sigsegv(SIGSEGV, current); > + if (!fatal_signal_pending(current)) { > + if (print_fatal_signals) > + pr_info("load_binary() failed: %d\n", > + retval); I won't argue, but do we really want this spam? > + force_sigsegv(SIGSEGV, current); > + } > return retval; > } > if (retval != -ENOEXEC || !bprm->file) { > diff --git a/kernel/signal.c b/kernel/signal.c > index e1d7ad8e6ab1..674076e63624 100644 > --- a/kernel/signal.c > +++ b/kernel/signal.c > @@ -2552,10 +2552,10 @@ static void signal_delivered(struct ksignal *ksig, int stepping) > > void signal_setup_done(int failed, struct ksignal *ksig, int stepping) > { > - if (failed) > - force_sigsegv(ksig->sig, current); > - else > + if (!failed) > signal_delivered(ksig, stepping); > + else if (!fatal_signal_pending(current)) > + force_sigsegv(ksig->sig, current); The changelog doesn't explain this change. OK, I guess it comes from the previous discussion, setup_rt_frame() can equally fail if fatal_signal_pending(). But this should be documented at least in the changelog, and I still think we could simply change force_sigsegv() instead. In any case, Eric has already mentioned that we going to give SIGKILL more priority, so I think we can drop this patch? Oleg.