2010-11-06 14:41:23

by Kulikov Vasiliy

[permalink] [raw]
Subject: [PATCH] gpu: drm: vmwgfx: fix information leak to userland

Structure drm_vmw_fence_rep is copied to userland with field "pad64"
uninitialized. It leads to leaking of contents of kernel stack memory.

Signed-off-by: Vasiliy Kulikov <[email protected]>
---
Compile tested.

drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
index 51d9f9f..76954e3 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
@@ -691,6 +691,7 @@ int vmw_execbuf_ioctl(struct drm_device *dev, void *data,

fence_rep.error = ret;
fence_rep.fence_seq = (uint64_t) sequence;
+ fence_rep.pad64 = 0;

user_fence_rep = (struct drm_vmw_fence_rep __user *)
(unsigned long)arg->fence_rep;
--
1.7.0.4


2010-11-08 15:41:15

by Thomas Hellstrom

[permalink] [raw]
Subject: Re: [PATCH] gpu: drm: vmwgfx: fix information leak to userland

On 11/06/2010 03:41 PM, Vasiliy Kulikov wrote:
> Structure drm_vmw_fence_rep is copied to userland with field "pad64"
> uninitialized. It leads to leaking of contents of kernel stack memory.
>
> Signed-off-by: Vasiliy Kulikov<[email protected]>
> ---
> Compile tested.
>
> drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> index 51d9f9f..76954e3 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> @@ -691,6 +691,7 @@ int vmw_execbuf_ioctl(struct drm_device *dev, void *data,
>
> fence_rep.error = ret;
> fence_rep.fence_seq = (uint64_t) sequence;
> + fence_rep.pad64 = 0;
>
> user_fence_rep = (struct drm_vmw_fence_rep __user *)
> (unsigned long)arg->fence_rep;
>
Reviewed-by: Thomas Hellstrom <[email protected]>