diff options
author | Nikola Livic <nlivic@gmail.com> | 2021-03-29 11:56:49 +0300 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2021-04-14 16:36:29 +0300 |
commit | ed34695e15aba74f45247f1ee2cf7e09d449f925 (patch) | |
tree | 7af3126cbf74ec3383a2d8e2387a766ba688da0f /net/sunrpc | |
parent | eb3d58c68e39fad68d8054e0324eb06d82dcedbb (diff) | |
download | linux-ed34695e15aba74f45247f1ee2cf7e09d449f925.tar.xz |
pNFS/flexfiles: fix incorrect size check in decode_nfs_fh()
We (adam zabrocki, alexander matrosov, alexander tereshkin, maksym
bazalii) observed the check:
if (fh->size > sizeof(struct nfs_fh))
should not use the size of the nfs_fh struct which includes an extra two
bytes from the size field.
struct nfs_fh {
unsigned short size;
unsigned char data[NFS_MAXFHSIZE];
}
but should determine the size from data[NFS_MAXFHSIZE] so the memcpy
will not write 2 bytes beyond destination. The proposed fix is to
compare against the NFS_MAXFHSIZE directly, as is done elsewhere in fs
code base.
Fixes: d67ae825a59d ("pnfs/flexfiles: Add the FlexFile Layout Driver")
Signed-off-by: Nikola Livic <nlivic@gmail.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'net/sunrpc')
0 files changed, 0 insertions, 0 deletions