Re: [PATCH 1/4] mce: Slim up struct mce

From: Ingo Molnar
Date: Sat Mar 03 2012 - 02:37:43 EST



* Luck, Tony <tony.luck@xxxxxxxxx> wrote:

> > Drop unused ->apicid, make ->socketid __u16 since it is
> > copied from struct cpuinfo_86.phys_proc_id, reorder members
> > and adjust padding so that it remains packed and on a
> > 64-byte boundary.
>
> This structure is user visible via /dev/mcelog. The mcelog(8)
> daemon has been coded to cope with extra fields being added to
> the end of the structure (an old daemon that doesn't know what
> they are will just skip over them). But things will break if
> you change the offsets of any fields that it does know about.

Please separate out a 'struct mce_legacy' data type that
contains the /dev/mcelog format, and use it in the place that
outputs to /dev/mcelog (and convert from 'struct mce' to 'struct
mce_legacy' and back when interacting with /dev/mcelog).

This keeps 'struct mce' kernel internal and flexible. A pure
kernel internal structure should never have been exported like
this to begin with, doing that results in problems like this.

Thanks,

Ingo
--
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/