| From | Bart Van Assche <> | Subject | [PATCH 19/27] locking/lockdep: Retain the class key and name while freeing a lock class | Date | Wed, 28 Nov 2018 15:43:17 -0800 |
| |
The next patch in this series uses the class name in code that detects lock class use-after-free. Hence retain the class name for lock classes that are being freed.
Signed-off-by: Bart Van Assche <bvanassche@acm.org> --- kernel/locking/lockdep.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c index fc10302d34fd..4610f3c4f3db 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -4145,10 +4145,8 @@ static void zap_class(struct lock_class *class) * Unhash the class and remove it from the all_lock_classes list: */ hlist_del_rcu(&class->hash_entry); + class->hash_entry.pprev = NULL; list_del(&class->lock_entry); - - RCU_INIT_POINTER(class->key, NULL); - RCU_INIT_POINTER(class->name, NULL); } static inline int within(const void *addr, void *start, unsigned long size) -- 2.20.0.rc0.387.gc7a69e6b6c-goog
|