Defective Error/Pointer Interactions in the Linux Kernel

dc.contributor.authorRubio-Gonzalez, Cindyen_US
dc.contributor.authorLiblit, Benen_US
dc.date.accessioned2012-03-15T17:25:28Z
dc.date.available2012-03-15T17:25:28Z
dc.date.created2011en_US
dc.date.issued2011en_US
dc.description.abstractLinux run-time errors are represented by integer values referred to as error codes. These values propagate across long function-call chains before being handled. As these error codes propagate, they are often temporarily or permanently encoded into pointer values. Error-valued pointers are not valid memory addresses, and therefore require special care by programmers. Misuse of pointer variables that store error codes can lead to serious problems such as system crashes, data corruption, unexpected results, etc. We use static program analysis to find three classes of bugs relating error-valued pointers: bad dereferences, bad pointer arithmetic, and bad overwrites. Our tool finds 57 true bugs among 52 different Linux file system implementations, the virtual file system (VFS), the memory management module (mm), and 4 drivers.en_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.citationTR1687en_US
dc.identifier.urihttp://digital.library.wisc.edu/1793/60732
dc.publisherUniversity of Wisconsin-Madison Department of Computer Sciencesen_US
dc.titleDefective Error/Pointer Interactions in the Linux Kernelen_US
dc.typeTechnical Reporten_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR1687.pdf
Size:
354.81 KB
Format:
Adobe Portable Document Format