On Thu, 2005-11-03 at 23:21 -0500, Dave Jones wrote:
On Thu, Nov 03, 2005 at 05:31:53PM -0600, Marc Schwartz (via MN)
wrote:
> >From kernel-2.6.12-1.1456_FC4:
>
> $ cat /proc/i8k
> 1.0 A38 ? 54 -22 1 -22 79260 -1 2
>
>
> >From kernel-2.6.14-1.1633_FC4:
>
> $ cat /proc/i8k
> 1.0 A38 52 -22 1 -22 77340 -1 2
Ok, that looks like unintentional breakage. I've brought this
up upstream. Will try and get any resulting fix backported to FC4
when that appears.
> What is different is the field that should show the service tag ID for
> the laptop. This is the '?' in the first instance (3rd field) and
> appears to be missing in the second.
>
> This would perhaps explain the SEGFAULT, since in reviewing the code in
> i8krellm.c for the __i8k_get_proc_info() function, there are a series of
> strcpy's, parsing the fields from the result of getting the /proc/i8k
> info.
That code is really quite icky, and screams "scanf" to me.
Whilst that kernel interface *shouldnt* change, things like this
do happen, and it could have taken defensive action instead of
being as fragile as it is.
Great! Thanks for your assistance here Dave.
Thanks also to Ernest for his offlist guidance.
Best regards,
Marc