aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-07-04 08:23:46 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-07-04 13:05:05 -0400
commitb509cc802239a8b5ba7d1d2cc5adfb9d984b7ed8 (patch)
tree476a3a78ff7da58a89b713595945d0946963f3b7 /drivers/base
parent6955b58254c2bcee8a7b55ce06468a645dc98ec5 (diff)
component: fix bug with legacy API
Sachin Kamat reports that "component: add support for component match array" broke Exynos DRM due to a NULL pointer deref. Fix this. Reported-by: Sachin Kamat <sachin.kamat@samsung.com> Tested-by: Sachin Kamat <sachin.kamat@samsung.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/component.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/base/component.c b/drivers/base/component.c
index b4236daed4fa..f748430bb654 100644
--- a/drivers/base/component.c
+++ b/drivers/base/component.c
@@ -293,10 +293,12 @@ int component_master_add_with_match(struct device *dev,
293 if (ops->add_components && match) 293 if (ops->add_components && match)
294 return -EINVAL; 294 return -EINVAL;
295 295
296 /* Reallocate the match array for its true size */ 296 if (match) {
297 match = component_match_realloc(dev, match, match->num); 297 /* Reallocate the match array for its true size */
298 if (IS_ERR(match)) 298 match = component_match_realloc(dev, match, match->num);
299 return PTR_ERR(match); 299 if (IS_ERR(match))
300 return PTR_ERR(match);
301 }
300 302
301 master = kzalloc(sizeof(*master), GFP_KERNEL); 303 master = kzalloc(sizeof(*master), GFP_KERNEL);
302 if (!master) 304 if (!master)