[PATCH 1/2] pseries: device node status can be "ok" or "okay"
Segher Boessenkool
segher at kernel.crashing.org
Sat Aug 11 06:17:12 EST 2007
>>> It seems that some versions of firmware will report a device
>>> node status as the string "okay". As we are not expecting this
>>> string, the device node will be ignored by the EEH subsystem.
>>> Which means EEH will not be enabled.
>>>
>>> When EEH is not enabled, PCI errors will be converted into
>>> Machine Check exceptions, and we'll have a very unhappy system.
>>> - if (status && strcmp(status, "ok") != 0)
>>> + if (status && strncmp(status, "ok", 2) != 0)
>>> return NULL; /* ignore devices with bad status */
>> Shouldn't you check for the two literal strings, instead of
>> only matching the common prefix? Seems safer.
>
> What are the chances that the status string is "oklahoma" or
> "okeechobee" or "okinawa"?
What does it matter what the chances are? The code is either
correct or not ;-)
Besides, that's only part of the problem -- what if the
property is empty, or contains an empty string only, or
a single non-zero byte?
Segher
More information about the Linuxppc-dev
mailing list