On 08/20/2013 02:05 PM, Rusty Russell wrote: > Chen Gang <gang.c...@asianux.com> writes: > >> For some strings (e.g. version string), they are permitted to be larger >> than PAGE_SIZE (although meaningless), so recommend to use scnprintf() >> instead of sprintf(). > > Applied. >
Thanks. > Thanks, > Rusty. > >> >> Signed-off-by: Chen Gang <gang.c...@asianux.com> >> --- >> kernel/params.c | 7 ++++--- >> 1 files changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/kernel/params.c b/kernel/params.c >> index 1f228a3..4da300f 100644 >> --- a/kernel/params.c >> +++ b/kernel/params.c >> @@ -241,7 +241,8 @@ int parse_args(const char *doing, >> } \ >> int param_get_##name(char *buffer, const struct kernel_param *kp) \ >> { \ >> - return sprintf(buffer, format, *((type *)kp->arg)); \ >> + return scnprintf(buffer, PAGE_SIZE, format, \ >> + *((type *)kp->arg)); \ >> } \ >> struct kernel_param_ops param_ops_##name = { \ >> .set = param_set_##name, \ >> @@ -285,7 +286,7 @@ EXPORT_SYMBOL(param_set_charp); >> >> int param_get_charp(char *buffer, const struct kernel_param *kp) >> { >> - return sprintf(buffer, "%s", *((char **)kp->arg)); >> + return scnprintf(buffer, PAGE_SIZE, "%s", *((char **)kp->arg)); >> } >> EXPORT_SYMBOL(param_get_charp); >> >> @@ -827,7 +828,7 @@ ssize_t __modver_version_show(struct module_attribute >> *mattr, >> struct module_version_attribute *vattr = >> container_of(mattr, struct module_version_attribute, mattr); >> >> - return sprintf(buf, "%s\n", vattr->version); >> + return scnprintf(buf, PAGE_SIZE, "%s\n", vattr->version); >> } >> >> extern const struct module_version_attribute *__start___modver[]; >> -- >> 1.7.7.6 > > -- Chen Gang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/