aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_proc.c
diff options
context:
space:
mode:
authorRoel Kluin <roel.kluin@gmail.com>2009-08-29 22:20:34 +0200
committerDave Airlie <airlied@redhat.com>2009-08-31 09:09:29 +1000
commit1ae70072f0699916c1a77a9bacad958ee46f7395 (patch)
treee6a0c1b23fa9d17b960b556e71524c3c198cfe07 /drivers/gpu/drm/drm_proc.c
parentdrm/crtc_helper: NULL encoder->crtc when switching encoders (diff)
downloadlinux-dev-1ae70072f0699916c1a77a9bacad958ee46f7395.tar.xz
linux-dev-1ae70072f0699916c1a77a9bacad958ee46f7395.zip
drm: dereference of tmp in drm_proc_create_files()
tmp allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_proc.c')
-rw-r--r--drivers/gpu/drm/drm_proc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_proc.c b/drivers/gpu/drm/drm_proc.c
index bbd4b3d1074a..dc967af7a33c 100644
--- a/drivers/gpu/drm/drm_proc.c
+++ b/drivers/gpu/drm/drm_proc.c
@@ -106,6 +106,10 @@ int drm_proc_create_files(struct drm_info_list *files, int count,
continue;
tmp = kmalloc(sizeof(struct drm_info_node), GFP_KERNEL);
+ if (tmp == NULL) {
+ ret = -1;
+ goto fail;
+ }
ent = create_proc_entry(files[i].name, S_IFREG | S_IRUGO, root);
if (!ent) {
DRM_ERROR("Cannot create /proc/dri/%s/%s\n",