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: Mon Nov 09 2020 - 11:40:12 EST


On Mon, 09 Nov 2020, Ville Syrjälä wrote:

> On Mon, Nov 09, 2020 at 04:12:58PM +0000, Lee Jones wrote:
> > On Mon, 09 Nov 2020, Ville Syrjälä wrote:
> >
> > > On Thu, Nov 05, 2020 at 02:45:12PM +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;
> > >
> > > How big is it? And why is it that big?
> >
> > It's a struct of a union of structs.
> >
> > And it's all allocated on the stack. Bad news!
>
> That doesn't answer my questions.

It answers the second question.

The answer to the first question you can `grep` for yourself. ;)

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