[PATCH] lib: sbi: Resolve the uninitialized complaint in sbi_pmu

Xiang W wxjstz at 126.com
Thu Nov 25 07:35:33 PST 2021


在 2021-11-25星期四的 18:38 +0800,Dong Du写道:
> A recent commit (b28f0700) turns to read from CSR_MCOUNTINHIBIT after
> checking the SBI_HART_HAS_MCOUNTINHIBIT HART feature, which leaves
> the
> mctr_inhbt uninitialized in pmu_ctr_find_hw().
> As a result, compiler will complain:
> error: 'mctr_inhbt' may be used uninitialized in this function.
> 
> This commit resolves the issue by assigning an initial value to
> mctr_inhbt.
> 
> Signed-off-by: Dong Du <Dd_nirvana at sjtu.edu.cn>
SBI_HART_HAS_MCOUNTINHIBIT has been tested before accessing mctr_inhbt,
so there is no need to initialize

Regards,
Xiang W
> ---
>  lib/sbi/sbi_pmu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/sbi/sbi_pmu.c b/lib/sbi/sbi_pmu.c
> index a0eb359..5950a20 100644
> --- a/lib/sbi/sbi_pmu.c
> +++ b/lib/sbi/sbi_pmu.c
> @@ -489,7 +489,7 @@ static int pmu_ctr_find_hw(unsigned long cbase,
> unsigned long cmask, unsigned lo
>         unsigned long ctr_mask;
>         int i, ret = 0, fixed_ctr, ctr_idx = SBI_ENOTSUPP;
>         struct sbi_pmu_hw_event *temp;
> -       unsigned long mctr_inhbt;
> +       unsigned long mctr_inhbt = 0;
>         u32 hartid = current_hartid();
>         struct sbi_scratch *scratch = sbi_scratch_thishart_ptr();
>  
> -- 
> 2.33.1
> 
> 





More information about the opensbi mailing list