Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1334169ybz; Wed, 29 Apr 2020 20:04:54 -0700 (PDT) X-Google-Smtp-Source: APiQypIKEi/idVwvxjTpNxYHiGdrAG/40OZw62NuVOqTN+8UoZHli9zpsWQtu8cWiA0YRcaipwNe X-Received: by 2002:a17:906:4f03:: with SMTP id t3mr739258eju.254.1588215894365; Wed, 29 Apr 2020 20:04:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588215894; cv=none; d=google.com; s=arc-20160816; b=FNki7ZgFDHx3fLr0eAHKDXF8890R0TIOpC4vRseAAWiyiri5dRdX6EAPecS26kCciP xYZmaOGNXgOj5+7NVG60LsqXOoIxgLILWjtEDZc12ef76V4btY3ZR3DQxEgQerHUnA+o P1sxpHb/ER3vaHqiY8IR9QtCMm+2yltCuLNYhwCoCQgEzVgnKLNiTq6xDB8lBQRixfuY ipwSh3/SyUICBIEtkcrW/MGmJR3Ya6Kpa6rSR6Lpdd+BD9qmO/wLK9gqFRGPzOz+aHQ1 IEfmWW0wVEO6Y6rr/+WbXiCjZW0oif97ddAf8rkpRieytOFkjdy3XXePW7nqPCa/R0vN SYag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=LI1gGiD+U8SlesBE4BliBLDJc/+jluNrXUyQUPdrNJc=; b=jJdGMRYewl+3PgMfekAKI/WEJFTwVH56YRcaIE9jC/178f69kWJcuQ9etuyMCr3Omy GfJwCTv7cZGS0tUobftPbOTfyFX/I5UKnb7nUSyic/aPi9qtEAYTJaPnOep2cjSs0h2l vwWvogGyyUKzUeRd2cZqCG/3TIIvuzUSsbqbGJkfKh+FMPbxqAsjdsIgkf54qIF0ZyZ5 gG+zTD+NqjFiyvvF8dAu65VfoQXwBHTa7RQTr3x0wHcUVujdF7/qclnoto/sLj3zeqnf lGKW8km9sINR3F3G06dkOYkxg5tUgNCyQLejFL7nAa3yVwviqsaAUGCJha/CQr5pywEm UQ4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=dQqZHjXB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d4si1998496edp.87.2020.04.29.20.04.31; Wed, 29 Apr 2020 20:04:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=dQqZHjXB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726476AbgD3DAd (ORCPT + 99 others); Wed, 29 Apr 2020 23:00:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726180AbgD3DAc (ORCPT ); Wed, 29 Apr 2020 23:00:32 -0400 Received: from mail-lj1-x242.google.com (mail-lj1-x242.google.com [IPv6:2a00:1450:4864:20::242]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3A740C035494 for ; Wed, 29 Apr 2020 20:00:32 -0700 (PDT) Received: by mail-lj1-x242.google.com with SMTP id u15so4875389ljd.3 for ; Wed, 29 Apr 2020 20:00:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=LI1gGiD+U8SlesBE4BliBLDJc/+jluNrXUyQUPdrNJc=; b=dQqZHjXB2qAzxB7U2AEFSY8jqzhQa6ziKCE2j5WLRLJMSQcxXapG/+gepOLQ8l49yC 1m8W8Chvbzs5g7bO3RtkLUC6KKBCSkLAn3g5PFEVVF4mNNJXOM1dzpPF0SdSPBEpZ1sc 84r4nFuHhCEEdsKvf8MqtVQZdlHNUp3yuWa0dHlCi6MiDi+bgzpeKdQ0drEEejegjgfB 3yyfkLRVTEyMJGM3eO1AMl9rjg4FYxBlsOpQeJOwgGZqkhB3ar22ADYvymq+S0CLwGod mlj3QK8Trik5DxvAdqeRVKcZsnwxRfp8+6A5rOwRBR3H8p6bIH+RENbM9UR+bU/LU+Pa +Lhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=LI1gGiD+U8SlesBE4BliBLDJc/+jluNrXUyQUPdrNJc=; b=oK/HVLUuByUxmF/DBiQsS1PGR0BUYx9gHFqvQgOkL98QK4xFVMZQHvK9AemVyCv4Br GhdL9Efd/XncDN1qe6SlPIu4ExoYmUEQu2omXJ2xY6ZVba/ZW7DJA70LN3fXIe5HrFN7 P9XEUeo2VetAejAwEKJch/ZzYsTBEeL0+AV0zUi2TAqrXH6veyfH9K+o+KsSf/Td6SBV g9NRcJBMfogUzvSFLhFtkXSy/25ghCJqjHy16fqOjAk/N++WV02eqPowvzI68soHQIbR Kkn4O0ZPh7jQpujL4ZoGQt2IjSWs3DYvxxKn2fLRRNjjkNuvCNAZg/3Lfj70RUD8+54A qCrw== X-Gm-Message-State: AGi0PuaWe0/S9RSkAeotDsoP6Jt/0TFu8X52dnhCjZluBU4dL97EoAic LxQxS8V1PSOhiEAbHJp92TeaM/EJxE8S+snbiWbLmw== X-Received: by 2002:a2e:b0c5:: with SMTP id g5mr726649ljl.203.1588215630047; Wed, 29 Apr 2020 20:00:30 -0700 (PDT) MIME-Version: 1.0 References: <20200428190836.GC29960@redhat.com> In-Reply-To: From: Jann Horn Date: Thu, 30 Apr 2020 05:00:03 +0200 Message-ID: Subject: Re: [GIT PULL] Please pull proc and exec work for 5.7-rc1 To: Linus Torvalds Cc: Bernd Edlinger , Oleg Nesterov , "Eric W. Biederman" , Waiman Long , Ingo Molnar , Will Deacon , Linux Kernel Mailing List , Alexey Gladkov Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 30, 2020 at 4:20 AM Linus Torvalds wrote: > On Wed, Apr 29, 2020 at 6:08 PM Bernd Edlinger > wrote: > > > > I added the BIG FAT WARNNIG comments as a mitigation for that. > > Did you like those comments? > > No. > > What's the point olf saying "THIS CODE IS GARBAGE" and then expecting > that to make it ok? > > No,m that doesn't make it ok. It just means that it should have been > done differently. > > > Yes, exactly, the point is the caller is expected to call wait in that > > scenario, otherwise the -EAGAIN just repeats forever, that is an API > > change, yes, but something unavoidable, and the patch tries hard to > > limit it to cases where the live-lock or pseudo-dead-lock is unavoidable > > anyway. > > I'm getting really fed up with your insistence on that KNOWN BROKEN > garbage test-case. > > It's shit. The test-case is wrong. I've told you before. > > Your patch as-is breaks other cases that are *not* wrong in the kernel > currently, and that don't have test-cases because they JustWork(tm). > > The livelock isn't interesting. The test-case that shows it is pure > garbage, and is written wrong. > > IF that test-case hadn't been buggy in the first place, it would have > had ignored its child (or had a handler for SIGCHLD), and not > livelocked. But if we go with Bernd's approach together with your restart suggestion, then simply doing PTRACE_ATTACH on two threads A and B would be enough to livelock, right? tracer: PTRACE_ATTACHes to A B: enters de_thread() tracer: attempts to PTRACE_ATTACH to B Now the tracer will loop on PTRACE_ATTACH, right?