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 X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34836C17442 for ; Sun, 10 Nov 2019 10:01:32 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D09652085B for ; Sun, 10 Nov 2019 10:01:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=yandex-team.ru header.i=@yandex-team.ru header.b="ufoWTRou" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D09652085B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=yandex-team.ru Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 31CCD6B0003; Sun, 10 Nov 2019 05:01:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2CE6F6B0006; Sun, 10 Nov 2019 05:01:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1E4696B0007; Sun, 10 Nov 2019 05:01:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0098.hostedemail.com [216.40.44.98]) by kanga.kvack.org (Postfix) with ESMTP id 084AC6B0003 for ; Sun, 10 Nov 2019 05:01:31 -0500 (EST) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with SMTP id 7182B180AD81A for ; Sun, 10 Nov 2019 10:01:30 +0000 (UTC) X-FDA: 76139925540.03.stove33_d03eb26f673f X-HE-Tag: stove33_d03eb26f673f X-Filterd-Recvd-Size: 3298 Received: from forwardcorp1o.mail.yandex.net (forwardcorp1o.mail.yandex.net [95.108.205.193]) by imf03.hostedemail.com (Postfix) with ESMTP for ; Sun, 10 Nov 2019 10:01:29 +0000 (UTC) Received: from mxbackcorp2j.mail.yandex.net (mxbackcorp2j.mail.yandex.net [IPv6:2a02:6b8:0:1619::119]) by forwardcorp1o.mail.yandex.net (Yandex) with ESMTP id 746532E1459; Sun, 10 Nov 2019 13:01:25 +0300 (MSK) Received: from sas2-2e05890d47f7.qloud-c.yandex.net (sas2-2e05890d47f7.qloud-c.yandex.net [2a02:6b8:c08:bd8e:0:640:2e05:890d]) by mxbackcorp2j.mail.yandex.net (mxbackcorp/Yandex) with ESMTP id b3sPY8d0b7-1NIWcp3L; Sun, 10 Nov 2019 13:01:25 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1573380085; bh=JkrJKaQCoeMVMNpYM6A4ENaFoYgIY430dh7P5rPIWZg=; h=Message-ID:Date:To:From:Subject:Cc; b=ufoWTRoukGGjWaEF4BgMJjO32U2nf5kXJINGOTFlJn3moI9EIwG/xm1hHOJmT6AmB 8ylmMrEbmZT2b9+c682iDw0RGMBSyHlTIDRVwb4B0J5CkSeIvKXC3srNHqfZ233f5r kzz2iCNsGzCfWCf1CGqhNOUykVFs2BnZP4j8jm9M= Authentication-Results: mxbackcorp2j.mail.yandex.net; dkim=pass header.i=@yandex-team.ru Received: from dynamic-red.dhcp.yndx.net (dynamic-red.dhcp.yndx.net [2a02:6b8:0:40c:8554:53c0:3d75:2e8a]) by sas2-2e05890d47f7.qloud-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id nt2r9pmPtT-1NUSDqjh; Sun, 10 Nov 2019 13:01:23 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) Subject: [PATCH] fs/splice: ignore flag SPLICE_F_GIFT in syscall vmsplice From: Konstantin Khlebnikov To: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Alexander Viro Cc: David Howells , Linus Torvalds , Andy Lutomirski , Miklos Szeredi Date: Sun, 10 Nov 2019 13:01:23 +0300 Message-ID: <157338008330.5347.7117089871769008055.stgit@buzz> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit 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: Generic support of flag SPLICE_F_MOVE in syscall splice was removed in kernel 2.6.21 commit 485ddb4b9741 ("1/2 splice: dont steal"). Infrastructure stay intact and this feature may came back. At least driver or filesystem could provide own implementation. But stealing mapped pages from userspace never worked and is very unlikely that will ever make sense due to unmapping overhead. Also lru handling is broken if gifted anon page spliced into file. Let's seal entry point for marking page as a gift in vmsplice. Signed-off-by: Konstantin Khlebnikov Link: https://lore.kernel.org/lkml/CAHk-=wgPQutQ8d8kUCvAFi+hfNWgaNLiZPkbg-GXY2DCtD-Z5Q@mail.gmail.com/ --- fs/splice.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/splice.c b/fs/splice.c index 98412721f056..71dbdd78bfd1 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1288,9 +1288,6 @@ static long vmsplice_to_pipe(struct file *file, struct iov_iter *iter, long ret = 0; unsigned buf_flag = 0; - if (flags & SPLICE_F_GIFT) - buf_flag = PIPE_BUF_FLAG_GIFT; - pipe = get_pipe_info(file); if (!pipe) return -EBADF;