The storage class of data is a guide to whether the driver might need to take explicit steps to control access to the data. There are three types of data storage classes:
Automatic (stack) data - Because every thread has a private stack, drivers never need to lock automatic variables.
Global and static data - Global and static data can be shared by any number of threads in the driver; the driver might need to lock this type of data at times.
Kernel heap data - Any number of threads in the driver might share kernel heap data, such as data allocated by kmem_alloc(9F). If this data is shared, the driver might need to protect it at times.