Two kinds of memory error exist, temporal memory errors and spatial memory errors.
Temporal memory errors occur when pointers to uninitialized or free memory are dereferenced.
Two most common temporal memory errors are the use-after-free error and the null pointer dereference error.
Spatial memory errors occur when pointers are used to access memory outside the bounds of their intended areas.
Intel adopts Intel Memory Protection Extensions (MPX) to solve spatial memory errors. Conceptually, every pointer is associated with un upper and lower bound.
Currently, Linux kernel uses atomic_t
to count pointer references which is prone to the overflow error.
网友评论