Re: [PATCH] xen/mce: don't issue error message for failed /dev/mcelog registration

From: Borislav Petkov
Date: Tue Jun 13 2017 - 09:02:44 EST


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@xxxxxxxx>
> ---
> 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);

}

Thanks.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.