Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3331620imm; Tue, 29 May 2018 05:32:06 -0700 (PDT) X-Google-Smtp-Source: AB8JxZovYBzweXldCIidZsJ4Yf4k0h/nk/vFMIbovI3OlJ36KGnZ82TJSzkk2bq5yN9D1VFZbo7X X-Received: by 2002:a62:a50c:: with SMTP id v12-v6mr17315362pfm.237.1527597126801; Tue, 29 May 2018 05:32:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527597126; cv=none; d=google.com; s=arc-20160816; b=JzB711a04GqaJKNlqhnT1BD7kuQyKo0mMpVFHWhc8PzgIYs3fIUPR6PVIMLWQiZjR8 vO9GGy8fq28jAhF8o0Z23HLnScoK/hr4unn3tO4G2O8ZMkfwLcwqiGM7TCZC3dH8/Rq8 cC51u70YhB2OL75YqZfoVB1OtPsowDqqtfQPaSj6rKZ5WYWEIupqfULxvSXcGFOzZSX7 5M8xbajmnxgJzS913ZSBkqxHaV6oWjwGKRUXa9FKRDhdumbOTSo7Smpcts2bS2IpQO49 4u1ufYWp4osN6YrzNaNFSbyMwCJ/tVPo702hy0ksVNvBb59N18BOPhdb6856F2mUZ65v wFEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=iC07KNVHK6qLMN9knsQ2zR4p2z4mxD0YiTHxyVdHsQU=; b=pcdBjMoSyL6E+avvO7l4CcMqAD3MApfKe5ncO3XaPglocoycYylZ4ZSqtTV5gGQtvj HZ/K376Hn4AHm4fqk+uE/oq/AZiwUqamtbtNZXFRh15XVIoptjS+n1Ukht/u5fJMh6gB 9hfTQJNKofq8SpF/eJ3bAJnHVeY5dcDfhqwTVHrWUnDXGnz3QcbqhuO/0NVwLMxMuoFM zND/4SUaBjbdn/M3frbQEo6xFXiYeS5Ku0f/qa9lIZDNrsXIVN5x8n4lyXow7VCdrR3d KiJN7MYS+hQtMPrPzniGaxK3WY6UupgCT9kpQHeiSYfFoZHM94JRpExtkSZRHIUkMQUj UQUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@ffwll.ch header.s=google header.b=RD+nEHRs; 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 b8-v6si34441115pls.261.2018.05.29.05.31.52; Tue, 29 May 2018 05:32:06 -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=fail header.i=@ffwll.ch header.s=google header.b=RD+nEHRs; 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 S933920AbeE2MbC (ORCPT + 99 others); Tue, 29 May 2018 08:31:02 -0400 Received: from mail-it0-f65.google.com ([209.85.214.65]:35066 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933744AbeE2Ma5 (ORCPT ); Tue, 29 May 2018 08:30:57 -0400 Received: by mail-it0-f65.google.com with SMTP id q72-v6so18265691itc.0 for ; Tue, 29 May 2018 05:30:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=iC07KNVHK6qLMN9knsQ2zR4p2z4mxD0YiTHxyVdHsQU=; b=RD+nEHRsafSQNoVT33fq65l6Kfalk0rMYRjH4AUIEbbGSy6iehB+yDQfjRBEL3ou/z Aaj1XvxEnp6aSDVwR//jssERk9Qh5+V98FbmfaNyr/L4kqWW0fKBzvWyvDJjvPQoHOBR eH3NgSvsYRUYDR9cjpW+F8PtSKXhreRo4wZHQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=iC07KNVHK6qLMN9knsQ2zR4p2z4mxD0YiTHxyVdHsQU=; b=TmzYguh51Et3dFNVMLhzquS66rdQ2rXNaO+tgJKhZNGLTaGuGTXjpuZJng/cHMOaE+ 8/A0o2KxwERADDRGaJ0T30mn+6NPjRDQvEbo18rUDe6+sHaEmCYjaOB1FS8LFvaiVGrY VXGjWaLzko1uPLd2R1MaOXEYbIA6dfyHE4dN5NCCX7nrJ1VIlapQrABAoqi5on7JSarW 1zxAECP0h9H0jOpBTnKFwXE+o7/sOy9wX16JLvRgicZFLKMPG1R7fgiiXcyiOxTgyY8J BBXJI1zTLVHFNWxWLMf+etFEe/+77T5HVhjn0S0wVbo/QP8p5XGAOUsCT9FS7hX5Boi0 dL+A== X-Gm-Message-State: ALKqPwc5V0QsU1AW4ylLG2E5LLN8QHYR86ijmAZj++509PvSjgmVwrVk etYpGl+fu/Q/aKseYEXS4D4R6NnU7cdaC1QX8BLSsw== X-Received: by 2002:a24:8681:: with SMTP id u123-v6mr13899630itd.2.1527597056595; Tue, 29 May 2018 05:30:56 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a4f:1684:0:0:0:0:0 with HTTP; Tue, 29 May 2018 05:30:55 -0700 (PDT) X-Originating-IP: [2a02:168:5628:0:d0c7:bcda:eea:9e5d] In-Reply-To: <20180529084845.2al2dmpvjpz6eexp@sirius.home.kraxel.org> References: <20180525140808.12714-1-kraxel@redhat.com> <20180529082327.GF3438@phenom.ffwll.local> <20180529084845.2al2dmpvjpz6eexp@sirius.home.kraxel.org> From: Daniel Vetter Date: Tue, 29 May 2018 14:30:55 +0200 X-Google-Sender-Auth: J5NFmEbNzZSRNEAeZOVH8ghRi1A Message-ID: Subject: Re: [PATCH v3] Add udmabuf misc device To: Gerd Hoffmann Cc: dri-devel , David Airlie , Tomeu Vizoso , Sumit Semwal , Shuah Khan , open list , "open list:DMA BUFFER SHARING FRAMEWORK" , "moderated list:DMA BUFFER SHARING FRAMEWORK" , "open list:KERNEL SELFTEST FRAMEWORK" 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 On Tue, May 29, 2018 at 10:48 AM, Gerd Hoffmann wrote: > Hi, > >> > +static void *kmap_atomic_udmabuf(struct dma_buf *buf, unsigned long page_num) >> > +{ >> > + struct udmabuf *ubuf = buf->priv; >> > + struct page *page = ubuf->pages[page_num]; >> > + >> > + return kmap_atomic(page); >> > +} >> > + >> > +static void *kmap_udmabuf(struct dma_buf *buf, unsigned long page_num) >> > +{ >> > + struct udmabuf *ubuf = buf->priv; >> > + struct page *page = ubuf->pages[page_num]; >> > + >> > + return kmap(page); >> > +} >> >> The above leaks like mad since no kunamp? > > /me checks code. Oops. Yes. > > The docs say map() is required and unmap() is not (for both atomic and > non-atomic cases), so I assumed there is a default implementation just > doing kunmap(page). Which is not the case. /me looks a bit surprised. > > I'll fix it for v4. > >> Also I think we have 0 users of the kmap atomic interfaces ... so not sure >> whether it's worth it to implement those. > > Well, the docs are correct. kmap_atomic() is required, dma-buf.c calls > the function pointer without checking it exists beforehand ... Frankly with the pletoria of dummy kmap functions that just return NULL; it might be better to move that into core dma-buf code and make it optional for real. Since it's indeed very surprising. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch