lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 13 Jun 2017 15:14:53 +0200
From:   Juergen Gross <jgross@...e.com>
To:     Borislav Petkov <bp@...en8.de>
Cc:     linux-kernel@...r.kernel.org, xen-devel@...ts.xenproject.org,
        x86@...nel.org, boris.ostrovsky@...cle.com, hpa@...or.com,
        tglx@...utronix.de, mingo@...hat.com, tony.luck@...el.com
Subject: Re: [PATCH] xen/mce: don't issue error message for failed /dev/mcelog
 registration

On 13/06/17 15:02, Borislav Petkov wrote:
> On Tue, Jun 13, 2017 at 02:49:21PM +0200, Juergen Gross wrote:
>> When running under Xen as dom0 /dev/mcelog is being registered by Xen
>> instead of the normal mcelog driver. Avoid an error message being
>> issued by the mcelog driver in this case. Instead issue an informative
>> message that Xen has registered the device.
>>
>> Signed-off-by: Juergen Gross <jgross@...e.com>
>> ---
>>  arch/x86/kernel/cpu/mcheck/dev-mcelog.c | 6 +++++-
>>  drivers/xen/mcelog.c                    | 2 ++
>>  2 files changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/kernel/cpu/mcheck/dev-mcelog.c b/arch/x86/kernel/cpu/mcheck/dev-mcelog.c
>> index 9c632cb88546..43fbe2a70051 100644
>> --- a/arch/x86/kernel/cpu/mcheck/dev-mcelog.c
>> +++ b/arch/x86/kernel/cpu/mcheck/dev-mcelog.c
>> @@ -14,6 +14,7 @@
>>  #include <linux/slab.h>
>>  #include <linux/kmod.h>
>>  #include <linux/poll.h>
>> +#include <xen/xen.h>
>>  
>>  #include "mce-internal.h"
>>  
>> @@ -387,10 +388,13 @@ static __init int dev_mcelog_init_device(void)
>>  
>>  	/* register character device /dev/mcelog */
>>  	err = misc_register(&mce_chrdev_device);
>> -	if (err) {
>> +	/* Xen dom0 might have registered the device already. */
>> +	if (err && (err != -EBUSY || !xen_initial_domain() ||
>> +		    !IS_ENABLED(CONFIG_XEN_MCE_LOG))) {
>>  		pr_err("Unable to init device /dev/mcelog (rc: %d)\n", err);
> 
> Let's simplify that:
> 
> 	if (err) {
> 		if (err == -EBUSY)
> 			const char *s = ", already registered";
> 		else
> 			const char *s = "";
> 
> 		pr_err("Unable to init device /dev/mcelog (rc: %d)%s\n", err, s);

I'd rather avoid the pr_err() in the -EBUSY case. What about:

if (err) {
	if (err == -EBUSY)
		pr_info("Unable to init device /dev/mcelog, already registered");
	else
		pr_err("Unable to init device /dev/mcelog (rc: %d)\n", err);
}


Juergen

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ