diff options
Diffstat (limited to 'arch/x86/mm')
| -rw-r--r-- | arch/x86/mm/kmemcheck/kmemcheck.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/mm/kmemcheck/kmemcheck.c b/arch/x86/mm/kmemcheck/kmemcheck.c index 2c55ed09865..528bf954eb7 100644 --- a/arch/x86/mm/kmemcheck/kmemcheck.c +++ b/arch/x86/mm/kmemcheck/kmemcheck.c @@ -331,6 +331,20 @@ static void kmemcheck_read_strict(struct pt_regs *regs,  	kmemcheck_shadow_set(shadow, size);  } +bool kmemcheck_is_obj_initialized(unsigned long addr, size_t size) +{ +	enum kmemcheck_shadow status; +	void *shadow; + +	shadow = kmemcheck_shadow_lookup(addr); +	if (!shadow) +		return true; + +	status = kmemcheck_shadow_test(shadow, size); + +	return status == KMEMCHECK_SHADOW_INITIALIZED; +} +  /* Access may cross page boundary */  static void kmemcheck_read(struct pt_regs *regs,  	unsigned long addr, unsigned int size)  |