Re: [PATCH] kernel/params.c: use scnprintf() instead of sprintf()
On 08/20/2013 02:05 PM, Rusty Russell wrote: > Chen Gang 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 >> --- >> 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/
Re: [PATCH] kernel/params.c: use scnprintf() instead of sprintf()
Chen Gang 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, Rusty. > > Signed-off-by: Chen Gang > --- > 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 -- 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/
Re: [PATCH] kernel/params.c: use scnprintf() instead of sprintf()
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, 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 -- 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/
Re: [PATCH] kernel/params.c: use scnprintf() instead of sprintf()
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/
[PATCH] kernel/params.c: use scnprintf() instead of sprintf()
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(). Signed-off-by: Chen Gang --- 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 -- 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/
[PATCH] kernel/params.c: use scnprintf() instead of sprintf()
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(). 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 -- 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/