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

Alex Beregszaszi alex at rtfs.hu
Thu Nov 29 02:16:39 CET 2007


On Fri, 2007-10-05 at 18:41 +0200, Carl-Daniel Hailfinger wrote:
> 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>

Finally done.

--
Alex





More information about the coreboot mailing list