diff options
author | kib <kib@FreeBSD.org> | 2016-01-22 20:35:20 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2016-01-22 20:35:20 +0000 |
commit | f011d9b5bd7f219f18fd8782f7c6b2debd1b182b (patch) | |
tree | 1d912d0e766b435b05ed295ee89d56c83b6e5a8d /contrib/llvm/tools/clang/lib/Lex/Lexer.cpp | |
parent | 8c188055779951abb5983c3fcac2d41096276b9b (diff) | |
download | FreeBSD-src-f011d9b5bd7f219f18fd8782f7c6b2debd1b182b.zip FreeBSD-src-f011d9b5bd7f219f18fd8782f7c6b2debd1b182b.tar.gz |
The struct file f_advice member is overlaid with the devfs f_cdevpriv
data. If vnode bypass for devfs file failed, vn_read/vn_write are
called and might try to dereference f_advice. Limit the accesses to
f_advice to VREG vnodes only, which is the type ensured by
posix_fadvise().
The f_advice for regular files is protected by mtxpool lock. Recheck
that f_advice is not NULL after lock is taken.
Reported and tested by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 3 weeks
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Lex/Lexer.cpp')
0 files changed, 0 insertions, 0 deletions