Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1380582pxb; Fri, 22 Jan 2021 14:24:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJyhfTrAhKZYCwIJ3nNqAI4Szjqbvngn9ADoxUUhkBX9WLqhiXSoaEiQIzNkyQa9tVReQ8zk X-Received: by 2002:a05:6402:78f:: with SMTP id d15mr4746778edy.362.1611354278058; Fri, 22 Jan 2021 14:24:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611354278; cv=none; d=google.com; s=arc-20160816; b=cX+O3yrq/hLMlWLBwpu+xsYeJICzdPiDGFZxVELsWT/Vqu27XsafH/wtsLh+ENV13N 5Xz5IkzHt3dsVuSPsx9oiPIKh6orREtAGHtzqCuvLUDEtuzwSlDWfKom81PVcAPkdmtm WVJbDRtZbi2+anr3vrhn7Zd+dzOzPT51FU+PXzmv28ATT8oRv0aMLXMR+FgZd55dOSbh HiyUqxh5ycDk5ncd/3/rtzPmTFYSJVlbgmn1AWh2fK1UBgER24MHDozvhH2CsTIJIKSk 379I119gwq+JFM4osnUNCo9mtDX3cNtEfDOAkEOXWx07C7SToSFyLp8RJSntEUkAtfwd g0wQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=p+wFAQDvhZKzJckMU2PTCB4geYwutkW2n4ieR3b1p7c=; b=GmdW7GVRqFEgIeilrciZ4j2xTW04xbTystJnnCpZath/INbqi4mKLVjLCXTdBR1He0 KcpOOMDr3KadAmFwueQgEo5+0JwCgmmNbeCnfSJjxYo05Hctc25V7fTEpvLOJIXNYNhz sQ+WurcZ1tN5mgp4VmwcqtuL5eslbYLMTuEntXFrVrt1mGNUcSwe9bMrU3tkwx9r8HBB ypueWeqR/SpnjtmiM+UhfMM3J41SFmwFaoOfPSOpqnpRF9fifOW/COmalhl5kRwUbM+O 2V3xejx/fAwai//t7cXtZhDECIGAn1Snkac+KJTFqXJ0XNFp2CMfwZX/p1Y9QRr8kBD0 P+Uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=PzRiNcUm; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id la11si3458719ejb.289.2021.01.22.14.24.13; Fri, 22 Jan 2021 14:24:38 -0800 (PST) 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=@google.com header.s=20161025 header.b=PzRiNcUm; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729377AbhAVWWs (ORCPT + 99 others); Fri, 22 Jan 2021 17:22:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728336AbhAVWV7 (ORCPT ); Fri, 22 Jan 2021 17:21:59 -0500 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A9485C06174A for ; Fri, 22 Jan 2021 14:21:08 -0800 (PST) Received: by mail-wm1-x32a.google.com with SMTP id v184so5628324wma.1 for ; Fri, 22 Jan 2021 14:21:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=p+wFAQDvhZKzJckMU2PTCB4geYwutkW2n4ieR3b1p7c=; b=PzRiNcUmdot6JGXxpzUl72+waAwAYCBKGrm/wOqFqpqn/YIEGIMEuGbcpXxwbFRSlm SOBocLyuiSB7j+UyAVJQxtRnEbA6+9VKrlk3oLSxWawGjvxJtF3esc7MkVFKD7wLu5eo F4TpcjpAYQpee6WoocuEVDpRvIjmoiknO6i1025Z9y1gttI3fC0tNg+sL/6O5T6qneOC k+s2sXL5Kaa/Pg+eusXwY7uVGye3iFe/B3uDL2mWFJDwBYQD9RvljoAJqNhUeWLGwoDn U2BtIfMSR41j+1w+FOU0GlAxbfrrUeTj3qOdPKG5V3TJjOJRrJyljTxWpOy5B/TdZv7S JN1g== 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=p+wFAQDvhZKzJckMU2PTCB4geYwutkW2n4ieR3b1p7c=; b=gVDZN19hvL3x54zs3td4IrBLRFGNQuUNbzBLXf/ygEIXekePghD/xa+lVtz7G3Bbeq lICxGfLO1NBJWscMNbz+KLdFPdQ7PC/PJaKT0J3ugl84nDnSlpgMj3ojfmNuAgoQPZr9 yXg3Gr4FMoKVz90F2FbMiYF4xfsVZCm9d02Kn/3aFg0CkuosvOh2NoBZkImy1TKAOx+L TQnVR+PYDQBf9Smz09jdv9+59vFLi1FGKfiD5b3xCE8NM0pH9GXhu3UNzkbK1mPmSG9u VDZrLuG4TZPqWDqBvUkWg0NXmrZoTXsaZuqqr5RxASEe1n4VMUyjFeOUuEJbAfBApJm9 /dQQ== X-Gm-Message-State: AOAM533IckMne28NUnEapbaqjz8gBJlmkhbds1Jl5hzD+IGwzyLhYXox Bjp7RsuPapf653setp1foc5NU+FftWjp9/aX1DjtJg== X-Received: by 2002:a1c:7906:: with SMTP id l6mr5825010wme.22.1611354067218; Fri, 22 Jan 2021 14:21:07 -0800 (PST) MIME-Version: 1.0 References: <20210119204508.9256-1-john.stultz@linaro.org> <20210119204508.9256-2-john.stultz@linaro.org> In-Reply-To: From: Suren Baghdasaryan Date: Fri, 22 Jan 2021 14:20:56 -0800 Message-ID: Subject: Re: [RESEND][PATCH 2/3] dma-buf: heaps: Add a WARN_ON should the vmap_cnt go negative To: Sumit Semwal Cc: John Stultz , lkml , Liam Mark , Laura Abbott , Brian Starkey , Hridya Valsaraju , Sandeep Patil , Daniel Mentz , Chris Goldsworthy , =?UTF-8?Q?=C3=98rjan_Eide?= , Robin Murphy , Ezequiel Garcia , Simon Ser , James Jones , "open list:DMA BUFFER SHARING FRAMEWORK" , DRI mailing list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 21, 2021 at 11:56 PM Sumit Semwal wro= te: > > Hi John, Suren, > > > On Wed, 20 Jan 2021 at 02:15, John Stultz wrote: > > > > We shouldn't vunmap more then we vmap, but if we do, make > > sure we complain loudly. > > I was checking the general usage of vunmap in the kernel, and I > couldn't find many instances where we need to WARN_ON for the vunmap > count more than vmap count. Is there a specific need for this in the heap= s? Hi Sumit, My worry was that buffer->vmap_cnt could silently go negative. But if this warning is not consistent with other places we do refcounted vmap/vunmap then feel free to ignore my suggestion. Thanks! > > Best, > Sumit. > > > > Cc: Sumit Semwal > > Cc: Liam Mark > > Cc: Laura Abbott > > Cc: Brian Starkey > > Cc: Hridya Valsaraju > > Cc: Suren Baghdasaryan > > Cc: Sandeep Patil > > Cc: Daniel Mentz > > Cc: Chris Goldsworthy > > Cc: =C3=98rjan Eide > > Cc: Robin Murphy > > Cc: Ezequiel Garcia > > Cc: Simon Ser > > Cc: James Jones > > Cc: linux-media@vger.kernel.org > > Cc: dri-devel@lists.freedesktop.org > > Suggested-by: Suren Baghdasaryan > > Signed-off-by: John Stultz > > --- > > drivers/dma-buf/heaps/cma_heap.c | 1 + > > drivers/dma-buf/heaps/system_heap.c | 1 + > > 2 files changed, 2 insertions(+) > > > > diff --git a/drivers/dma-buf/heaps/cma_heap.c b/drivers/dma-buf/heaps/c= ma_heap.c > > index 364fc2f3e499..0c76cbc3fb11 100644 > > --- a/drivers/dma-buf/heaps/cma_heap.c > > +++ b/drivers/dma-buf/heaps/cma_heap.c > > @@ -232,6 +232,7 @@ static void cma_heap_vunmap(struct dma_buf *dmabuf,= struct dma_buf_map *map) > > struct cma_heap_buffer *buffer =3D dmabuf->priv; > > > > mutex_lock(&buffer->lock); > > + WARN_ON(buffer->vmap_cnt =3D=3D 0); > > if (!--buffer->vmap_cnt) { > > vunmap(buffer->vaddr); > > buffer->vaddr =3D NULL; > > diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma-buf/heap= s/system_heap.c > > index 405351aad2a8..2321c91891f6 100644 > > --- a/drivers/dma-buf/heaps/system_heap.c > > +++ b/drivers/dma-buf/heaps/system_heap.c > > @@ -273,6 +273,7 @@ static void system_heap_vunmap(struct dma_buf *dmab= uf, struct dma_buf_map *map) > > struct system_heap_buffer *buffer =3D dmabuf->priv; > > > > mutex_lock(&buffer->lock); > > + WARN_ON(buffer->vmap_cnt =3D=3D 0); > > if (!--buffer->vmap_cnt) { > > vunmap(buffer->vaddr); > > buffer->vaddr =3D NULL; > > -- > > 2.17.1 > >