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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191023032608.v7lgqirvpbwgsyz4@vireshk-i7>
Date:   Wed, 23 Oct 2019 08:56:08 +0530
From:   Viresh Kumar <viresh.kumar@...aro.org>
To:     Sudeep Holla <sudeep.holla@....com>
Cc:     "Rafael J . Wysocki" <rjw@...ysocki.net>, linux-pm@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] cpufreq: mark duplicate frequencies as invalid and
 continue as normal

On 22-10-19, 18:32, Sudeep Holla wrote:
> Currently if we encounter duplicate frequency table entries, we abort
> the validation and return error immediately. Instead of failing, we
> can mark the entry as invalid and continue to function normal.
> 
> Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>
> Cc: Viresh Kumar <viresh.kumar@...aro.org>
> Signed-off-by: Sudeep Holla <sudeep.holla@....com>
> ---
>  drivers/cpufreq/freq_table.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> Hi Viresh,
> 
> Since commit da0c6dc00c69 ("cpufreq: Handle sorted frequency tables more
> efficiently"), I seem to have modified the firmware entry on my TC2 to
> drop 500MHz and had not seen the issue with duplicate entries and had
> totally forgotten about it.
> 
> Recently I reverted back to original setting as I corrupted it and
> started seeing this issues. I don't know the background for raising
> duplicates as fatal error but we did allow it when we add arm_big_little.c
> and hence this RFC. If there are known issues with this approach, I can
> continue with changed firmware config.
> 
> With switcher, we have:
> (little cluster)
> Virt: 175 MHz, 200 MHz, 250 MHz, 300 MHz, 350 MHz, 400 MHz, 450 MHz, 500 MHz
> Actu: 350 MHz, 400 MHz, 500 MHz, 600 MHz, 700 MHz, 800 MHz, 900 MHz, 1000 MHz
> (big cluster)
> 500 MHz, 600 MHz, 700 MHz, 800 MHz, 900 MHz, 1000 MHz, 1.10 GHz, 1.20 GHz
> 
> with 500 MHz duplicate in merged table.
> 
> Regards,
> Sudeep
> 
> diff --git a/drivers/cpufreq/freq_table.c b/drivers/cpufreq/freq_table.c
> index ded427e0a488..e9bf287846d6 100644
> --- a/drivers/cpufreq/freq_table.c
> +++ b/drivers/cpufreq/freq_table.c
> @@ -305,9 +305,10 @@ static int set_freq_table_sorted(struct cpufreq_policy *policy)
>  		}
>  
>  		if (pos->frequency == prev->frequency) {
> -			pr_warn("Duplicate freq-table entries: %u\n",
> +			pr_warn("Duplicate freq-table entries: %u marking it invalid\n,",
>  				pos->frequency);
> -			return -EINVAL;
> +			pos->frequency = CPUFREQ_ENTRY_INVALID;
> +			continue;
>  		}
>  
>  		/* Frequency increased from prev to pos */

Of course we can do this, but I don't see why we shouldn't force
people to fix the freq-tables instead. What's the point of allowing
people to have duplicate entries instead ? This shouldn't happen with
OPP tables as we check for duplicate entries there as well.

-- 
viresh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ