aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/vt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/vt.c')
-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 08151d4de489..961c1a788c61 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -104,6 +104,7 @@
104#include <linux/io.h> 104#include <linux/io.h>
105#include <asm/system.h> 105#include <asm/system.h>
106#include <linux/uaccess.h> 106#include <linux/uaccess.h>
107#include <linux/kmemleak.h>
107 108
108#define MAX_NR_CON_DRIVER 16 109#define MAX_NR_CON_DRIVER 16
109 110
@@ -2880,6 +2881,12 @@ static int __init con_init(void)
2880 */ 2881 */
2881 for (currcons = 0; currcons < MIN_NR_CONSOLES; currcons++) { 2882 for (currcons = 0; currcons < MIN_NR_CONSOLES; currcons++) {
2882 vc_cons[currcons].d = vc = alloc_bootmem(sizeof(struct vc_data)); 2883 vc_cons[currcons].d = vc = alloc_bootmem(sizeof(struct vc_data));
2884 /*
2885 * Kmemleak does not track the memory allocated via
2886 * alloc_bootmem() but this block contains pointers to
2887 * other blocks allocated via kmalloc.
2888 */
2889 kmemleak_alloc(vc, sizeof(struct vc_data), 1, GFP_ATOMIC);
2883 INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK); 2890 INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK);
2884 visual_init(vc, currcons, 1); 2891 visual_init(vc, currcons, 1);
2885 vc->vc_screenbuf = (unsigned short *)alloc_bootmem(vc->vc_screenbuf_size); 2892 vc->vc_screenbuf = (unsigned short *)alloc_bootmem(vc->vc_screenbuf_size);