From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4CC8FC46CD2 for ; Tue, 30 Jan 2024 21:57:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D87086B0092; Tue, 30 Jan 2024 16:57:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D377B6B0093; Tue, 30 Jan 2024 16:57:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD7F06B0095; Tue, 30 Jan 2024 16:57:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id AF6E46B0092 for ; Tue, 30 Jan 2024 16:57:52 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 86B69A015C for ; Tue, 30 Jan 2024 21:57:52 +0000 (UTC) X-FDA: 81737340384.07.13C6BE8 Received: from nautica.notk.org (nautica.notk.org [91.121.71.147]) by imf11.hostedemail.com (Postfix) with ESMTP id 3DD384000D for ; Tue, 30 Jan 2024 21:57:50 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=codewreck.org header.s=2 header.b="f/lTyC7A"; dkim=pass header.d=codewreck.org header.s=2 header.b=Jz95UDCB; dmarc=pass (policy=none) header.from=codewreck.org; spf=pass (imf11.hostedemail.com: domain of asmadeus@codewreck.org designates 91.121.71.147 as permitted sender) smtp.mailfrom=asmadeus@codewreck.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706651870; a=rsa-sha256; cv=none; b=hNIxgvN/d7ektu8ECu+dHDSBxluwgcPuea1VNKpF0WJPD5M9wlgUAASdvwiuhp8mZQ9y0v OElGIucroCN166GSupoREd7z33SIH6k27sAiMY7k4osEdbuqgb+9qX2vkuUl2xOp8CTZwi lBZV+sma2xhxLIXK2Wztb9MVrj4WmlA= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=codewreck.org header.s=2 header.b="f/lTyC7A"; dkim=pass header.d=codewreck.org header.s=2 header.b=Jz95UDCB; dmarc=pass (policy=none) header.from=codewreck.org; spf=pass (imf11.hostedemail.com: domain of asmadeus@codewreck.org designates 91.121.71.147 as permitted sender) smtp.mailfrom=asmadeus@codewreck.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706651870; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3OM4TbWQ6erHco16GZP6eiXbolJmb1FVgvE2iI59oRQ=; b=xT+btSpEwP3hlCUdX5UUF9gcJ/ttaNRwLM+35qR7MGA3ieR9Sf6o9cVj8aQPg4WhGSoLQ5 mNEOR86mBfRXKTt3V64+VMpdVtHxg8ltviiUxtcEuXFuoh+L6/L+wcbSDeuR/t7qhkcTmH QD/w5DG4ve2YuJlnAAHxfncutdLebiY= Received: by nautica.notk.org (Postfix, from userid 108) id 783A4C01F; Tue, 30 Jan 2024 22:57:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codewreck.org; s=2; t=1706651868; bh=3OM4TbWQ6erHco16GZP6eiXbolJmb1FVgvE2iI59oRQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=f/lTyC7AylluE9U/rrb+EqMMb08YeAv56CHHe1zQ15EqWYC2qNjDv9qB8JyKcrcDi qo+Su4xRp1/QH2BIlOO9yb1sQmzrZDBFiJYn22LcRnLm1jWO3hlouD0PgkXU4htvng V7l1OLr86QG6KCKzFLIrWaXrAR79KCo8Etpqnuvwxvi1v2U3X/G02BaOvDgW/Khphr 88j5Z5iqSj+/DNp9D0RLw4ZXfMDZbh0/P9qUDcknOvaIPuLk4S+YgxfK7HjqdxrL1r ZUDUsrWqCVK6ONeNFP1mL470dFi7654rmnqSCC8U1IL9GcUlEUOaAVHM+0fIaQlepN Aa6V/YaBN9fGg== Received: from gaia.codewreck.org (localhost [127.0.0.1]) by nautica.notk.org (Postfix) with ESMTPS id 1F1A9C009; Tue, 30 Jan 2024 22:57:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codewreck.org; s=2; t=1706651867; bh=3OM4TbWQ6erHco16GZP6eiXbolJmb1FVgvE2iI59oRQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Jz95UDCBaCc7DNbBv88Y6UtPW8uWNycCk6cHz5RjFY/3zlaTuCtTXG9Rt3/uY0uG5 5TNOGUBtkKibEUm+xkwQt/w1KbKcI8teuo9q4z4hcv1gQpDXQu3sPlKtdi4t9NBtrH 8hWZlXkK6p3tF+iLckxAh3vygIMPNOTVSuPOqudJjBmw6OiMkqHk5OCcl2WcxvHU/E +GS0FLMkD8Z+632TihN4Q/JR2fW2x351vGu4dw7Hc7cTA4cBIFIXw61BAOcHBYYp8Y U1yfe1icLInyDTUSSeQ9f+RBg8KbXPYx62fbcRiQ1mEjyt+wrKr6hYWqFX34wlPxGo EPGrBHtPIhA8Q== Received: from localhost (gaia.codewreck.org [local]) by gaia.codewreck.org (OpenSMTPD) with ESMTPA id c6e1a942; Tue, 30 Jan 2024 21:57:38 +0000 (UTC) Date: Wed, 31 Jan 2024 06:57:23 +0900 From: Dominique Martinet To: David Howells Cc: Christian Brauner , Eric Van Hensbergen , Jeff Layton , Matthew Wilcox , netfs@lists.linux.dev, linux-afs@lists.infradead.org, linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org, ceph-devel@vger.kernel.org, v9fs@lists.linux.dev, linux-erofs@lists.ozlabs.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux_oss@crudebyte.com Subject: Re: [PATCH 2/2] netfs: Fix missing zero-length check in unbuffered write Message-ID: References: <20240129094924.1221977-1-dhowells@redhat.com> <20240129094924.1221977-3-dhowells@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20240129094924.1221977-3-dhowells@redhat.com> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 3DD384000D X-Stat-Signature: em71e77ezx4dkmmru44inm6r4d7u1uza X-HE-Tag: 1706651870-718090 X-HE-Meta: U2FsdGVkX1+xFB8dzqeUrdBFjfropHUwjdFOSQjZU+5DxJnGpQNi1U2HH6r3IACY1sdeuI4CtKFpMmynSikFZuG69swHFP7+wZ9QIImc1RJc5adIo8B8PpnOzDSOAUQHZ8ojNSyMhb6gHVfAiESRewUKiew8zx5OKPugff8X9GcYIyORlvlSZAMxhwnUm6v6mhOO/NV6He15cgFYWEibm5RYNM54dHWZli2OLBVsecbk8w5ttYnihkRxPf/bT7CV+M4sBjHC+GzvIGPTUI4WiTm/sEZdVlSuxEhuFJxBHeMafijIBfqpivsZzbZ26hKGlqF7uBxWtcI3wZm36yepTKEFfjzwYW0b4PyIZaOPwpE4thMYAkNqCZvU30bI++ZuNShkTVVbq+ev9jXPJuZeKISUrFCUnBx7S7H2OnsqwGpHVpJD6Mw7535agO/Sq56LoIzn1jEhi/bE/aObpCCznZV5zbcpAKEz3NokgNorLnuhWBs2I81JE2VSN0zllgJQR4zJ5PiYXhIwTXpZCcpHxRwVEFw+8AEGXxVyopdUCXpHeGdiA5a+HXWtMXNvcVr1DU7/WFjKcYKcR4r79ckWr3eiXDWtbYHEhuaicVePgS3y1Rmbj4vI0ptl8BIsbUek3C4H3HTcxNJTpQ3ouwUlml+tVi9IEDZ+cn7F31zCDXh3T4LuaFsyU3/zHalQ7aaEX4yn6iavglYQD0PdAqEOZTOCbsInRq/mluqnEan/ivQC1r+zI6KG4Sap9hISHIdgCl57xoIYVY+M54LarBqBZYsjD0DiyKYUbqa48Aaa7W+KM9u1IOA/7V6VJpWOQ51J+6Fh9sApQ8hbqE1Y4N6Un8YWsdGggrQjfyiqpg5xW8iVpe6wfY0a1/lp8F0QO0jh7EO+OMooUq8C4YchAW+O+fTUL+oOaw3VLuQZ4dWGg+NGMC+DrcEn74tkqf4Rr4j3kGGj7O0hfRxhoFpI8bL DkhzPYvG U4Uedngyaf7uzN1YCJS5AzmP+r+CyuwodzXL4+inKCc4DamnyagzuemG6uSCarLprgiZ5dXhU3deq9pWLlw82wGE5jrEiyeCI6QfBfPLqOqPcYx37CgCqaQYsseA/4CV8JGbv49B0DQC2HB6ft8HdhBFHDNc+z+YLpLt1oQXbwYiaoRHoBQWsDZQz2DV1sk4HDph4dHIPOhGnCW9g+2R5klOHg8e6wqLrFDSHAPp90uVhID7lqsdYsucFiCZ8eUsuWUzDpXqLgaGCv0nxicRowlOgwtbkFUSjzV/cZyJR1QpjAbiy1MHtZ/Zof8XzgLC6ZEJNofiz7iJGqFg7gb1/QzNElg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: David Howells wrote on Mon, Jan 29, 2024 at 09:49:19AM +0000: > Fix netfs_unbuffered_write_iter() to return immediately if > generic_write_checks() returns 0, indicating there's nothing to write. > Note that netfs_file_write_iter() already does this. > > Also, whilst we're at it, put in checks for the size being zero before we > even take the locks. Note that generic_write_checks() can still reduce the > size to zero, so we still need that check. > > Without this, a warning similar to the following is logged to dmesg: > > netfs: Zero-sized write [R=1b6da] > > and the syscall fails with EIO, e.g.: > > /sbin/ldconfig.real: Writing of cache extension data failed: Input/output error > > This can be reproduced on 9p by: > > xfs_io -f -c 'pwrite 0 0' /xfstest.test/foo > > Fixes: 153a9961b551 ("netfs: Implement unbuffered/DIO write support") > Reported-by: Eric Van Hensbergen > Link: https://lore.kernel.org/r/ZbQUU6QKmIftKsmo@FV7GG9FTHL/ > Signed-off-by: David Howells > cc: Dominique Martinet Thanks! Tested-by: Dominique Martinet -- Dominique Martinet | Asmadeus