Re: [PATCH 2/3] firmware/dmi_scan: Fix most checkpatch errors andwarnings

From: Jean Delvare
Date: Wed Jul 10 2013 - 08:28:50 EST


Hi Joe,

Le Tuesday 09 July 2013 Ã 09:19 -0700, Joe Perches a Ãcrit :
> On Tue, 2013-07-09 at 17:42 +0200, Jean Delvare wrote:
> > Fix all errors and trivial warnings reported by checkpatch for file
> > drivers/firmware/dmi_scan.c.
>
> trivia:
>
> > +++ linux-3.11-rc0/drivers/firmware/dmi_scan.c 2013-07-09 16:08:13.979592957 +0200
> > @@ -63,7 +63,7 @@ static char * __init dmi_string(const st
> > if (str != NULL)
> > strcpy(str, bp);
> > else
> > - printk(KERN_ERR "dmi_string: cannot allocate %Zu bytes.\n", len);
> > + pr_err("dmi_string: cannot allocate %Zu bytes.\n", len);
>
> If the function name is used in every printk, it might
> be better to add
>
> #define pr_fmt(fmt) "%s: " fmt, __func__
>
> before any #include

No, only error messages include the function name, debug and info
messages do not.

> If not, then I suggest removing the embedded function names
> and writing these as
> pr_err("%s: etc...", __func__, etc...);
>
> This eliminates any possible function name mismatch.

I had considered this too, but stepped back after finding out that this
change would increase the binary size. It's hard to sell such a change
then when it's only fixing a theoretical problem.

> > @@ -217,7 +220,7 @@ static void __init dmi_save_one_device(i
> >
> > dev = dmi_alloc(sizeof(*dev) + strlen(name) + 1);
> > if (!dev) {
> > - printk(KERN_ERR "dmi_save_one_device: out of memory.\n");
> > + pr_err("dmi_save_one_device: out of memory.\n");
>
> OOM messages generally aren't useful.
>
> dmi_alloc is either a trivial front-end to kmalloc,
> and kmalloc already does a dump_stack() when OOM, or
> for x86, dmi_alloc uses extend_brk which BUGs when
> unsuccessful.

Fair enough, I'll send a separate patch for this in a minute.

--
Jean Delvare
Suse L3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/