Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1415205 > unrolled thread

Re: [PATCH] mailbox: mailbox-test: set tdev->signal to NULL after freeing

Started byLee Jones <lee.jones@linaro.org>
First post2016-06-06 17:20 +0200
Last post2016-06-06 17:20 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] mailbox: mailbox-test: set tdev->signal to NULL after  freeing Lee Jones <lee.jones@linaro.org> - 2016-06-06 17:20 +0200

#1415205 — Re: [PATCH] mailbox: mailbox-test: set tdev->signal to NULL after freeing

FromLee Jones <lee.jones@linaro.org>
Date2016-06-06 17:20 +0200
SubjectRe: [PATCH] mailbox: mailbox-test: set tdev->signal to NULL after freeing
Message-ID<rH4tP-6DT-19@gated-at.bofh.it>
On Tue, 24 May 2016, Sudeep Holla wrote:

> tdev->signal is not set NULL after it's freed. This will cause random
> exceptions when the stale pointer is accessed after tdev->signal is
> freed. Also, since tdev->signal allocation is skipped the next time
> it's written, this leads to continuous fault finally leading to the
> total death of the system.
> 
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Jassi Brar <jassisinghbrar@gmail.com>
> Fixes: d1c2f87c9a8f ("mailbox: mailbox-test: Prevent memory leak")
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
>  drivers/mailbox/mailbox-test.c | 1 +
>  1 file changed, 1 insertion(+)

Strange there isn't a kfree_and_null() call.

Patch looks okay to me though:

Acked-by: Lee Jones <lee.jones@linaro.org>

> diff --git a/drivers/mailbox/mailbox-test.c b/drivers/mailbox/mailbox-test.c
> index 58d04726cdd7..9ca96e9db6bf 100644
> --- a/drivers/mailbox/mailbox-test.c
> +++ b/drivers/mailbox/mailbox-test.c
> @@ -133,6 +133,7 @@ static ssize_t mbox_test_message_write(struct file *filp,
>  out:
>  	kfree(tdev->signal);
>  	kfree(tdev->message);
> +	tdev->signal = NULL;
> 
>  	return ret < 0 ? ret : count;
>  }

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web