Re: [PATCH] Make dmi_name_in_vendors more focused

From: Jean Delvare
Date: Thu Nov 10 2011 - 03:13:48 EST


On Wed, 9 Nov 2011 14:25:57 -0800, Andrew Morton wrote:
> On Fri, 4 Nov 2011 10:26:47 +0100
> Jean Delvare <khali@xxxxxxxxxxxx> wrote:
>
> > The current implementation of dmi_name_in_vendors() is an invitation
> > to lazy coding and false positives [1]. Searching for a string in 8
> > different DMI fields is something nobody should ever need to do. You
> > know what you're looking for, so you should know where to look. strstr
> > isn't fast, especially when it fails, so we should avoid calling it
> > when it just can't succeed.
> >
> > Looking at the current users of the function, it seems clear to me
> > that they are looking for a system or board vendor name, so let's
> > limit dmi_name_in_vendors to these two DMI fields. This much better
> > matches the function name, BTW.
> >
> > [1] We currently have code looking for short names in DMI data, such
> > as "IBM" or "ASUS". I let you guess what will happen the day other
> > vendors ship products named, for example, "SCHREIBMEISTER" or "PEGASUS".
> >
> > Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
> > Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
> > ---
> > This patch was already sent on 2011-05-15. I thought Andrew had picked
> > it up but apparently not, otherwise it should already be upstream by
> > now.
>
> I did merge it in May and have carried it in -mm (and hence in
> linux-next) since then. I have sent it to Jesse at least twice, with
> no effect.
>
> I'll send it to Linus for 3.3-rc1, OK?

If you want, sure. Note however that it might be less risky to send it
now, as I just audited the code. By 3.3-rc1, new callers might have
appeared and nobody may remember to audit again. Committing this kind
of change right after rc1 seems better than during the merge window, as
it lets us ensure that no new use case sneaked it.


--
Jean Delvare
--
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/