Message ID | 20160425090454.GA25366@mwanda (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 25 Apr 2016 12:04:54 +0300 Dan Carpenter <dan.carpenter@oracle.com> wrote: > If kmalloc() returned NULL we would end up dereferencing "state" a > couple lines later. > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Thanks, Boris > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > index 8df0aaf..867069b 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > @@ -415,8 +415,9 @@ atmel_hlcdc_crtc_duplicate_state(struct drm_crtc *crtc) > return NULL; > > state = kmalloc(sizeof(*state), GFP_KERNEL); > - if (state) > - __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); > + if (!state) > + return NULL; > + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); > > cur = drm_crtc_state_to_atmel_hlcdc_crtc_state(crtc->state); > state->output_mode = cur->output_mode;
On Mon, Apr 25, 2016 at 12:04:54PM +0300, Dan Carpenter wrote: > If kmalloc() returned NULL we would end up dereferencing "state" a > couple lines later. > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Hi Daniel, On Mon, 25 Apr 2016 12:04:54 +0300 Dan Carpenter <dan.carpenter@oracle.com> wrote: > If kmalloc() returned NULL we would end up dereferencing "state" a > couple lines later. Can you take this patch in drm-misc, or should I send a PR? Regards, Boris > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > index 8df0aaf..867069b 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > @@ -415,8 +415,9 @@ atmel_hlcdc_crtc_duplicate_state(struct drm_crtc *crtc) > return NULL; > > state = kmalloc(sizeof(*state), GFP_KERNEL); > - if (state) > - __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); > + if (!state) > + return NULL; > + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); > > cur = drm_crtc_state_to_atmel_hlcdc_crtc_state(crtc->state); > state->output_mode = cur->output_mode;
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c index 8df0aaf..867069b 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c @@ -415,8 +415,9 @@ atmel_hlcdc_crtc_duplicate_state(struct drm_crtc *crtc) return NULL; state = kmalloc(sizeof(*state), GFP_KERNEL); - if (state) - __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); + if (!state) + return NULL; + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); cur = drm_crtc_state_to_atmel_hlcdc_crtc_state(crtc->state); state->output_mode = cur->output_mode;
If kmalloc() returned NULL we would end up dereferencing "state" a couple lines later. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>