Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Enumerations | Functions | Variables
kmemcheck.c File Reference
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/kallsyms.h>
#include <linux/kernel.h>
#include <linux/kmemcheck.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/page-flags.h>
#include <linux/percpu.h>
#include <linux/ptrace.h>
#include <linux/string.h>
#include <linux/types.h>
#include <asm/cacheflush.h>
#include <asm/kmemcheck.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include "error.h"
#include "opcode.h"
#include "pte.h"
#include "selftest.h"
#include "shadow.h"

Go to the source code of this file.

Data Structures

struct  kmemcheck_context
 

Enumerations

enum  kmemcheck_method { KMEMCHECK_READ, KMEMCHECK_WRITE }
 

Functions

int __init kmemcheck_init (void)
 
 early_initcall (kmemcheck_init)
 
 early_param ("kmemcheck", param_kmemcheck)
 
int kmemcheck_show_addr (unsigned long address)
 
int kmemcheck_hide_addr (unsigned long address)
 
bool kmemcheck_active (struct pt_regs *regs)
 
void kmemcheck_show (struct pt_regs *regs)
 
void kmemcheck_hide (struct pt_regs *regs)
 
void kmemcheck_show_pages (struct page *p, unsigned int n)
 
bool kmemcheck_page_is_tracked (struct page *p)
 
void kmemcheck_hide_pages (struct page *p, unsigned int n)
 
bool kmemcheck_is_obj_initialized (unsigned long addr, size_t size)
 
bool kmemcheck_fault (struct pt_regs *regs, unsigned long address, unsigned long error_code)
 
bool kmemcheck_trap (struct pt_regs *regs)
 

Variables

int kmemcheck_enabled = KMEMCHECK_ENABLED
 

Enumeration Type Documentation

Enumerator:
KMEMCHECK_READ 
KMEMCHECK_WRITE 

Definition at line 513 of file kmemcheck.c.

Function Documentation

early_initcall ( kmemcheck_init  )
early_param ( "kmemcheck"  ,
param_kmemcheck   
)
bool kmemcheck_active ( struct pt_regs regs)

Definition at line 135 of file kmemcheck.c.

bool kmemcheck_fault ( struct pt_regs regs,
unsigned long  address,
unsigned long  error_code 
)

Definition at line 614 of file kmemcheck.c.

void kmemcheck_hide ( struct pt_regs regs)

Definition at line 221 of file kmemcheck.c.

int kmemcheck_hide_addr ( unsigned long  address)

Definition at line 103 of file kmemcheck.c.

void kmemcheck_hide_pages ( struct page p,
unsigned int  n 
)

Definition at line 285 of file kmemcheck.c.

int __init kmemcheck_init ( void  )

Definition at line 50 of file kmemcheck.c.

bool kmemcheck_is_obj_initialized ( unsigned long  addr,
size_t  size 
)

Definition at line 331 of file kmemcheck.c.

bool kmemcheck_page_is_tracked ( struct page p)

Definition at line 279 of file kmemcheck.c.

void kmemcheck_show ( struct pt_regs regs)

Definition at line 180 of file kmemcheck.c.

int kmemcheck_show_addr ( unsigned long  address)

Definition at line 90 of file kmemcheck.c.

void kmemcheck_show_pages ( struct page p,
unsigned int  n 
)

Definition at line 259 of file kmemcheck.c.

bool kmemcheck_trap ( struct pt_regs regs)

Definition at line 645 of file kmemcheck.c.

Variable Documentation

int kmemcheck_enabled = KMEMCHECK_ENABLED

kmemcheck - a heavyweight memory checker for the linux kernel Copyright (C) 2007, 2008 Vegard Nossum vegar.nosp@m.dno@.nosp@m.ifi.u.nosp@m.io.n.nosp@m.o (With a lot of help from Ingo Molnar and Pekka Enberg.)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (version 2) as published by the Free Software Foundation.

Definition at line 48 of file kmemcheck.c.