]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nfsd4: buffer-length check for SUPPATTR_EXCLCREAT
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 28 Jan 2014 21:05:15 +0000 (16:05 -0500)
committerJiri Slaby <jslaby@suse.cz>
Thu, 15 May 2014 07:55:06 +0000 (09:55 +0200)
commit de3997a7eeb9ea286b15879fdf8a95aae065b4f7 upstream.

This was an omission from 8c18f2052e756e7d5dea712fc6e7ed70c00e8a39
"nfsd41: SUPPATTR_EXCLCREAT attribute".

Cc: Benny Halevy <bhalevy@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
fs/nfsd/nfs4xdr.c

index ecc735e30beaa16929611c269dc7530eddd05463..0407ba4990e07f29c95be887f1039cb219012f19 100644 (file)
@@ -2502,6 +2502,8 @@ out_acl:
                        goto out;
        }
        if (bmval2 & FATTR4_WORD2_SUPPATTR_EXCLCREAT) {
+               if ((buflen -= 16) < 0)
+                       goto out_resource;
                WRITE32(3);
                WRITE32(NFSD_SUPPATTR_EXCLCREAT_WORD0);
                WRITE32(NFSD_SUPPATTR_EXCLCREAT_WORD1);