Messages in this thread Patch in this message | | | From | Heinrich Schuchardt <> | Subject | [PATCH 1/1] drm: avoid exposing kernel stack in compat_drm_getstats | Date | Sun, 21 Aug 2016 19:56:19 +0200 |
| |
The C standard does not specify the size of the integer used to store an enum. Hence in structure drm_stats32_t alignment bytes may exist.
To avoid exposing bytes from the kernel stack it is necessary to initialize variable s32 completely.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- drivers/gpu/drm/drm_ioc32.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c index 57676f8..32a489b 100644 --- a/drivers/gpu/drm/drm_ioc32.c +++ b/drivers/gpu/drm/drm_ioc32.c @@ -346,6 +346,7 @@ static int compat_drm_getstats(struct file *file, unsigned int cmd, struct drm_stats __user *stats; int i, err; + memset(&s32, 0, sizeof(drm_stats32_t)); stats = compat_alloc_user_space(sizeof(*stats)); if (!stats) return -EFAULT; -- 2.1.4
| |