staging: vc04_services: vchiq_arm: fix error return code of vchiq_release_internal...
authorJia-Ju Bai <baijiaju1990@gmail.com>
Sat, 6 Mar 2021 13:22:45 +0000 (05:22 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Mar 2021 08:25:33 +0000 (09:25 +0100)
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>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c

index 59e45dc03a977a049dd90aa3bea392c04ce86d7e..8b2b4771f42079ebe277b5e5f17bff31106e3b98 100644 (file)
@@ -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__);