Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17bb9e0d authored by Catalin Marinas's avatar Catalin Marinas
Browse files

kmemleak: Do not report new leaked objects if the scanning was stopped



If the scanning was stopped with a signal, it is possible that some
objects are left with a white colour (potential leaks) and reported. Add
a check to avoid reporting such objects.

Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent acf4968e
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -1029,6 +1029,12 @@ static void kmemleak_scan(void)
	}
	WARN_ON(!list_empty(&gray_list));

	/*
	 * If scanning was stopped do not report any new unreferenced objects.
	 */
	if (scan_should_stop())
		return;

	/*
	 * Scanning result reporting.
	 */
@@ -1184,11 +1190,10 @@ static int kmemleak_seq_show(struct seq_file *seq, void *v)
	unsigned long flags;

	spin_lock_irqsave(&object->lock, flags);
	if (!unreferenced_object(object))
		goto out;
	if ((object->flags & OBJECT_REPORTED) && unreferenced_object(object)) {
		print_unreferenced(seq, object);
		reported_leaks++;
out:
	}
	spin_unlock_irqrestore(&object->lock, flags);
	return 0;
}