Since we cannot make sure the 'max_conn_count' will always be none zero from the users, and then if max_conn_count equals to zero, the kcalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16).
So this patch fix this with just doing the 'max_conn_count' zero check in the front of drm_fb_helper_init().
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com CC: Jani Nikula jani.nikula@linux.intel.com --- drivers/gpu/drm/drm_fb_helper.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index 3d13ca6e2..a0d286c 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -514,6 +514,9 @@ int drm_fb_helper_init(struct drm_device *dev, struct drm_crtc *crtc; int i;
+ if (!max_conn_count) + return -EINVAL; + fb_helper->dev = dev;
INIT_LIST_HEAD(&fb_helper->kernel_fb_list);
On Mon, Mar 10, 2014 at 09:33:58AM +0800, Xiubo Li wrote:
Since we cannot make sure the 'max_conn_count' will always be none zero from the users, and then if max_conn_count equals to zero, the kcalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16).
So this patch fix this with just doing the 'max_conn_count' zero check in the front of drm_fb_helper_init().
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com CC: Jani Nikula jani.nikula@linux.intel.com
Makes sense.
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_fb_helper.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index 3d13ca6e2..a0d286c 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -514,6 +514,9 @@ int drm_fb_helper_init(struct drm_device *dev, struct drm_crtc *crtc; int i;
if (!max_conn_count)
return -EINVAL;
fb_helper->dev = dev;
INIT_LIST_HEAD(&fb_helper->kernel_fb_list);
-- 1.8.4
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel@lists.freedesktop.org