All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 3/7] drm/udl: import prime-fds with proper page-alignment
Date: Tue, 21 Jan 2014 10:41:50 +0100	[thread overview]
Message-ID: <20140121094150.GN15089@phenom.ffwll.local> (raw)
In-Reply-To: <1390245989-13280-3-git-send-email-dh.herrmann@gmail.com>

On Mon, Jan 20, 2014 at 08:26:25PM +0100, David Herrmann wrote:
> Instead of rounding down to the next lower page-boundary, round up.
> dma-buf guarantees that we can map buffers in multiples of a page, so if
> an exporter does not page-align, do it ourselves.
> 
> This avoids issues if the exported buffer contains an unaligned size and
> we crop it. In this case, the buffer is too small for the UDL CRTC. So we
> round up to page-size now and avoid black borders. Worst case is we end up
> reading out some random kernel memory, but we can never fault as the whole
> page has the same access-rights. And in this case it's an issue of the
> buggy exporting driver, not the importing one.
> 
> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
> ---
>  drivers/gpu/drm/udl/udl_gem.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
> index df963a1..1069e57 100644
> --- a/drivers/gpu/drm/udl/udl_gem.c
> +++ b/drivers/gpu/drm/udl/udl_gem.c
> @@ -227,7 +227,7 @@ static int udl_prime_create(struct drm_device *dev,
>  	struct udl_gem_object *obj;
>  	int npages;
>  
> -	npages = size / PAGE_SIZE;
> +	npages = PAGE_ALIGN(size) >> PAGE_SHIFT;

Imo the proper patch would be to reject exporting anything which isn't
page-aligned as a dma-buf in the driver core (together with a quick review
of the docs to make sure this requirement is clear). This is just a bug in
the exporter.
-Daniel

>  
>  	*obj_p = NULL;
>  	obj = udl_gem_alloc_object(dev, npages * PAGE_SIZE);
> -- 
> 1.8.5.3
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

  reply	other threads:[~2014-01-21  9:41 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-20 19:26 [PATCH 1/7] drm/udl: fix error-path when damage-req fails David Herrmann
2014-01-20 19:26 ` [PATCH 2/7] drm/udl: fix Bpp calculation in dumb_create() David Herrmann
2014-01-21  9:38   ` Daniel Vetter
2014-01-21 11:13     ` David Herrmann
2014-01-23 12:50   ` [PATCH v2 2/6] " David Herrmann
2014-02-05 21:28     ` David Herrmann
2014-01-20 19:26 ` [PATCH 3/7] drm/udl: import prime-fds with proper page-alignment David Herrmann
2014-01-21  9:41   ` Daniel Vetter [this message]
2014-01-23 12:51     ` David Herrmann
2014-01-20 19:26 ` [PATCH 4/7] drm/gem: fix indentation David Herrmann
2014-02-05 21:28   ` David Herrmann
2014-01-20 19:26 ` [PATCH 5/7] drm/gem: free vma-node during object-cleanup David Herrmann
2014-02-05 21:29   ` David Herrmann
2014-01-20 19:26 ` [PATCH 6/7] drm/crtc: add sanity checks to create_dumb() David Herrmann
2014-01-21  9:49   ` Daniel Vetter
2014-01-21 11:17     ` David Herrmann
2014-01-21 11:42       ` Ville Syrjälä
2014-01-21 11:52         ` David Herrmann
2014-01-21 11:57           ` Chris Wilson
2014-01-23 12:53   ` [PATCH v2 5/6] " David Herrmann
2014-01-23 13:55     ` Ville Syrjälä
2014-01-23 14:10       ` David Herrmann
2014-02-05 21:29         ` David Herrmann
2014-01-20 19:26 ` [PATCH 7/7] drm/gem: dont init "ret" in drm_gem_mmap() David Herrmann
2014-01-21  9:51   ` Daniel Vetter
2014-02-05 21:29     ` David Herrmann
2014-01-21  9:43 ` [PATCH 1/7] drm/udl: fix error-path when damage-req fails Daniel Vetter
2014-01-23 12:48 ` [PATCH v2 1/6] " David Herrmann
2014-02-05 21:28   ` David Herrmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140121094150.GN15089@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dh.herrmann@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.