projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://oss.sgi.com:8090/xfs/xfs-2.6
[powerpc.git]
/
arch
/
ia64
/
kernel
/
setup.c
diff --git
a/arch/ia64/kernel/setup.c
b/arch/ia64/kernel/setup.c
index
ad567b8
..
83c2629
100644
(file)
--- a/
arch/ia64/kernel/setup.c
+++ b/
arch/ia64/kernel/setup.c
@@
-569,34
+569,31
@@
show_cpuinfo (struct seq_file *m, void *v)
{ 1UL << 1, "spontaneous deferral"},
{ 1UL << 2, "16-byte atomic ops" }
};
{ 1UL << 1, "spontaneous deferral"},
{ 1UL << 2, "16-byte atomic ops" }
};
- char features[128], *cp, sep;
+ char features[128], *cp,
*
sep;
struct cpuinfo_ia64 *c = v;
unsigned long mask;
unsigned long proc_freq;
struct cpuinfo_ia64 *c = v;
unsigned long mask;
unsigned long proc_freq;
- int i;
+ int i
, size
;
mask = c->features;
/* build the feature string: */
mask = c->features;
/* build the feature string: */
- memcpy(features, "
standard", 10
);
+ memcpy(features, "
standard", 9
);
cp = features;
cp = features;
- sep = 0;
- for (i = 0; i < (int) ARRAY_SIZE(feature_bits); ++i) {
+ size = sizeof(features);
+ sep = "";
+ for (i = 0; i < ARRAY_SIZE(feature_bits) && size > 1; ++i) {
if (mask & feature_bits[i].mask) {
if (mask & feature_bits[i].mask) {
- if (sep)
- *cp++ = sep;
- sep = ',';
- *cp++ = ' ';
- strcpy(cp, feature_bits[i].feature_name);
- cp += strlen(feature_bits[i].feature_name);
+ cp += snprintf(cp, size, "%s%s", sep,
+ feature_bits[i].feature_name),
+ sep = ", ";
mask &= ~feature_bits[i].mask;
mask &= ~feature_bits[i].mask;
+ size = sizeof(features) - (cp - features);
}
}
}
}
- if (mask) {
- /* print unknown features as a hex value: */
- if (sep)
- *cp++ = sep;
- sprintf(cp, " 0x%lx", mask);
+ if (mask && size > 1) {
+ /* print unknown features as a hex value */
+ snprintf(cp, size, "%s0x%lx", sep, mask);
}
proc_freq = cpufreq_quick_get(cpunum);
}
proc_freq = cpufreq_quick_get(cpunum);
@@
-612,7
+609,7
@@
show_cpuinfo (struct seq_file *m, void *v)
"model name : %s\n"
"revision : %u\n"
"archrev : %u\n"
"model name : %s\n"
"revision : %u\n"
"archrev : %u\n"
- "features :
%s\n" /* don't change this---it _is_ right! */
+ "features :
%s\n"
"cpu number : %lu\n"
"cpu regs : %u\n"
"cpu MHz : %lu.%06lu\n"
"cpu number : %lu\n"
"cpu regs : %u\n"
"cpu MHz : %lu.%06lu\n"