mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/pmstat: correct get_cpufreq_para()'s error return value
copy_to_guest() returns the number of bytes not copied; that's not what the function should return to its caller though. Convert to returning -EFAULT instead. Fixes:7542c4ff00("Add user PM control interface") Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> master commit:855337ca49master date: 2025-03-27 12:22:06 +0100
This commit is contained in:
1 parent
43e1996c02
commit
46da7056e4
1 file changed
+3
-3
@@ -227,7 +227,7 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
|
||||
affected_cpus, op->u.get_para.cpu_num);
|
||||
xfree(affected_cpus);
|
||||
if ( ret )
|
||||
return ret;
|
||||
return -EFAULT;
|
||||
|
||||
if ( !(scaling_available_frequencies =
|
||||
xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
|
||||
@@ -239,7 +239,7 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
|
||||
scaling_available_frequencies, op->u.get_para.freq_num);
|
||||
xfree(scaling_available_frequencies);
|
||||
if ( ret )
|
||||
return ret;
|
||||
return -EFAULT;
|
||||
|
||||
op->u.get_para.cpuinfo_cur_freq =
|
||||
cpufreq_driver.get ? alternative_call(cpufreq_driver.get, op->cpuid)
|
||||
@@ -275,7 +275,7 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
|
||||
gov_num * CPUFREQ_NAME_LEN);
|
||||
xfree(scaling_available_governors);
|
||||
if ( ret )
|
||||
return ret;
|
||||
return -EFAULT;
|
||||
|
||||
op->u.get_para.u.s.scaling_cur_freq = policy->cur;
|
||||
op->u.get_para.u.s.scaling_max_freq = policy->max;
|
||||
|
||||