Re: [PATCH 14/19] gpu: drm: selftests: test-drm_dp_mst_helper: Place 'struct drm_dp_sideband_msg_req_body' onto the heap

From: Lee Jones
Date: Fri Nov 06 2020 - 14:26:03 EST


On Fri, 06 Nov 2020, Lyude Paul wrote:

> On Thu, 2020-11-05 at 14:45 +0000, Lee Jones wrote:
> > The stack is too full.
> >
> > Fixes the following W=1 kernel build warning(s):
> >
> >  drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c: In function
> > ‘sideband_msg_req_encode_decode’:
> >  drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:161:1: warning: the frame
> > size of 1176 bytes is larger than 1024 bytes [-Wframe-larger-than=]
> >
> > Cc: David Airlie <airlied@xxxxxxxx>
> > Cc: Daniel Vetter <daniel@xxxxxxxx>
> > Cc: Lyude Paul <lyude@xxxxxxxxxx>
> > Cc: David Francis <David.Francis@xxxxxxx>
> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> > ---
> >  .../drm/selftests/test-drm_dp_mst_helper.c    | 29 ++++++++++++-------
> >  1 file changed, 18 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
> > b/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
> > index 1d696ec001cff..0a539456f6864 100644
> > --- a/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
> > +++ b/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
> > @@ -120,44 +120,51 @@ sideband_msg_req_equal(const struct
> > drm_dp_sideband_msg_req_body *in,
> >  static bool
> >  sideband_msg_req_encode_decode(struct drm_dp_sideband_msg_req_body *in)
> >  {
> > -       struct drm_dp_sideband_msg_req_body out = {0};
> > +       struct drm_dp_sideband_msg_req_body *out;
> >         struct drm_printer p = drm_err_printer(PREFIX_STR);
> >         struct drm_dp_sideband_msg_tx txmsg;
> >         int i, ret;
> > +       bool result = true;
> > +
> > +       out = kzalloc(sizeof(*out), GFP_KERNEL);
> >
>
> You're missing a NULL check here

You're right. School-boy error! Will fix.

> >         drm_dp_encode_sideband_req(in, &txmsg);

Wow, what are all these?

What mailer are you using?

--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog