summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/stats.c
diff options
context:
space:
mode:
authorKinglong Mee <kinglongmee@gmail.com>2014-05-23 19:57:49 +0800
committerJ. Bruce Fields <bfields@redhat.com>2014-05-30 17:32:18 -0400
commita1f05514b016aeaed638dbf677f443af7e7bde4f (patch)
tree92f0b908e551cf832e1ebda31724a3d898575ee9 /fs/nfsd/stats.c
parenta5cddc885b99458df963a75abbe0b40cbef56c48 (diff)
downloadop-kernel-dev-a1f05514b016aeaed638dbf677f443af7e7bde4f.zip
op-kernel-dev-a1f05514b016aeaed638dbf677f443af7e7bde4f.tar.gz
NFS4: Avoid NULL reference or double free in nfsd4_fslocs_free()
If fsloc_parse() failed at kzalloc(), fs/nfsd/export.c 411 412 fsloc->locations = kzalloc(fsloc->locations_count 413 * sizeof(struct nfsd4_fs_location), GFP_KERNEL); 414 if (!fsloc->locations) 415 return -ENOMEM; svc_export_parse() will call nfsd4_fslocs_free() with fsloc->locations = NULL, so that, "kfree(fsloc->locations[i].path);" will cause a crash. If fsloc_parse() failed after that, fsloc_parse() will call nfsd4_fslocs_free(), and svc_export_parse() will call it again, so that, a double free is caused. This patch checks the fsloc->locations, and set to NULL after it be freed. Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/stats.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud