|
@@ -592,19 +592,16 @@ static void __init param_sysfs_builtin(void)
|
|
|
|
|
|
for (i=0; i < __stop___param - __start___param; i++) {
|
|
|
char *dot;
|
|
|
- size_t kplen;
|
|
|
+ size_t max_name_len;
|
|
|
|
|
|
kp = &__start___param[i];
|
|
|
- kplen = strlen(kp->name);
|
|
|
+ max_name_len =
|
|
|
+ min_t(size_t, MAX_KBUILD_MODNAME, strlen(kp->name));
|
|
|
|
|
|
- /* We do not handle args without periods. */
|
|
|
- if (kplen > MAX_KBUILD_MODNAME) {
|
|
|
- DEBUGP("kernel parameter name is too long: %s\n", kp->name);
|
|
|
- continue;
|
|
|
- }
|
|
|
- dot = memchr(kp->name, '.', kplen);
|
|
|
+ dot = memchr(kp->name, '.', max_name_len);
|
|
|
if (!dot) {
|
|
|
- DEBUGP("couldn't find period in %s\n", kp->name);
|
|
|
+ DEBUGP("couldn't find period in first %d characters "
|
|
|
+ "of %s\n", MAX_KBUILD_MODNAME, kp->name);
|
|
|
continue;
|
|
|
}
|
|
|
name_len = dot - kp->name;
|