This is the final version of my code for GSoC. It contains the file tools/clang/libs/StaticAnalysis/Checkers/.RCUChecker.cpp Which the the unfinished RCU checker that is still being worked on as the final part of the GSoC project. The two main objectives, getting the checker working with the Linux Kernel code and modifying/extending the checker to better operate on the kernel code, were achieved. The patch to MallocChecker.cpp and related test files is being upstreamed and the most recent version is on phabricator here: https://reviews.llvm.org/D23375. Remaining work is to finish the RCUChecker, to implement tests for this checker, and to attempt to have it upstreamed. Instructions on running the checker are available here: https://docs.google.com/document/d/1Ewd-JpzC6gs1VZ5vegZ73w72mAPrsJgUXpEERr3frpU/edit?usp=sharing.
Thank you to everone who helped with this project, both in the linux kernel community and in the llvm/clang community.