* [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug
@ 2021-11-24 14:54 Dan Carpenter
2021-11-29 8:23 ` Thomas, Rijo-john
0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2021-11-24 14:54 UTC (permalink / raw)
To: Jens Wiklander, Rijo Thomas
Cc: Sumit Garg, Devaraj Rangasamy, Herbert Xu, Gary R Hook, op-tee,
linux-kernel, kernel-janitors
The __get_free_pages() function does not return error pointers it returns
NULL so fix this condition to avoid a NULL dereference.
Fixes: 757cc3e9ff1d ("tee: add AMD-TEE driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
drivers/tee/amdtee/core.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/tee/amdtee/core.c b/drivers/tee/amdtee/core.c
index da6b88e80dc0..297dc62bca29 100644
--- a/drivers/tee/amdtee/core.c
+++ b/drivers/tee/amdtee/core.c
@@ -203,9 +203,8 @@ static int copy_ta_binary(struct tee_context *ctx, void *ptr, void **ta,
*ta_size = roundup(fw->size, PAGE_SIZE);
*ta = (void *)__get_free_pages(GFP_KERNEL, get_order(*ta_size));
- if (IS_ERR(*ta)) {
- pr_err("%s: get_free_pages failed 0x%llx\n", __func__,
- (u64)*ta);
+ if (!*ta) {
+ pr_err("%s: get_free_pages failed\n", __func__);
rc = -ENOMEM;
goto rel_fw;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug
2021-11-24 14:54 [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug Dan Carpenter
@ 2021-11-29 8:23 ` Thomas, Rijo-john
[not found] ` <tencent_F4542B974E00912E031D1999D6D98F8C9006@qq.com>
2021-11-30 7:00 ` Jens Wiklander
0 siblings, 2 replies; 4+ messages in thread
From: Thomas, Rijo-john @ 2021-11-29 8:23 UTC (permalink / raw)
To: Dan Carpenter, Jens Wiklander
Cc: Sumit Garg, Rangasamy, Devaraj, Herbert Xu, Gary R Hook, op-tee,
linux-kernel, kernel-janitors
[Public]
Acked-by: Rijo Thomas <Rijo-john.Thomas@amd.com>
-----Original Message-----
From: Dan Carpenter <dan.carpenter@oracle.com>
Sent: Wednesday, November 24, 2021 8:24 PM
To: Jens Wiklander <jens.wiklander@linaro.org>; Thomas, Rijo-john <Rijo-john.Thomas@amd.com>
Cc: Sumit Garg <sumit.garg@linaro.org>; Rangasamy, Devaraj <Devaraj.Rangasamy@amd.com>; Herbert Xu <herbert@gondor.apana.org.au>; Gary R Hook <gary.hook@amd.com>; op-tee@lists.trustedfirmware.org; linux-kernel@vger.kernel.org; kernel-janitors@vger.kernel.org
Subject: [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug
The __get_free_pages() function does not return error pointers it returns
NULL so fix this condition to avoid a NULL dereference.
Fixes: 757cc3e9ff1d ("tee: add AMD-TEE driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
drivers/tee/amdtee/core.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/tee/amdtee/core.c b/drivers/tee/amdtee/core.c
index da6b88e80dc0..297dc62bca29 100644
--- a/drivers/tee/amdtee/core.c
+++ b/drivers/tee/amdtee/core.c
@@ -203,9 +203,8 @@ static int copy_ta_binary(struct tee_context *ctx, void *ptr, void **ta,
*ta_size = roundup(fw->size, PAGE_SIZE);
*ta = (void *)__get_free_pages(GFP_KERNEL, get_order(*ta_size));
- if (IS_ERR(*ta)) {
- pr_err("%s: get_free_pages failed 0x%llx\n", __func__,
- (u64)*ta);
+ if (!*ta) {
+ pr_err("%s: get_free_pages failed\n", __func__);
rc = -ENOMEM;
goto rel_fw;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug
[not found] ` <tencent_F4542B974E00912E031D1999D6D98F8C9006@qq.com>
@ 2021-11-29 8:54 ` Dan Carpenter
0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2021-11-29 8:54 UTC (permalink / raw)
To: 994605959
Cc: Rijo-john.Thomas, jens.wiklander, Devaraj.Rangasamy, herbert,
kernel-janitors, gary.hook, linux-kernel, op-tee
On Mon, Nov 29, 2021 at 04:31:51PM +0800, 994605959 wrote:
> maybe try this?
> - if (IS_ERR(*ta)) {
> - pr_err("%s: get_free_pages failed 0x%llx\n", __func__,
> - (u64)*ta);
> + if (IS_ERR(ta)) {
> + pr_err("%s: get_free_pages failed %p\n", __func__, ta);
No, what you are suggesting is totally wrong. You are checking the
wrong variable for the wrong thing.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug
2021-11-29 8:23 ` Thomas, Rijo-john
[not found] ` <tencent_F4542B974E00912E031D1999D6D98F8C9006@qq.com>
@ 2021-11-30 7:00 ` Jens Wiklander
1 sibling, 0 replies; 4+ messages in thread
From: Jens Wiklander @ 2021-11-30 7:00 UTC (permalink / raw)
To: Thomas, Rijo-john
Cc: Dan Carpenter, Sumit Garg, Rangasamy, Devaraj, Herbert Xu,
Gary R Hook, op-tee, linux-kernel, kernel-janitors
On Mon, Nov 29, 2021 at 9:24 AM Thomas, Rijo-john
<Rijo-john.Thomas@amd.com> wrote:
>
> [Public]
>
> Acked-by: Rijo Thomas <Rijo-john.Thomas@amd.com>
>
> -----Original Message-----
> From: Dan Carpenter <dan.carpenter@oracle.com>
> Sent: Wednesday, November 24, 2021 8:24 PM
> To: Jens Wiklander <jens.wiklander@linaro.org>; Thomas, Rijo-john <Rijo-john.Thomas@amd.com>
> Cc: Sumit Garg <sumit.garg@linaro.org>; Rangasamy, Devaraj <Devaraj.Rangasamy@amd.com>; Herbert Xu <herbert@gondor.apana.org.au>; Gary R Hook <gary.hook@amd.com>; op-tee@lists.trustedfirmware.org; linux-kernel@vger.kernel.org; kernel-janitors@vger.kernel.org
> Subject: [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug
>
> The __get_free_pages() function does not return error pointers it returns
> NULL so fix this condition to avoid a NULL dereference.
>
> Fixes: 757cc3e9ff1d ("tee: add AMD-TEE driver")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> drivers/tee/amdtee/core.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/tee/amdtee/core.c b/drivers/tee/amdtee/core.c
> index da6b88e80dc0..297dc62bca29 100644
> --- a/drivers/tee/amdtee/core.c
> +++ b/drivers/tee/amdtee/core.c
> @@ -203,9 +203,8 @@ static int copy_ta_binary(struct tee_context *ctx, void *ptr, void **ta,
>
> *ta_size = roundup(fw->size, PAGE_SIZE);
> *ta = (void *)__get_free_pages(GFP_KERNEL, get_order(*ta_size));
> - if (IS_ERR(*ta)) {
> - pr_err("%s: get_free_pages failed 0x%llx\n", __func__,
> - (u64)*ta);
> + if (!*ta) {
> + pr_err("%s: get_free_pages failed\n", __func__);
> rc = -ENOMEM;
> goto rel_fw;
> }
Looks good, I'm picking up this.
Thanks,
Jens
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-11-30 7:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-24 14:54 [PATCH] tee: amdtee: fix an IS_ERR() vs NULL bug Dan Carpenter
2021-11-29 8:23 ` Thomas, Rijo-john
[not found] ` <tencent_F4542B974E00912E031D1999D6D98F8C9006@qq.com>
2021-11-29 8:54 ` Dan Carpenter
2021-11-30 7:00 ` Jens Wiklander
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.