Chen Gang <gang.c...@asianux.com> writes: > For some strings, they are permitted to be larger than PAGE_SIZE, so > need use scnprintf() instead of sprintf(), or it will cause issue. > > One case is: > > if a module version is crazy defined (length more than PAGE_SIZE), > 'modinfo' command is still OK (print full contents), > but for "cat /sys/modules/'modname'/version", will cause issue in kernel.
Applied! Thanks, Rusty. > > Signed-off-by: Chen Gang <gang.c...@asianux.com> > --- > kernel/module.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/module.c b/kernel/module.c > index 2069158..0618e63 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -603,7 +603,7 @@ static void setup_modinfo_##field(struct module *mod, > const char *s) \ > static ssize_t show_modinfo_##field(struct module_attribute *mattr, \ > struct module_kobject *mk, char *buffer) \ > { \ > - return sprintf(buffer, "%s\n", mk->mod->field); \ > + return scnprintf(buffer, PAGE_SIZE, "%s\n", mk->mod->field); \ > } \ > static int modinfo_##field##_exists(struct module *mod) \ > { \ > -- > 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/ -- 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/