On Wed, Dec 15, 2021 at 04:34:27PM +0000, Sean Christopherson wrote: > There's no true dereference, architectures are responsible for ensuring @old and > @new are non-NULL, either via explicit checks on the pointer or implicit checks > on @change. Ah... Okay. Thanks. Smatch tries to track these implicit checks within a function but the relationships get lost at the function boundaries. So, for example, if there were three callers and two were non-NULL and one was NULL then Smatch could figure it out. But in this case there is only one caller so the data gets squished together and the relationship between "change" and "new" gets lost. regards, dan carpenter