Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3747429ybz; Mon, 27 Apr 2020 22:54:38 -0700 (PDT) X-Google-Smtp-Source: APiQypIPoTEuBtvRj80ui8l1E2pLNWskU2/WJ1UBBHeFUCtmJIxnxt0PGHuvMIYEWr3MdfARZqCa X-Received: by 2002:a05:6402:30ae:: with SMTP id df14mr20020154edb.86.1588053278137; Mon, 27 Apr 2020 22:54:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588053278; cv=none; d=google.com; s=arc-20160816; b=P/qse6PCSY2ab/3c3S7pn4GKxsJDp/pyIdUyrdGNjjPcxI442B2wcJ5bXNyTNOLklO QVeFX52ZgVZ0JcfZOj1zXYjaGfkWbl5mZL+syxzEwjHwJ8w+xKE20mjmZs2Llzp+uNPi zM/jsV0RG1NYDeJfbF2HpPTEpNc5bNBdElEs+0W+bVXKbbdLrW0IwHcchV911cgrF6rv J5+pny/t6qd7YzDBxLAmFlfhYSrssUNRnGiBBd8vXbmeWJ9KY/bU43dIBbcXV/OrY7SQ sYkmoTYv0rLg4lm0YzrcFdFw8KRCKrILZlC8rI9Ns1M8jcCCu6NjkILNuOWo1EGuRWS9 LvAA== 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=3FFyhFGwSR5hCCAOzKWLB8ijhIIWqMIumwJnODZevkI=; b=i0Uo3Jxy6wH/1ynDVtj/N9DycH+0d0kgua9ibq3qjMH5jl1+5fCaUpRCGE6tzaxaFN oqdU4xcnkmDzoOl6JU2rGSR+kfqRRFR7QKt1rd2ZMJcadXINv7rSAD9h/p7pvCwTnwaK C98xEcDgeml2gR5K0FTvBF6n/0l5v/In6iDQZnc3tbv2BTEpkSIQvEkzVc8LBS9JnDCr 54it7vIpvG+a/UKY7LUuO7tZPnIHn7GILSFPljxjwxzdBclvACUixMvZP4m7WS740fG7 DGVN/mAzzZl+rjH/NBRUz1Vu+l3RQWbwomPPW7OU4Yxc+wjwUVWPbOyUfRXE1+EPr+Sh N/mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="iPpk6l/j"; 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 y6si1279619ejw.296.2020.04.27.22.54.14; Mon, 27 Apr 2020 22:54:38 -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="iPpk6l/j"; 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 S1726042AbgD1Fwu (ORCPT + 99 others); Tue, 28 Apr 2020 01:52:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37834 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726258AbgD1Fwu (ORCPT ); Tue, 28 Apr 2020 01:52:50 -0400 Received: from mail-lf1-x142.google.com (mail-lf1-x142.google.com [IPv6:2a00:1450:4864:20::142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9463BC03C1AC for ; Mon, 27 Apr 2020 22:52:49 -0700 (PDT) Received: by mail-lf1-x142.google.com with SMTP id f8so15858486lfe.12 for ; Mon, 27 Apr 2020 22:52:49 -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=3FFyhFGwSR5hCCAOzKWLB8ijhIIWqMIumwJnODZevkI=; b=iPpk6l/jcA1BeDumj4n6myfu973lYILM4XQEUj2U9UO9NMB5cveMhC0qpE7+ppX0Bl NwwXr3ZGwsusuav6BpzkvqFgO+dDUQglvmVXTDQ34IUs8a2xp5D4asH6xNcUEEJimtrk 4mtm5HgQpZnnJB3kKT+YlVYWlQz4UCEN0OFbe/rh+0C7PyKRYbDsrVajTzK6hSclaXf9 o1Q7WzNZJ0dH3MybAy06ZSF5gjc5YwjwPRYVGKunKe3DPdG91fHg0qpIwDWdOtTqhqnc iqMeT2xCdTZTQFZQroCmrRgQNoR1D0MlyHpyegg+Vs7bRSY3iiysohCImS46eC/xpdrW JKcw== 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=3FFyhFGwSR5hCCAOzKWLB8ijhIIWqMIumwJnODZevkI=; b=ATVIBRRH47dgCEJPpiv4M8InxG+J6U87HjAo8bHl1A8IYA4y38uofMLlUHpwS6k5Xl JDbI/PQ3ANqaNmvB9UiwSBO0qqPAZXM0hnTwMJxwrWD+DFLoT3yuDQ8ujWf3n4GtS9rA b7D3AwNk6vFSeyZmC+1XczXzOc+LiQM/PoyQ4r+8Qyl9AJ2DddTjeDj6iLsomiSfM8T9 hzjcjPl+7BMUPvlWlI6SJ3oLn3vmd4HpvFrkzV8Lc5LmFm1MGZ86y/kPlvUSmQjvQ1jN IabFWbCPqYvsmVy5lzUbNSPbKmGeWQrMU/Kt3Nnxsp/K8Ow6QQqg+WF06BcnvHXB1S2F E6mg== X-Gm-Message-State: AGi0PubRPG6PkaNurbi0WtBztXuAdbK5Vmrbpjl9E5lSekEaUv31aj7d +coqBAMGD6cfxLeb/gAckbGZ2Cj9au7jDWdMCZB68g== X-Received: by 2002:ac2:5dc6:: with SMTP id x6mr17919772lfq.108.1588053167164; Mon, 27 Apr 2020 22:52:47 -0700 (PDT) MIME-Version: 1.0 References: <20200428032745.133556-1-jannh@google.com> <20200428032745.133556-3-jannh@google.com> In-Reply-To: From: Jann Horn Date: Tue, 28 Apr 2020 07:52:20 +0200 Message-ID: Subject: Re: [PATCH 2/5] coredump: Fix handling of partial writes in dump_emit() To: Linus Torvalds , Alexander Viro Cc: Andrew Morton , Christoph Hellwig , Linux Kernel Mailing List , Linux-MM , linux-fsdevel , "Eric W . Biederman" , Oleg Nesterov , Russell King , Linux ARM , Mark Salter , Aurelien Jacquiot , linux-c6x-dev@linux-c6x.org, Yoshinori Sato , Rich Felker , Linux-sh list 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 Tue, Apr 28, 2020 at 5:36 AM Linus Torvalds wrote: > On Mon, Apr 27, 2020 at 8:28 PM Jann Horn wrote: > > > > After a partial write, we have to update the input buffer pointer. > > Interesting. It seems this partial write case never triggers (except > for actually killing the core-dump). > > Or did you find a case where it actually matters? > > Your fix is obviously correct, but it also makes me go "that function > clearly never actually worked for partial writes, maybe we shouldn't > even bother?" Hmm, yeah... I can't really think of cases where write handlers can spuriously return early without having a pending signal, and a second write is likely to succeed... I just know that there are some things that are notorious for returning short *reads* (e.g. pipes, sockets, /proc/$pid/maps). Al's commit message refers to pipes specifically; but even at commit 2507a4fbd48a, I don't actually see where pipe_write() could return a short write without a page allocation failure or something like that. So maybe you're right and we should just get rid of it...