diff options
Diffstat (limited to 'arch/x86/lib/kaslr.c')
| -rw-r--r-- | arch/x86/lib/kaslr.c | 18 | 
1 files changed, 12 insertions, 6 deletions
| diff --git a/arch/x86/lib/kaslr.c b/arch/x86/lib/kaslr.c index a53665116458..2b3eb8c948a3 100644 --- a/arch/x86/lib/kaslr.c +++ b/arch/x86/lib/kaslr.c @@ -56,11 +56,14 @@ unsigned long kaslr_get_random_long(const char *purpose)  	unsigned long raw, random = get_boot_seed();  	bool use_i8254 = true; -	debug_putstr(purpose); -	debug_putstr(" KASLR using"); +	if (purpose) { +		debug_putstr(purpose); +		debug_putstr(" KASLR using"); +	}  	if (has_cpuflag(X86_FEATURE_RDRAND)) { -		debug_putstr(" RDRAND"); +		if (purpose) +			debug_putstr(" RDRAND");  		if (rdrand_long(&raw)) {  			random ^= raw;  			use_i8254 = false; @@ -68,7 +71,8 @@ unsigned long kaslr_get_random_long(const char *purpose)  	}  	if (has_cpuflag(X86_FEATURE_TSC)) { -		debug_putstr(" RDTSC"); +		if (purpose) +			debug_putstr(" RDTSC");  		raw = rdtsc();  		random ^= raw; @@ -76,7 +80,8 @@ unsigned long kaslr_get_random_long(const char *purpose)  	}  	if (use_i8254) { -		debug_putstr(" i8254"); +		if (purpose) +			debug_putstr(" i8254");  		random ^= i8254();  	} @@ -86,7 +91,8 @@ unsigned long kaslr_get_random_long(const char *purpose)  	    : "a" (random), "rm" (mix_const));  	random += raw; -	debug_putstr("...\n"); +	if (purpose) +		debug_putstr("...\n");  	return random;  } |