lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 15 Nov 2019 15:45:16 -0800
From:   Stephen Boyd <swboyd@...omium.org>
To:     Elliot Berman <eberman@...eaurora.org>, agross@...nel.org,
        bjorn.andersson@...aro.org, saiprakash.ranjan@...eaurora.org
Cc:     Elliot Berman <eberman@...eaurora.org>, tsoni@...eaurora.org,
        sidgup@...eaurora.org, psodagud@...eaurora.org,
        linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 08/18] firmware: qcom_scm-64: Remove qcom_scm_call_do_smccc

Quoting Elliot Berman (2019-11-12 13:22:44)
> Remove thin wrapper to qcom_scm_call_do_smccc because it doesn't do
> enough of anything interesting to dedicate its own function.
> 
> Signed-off-by: Elliot Berman <eberman@...eaurora.org>
> ---

I don't see the need for this patch. The function was split out in a
patch earlier this year because it was too nested in the calling
function.

>  drivers/firmware/qcom_scm-64.c | 46 ++++++++++++++++++------------------------
>  1 file changed, 20 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/firmware/qcom_scm-64.c b/drivers/firmware/qcom_scm-64.c
> index f0a5f24..4131093 100644
> --- a/drivers/firmware/qcom_scm-64.c
> +++ b/drivers/firmware/qcom_scm-64.c
> @@ -90,31 +90,6 @@ static void __qcom_scm_call_do_quirk(const struct qcom_scm_desc *desc,
>         } while (res->a0 == QCOM_SCM_INTERRUPTED);
>  }
>  
> -static void qcom_scm_call_do_smccc(const struct qcom_scm_desc *desc,
> -                            struct arm_smccc_res *res, u64 x5, bool atomic)
> -{
> -       int retry_count = 0;

Maybe this can be unsigned given that it's a counter that only
increments.

> -
> -       if (atomic) {
> -               __qcom_scm_call_do_quirk(desc, res, x5, ARM_SMCCC_FAST_CALL);
> -               return;
> -       }
> -
> -       do {
> -               mutex_lock(&qcom_scm_lock);
> -
> -               __qcom_scm_call_do_quirk(desc, res, x5, ARM_SMCCC_STD_CALL);
> -
> -               mutex_unlock(&qcom_scm_lock);
> -
> -               if (res->a0 == QCOM_SCM_V2_EBUSY) {
> -                       if (retry_count++ > QCOM_SCM_EBUSY_MAX_RETRY)
> -                               break;
> -                       msleep(QCOM_SCM_EBUSY_WAIT_MS);
> -               }
> -       }  while (res->a0 == QCOM_SCM_V2_EBUSY);
> -}
> -
>  static int ___qcom_scm_call_smccc(struct device *dev,
>                                   struct qcom_scm_desc *desc, bool atomic)
>  {

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ