summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2009-01-21 14:25:16 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2009-01-21 14:25:16 +1100
commiteb175102e6177ee593fc341b6169a24cf6936480 (patch)
treeee447e1871497a4c2ebaba4c022e5a4b359b198c /drivers
parent70b37b3ae0105bc810f38be3d9d85e5320b5fcb0 (diff)
parentaa6d73d3be6fe763067d6a0549e2e28f701c7a36 (diff)
Merge commit 'kmemleak/kmemleak'
Conflicts: include/linux/slab.h init/main.c mm/slab.c mm/slob.c mm/slub.c mm/vmalloc.c
Diffstat (limited to 'drivers')
-rw-r--r--drivers/char/vt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index 7900bd63b36d..d299efe7b5ab 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -104,6 +104,7 @@
#include <linux/io.h>
#include <asm/system.h>
#include <linux/uaccess.h>
+#include <linux/kmemleak.h>
#define MAX_NR_CON_DRIVER 16
@@ -2879,6 +2880,12 @@ static int __init con_init(void)
*/
for (currcons = 0; currcons < MIN_NR_CONSOLES; currcons++) {
vc_cons[currcons].d = vc = alloc_bootmem(sizeof(struct vc_data));
+ /*
+ * Kmemleak does not track the memory allocated via
+ * alloc_bootmem() but this block contains pointers to
+ * other blocks allocated via kmalloc.
+ */
+ kmemleak_alloc(vc, sizeof(struct vc_data), 1, GFP_ATOMIC);
INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK);
visual_init(vc, currcons, 1);
vc->vc_screenbuf = (unsigned short *)alloc_bootmem(vc->vc_screenbuf_size);