On Fri, Nov 09, 2018 at 03:46:44PM -0800, Bart Van Assche wrote: > The lock validator forces to categorize multiple instances of a lock object > as the same lock class because it requires that struct lockdep_map and struct > lock_class_key instances are static objects. This can result in false > positive lockdep reports that are hard to suppress in an elegant way. Hence > add support for allocating instances of these objects dynamically.
Yeah, I think not. You completely fail to explain how what you propose is correct. The thing is; we rely on static objects because they provide persistence. Their address will never be re-used. Dynamic objects do not provide this same guarantee. And when you re-use the key address for something else, you'll mix the chains and things come unstuck.