2021-11-17 01:48:54

by 赵军奎

[permalink] [raw]
Subject: [PATCH] drm/selftest: fix potential memleak in error branch

This patch try to fix the potential memleak in error branch.

Signed-off-by: Bernard Zhao <[email protected]>
---
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c | 6 ++++--
1 file changed, 4 insertions(+), 2 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 6b4759ed6bfd..dbac073ed385 100644
--- a/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
+++ b/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
@@ -131,8 +131,10 @@ sideband_msg_req_encode_decode(struct drm_dp_sideband_msg_req_body *in)
return false;

txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
- if (!txmsg)
- return false;
+ if (!txmsg) {
+ result = false;
+ goto out;
+ }

drm_dp_encode_sideband_req(in, txmsg);
ret = drm_dp_decode_sideband_req(txmsg, out);
--
2.33.1



2021-11-22 22:13:50

by Lyude Paul

[permalink] [raw]
Subject: Re: [PATCH] drm/selftest: fix potential memleak in error branch

I wonder what vivo's interested in this for!

Anyway:

Reviewed-by: Lyude Paul <[email protected]>

Do you need me to push this to drm-misc-next for you?

On Tue, 2021-11-16 at 17:48 -0800, Bernard Zhao wrote:
> This patch try to fix the potential memleak in error branch.
>
> Signed-off-by: Bernard Zhao <[email protected]>
> ---
>  drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 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 6b4759ed6bfd..dbac073ed385 100644
> --- a/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
> +++ b/drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
> @@ -131,8 +131,10 @@ sideband_msg_req_encode_decode(struct
> drm_dp_sideband_msg_req_body *in)
>                 return false;
>  
>         txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
> -       if (!txmsg)
> -               return false;
> +       if (!txmsg) {
> +               result = false;
> +               goto out;
> +       }
>  
>         drm_dp_encode_sideband_req(in, txmsg);
>         ret = drm_dp_decode_sideband_req(txmsg, out);

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