diff options
author | Jia-Ju Bai <baijiaju1990@gmail.com> | 2021-03-06 05:22:45 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-03-10 09:25:33 +0100 |
commit | 5866bce00deecd87c46e8c3e86e6cf0b3fe2bca1 (patch) | |
tree | f7efb6e7a9c5ceffb270f880b18d45ee7089178e /drivers | |
parent | 275b6bd538c473df588868e53587f0f4f3378da3 (diff) | |
download | linux-5866bce00deecd87c46e8c3e86e6cf0b3fe2bca1.tar.bz2 |
staging: vc04_services: vchiq_arm: fix error return code of vchiq_release_internal() and vchiq_use_internal()
When arm_state is NULL, no error return code of vchiq_release_internal()
and vchiq_use_internal() is assigned.
To fix this bug, ret is assigned with VCHIQ_ERROR.
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Link: https://lore.kernel.org/r/20210306132245.16811-1-baijiaju1990@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 59e45dc03a97..8b2b4771f420 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -2332,8 +2332,10 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service, int *entity_uc; int local_uc; - if (!arm_state) + if (!arm_state) { + ret = VCHIQ_ERROR; goto out; + } vchiq_log_trace(vchiq_susp_log_level, "%s", __func__); @@ -2389,8 +2391,10 @@ vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service) char entity[16]; int *entity_uc; - if (!arm_state) + if (!arm_state) { + ret = VCHIQ_ERROR; goto out; + } vchiq_log_trace(vchiq_susp_log_level, "%s", __func__); |