diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2008-10-18 23:28:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-20 11:52:39 -0400 |
commit | 30e8e13603c247c301fdacabef2a765c84840994 (patch) | |
tree | 753425750bb70f84ae621fa8f0624781557887cb /kernel/cpuset.c | |
parent | 3eda20118000941e7e8994fc5fac8706d8c10f00 (diff) |
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 <laijs@cn.fujitsu.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Paul Menage <menage@google.com>
Cc: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/cpuset.c')
-rw-r--r-- | kernel/cpuset.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 81d4d2426fd4..3e00526f52ec 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -2436,19 +2436,15 @@ const struct file_operations proc_cpuset_operations = { | |||
2436 | void cpuset_task_status_allowed(struct seq_file *m, struct task_struct *task) | 2436 | void cpuset_task_status_allowed(struct seq_file *m, struct task_struct *task) |
2437 | { | 2437 | { |
2438 | seq_printf(m, "Cpus_allowed:\t"); | 2438 | seq_printf(m, "Cpus_allowed:\t"); |
2439 | m->count += cpumask_scnprintf(m->buf + m->count, m->size - m->count, | 2439 | seq_cpumask(m, &task->cpus_allowed); |
2440 | task->cpus_allowed); | ||
2441 | seq_printf(m, "\n"); | 2440 | seq_printf(m, "\n"); |
2442 | seq_printf(m, "Cpus_allowed_list:\t"); | 2441 | seq_printf(m, "Cpus_allowed_list:\t"); |
2443 | m->count += cpulist_scnprintf(m->buf + m->count, m->size - m->count, | 2442 | seq_cpumask_list(m, &task->cpus_allowed); |
2444 | task->cpus_allowed); | ||
2445 | seq_printf(m, "\n"); | 2443 | seq_printf(m, "\n"); |
2446 | seq_printf(m, "Mems_allowed:\t"); | 2444 | seq_printf(m, "Mems_allowed:\t"); |
2447 | m->count += nodemask_scnprintf(m->buf + m->count, m->size - m->count, | 2445 | seq_nodemask(m, &task->mems_allowed); |
2448 | task->mems_allowed); | ||
2449 | seq_printf(m, "\n"); | 2446 | seq_printf(m, "\n"); |
2450 | seq_printf(m, "Mems_allowed_list:\t"); | 2447 | seq_printf(m, "Mems_allowed_list:\t"); |
2451 | m->count += nodelist_scnprintf(m->buf + m->count, m->size - m->count, | 2448 | seq_nodemask_list(m, &task->mems_allowed); |
2452 | task->mems_allowed); | ||
2453 | seq_printf(m, "\n"); | 2449 | seq_printf(m, "\n"); |
2454 | } | 2450 | } |