On 13-09-23, 00:07, Justin Stitt wrote: > `strncpy` is deprecated for use on NUL-terminated destination strings [1]. > > We should prefer more robust and less ambiguous string interfaces. > > Both `policy->last_governor` and `default_governor` are expected to be > NUL-terminated which is shown by their heavy usage with other string > apis like `strcmp`. > > A suitable replacement is `strscpy` [2] due to the fact that it guarantees > NUL-termination on the destination buffer. > > Link: > https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings > [1] > Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html > [2] > Link: https://github.com/KSPP/linux/issues/90 > Cc: [email protected] > Signed-off-by: Justin Stitt <[email protected]> > --- > Note: build-tested > --- > drivers/cpufreq/cpufreq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 50bbc969ffe5..3eb851a03fce 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -1607,7 +1607,7 @@ static void __cpufreq_offline(unsigned int cpu, struct > cpufreq_policy *policy) > } > > if (has_target()) > - strncpy(policy->last_governor, policy->governor->name, > + strscpy(policy->last_governor, policy->governor->name, > CPUFREQ_NAME_LEN); > else > policy->last_policy = policy->policy; > @@ -2951,7 +2951,7 @@ static int __init cpufreq_core_init(void) > BUG_ON(!cpufreq_global_kobject); > > if (!strlen(default_governor)) > - strncpy(default_governor, gov->name, CPUFREQ_NAME_LEN); > + strscpy(default_governor, gov->name, CPUFREQ_NAME_LEN); > > return 0; > }
Acked-by: Viresh Kumar <[email protected]> -- viresh
