A given status tuple may contain another status tuple as value for one of its attributes (e.g. when a status tuple is generated via a call to timm_up()), and the inner tuple can be an arbitrary tuple, including timm_oom (i.e. the global tuple that is allocated during kernel initialization and is used to indicate out-of-memory conditions). The timm_oom tuple must never be deallocated, but the existing code deallocates it if it is the value for an attribute of an outer status tuple.
This change fixes the above issue.
A given status tuple may contain another status tuple as value for one of its attributes (e.g. when a status tuple is generated via a call to
timm_up()
), and the inner tuple can be an arbitrary tuple, includingtimm_oom
(i.e. the global tuple that is allocated during kernel initialization and is used to indicate out-of-memory conditions). Thetimm_oom
tuple must never be deallocated, but the existing code deallocates it if it is the value for an attribute of an outer status tuple. This change fixes the above issue.