Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2046369yba; Tue, 2 Apr 2019 23:32:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqy8Fr0yLj8AReLEtXZFNDs6xNYU+PovS8tlo7y3JgvnWMgP8pKhSI9zD2YjcrPyAgIOzW33 X-Received: by 2002:a62:b40b:: with SMTP id h11mr63327394pfn.133.1554273125598; Tue, 02 Apr 2019 23:32:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554273125; cv=none; d=google.com; s=arc-20160816; b=ErWI59B9LjHlPbvgKlwoKS5fRMK9qnr1KEByFLms85V29m37DE9kS7obMy92s7L8J7 a75KV36rao07h7TaHEE+Zwy4u4MCqejkmvDd25LZT3mN0cUqGHzLv/jf29/D4cJzUvbJ ylOVA1kGFV84rCfV+VvnojScQBaSqzlPyFIZt+ErnsPKANturBjNyu9qUqXZZkzQHvj6 SBldMlGrwHjPpVLphfhekpxfUKr7TraxySI813llImyyQdqb8kzDRbwNNUT58jJKwk2O iebS9Z4ulTsAyZ+RYG4BNFld8/WEbgR/2B11EIQpyOeBJ8+Q9NeLm9U99vBA1tzNyTuq PA/A== 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:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=NnGSpbj/RYZjac4+iGsja898j4gICW/TPJPWtWo1BH8=; b=nK05eE3I9CmDD1RjZxJ9YzPdyt39IA1hfEMRhoEh5igKqspGnhEVIoDPaSjJsDRvju k3lhGqL5P8pEyvOXppEvB0R9kmU27t6KZqJGuetA06M3JcMxmy6NZd9CdKPkjUkbkrQq xeNSm/m7E3K+NEyrun7I8Uv70jIYZ9PgL1yz7cfRsyrlCHPBvaxCRI6zqjJRUSyEbPRp OkXeglD/0Wbwlqv8aFW1CnuUPWp7DYQdpD24z20nHGJGJs8FlJI89jG4RgBxKNKjJQAl crdZkTFLu3a86oJEcUtyFVQPU2sA4rFHM2d4P2L8crdHqoFblRzhVULGgb7fB4lHy+WV HwJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jSpcK+sb; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m24si12960449pgh.485.2019.04.02.23.31.50; Tue, 02 Apr 2019 23:32:05 -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=@linaro.org header.s=google header.b=jSpcK+sb; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726882AbfDCGbH (ORCPT + 99 others); Wed, 3 Apr 2019 02:31:07 -0400 Received: from mail-ot1-f67.google.com ([209.85.210.67]:40433 "EHLO mail-ot1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725908AbfDCGbH (ORCPT ); Wed, 3 Apr 2019 02:31:07 -0400 Received: by mail-ot1-f67.google.com with SMTP id t8so14352709otp.7 for ; Tue, 02 Apr 2019 23:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NnGSpbj/RYZjac4+iGsja898j4gICW/TPJPWtWo1BH8=; b=jSpcK+sb3z2fH3osNSIGeErLUO6X/wF6f2dKllc3Nko1rHGLUc4kgtUVKPVz6yaeak /RdoB17DHczIX5ZkMTdKVB2Mqzl/atb0U6aeAsizdAF5ex2ADP3UBA28BKua/rk4ublY N4uJB7czmLhJAB8P4KS3FYYrWUHxekB7aBI5gON/7MnneQ5VLWF46zOZubbYUK2AIzMu rQDUpmlHnr4cHYaz5QLE8CmnNXX1oqtmg5NROmp2HsZMysHpc1M1LCQmL7X8R0cmlZnK 9PWQKnjxvQBL4T0CBY2/zEBipfcRe4sLdPeuyJFhDhuSJ5o7PCoEb+NzLj0gwqKCzhOq gIfg== 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:content-transfer-encoding; bh=NnGSpbj/RYZjac4+iGsja898j4gICW/TPJPWtWo1BH8=; b=emJRk14dUD+H9Aaw0f853Nq3bwHITpoIt5Pew7auehHASNAbTzhDR3HTwgVwRCImvF dKBlmhy5uQaluPvVgVBSLjX1gpTkvcoNJMNRJYTpM5wTESyWueXm5qF0AUTup6j0o/jE XOBvlzuyglM5KYWHf5miaAj5Vr8HrKvMrAnSGtyw+Jwa7C/FOVYwTJ7naNEM6SqakgKi ej0h8qqam1aGjRsuN3U0L0gTbKAJE5/V0aaqNHrl+HNmYBMesEXhHWYThav+DVFy5hfy +bjCJCbLDcm9K5HkW17pkQBeYkkBwcCg2G5CSSMih3W0g7ipHm2AYRKUSrXQb4HsVBfs 8fCQ== X-Gm-Message-State: APjAAAXEnc46o+0p2Gmvc9zFnkCSpVj0QKoXy1aGzWZhJgYA2BASwwH7 A9qcBjRPYlkACYJCNzgQUKDGnWHA4FK+bdaswkTvvQ== X-Received: by 2002:a9d:6f8b:: with SMTP id h11mr8947950otq.58.1554273066772; Tue, 02 Apr 2019 23:31:06 -0700 (PDT) MIME-Version: 1.0 References: <20190329165201.16233-1-afd@ti.com> <24aa0897-8f23-f747-d9a4-d5272f37beea@gmail.com> In-Reply-To: <24aa0897-8f23-f747-d9a4-d5272f37beea@gmail.com> From: Sumit Semwal Date: Wed, 3 Apr 2019 13:30:55 +0700 Message-ID: Subject: Re: [PATCH] dma-buf: Make mmap callback actually optional To: Christian Koenig Cc: "Andrew F. Davis" , LKML , DRI mailing list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrew, On Mon, 1 Apr 2019 at 20:38, Christian K=C3=B6nig wrote: > > Am 29.03.19 um 17:52 schrieb Andrew F. Davis: > > The docs state the callback is optional but it is not, make it optional= . > > > > Signed-off-by: Andrew F. Davis > > Reviewed-by: Christian K=C3=B6nig Thanks for the patch; I will queue it up within this week (at a conference atm, but will squeeze out time for doing this). > > > --- > > 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 =3D 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; > Best, Sumit.