mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Lyude Paul <lyude@redhat.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: linux-kernel@vger.kernel.org, David Airlie <airlied@linux.ie>,
	Daniel Vetter <daniel@ffwll.ch>,
	David Francis <David.Francis@amd.com>,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 14/19] gpu: drm: selftests: test-drm_dp_mst_helper: Place 'struct drm_dp_sideband_msg_req_body' onto the heap
Date: Fri, 06 Nov 2020 14:17:25 -0500	[thread overview]
Message-ID: <bf216efdf7eea393d6ce5244f7b7a8970c23c235.camel@redhat.com> (raw)
In-Reply-To: <20201105144517.1826692-15-lee.jones@linaro.org>

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@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Lyude Paul <lyude@redhat.com>
> Cc: David Francis <David.Francis@amd.com>
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  .../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

>  
>         drm_dp_encode_sideband_req(in, &txmsg);
> -       ret = drm_dp_decode_sideband_req(&txmsg, &out);
> +       ret = drm_dp_decode_sideband_req(&txmsg, out);
>         if (ret < 0) {
>                 drm_printf(&p, "Failed to decode sideband request: %d\n",
>                            ret);
> -               return false;
> +               result = false;
> +               goto out;
>         }
>  
> -       if (!sideband_msg_req_equal(in, &out)) {
> +       if (!sideband_msg_req_equal(in, out)) {
>                 drm_printf(&p, "Encode/decode failed, expected:\n");
>                 drm_dp_dump_sideband_msg_req_body(in, 1, &p);
>                 drm_printf(&p, "Got:\n");
> -               drm_dp_dump_sideband_msg_req_body(&out, 1, &p);
> -               return false;
> +               drm_dp_dump_sideband_msg_req_body(out, 1, &p);
> +               result = false;
> +               goto out;
>         }
>  
>         switch (in->req_type) {
>         case DP_REMOTE_DPCD_WRITE:
> -               kfree(out.u.dpcd_write.bytes);
> +               kfree(out->u.dpcd_write.bytes);
>                 break;
>         case DP_REMOTE_I2C_READ:
> -               for (i = 0; i < out.u.i2c_read.num_transactions; i++)
> -                       kfree(out.u.i2c_read.transactions[i].bytes);
> +               for (i = 0; i < out->u.i2c_read.num_transactions; i++)
> +                       kfree(out->u.i2c_read.transactions[i].bytes);
>                 break;
>         case DP_REMOTE_I2C_WRITE:
> -               kfree(out.u.i2c_write.bytes);
> +               kfree(out->u.i2c_write.bytes);
>                 break;
>         }
>  
>         /* Clear everything but the req_type for the input */
>         memset(&in->u, 0, sizeof(in->u));
>  
> -       return true;
> +out:
> +       kfree(out);
> +       return result;
>  }
>  
>  int igt_dp_mst_sideband_msg_req_decode(void *unused)

-- 
Sincerely,
   Lyude Paul (she/her)
   Software Engineer at Red Hat
   
Note: I deal with a lot of emails and have a lot of bugs on my plate. If you've
asked me a question, are waiting for a review/merge on a patch, etc. and I
haven't responded in a while, please feel free to send me another email to check
on my status. I don't bite!


  reply	other threads:[~2020-11-06 19:17 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-05 14:44 [PATCH 00/19] [Set 1] Rid W=1 warnings from GPU Lee Jones
2020-11-05 14:44 ` [PATCH 01/19] gpu: host1x: bus: Add missing description for 'driver' Lee Jones
2020-11-05 16:45   ` Thierry Reding
2020-11-05 21:13   ` Sam Ravnborg
2020-11-05 14:45 ` [PATCH 02/19] gpu: ipu-v3: ipu-di: Strip out 2 unused 'di_sync_config' entries Lee Jones
2020-11-05 14:45 ` [PATCH 03/19] gpu: drm: imx: ipuv3-plane: Mark 'crtc_state' as __always_unused Lee Jones
2020-11-05 19:17   ` Ahmad Fatoum
2020-11-06  7:41     ` Lee Jones
2020-11-06  8:44       ` Ahmad Fatoum
2020-11-06  8:49         ` Lee Jones
2020-11-05 14:45 ` [PATCH 04/19] gpu: drm: omapdrm: omap_irq: Fix a couple of doc-rot issues Lee Jones
2020-11-05 17:06   ` Tomi Valkeinen
2020-11-05 14:45 ` [PATCH 05/19] gpu: drm: selftests: test-drm_mm: Mark 'hole_end' as always_unused Lee Jones
2020-11-05 14:45 ` [PATCH 06/19] gpu: drm: scheduler: sched_main: Provide missing description for 'sched' paramter Lee Jones
2020-11-10 21:12   ` Alex Deucher
2020-11-05 14:45 ` [PATCH 07/19] gpu: drm: scheduler: sched_entity: Demote non-conformant kernel-doc headers Lee Jones
2020-11-10 21:13   ` Alex Deucher
2020-11-05 14:45 ` [PATCH 08/19] gpu: drm: omapdrm: dss: dsi: Rework and remove a few unused variables Lee Jones
2020-11-05 16:53   ` Tomi Valkeinen
2020-11-05 18:07     ` Lee Jones
2020-11-06 14:03       ` Tomi Valkeinen
2020-11-06 14:32         ` Lee Jones
2020-11-06  4:26   ` Laurent Pinchart
2020-11-05 14:45 ` [PATCH 09/19] gpu: drm: selftests: test-drm_framebuffer: Remove set but unused variable 'fb' Lee Jones
2020-11-05 14:45 ` [PATCH 10/19] gpu: drm: ttm: ttm_bo: Fix one function header - demote lots of kernel-doc abuses Lee Jones
2020-11-05 14:45 ` [PATCH 11/19] gpu: drm: panel: panel-simple: Fix 'struct panel_desc's header Lee Jones
2020-11-05 16:46   ` Thierry Reding
2020-11-05 21:16   ` Sam Ravnborg
2020-11-05 14:45 ` [PATCH 12/19] gpu: drm: bridge: analogix: analogix_dp_reg: Remove unused function 'analogix_dp_write_byte_to_dpcd' Lee Jones
2020-11-05 21:21   ` Sam Ravnborg
2020-11-05 14:45 ` [PATCH 13/19] gpu: drm: ttm: ttm_tt: Demote kernel-doc header format abuses Lee Jones
2020-11-05 14:45 ` [PATCH 14/19] gpu: drm: selftests: test-drm_dp_mst_helper: Place 'struct drm_dp_sideband_msg_req_body' onto the heap Lee Jones
2020-11-06 19:17   ` Lyude Paul [this message]
2020-11-06 19:25     ` Lee Jones
2020-11-09 15:19   ` Ville Syrjälä
2020-11-09 16:12     ` Lee Jones
2020-11-09 16:13       ` Lee Jones
2020-11-09 16:20       ` Ville Syrjälä
2020-11-09 16:40         ` Lee Jones
2020-11-09 17:03           ` Ville Syrjälä
2020-11-09 17:17             ` Lee Jones
2020-11-05 14:45 ` [PATCH 15/19] gpu: drm: radeon: radeon_drv: Remove unused variable 'ret' Lee Jones
2020-11-10 21:14   ` Alex Deucher
2020-11-10 21:20     ` Lee Jones
2020-11-05 14:45 ` [PATCH 16/19] gpu: drm: panel: panel-ilitek-ili9322: Demote non-conformant kernel-doc header Lee Jones
2020-11-05 16:47   ` Thierry Reding
2020-11-05 21:17   ` Sam Ravnborg
2020-11-06  7:43     ` Lee Jones
2020-11-06 16:11       ` Sam Ravnborg
2020-11-06 16:54         ` Lee Jones
2020-11-05 14:45 ` [PATCH 17/19] gpu: drm: radeon: radeon_device: Fix a bunch of kernel-doc misdemeanours Lee Jones
2020-11-10 21:50   ` Alex Deucher
2020-11-05 14:45 ` [PATCH 18/19] gpu: drm: amd: amdgpu: amdgpu: Mark global variables as __maybe_unused Lee Jones
2020-11-10 21:48   ` Alex Deucher
2020-11-05 14:45 ` [PATCH 19/19] gpu: drm: bridge: analogix: analogix_dp_reg: Remove unused function 'analogix_dp_start_aux_transaction' Lee Jones
2020-11-05 16:38 ` [PATCH 00/19] [Set 1] Rid W=1 warnings from GPU Sam Ravnborg
2020-11-05 18:12   ` Lee Jones
2020-11-05 16:48 ` Thierry Reding
2020-11-05 18:10   ` Lee Jones
2020-11-05 18:14     ` Daniel Vetter
2020-11-05 18:24       ` Lee Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bf216efdf7eea393d6ce5244f7b7a8970c23c235.camel@redhat.com \
    --to=lyude@redhat.com \
    --cc=David.Francis@amd.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®