Commit be8631a1 authored by Andrey Konovalov's avatar Andrey Konovalov Committed by Linus Torvalds
Browse files

kasan: merge __kasan_report into kasan_report

Merge __kasan_report() into kasan_report().  The code is simple enough to
be readable without the __kasan_report() helper.

Link: https://lkml.kernel.org/r/c8a125497ef82f7042b3795918dffb81a85a878e.1646237226.git.andreyknvl@google.com


Signed-off-by: default avatarAndrey Konovalov <andreyknvl@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Marco Elver <elver@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b3bb1d70
Loading
Loading
Loading
Loading
+15 −21
Original line number Diff line number Diff line
@@ -435,37 +435,31 @@ static void print_report(struct kasan_access_info *info)
	}
}

static void __kasan_report(void *addr, size_t size, bool is_write,
bool kasan_report(unsigned long addr, size_t size, bool is_write,
			unsigned long ip)
{
	bool ret = true;
	void *ptr = (void *)addr;
	unsigned long ua_flags = user_access_save();
	unsigned long irq_flags;
	struct kasan_access_info info;
	unsigned long flags;

	start_report(&flags, true);
	if (unlikely(!report_enabled())) {
		ret = false;
		goto out;
	}

	info.access_addr = addr;
	info.first_bad_addr = kasan_find_first_bad_addr(addr, size);
	start_report(&irq_flags, true);

	info.access_addr = ptr;
	info.first_bad_addr = kasan_find_first_bad_addr(ptr, size);
	info.access_size = size;
	info.is_write = is_write;
	info.ip = ip;

	print_report(&info);

	end_report(&flags, addr);
}

bool kasan_report(unsigned long addr, size_t size, bool is_write,
			unsigned long ip)
{
	unsigned long ua_flags = user_access_save();
	bool ret = true;

	if (unlikely(!report_enabled())) {
		ret = false;
		goto out;
	}

	__kasan_report((void *)addr, size, is_write, ip);
	end_report(&irq_flags, ptr);

out:
	user_access_restore(ua_flags);