[LinuxBIOS] [PATCH] pci_rom.c checksum extension rom

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Oct 5 18:41:05 CEST 2007


On 03.10.2007 01:48, Alex Beregszaszi wrote:
> On Sat, 2007-09-29 at 23:49 +0200, Carl-Daniel Hailfinger wrote:
>> On 12.09.2007 21:37, Alex Beregszaszi wrote:
>>> Hi,
>>>
>>> On Fri, 2007-09-07 at 12:54 +0200, Alex Beregszaszi wrote:
>>>> Hi,
>>>>
>>>> On Wed, 2007-09-05 at 04:29 +0200, Stefan Reinauer wrote:
>>>>> * Alex Beregszaszi <alex at rtfs.hu> [070904 13:17]:
>>>>>> Hi,
>>>>>>
>>>>>> the attached patch adds code to checksum the pci extension rom and stop
>>>>>> if the stored and calculated checksum differ.
>>>>> Is this checksum reliably correct? I am hesitating to add new
>>>>> restrictions that might break otherwise working cards.
>>>> You are right, attached is a correct method. There is no fixed checksum
>>>> byte, instead the whole should sum to zero.
>>> Any comments on this?
>> I like it. I'd give you an Ack, but I have no hardware to test with.
>>
>> Stefan? Ron?
>>
>> Worst case would be that buggy extension ROMs break with a really loud
>> warning, so anybody with such ROMs will see it prominently in the logs.
>>
>> Alex: Is there an easy way to check extension ROMs in the current
>> machine for correct signatures? Maybe standalone utility or such stuff.
> 
> There is no utility for that, but you could copy out the memory between
> 0xc0000 - 0xf00000 from /dev/mem and search for extension headers in it
> (see the code in pci_rom.c).

Can you commit with the following changelog?

--------
The attached patch adds code to checksum the pci extension rom and abort
if the stored and calculated checksum differ.

Worst case would be that buggy extension ROMs break with a really loud
warning, so anybody with such ROMs will see it prominently in the logs.

There is no easy way to check extension ROMs in the current machine for
correct signatures, but you could copy out the memory between 0xc0000 -
0xf00000 from /dev/mem and search for extension headers in it (see the
code in pci_rom.c).
--------

Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Regards,
Carl-Daniel





More information about the coreboot mailing list