cpuset: use seq_*mask_* to print masks
PATCH 3/4 cpuset: use seq_*mask_* to print masks
1) seq_file excepts that m->count == m->size when it's buf is full, so current code will causes bugs when buf is overflow.
2) There is not too good that cpuset accesses struct seq_file's fields directly.
Signed-off-by Lai Jiangshan <[email protected]>
---
kernel/cpuset.c +4 -8
@@ -2437,19 +2437,15 @@ const struct file_operations proc_cpuset_operations = {void cpuset_task_status_allowed (struct seq_file *m,struct task_struct *task) {seq_printf (m,"Cpus_allowed:\t" ); - m->count +=cpumask_scnprintf (m->buf + m->count, m->size - m->count, - task->cpus_allowed); +seq_cpumask (m, &task->cpus_allowed);seq_printf (m,"\n" );seq_printf (m,"Cpus_allowed_list:\t" ); - m->count +=cpulist_scnprintf (m->buf + m->count, m->size - m->count, - task->cpus_allowed); +seq_cpumask_list (m, &task->cpus_allowed);seq_printf (m,"\n" );seq_printf (m,"Mems_allowed:\t" ); - m->count +=nodemask_scnprintf (m->buf + m->count, m->size - m->count, - task->mems_allowed); +seq_nodemask (m, &task->mems_allowed);seq_printf (m,"\n" );seq_printf (m,"Mems_allowed_list:\t" ); - m->count +=nodelist_scnprintf (m->buf + m->count, m->size - m->count, - task->mems_allowed); +seq_nodemask_list (m, &task->mems_allowed);seq_printf (m,"\n" ); }
Quoted 8 lines · Lai Jiangshan
1)
seq_fileexcepts thatm->count==m->sizewhen it's buf is full, so current code will causes bugs when buf is overflow.2) There is not too good that cpuset accesses struct seq_file's fields directly.
Signed-off-by Lai Jiangshan <[email protected]>
Acked-by Paul Menage <[email protected]>