Received: by 10.223.185.116 with SMTP id b49csp4196900wrg; Mon, 26 Feb 2018 13:01:05 -0800 (PST) X-Google-Smtp-Source: AH8x226ISWX5B7pr5lbEg9JJ2DIAlm7JuPDRwM7SRsNgBFP9p9Oaj47DcJfq8ESK4q6GxBMaygMM X-Received: by 2002:a17:902:7883:: with SMTP id q3-v6mr11787002pll.361.1519678865652; Mon, 26 Feb 2018 13:01:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519678865; cv=none; d=google.com; s=arc-20160816; b=uA9W95Yc0oqaxdocftH4mm+36gKIu84/3a76UilrKxQExY5jBMe+QToZ/oOQOnu4dH hmH8harVO4Py/dGXn1A6NeV5DWt7P1LzrB1SpJfR3kEuKUGZna4a/EZBpUoAGscCcOij p38qzYVGR4uP2NjsE46zCT10XlcKRQtoAoojuYB77txL35Ds6U09IZFl2ZCuP2jumQkQ TTrFQohz/xlwWChbX1Npfsz0LZFy9Z1wDCwo1+DolYdwWafBHLUBGbTojmQXgqi90JX+ UtYwJ7Om5A0kSKLpgs/0d8uVNtcjiyhiqgmCmXguvVV1oNqwTtovuUOvBtAg4Paxx6Lu 36zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=9sHTptGW45hGlek0bBvKOjs4P6AIGWtd8UblJkJZH8s=; b=QSiMe4WdbfsoN8T3Y5wJkq4c3Lr9wliaZI/BKAwVGWQlFonRhlvaeaXfZbyV/2w1+Y Rb4W79GYkS4el0KFLtCZ0cLDQf5Ce6gm8ErnumpfSseU7iXYZMht3TB5SuY7hzD0srXN slRSad3erFZ0g22GLzj4k5i8ILuYmvVbF8wZ2rXzhRGrN9RWlY8AYWKyNExEoDgOuL5R ec75vi6YQBFH5esHmaA7VnGsZ54Es2UtsOUqMMAKKfErBMT8asx3CoM02SU93nv6UOrN qVgZJ41TYyYKgfmnUIFZOu9kzL/O1epTKSe4Lojn/+RV+rf0EraIsYYO32DbxJIcKVWM 8Dkg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t61-v6si7323314plb.195.2018.02.26.13.00.48; Mon, 26 Feb 2018 13:01:05 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752522AbeBZUWe (ORCPT + 99 others); Mon, 26 Feb 2018 15:22:34 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:34136 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751824AbeBZUWc (ORCPT ); Mon, 26 Feb 2018 15:22:32 -0500 Received: from localhost (clnet-b04-243.ikbnet.co.at [83.175.124.243]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 13A33E83; Mon, 26 Feb 2018 20:22:31 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Williams , Jan Kara , Mauro Carvalho Chehab , Christoph Hellwig , Doug Ledford , Hal Rosenstock , Inki Dae , Jason Gunthorpe , Jeff Moyer , Joonyoung Shim , Kyungmin Park , Mel Gorman , Ross Zwisler , Sean Hefty , Seung-Woo Kim , Vlastimil Babka , Andrew Morton , Linus Torvalds Subject: [PATCH 4.9 34/39] v4l2: disable filesystem-dax mapping support Date: Mon, 26 Feb 2018 21:20:55 +0100 Message-Id: <20180226201645.165288395@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180226201643.660109883@linuxfoundation.org> References: <20180226201643.660109883@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 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 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dan Williams commit b70131de648c2b997d22f4653934438013f407a1 upstream. V4L2 memory registrations are incompatible with filesystem-dax that needs the ability to revoke dma access to a mapping at will, or otherwise allow the kernel to wait for completion of DMA. The filesystem-dax implementation breaks the traditional solution of truncate of active file backed mappings since there is no page-cache page we can orphan to sustain ongoing DMA. If v4l2 wants to support long lived DMA mappings it needs to arrange to hold a file lease or use some other mechanism so that the kernel can coordinate revoking DMA access when the filesystem needs to truncate mappings. Link: http://lkml.kernel.org/r/151068940499.7446.12846708245365671207.stgit@dwillia2-desk3.amr.corp.intel.com Fixes: 3565fce3a659 ("mm, x86: get_user_pages() for dax mappings") Signed-off-by: Dan Williams Reported-by: Jan Kara Reviewed-by: Jan Kara Cc: Mauro Carvalho Chehab Cc: Christoph Hellwig Cc: Doug Ledford Cc: Hal Rosenstock Cc: Inki Dae Cc: Jason Gunthorpe Cc: Jeff Moyer Cc: Joonyoung Shim Cc: Kyungmin Park Cc: Mel Gorman Cc: Ross Zwisler Cc: Sean Hefty Cc: Seung-Woo Kim Cc: Vlastimil Babka Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- drivers/media/v4l2-core/videobuf-dma-sg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/drivers/media/v4l2-core/videobuf-dma-sg.c +++ b/drivers/media/v4l2-core/videobuf-dma-sg.c @@ -185,12 +185,13 @@ static int videobuf_dma_init_user_locked dprintk(1, "init user [0x%lx+0x%lx => %d pages]\n", data, size, dma->nr_pages); - err = get_user_pages(data & PAGE_MASK, dma->nr_pages, + err = get_user_pages_longterm(data & PAGE_MASK, dma->nr_pages, flags, dma->pages, NULL); if (err != dma->nr_pages) { dma->nr_pages = (err >= 0) ? err : 0; - dprintk(1, "get_user_pages: err=%d [%d]\n", err, dma->nr_pages); + dprintk(1, "get_user_pages_longterm: err=%d [%d]\n", err, + dma->nr_pages); return err < 0 ? err : -EINVAL; } return 0;