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 712F3CD5BC0 for ; Tue, 19 Sep 2023 13:45:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 116116B0524; Tue, 19 Sep 2023 09:45:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C6B56B0526; Tue, 19 Sep 2023 09:45:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EF73A6B0527; Tue, 19 Sep 2023 09:45:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DEF966B0524 for ; Tue, 19 Sep 2023 09:45:30 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B2B38B38D2 for ; Tue, 19 Sep 2023 13:45:30 +0000 (UTC) X-FDA: 81253469220.25.0FA2476 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf29.hostedemail.com (Postfix) with ESMTP id 90AFC12001F for ; Tue, 19 Sep 2023 13:45:28 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nw8gIBr+; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf29.hostedemail.com: domain of brauner@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=brauner@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695131129; a=rsa-sha256; cv=none; b=7tN/97IVZqCJcQIkv0J9+0zGY/Qf9uyMu8YqGH7/TV63Zl7Q3rz8QmBd2Zlzz53+u9WPhZ mJyOELfcQPoQCkybNv0Bwd8uAVT33yx5rg76Rb3FmsaYL8Da+HcUkgtiPsX9D5qpB/HZDp zAoqsNgtObdjho34EYmxlykuh41OI+0= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nw8gIBr+; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf29.hostedemail.com: domain of brauner@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=brauner@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695131129; 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=ScFusey+1xxTwEuL742mAGav8suN4hxgEqVQvhG15+8=; b=CfruN1Koz9VX/axz6VYxBluFZ0z6OCftCjPh69FDHnemV+i7I7e65Nlyd7XL46y4kWNhsv 6NGMnH3GRADYYlO0SzbVmQQSKgvo0LEXjPCdP/x7Tl0V3r5XaCSxyPge93pOEs41HqQ31u R0r7zXnXG2IFDymS6vlTpVJejYV9bbo= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id 0F5EACE126B; Tue, 19 Sep 2023 13:45:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6D30AC433C7; Tue, 19 Sep 2023 13:45:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695131121; bh=OybuJ/1CROEohwO1HH6Q9qlnvxL/LKquxrCtwmVMmy4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nw8gIBr+9CIzNnoWO5EnSo8AN8gVp9Kv/RPxW69tyOqUZYGgK1Q2URee0GA3L2GOy 22T1NAuiPRQ+OU0I8P5K9xE4xeDnM67oPTCGqEQNJFRLQdgtzqQkAjD1cyXM2MAJ77 HlZHHwrPitaZy8+EeuY4Zau65fgG0PehuFelN+5A7W10j4cRwiavwcI9tsB+Kd8GN5 CeZLsxS2TnI4GIQKJ6/fF4NYXUsodkiCIRVjEOmuWx5xsT5hd588XWpawbRLrLQ4Qo 5/NBZVKAsnqJh69/YgpFCQaXuMNeS3C0gdR/Sb+XbQu6qE2H4EatHlEoPvUVGp18jh P7KQNCJGJ/BGQ== Date: Tue, 19 Sep 2023 15:45:16 +0200 From: Christian Brauner To: Max Kellermann Cc: Alexander Viro , "Matthew Wilcox (Oracle)" , Andrew Morton , Hugh Dickins , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH] pipe_fs_i.h: add pipe_buf_init() Message-ID: <20230919-fachkenntnis-seenotrettung-3f873c1ec8da@brauner> References: <20230919080707.1077426-1-max.kellermann@ionos.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230919080707.1077426-1-max.kellermann@ionos.com> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 90AFC12001F X-Stat-Signature: 3jh9afjn7hzqpsrfo1phryowjd1r1tyo X-HE-Tag: 1695131128-307838 X-HE-Meta: U2FsdGVkX1+MfUT1oeheVQwIyHJNqtzx8CXlLk3yMVeKHZ4Wd5kAKswtlyKlekvpEwQXDS4X9DZm9asZEv6Ezz2wgkASHVafVIpAQ8vQ1D7lL23Le510lVxC6+SkbkFvqsm/Ddfss5qPSpPq0wCKdfeKfg/Kj/auAthqbyGgfRuFD9PPpaudI8aeEiI5RzUP9Vccv7k8SnY0LHYlr6Trbh6dYjaS0k94wkQCXFKdG9W4ZEKKodZkugiPYkfw9yaKWrVNcH+RZwDXTQDKbU3S3FHDNuq3LNSTJFA+q7B5i2OrqAkwyYeIlO8PXFoLtJQ1oSaxZFmfOsauYevsA8QYca0JNfI1XgUhhmbxYyz1yx0ZNFyK5wR38Jgu1HS4IqnftLzPi6tOp069Jswm/Wj3kxHZKwdrNL51YeGmNw8SCdJ8u6GfymE308PhF8amz0FPUj9OwbvD/WzqYiqRXFAlPzDxVkQES6IaktXycPrNtOIzvbIra9/y2KPcEKhup0uYGZoigimdAfRPhXvnG2pvTBDD4hCTJZEWb6b6yju7KR+TFLPpbr8mHBUZ6y3g8L3qAWmJBhRogLv5xoqgVvDqE9MYwNFSDb8eaWvI/u/V8adLr/oLcHyXlIWCvQqxROInyGbNBNxgSRaPlhToLbF7bIJEmBqxl4VvtOSAMFcMc/ht3duj5l+98J2IhOKpWELx0cAAAcp4dJpf9mkZdYOr8Hn0m/won/VhK4xaWqiQoE+U1V7ufkMd3Btxc0EcxpzdxDwLmECzt8HN+aeck/f8wg8DvRt0Mmr887TpdXWJi3orMhMkcdvpBHgYz+zueBAd0prX7rWKHhiOZgahqacLTZ4VaCUnEJdn7S9GOVd4h0SPfe/yrIX83QKx+4Se8wUQ8imfMjzAHlQsC9mXq9hReooIjkEnNiURAxY8U4HMSeIF/4UL407c7HmdiviiQYhionfyylHTw9OuQUlxdDJ CYVUf+Eg 1ULTvgNuLVYqdxqQKbpzIagh8vXNKKIuIdPBfZgfO/l2MY6/KjVP4fV4EZn5hvpFd1zU/kkKZMWyJ+VbvrrUO7kC3UiA8bAkdupmmgz07I82Z5qsIaus6ak+EXkKAOP/yC5xFXIJcdhnV0CfHeseE58cFxRS1FVVJJjEuVkb60NJQsNjPpV8OeZmcDR2i3GOJts7IktBLaA402B7q3bcdesqiX7Xj4RHGnsH/kUW8sR8icn9fr41cR1btAZ1zqatKb+6rhvHoDwIW+SZMeviXKmGeLd+xNxc+jh7MO1w+1hiArgLc7hehrq75/7lu69+XqIiMyraNG2AUv6k= 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: > diff --git a/mm/filemap.c b/mm/filemap.c > index 582f5317ff71..74532e0cb8d7 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -2850,12 +2850,8 @@ size_t splice_folio_into_pipe(struct pipe_inode_info *pipe, > struct pipe_buffer *buf = pipe_head_buf(pipe); > size_t part = min_t(size_t, PAGE_SIZE - offset, size - spliced); > > - *buf = (struct pipe_buffer) { > - .ops = &page_cache_pipe_buf_ops, > - .page = page, > - .offset = offset, > - .len = part, > - }; > + pipe_buf_init(buf, page, offset, part, > + &page_cache_pipe_buf_ops, 0); > folio_get(folio); > pipe->head++; > page++; > diff --git a/mm/shmem.c b/mm/shmem.c > index 02e62fccc80d..75d39653b028 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -2901,12 +2901,9 @@ static size_t splice_zeropage_into_pipe(struct pipe_inode_info *pipe, > if (!pipe_full(pipe->head, pipe->tail, pipe->max_usage)) { > struct pipe_buffer *buf = pipe_head_buf(pipe); > > - *buf = (struct pipe_buffer) { > - .ops = &zero_pipe_buf_ops, > - .page = ZERO_PAGE(0), > - .offset = offset, > - .len = size, > - }; > + pipe_buf_init(buf, ZERO_PAGE(0), > + offset, size, > + &zero_pipe_buf_ops, 0); > pipe->head++; > } So this may cause issues because the compound literal will cause all non explicitly initialized fields to be initialized to zero values whereas your new helper wouldn't. So pipe_buf->private may now contain garbage. Not ideal imho. Does the helper buy us that much overall?