Commit 84109ab5 authored by Zqiang's avatar Zqiang Committed by Paul E. McKenney
Browse files

rcu: Record kvfree_call_rcu() call stack for KASAN



This commit adds a call to kasan_record_aux_stack() in kvfree_call_rcu()
in order to record the call stack of the code that caused the object
to be freed.  Please note that this function does not update the
allocated/freed state, which is important because RCU readers might
still be referencing this object.

Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
Reviewed-by: default avatarUladzislau Rezki (Sony) <urezki@gmail.com>
Signed-off-by: default avatarZqiang <qiang.zhang@windriver.com>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 5c8fe583
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3498,6 +3498,7 @@ void kvfree_call_rcu(struct rcu_head *head, rcu_callback_t func)
		goto unlock_return;
	}

	kasan_record_aux_stack(ptr);
	success = kvfree_call_rcu_add_ptr_to_bulk(krcp, ptr);
	if (!success) {
		run_page_cache_worker(krcp);