summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/FileUtilities.cpp
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2014-03-26 17:05:46 +0000
committerJordan Rose <jordan_rose@apple.com>2014-03-26 17:05:46 +0000
commit6b33c6f2349f74f0a70d5447e2c3eb0913aba902 (patch)
treec07ff98962c8fc619c7d6ac5ee0b40eec0871894 /llvm/lib/Support/FileUtilities.cpp
parent5df175cec8ed9ae694fd75ec39c25e9d2eb693f1 (diff)
downloadbcm5719-llvm-6b33c6f2349f74f0a70d5447e2c3eb0913aba902.tar.gz
bcm5719-llvm-6b33c6f2349f74f0a70d5447e2c3eb0913aba902.zip
[analyzer] Handle the M_ZERO and __GFP_ZERO flags in kernel mallocs.
Add M_ZERO awareness to malloc() static analysis in Clang for FreeBSD, NetBSD, and OpenBSD in a similar fashion to O_CREAT for open(2). These systems have a three-argument malloc() in the kernel where the third argument contains flags; the M_ZERO flag will zero-initialize the allocated buffer. This should reduce the number of false positives when running static analysis on BSD kernels. Additionally, add kmalloc() (Linux kernel malloc()) and treat __GFP_ZERO like M_ZERO on Linux. Future work involves a better method of checking for named flags without hardcoding values. Patch by Conrad Meyer, with minor modifications by me. llvm-svn: 204832
Diffstat (limited to 'llvm/lib/Support/FileUtilities.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud