/* Perform the freeing of the kmemleak internal objects after waiting for any current memory scan to complete.  */
static void kmemleak_do_cleanup(struct work_struct *work)
/* Perform the freeing of the kmemleak internal objects after waiting for any current memory scan to complete.  */
static void kmemleak_do_cleanup(struct work_struct *work)
{
	struct kmemleak_object *object;
	mutex_lock(&scan_mutex);
	stop_scan_thread();
	rcu_read_lock();
	list_for_each_entry_rcu(object, &object_list, object_list)
		delete_object_full(object->pointer);
	rcu_read_unlock();
	mutex_unlock(&scan_mutex);
}