Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp285511yba; Mon, 1 Apr 2019 06:28:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqztA+I4SPcmXSMNG/Wo6RyxMAzQ0xQuw4MDxML1Ruuoe5aISEHc0qYLGER2N3GBDZxf2Ll7 X-Received: by 2002:a17:902:2b87:: with SMTP id l7mr22815591plb.38.1554125325024; Mon, 01 Apr 2019 06:28:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554125325; cv=none; d=google.com; s=arc-20160816; b=UZu7GVeIMnpW1LqO5e4MXJ+ULPZqH5Yoz3yp9uFWxeH3iR31Mvvn8w/CdLEMcnC/2u P07JgKy4ro5rstOI2N27xAs8ftN8ujFUHoQ1LjvIO+9G+N+0OOFeQhpjJcgrECd5azSf 7UADFgYLk/LZPemAfyyTXqTR8Frnqi2egc2AnhNdJylVOYcsICySCu9yAfOqQAZrdHs2 6Z4rWbI8jwNYTLNncyjZfBiqUPF2khGiK7rbQh+u9D73F2DHywVYPQ2bAoP+BqqvKqdO SB4OvW2dHmdPldA0/rlJ7aAR5LNt39G44K70jNftNqECBPP0RgUxcqMMdnYrZN48P37L x+2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:dkim-signature; bh=48E4JXp1M9qjd+wRdCA8aF8TMqR18Fseo759ihfXIUc=; b=SfstRkgArLGVi5RX2JGAb/u8BznN/rrtzOlYrZ7p4W73g58E9ajXD+ApQmbxQ4SOqh PgZ8JLARdDorD2fhcdVPTK+fcOUyIHIR3JzpPycZj/G028Ns4l1tZQe0ETjQqSBdDE8l KBQucwJdT7q9Upb0fpP5vZyKPauuqvUXGNEyOayLZX30xwsOeAEWbVOpWacAzI/vIjWy OC1NvG/iov+Kk/kvfeH7ztKHtfZGMvxh/Thc7zpsmAv+EoUM+MFfjeyrGHFgCx6j11z+ SS6wVcw7lG1nb1MH1g6rbtuwA2KgmKtPTNy3PT7mxr6WVv4JXv6I5uS0jZqEOTFGgRvl 2oKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=EjgaTeME; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b15si2248421pfb.231.2019.04.01.06.28.28; Mon, 01 Apr 2019 06:28:45 -0700 (PDT) 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; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=EjgaTeME; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727029AbfDAN1q (ORCPT + 99 others); Mon, 1 Apr 2019 09:27:46 -0400 Received: from lelv0142.ext.ti.com ([198.47.23.249]:58010 "EHLO lelv0142.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726852AbfDAN1p (ORCPT ); Mon, 1 Apr 2019 09:27:45 -0400 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id x31DRhQG064665; Mon, 1 Apr 2019 08:27:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1554125263; bh=48E4JXp1M9qjd+wRdCA8aF8TMqR18Fseo759ihfXIUc=; h=Subject:To:References:From:Date:In-Reply-To; b=EjgaTeMEAukGUL/We3a2AmuoNUX+v4V4vI+jgDm6YK+n5PUR8HM3jUqWfeoP2KYXM m+W2oeOVr5aGCUsdjx4hY/Av1SKskWN38w6x9H4aFGJItW5N1I+AcnDhs9uxDmoqOC 92BN+lQeQgZACKSFhpNK/Mnxkq0y7Oz90Zsho2/k= Received: from DFLE114.ent.ti.com (dfle114.ent.ti.com [10.64.6.35]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x31DRh9R103255 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 1 Apr 2019 08:27:43 -0500 Received: from DFLE107.ent.ti.com (10.64.6.28) by DFLE114.ent.ti.com (10.64.6.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Mon, 1 Apr 2019 08:27:43 -0500 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE107.ent.ti.com (10.64.6.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Mon, 1 Apr 2019 08:27:43 -0500 Received: from [10.250.67.168] (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id x31DRh89038496; Mon, 1 Apr 2019 08:27:43 -0500 Subject: Re: [PATCH] dma-buf: Make mmap callback actually optional To: Sumit Semwal , , References: <20190329165201.16233-1-afd@ti.com> <20190401071346.GR2665@phenom.ffwll.local> From: "Andrew F. Davis" Message-ID: <5d206b28-a8fc-4a3e-a75b-c91106b1f232@ti.com> Date: Mon, 1 Apr 2019 08:27:44 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: <20190401071346.GR2665@phenom.ffwll.local> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/1/19 2:13 AM, Daniel Vetter wrote: > On Fri, Mar 29, 2019 at 11:52:01AM -0500, Andrew F. Davis wrote: >> The docs state the callback is optional but it is not, make it optional. >> >> Signed-off-by: Andrew F. Davis > > There's a bunch of dummy mmap implementations we could remove with this, > would be nice to follow up. > Was cleaning up some dummy kmap implementations when I found that many had dummy mmap also, so plan was if this goes in I'll be able to zap them both in one go. That or actually add valid kmap where appropriate. Either way will be following up. Andrew > Reviewed-by: Daniel Vetter > >> --- >> drivers/dma-buf/dma-buf.c | 11 +++++++++-- >> 1 file changed, 9 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c >> index 7c858020d14b..4d4ae9fe9ac8 100644 >> --- a/drivers/dma-buf/dma-buf.c >> +++ b/drivers/dma-buf/dma-buf.c >> @@ -90,6 +90,10 @@ static int dma_buf_mmap_internal(struct file *file, struct vm_area_struct *vma) >> >> dmabuf = file->private_data; >> >> + /* check if buffer supports mmap */ >> + if (!dmabuf->ops->mmap) >> + return -EINVAL; >> + >> /* check for overflowing the buffer's size */ >> if (vma->vm_pgoff + vma_pages(vma) > >> dmabuf->size >> PAGE_SHIFT) >> @@ -404,8 +408,7 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info) >> || !exp_info->ops >> || !exp_info->ops->map_dma_buf >> || !exp_info->ops->unmap_dma_buf >> - || !exp_info->ops->release >> - || !exp_info->ops->mmap)) { >> + || !exp_info->ops->release)) { >> return ERR_PTR(-EINVAL); >> } >> >> @@ -906,6 +909,10 @@ int dma_buf_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma, >> if (WARN_ON(!dmabuf || !vma)) >> return -EINVAL; >> >> + /* check if buffer supports mmap */ >> + if (!dmabuf->ops->mmap) >> + return -EINVAL; >> + >> /* check for offset overflow */ >> if (pgoff + vma_pages(vma) < pgoff) >> return -EOVERFLOW; >> -- >> 2.21.0 >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel >