summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4idmap.c
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2012-03-28 12:44:59 +0200
committerJ. Bruce Fields <bfields@redhat.com>2012-03-28 16:10:23 +0200
commit3af706135bcc06b1519ba50beaf1b47d32d0fc26 (patch)
tree52ee3c46416e12fae8f9a1f6e7a6faa3cd3416ad /fs/nfsd/nfs4idmap.c
parentsunrpc: skip portmap calls on sessions backchannel (diff)
downloadlinux-3af706135bcc06b1519ba50beaf1b47d32d0fc26.tar.xz
linux-3af706135bcc06b1519ba50beaf1b47d32d0fc26.zip
nfsd4: memory corruption in numeric_name_to_id()
"id" is type is a uid_t (32 bits) but on 64 bit systems strict_strtoul() modifies 64 bits of data. We should use kstrtouint() instead. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4idmap.c')
-rw-r--r--fs/nfsd/nfs4idmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c
index 69ca9c5bb600..322d11ce06a4 100644
--- a/fs/nfsd/nfs4idmap.c
+++ b/fs/nfsd/nfs4idmap.c
@@ -581,7 +581,7 @@ numeric_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namel
/* Just to make sure it's null-terminated: */
memcpy(buf, name, namelen);
buf[namelen] = '\0';
- ret = strict_strtoul(name, 10, (unsigned long *)id);
+ ret = kstrtouint(name, 10, id);
return ret == 0;
}