optee: smc_abi.c: fix wrong pointer passed to IS_ERR/PTR_ERR()
authorYang Yingliang <yangyingliang@huawei.com>
Tue, 28 Jun 2022 06:52:16 +0000 (14:52 +0800)
committerJens Wiklander <jens.wiklander@linaro.org>
Fri, 8 Jul 2022 07:56:38 +0000 (09:56 +0200)
commitd4fac258d971bead9a6b5c5ebe2f0e415d05d110
treeda7b45bf53bb774259ba15bdec966bdec938af73
parentb13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3
optee: smc_abi.c: fix wrong pointer passed to IS_ERR/PTR_ERR()

In optee_smc_do_call_with_arg() there is a code path when the argument
struct for RPC is passed appended to the primary argument struct. When
the address of the RPC struct is retrieved there's an invalid check for
success. It should be 'rpc_arg' pass to IS_ERR/PTR_ERR().

Fixes: ed8faf6c8f8c ("optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and OPTEE_SMC_CALL_WITH_REGD_ARG")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
[jw: added background to the problem]
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
drivers/tee/optee/smc_abi.c