Quoting Aristeu Rozanski (a...@redhat.com): > This patch converts the code to use kstrtou32() instead of simple_strtoul() > which is deprecated. The real size of the variables are u32, so use kstrtou32 > instead of kstrtoul > > > Cc: Dave Jones <da...@redhat.com> > Cc: Andrew Morton <a...@linux-foundation.org> > Cc: Tejun Heo <t...@kernel.org> > Cc: Li Zefan <lize...@huawei.com> > Cc: James Morris <jmor...@namei.org> > Cc: Pavel Emelyanov <xe...@openvz.org> > Cc: Serge Hallyn <serge.hal...@canonical.com>
Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> > Cc: Jiri Slaby <jsl...@suse.cz> > Signed-off-by: Aristeu Rozanski <a...@redhat.com> > > --- > security/device_cgroup.c | 28 ++++++++++++++++++++++------ > 1 file changed, 22 insertions(+), 6 deletions(-) > > --- github.orig/security/device_cgroup.c 2012-10-19 16:35:46.366102913 > -0400 > +++ github/security/device_cgroup.c 2012-10-19 16:35:50.801229331 -0400 > @@ -361,8 +361,8 @@ static int devcgroup_update_access(struc > int filetype, const char *buffer) > { > const char *b; > - char *endp; > - int count; > + char temp[12]; /* 11 + 1 characters needed for a u32 */ > + int count, rc; > struct dev_exception_item ex; > > if (!capable(CAP_SYS_ADMIN)) > @@ -405,8 +405,16 @@ return 0; > ex.major = ~0; > b++; > } else if (isdigit(*b)) { > - ex.major = simple_strtoul(b, &endp, 10); > - b = endp; > + memset(temp, 0, sizeof(temp)); > + for (count = 0; count < sizeof(temp) - 1; count++) { > + temp[count] = *b; > + b++; > + if (!isdigit(*b)) > + break; > + } > + rc = kstrtou32(temp, 10, &ex.major); > + if (rc) > + return -EINVAL; > } else { > return -EINVAL; > } > @@ -419,8 +427,16 @@ ex.major = simple_strtoul(b, &endp, 10 > ex.minor = ~0; > b++; > } else if (isdigit(*b)) { > - ex.minor = simple_strtoul(b, &endp, 10); > - b = endp; > + memset(temp, 0, sizeof(temp)); > + for (count = 0; count < sizeof(temp) - 1; count++) { > + temp[count] = *b; > + b++; > + if (!isdigit(*b)) > + break; > + } > + rc = kstrtou32(temp, 10, &ex.minor); > + if (rc) > + return -EINVAL; > } else { > return -EINVAL; > } > -- 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/