Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp4361017pxu; Mon, 12 Oct 2020 17:34:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz3hwRB+QniufQlJMrxM6sA4XMB3Fg/69kuHV5mdiglI0LgB9FGwFZ+gfLbFZBGguVyKEmJ X-Received: by 2002:a17:906:6145:: with SMTP id p5mr28638588ejl.351.1602549246080; Mon, 12 Oct 2020 17:34:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602549246; cv=none; d=google.com; s=arc-20160816; b=qsp3CuNuuuV8CjYlxZTbe1qSZwXtzsVZcQLmV1PmKSeZvgAay6zB8iDYSx1HXPbSJL LQelJdkXNvumqRhGZq635YCogWczbh7K7pIx7L3HmEeqV/FMRG0vO6xVrmbWIzpQ4Cek v4+vTPTBQC9Ypu9P4o25E3my02ZXNwDlFu99IoVLofdN7MRqrzG2Sq50JXk6qAioQiOI YHDNOWhutJU80ZKmc8v45IMlsel1ZAINDPvFAVqqlA34xze0LJ+SuVluT/uoNeoAlu+s 44+BV5Dw7DkLNx7bIW6scnYk4NcgsPYjW0gx/S5669tBdLrtdTBGM+69yZwHpqFZAyzn 8p5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=8X09Z4RduZw54E7UULyfcMVsq59sUX38yzJavXEvAuQ=; b=P6yab9jPFpz6RH+TUFknyghtmL9X8NIe5MEyHERznRactG3fCAX+/9fP3AHxFXw+nz SFR8OUgXtEzhriG+0+cU3aW/BUsKLXEb6u7IeEMDQ4eeosUMydATVSaDZ7cS1FQSTXr1 f4LHC8/9w1b7mH2VNFXiIWlAO3MPrh/zM+L2U86dOQAFD83afthXCNCk3A97vl5AUjDw hoW7+GcnYaOEBoq7Dcc7GMDSVHNwo/w11Ify8T3w9CjqjCa113tlEPCwTzOSZy3DXhvq k2aVSgZg2WsI7JcS599jp4Q6ZOr5x4+/8zY/vs+ZIl2F5TlqqkY7b6VGLZ34epl9jB+8 gkDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=OxcKeNhv; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j1si12953886ejy.674.2020.10.12.17.33.43; Mon, 12 Oct 2020 17:34:06 -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=@ffwll.ch header.s=google header.b=OxcKeNhv; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389821AbgJLNuG (ORCPT + 99 others); Mon, 12 Oct 2020 09:50:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60676 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389818AbgJLNtT (ORCPT ); Mon, 12 Oct 2020 09:49:19 -0400 Received: from mail-ot1-x343.google.com (mail-ot1-x343.google.com [IPv6:2607:f8b0:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 167DFC0613D2 for ; Mon, 12 Oct 2020 06:49:19 -0700 (PDT) Received: by mail-ot1-x343.google.com with SMTP id m13so15851743otl.9 for ; Mon, 12 Oct 2020 06:49:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8X09Z4RduZw54E7UULyfcMVsq59sUX38yzJavXEvAuQ=; b=OxcKeNhvQoR0L8nxbCn1cXzOLqpqQBDfywbnUKwin8fP1jeNNo8TXGjdlV3i/RFefc kiDn5u8kWGFx2VxB985ageHcqSHKlzq4zLw3IXCA9ks8vIzNebZc3IQZx/DZrDgmJSXd NsUKEksWwYQT7XMaHoiEwCdO/DkttVP0ejuaI= 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=8X09Z4RduZw54E7UULyfcMVsq59sUX38yzJavXEvAuQ=; b=GgqIULK5k4rERZF9ZmU9Haaq84k27rrZ2hjMuHJLu+smIUOW4EcOqlca8CrM7scI6T Rk7IB1XxWkX4jgxnA6sJIEFixe2eSmXAN1sEEqw1FNNc82o8VhJfgMyXL4ae3Kt+5xgt A/st51E3xxrilDycAyQXyh65ch/Olle946O2esvP1ZZfKhhGeA/U4o4P7gAEFr9MKu4V x6R2TKda1P3Rn63866oHAGOUttFvS8RLmZj73PqVfwmosfOkryqNv/8PZYvKI2ro4+Oy Q+V86XkF5hP+JFexXHOczx8hWlmvjlQPEGRloglJM/r0RgJSLSYF5e9mowI/qjMEZNHb cFOg== X-Gm-Message-State: AOAM532JiugUxsAGJ/VbwjKRPKSBpWdOxJEbH5IrsLOdAO8euaebwztt tzqdcbd84j5V63sS1zjDWSsvg32ork8YZ0c93/r9wuRHLwnYIg== X-Received: by 2002:a05:6830:8b:: with SMTP id a11mr7008058oto.303.1602510558346; Mon, 12 Oct 2020 06:49:18 -0700 (PDT) MIME-Version: 1.0 References: <20201009075934.3509076-1-daniel.vetter@ffwll.ch> <20201009075934.3509076-10-daniel.vetter@ffwll.ch> <20201009123421.67a80d72@coco.lan> <20201009122111.GN5177@ziepe.ca> <20201009143723.45609bfb@coco.lan> <20201009124850.GP5177@ziepe.ca> In-Reply-To: From: Daniel Vetter Date: Mon, 12 Oct 2020 15:49:07 +0200 Message-ID: Subject: Re: [PATCH v2 09/17] mm: Add unsafe_follow_pfn To: Marek Szyprowski Cc: Jason Gunthorpe , Mauro Carvalho Chehab , linux-s390 , linux-samsung-soc , Jan Kara , Kees Cook , KVM list , LKML , DRI Development , Linux MM , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , John Hubbard , Daniel Vetter , Dan Williams , Linus Torvalds , Andrew Morton , Linux ARM , "open list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 12, 2020 at 12:47 PM Marek Szyprowski wrote: > > Hi Jason, > > On 09.10.2020 14:48, Jason Gunthorpe wrote: > > On Fri, Oct 09, 2020 at 02:37:23PM +0200, Mauro Carvalho Chehab wrote: > > > >> I'm not a mm/ expert, but, from what I understood from Daniel's patch > >> description is that this is unsafe *only if* __GFP_MOVABLE is used. > > No, it is unconditionally unsafe. The CMA movable mappings are > > specific VMAs that will have bad issues here, but there are other > > types too. > > I'm trying to follow this thread, but I really wonder what do you mean > by CMA movable mappings? If a buffer has been allocated from CMA and > used for DMA, it won't be moved in the memory. It will stay at the same > physical memory address all the time until freed by the owner. It just a > matter of proper usage count tracking to delay freeing if it is still > used somewhere. Yup. The problem is that this usage count tracking doesn't exist. And drivers could at least in theory treat CMA like vram and swap buffers in&out of it, so just refcounting the userspace vma isn't enough. In practice, right now, it might be enough for CMA drivers though (but there's more that's possible here). -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch