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 29/42] drm/selftests/test-drm_dp_mst_helper: Place 'struct drm_dp_sideband_msg_req_body' onto the heap
Date: Mon, 16 Nov 2020 15:53:37 -0500	[thread overview]
Message-ID: <2dad68f011c7cd8a7c3754457c192f9dc2f504ed.camel@redhat.com> (raw)
In-Reply-To: <20201116174112.1833368-30-lee.jones@linaro.org>

Huh-could have sworn I had reviewed this one already.

Reviewed-by: Lyude Paul <lyude@redhat.com>

On Mon, 2020-11-16 at 17:40 +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    | 31 ++++++++++++-------
>  1 file changed, 20 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..e00bdc557f880 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,53 @@ 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);
> +       if (!out)
> +               return false;
>  
>         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)

-- 
Cheers,
 Lyude Paul (she/her)
 Software Engineer at Red Hat


  reply	other threads:[~2020-11-16 20:53 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-16 17:40 [PATCH v2 00/42] Rid W=1 warnings from GPU (non-Radeon) Lee Jones
2020-11-16 17:40 ` [PATCH 01/42] drm/amd/amdgpu/atombios_encoders: Remove set but unused variable 'backlight_level' Lee Jones
2020-11-16 20:51   ` Alex Deucher
2020-11-16 17:40 ` [PATCH 02/42] drm/armada/armada_overlay: Staticify local function 'armada_overlay_duplicate_state' Lee Jones
2020-11-16 17:40 ` [PATCH 03/42] drm/drm_dp_mst_topology: Remove set but never used variable 'len' Lee Jones
2020-11-17 17:29   ` Daniel Vetter
2020-11-17 18:12     ` Lee Jones
2020-11-17 18:13       ` Lee Jones
2020-11-17 19:13         ` Daniel Vetter
2020-11-16 17:40 ` [PATCH 04/42] drm/exynos/exynos7_drm_decon: Supply missing description for param 'ctx' Lee Jones
2020-11-16 17:40 ` [PATCH 05/42] drm/exynos/exynos_drm_fimd: Add " Lee Jones
2020-11-16 17:40 ` [PATCH 06/42] drm/exynos/exynos_drm_gsc: Supply missing description for 'num_limits' Lee Jones
2020-11-16 17:40 ` [PATCH 07/42] drm/mediatek/mtk_dpi: Remove unused struct definition 'mtk_dpi_encoder_funcs' Lee Jones
2020-11-16 17:40 ` [PATCH 08/42] drm/mediatek/mtk_disp_color: Fix formatting and provide missing member description Lee Jones
2020-11-16 17:40 ` [PATCH 09/42] drm/mediatek/mtk_disp_ovl: " Lee Jones
2020-11-16 17:40 ` [PATCH 10/42] drm/mediatek/mtk_disp_rdma: Fix formatting and supply missing struct " Lee Jones
2020-11-16 17:40 ` [PATCH 11/42] drm/mediatek/mtk_drm_crtc: Demote seriously out-of-date struct header Lee Jones
2020-11-16 17:40 ` [PATCH 12/42] drm/mediatek/mtk_drm_drv: Staticise local function invoked by reference Lee Jones
2020-11-16 17:40 ` [PATCH 13/42] drm/meson/meson_venc: Make local function 'meson_venc_hdmi_get_dmt_vmode' static Lee Jones
2020-11-16 17:40 ` [PATCH 14/42] drm/meson/meson_vclk: Make two local functions static Lee Jones
2020-11-16 17:40 ` [PATCH 15/42] drm/msm/adreno/a6xx_gpu: Staticise local function 'a6xx_idle' Lee Jones
2020-11-16 17:40 ` [PATCH 16/42] drm/msm/disp/mdp5/mdp5_crtc: Make local function 'mdp5_crtc_setup_pipeline()' static Lee Jones
2020-11-16 17:40 ` [PATCH 17/42] drm/msm/disp/mdp5/mdp5_ctl: Demote non-conformant kernel-doc headers Lee Jones
2020-11-17 19:12   ` [Freedreno] " Rob Clark
2020-11-16 17:40 ` [PATCH 18/42] drm/msm/disp/mdp5/mdp5_kms: Make local functions 'mdp5_{en,dis}able()' static Lee Jones
2020-11-16 17:40 ` [PATCH 19/42] drm/msm/disp/dpu1/dpu_core_perf: Remove set but unused variable 'dpu_cstate' Lee Jones
2020-11-16 17:40 ` [PATCH 20/42] drm/msm/disp/dpu1/dpu_encoder: Remove a bunch of unused variables Lee Jones
2020-11-16 17:40 ` [PATCH 21/42] drm/nouveau/nvkm/core/firmware: Fix formatting, provide missing param description Lee Jones
2020-11-17 19:02   ` Daniel Vetter
2020-11-16 17:40 ` [PATCH 22/42] drm/pl111/pl111_display: Make local function static Lee Jones
2020-11-16 17:40 ` [PATCH 23/42] drm/pl111/pl111_debugfs: Make local function 'pl111_debugfs_regs()' static Lee Jones
2020-11-16 17:40 ` [PATCH 24/42] drm/rockchip/dw-mipi-dsi-rockchip: Demote non-conformant kernel-doc headers Lee Jones
2020-11-16 17:40 ` [PATCH 25/42] drm/rockchip/rockchip_rgb: Consume our own header Lee Jones
2020-11-16 17:40 ` [PATCH 26/42] drm/rockchip/rockchip_lvds: Fix struct document formatting Lee Jones
2020-11-16 17:40 ` [PATCH 27/42] drm/selftests/test-drm_mm: Mark 'hole_end' as always_unused Lee Jones
2020-11-16 17:40 ` [PATCH 28/42] drm/selftests/test-drm_framebuffer: Remove set but unused variable 'fb' Lee Jones
2020-11-16 17:40 ` [PATCH 29/42] drm/selftests/test-drm_dp_mst_helper: Place 'struct drm_dp_sideband_msg_req_body' onto the heap Lee Jones
2020-11-16 20:53   ` Lyude Paul [this message]
2020-11-17  8:29     ` Lee Jones
2020-11-16 17:41 ` [PATCH 30/42] drm/selftests/test-drm_dp_mst_helper: Move 'sideband_msg_req_encode_decode' " Lee Jones
2020-11-16 17:41 ` [PATCH 31/42] drm/ttm/ttm_bo: Fix one function header - demote lots of kernel-doc abuses Lee Jones
2020-11-16 20:33   ` Christian König
2020-11-17 19:11     ` Daniel Vetter
2020-11-16 17:41 ` [PATCH 32/42] drm/ttm/ttm_tt: Demote kernel-doc header format abuses Lee Jones
2020-11-16 20:32   ` Christian König
2020-11-17  8:33     ` Lee Jones
2020-11-17 19:14       ` Daniel Vetter
2020-11-16 17:41 ` [PATCH 33/42] drm/ttm/ttm_range_manager: Demote non-conformant kernel-doc header Lee Jones
2020-11-16 20:34   ` Christian König
2020-11-16 17:41 ` [PATCH 34/42] drm/v3d/v3d_drv: Remove unused static variable 'v3d_v3d_pm_ops' Lee Jones
2020-11-16 17:41 ` [PATCH 35/42] drm/v3d/v3d_gem: Provide descriptions for 'v3d_lookup_bos's params Lee Jones
2020-11-16 17:41 ` [PATCH 36/42] drm/v3d/v3d_sched: Demote non-conformant kernel-doc header Lee Jones
2020-11-16 17:41 ` [PATCH 37/42] drm/vc4/vc4_hdmi_regs: Mark some data sets as __maybe_unused Lee Jones
2020-11-16 17:41 ` [PATCH 38/42] drm/vc4/vc4_hdmi: Remove set but unused variable 'ret' Lee Jones
2020-11-17 19:40   ` Daniel Vetter
2020-11-16 17:41 ` [PATCH 39/42] drm/vc4/vc4_v3d: Demote non-conformant kernel-doc headers Lee Jones
2020-11-16 17:41 ` [PATCH 40/42] drm/vc4/vc4_debugfs: " Lee Jones
2020-11-16 17:41 ` [PATCH 41/42] gpu/ipu-v3/ipu-di: Strip out 2 unused 'di_sync_config' entries Lee Jones
2020-11-17 11:22   ` Philipp Zabel
2020-11-16 17:41 ` [PATCH 42/42] include/drm/drm_atomic: Make use of 'new_crtc_state' Lee Jones
2020-11-17 19:42   ` Daniel Vetter
2020-11-18  8:43     ` 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=2dad68f011c7cd8a7c3754457c192f9dc2f504ed.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

Powered by JetHome