All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] PM / Hibernate: Don't let kasan instrument snapshot.c
@ 2016-06-02 12:20 ` James Morse
  0 siblings, 0 replies; 8+ messages in thread
From: James Morse @ 2016-06-02 12:20 UTC (permalink / raw)
  To: linux-pm
  Cc: linux-arm-kernel, Catalin Marinas, Rafael J . Wysocki,
	Pavel Machek, James Morse

Kasan causes the compiler to instrument C code and is used at runtime to
detect accesses to memory that has been freed, or not yet allocated.

The code in snapshot.c saves and restores memory when hibernating. This will
access whole pages in the slab cache that have both free and allocated
areas, resulting in a large number of false positives from Kasan.

Disable instrumentation of this file.

Signed-off-by: James Morse <james.morse@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>

---
With this, I can hibernate/resume a kernel built with kasan on arm64.

 kernel/power/Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/power/Makefile b/kernel/power/Makefile
index cb880a14cc39..eb4f717705ba 100644
--- a/kernel/power/Makefile
+++ b/kernel/power/Makefile
@@ -1,6 +1,8 @@
 
 ccflags-$(CONFIG_PM_DEBUG)	:= -DDEBUG
 
+KASAN_SANITIZE_snapshot.o	:= n
+
 obj-y				+= qos.o
 obj-$(CONFIG_PM)		+= main.o
 obj-$(CONFIG_VT_CONSOLE_SLEEP)	+= console.o
-- 
2.8.0.rc3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-06-16  1:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-02 12:20 [PATCH] PM / Hibernate: Don't let kasan instrument snapshot.c James Morse
2016-06-02 12:20 ` James Morse
2016-06-14 23:26 ` Rafael J. Wysocki
2016-06-14 23:26   ` Rafael J. Wysocki
2016-06-15 10:25   ` James Morse
2016-06-15 10:25     ` James Morse
2016-06-16  1:22     ` Rafael J. Wysocki
2016-06-16  1:22       ` Rafael J. Wysocki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.