Re: [PATCH] Fix EDD3.0 data verification.

From: Gleb Natapov
Date: Wed Feb 02 2011 - 13:15:58 EST


On Wed, Feb 02, 2011 at 07:38:27PM +0200, Gleb Natapov wrote:
> On Wed, Feb 02, 2011 at 09:29:17AM -0800, H. Peter Anvin wrote:
> > On 02/02/2011 09:25 AM, Gleb Natapov wrote:
> > > According to spec length should be set to 30 on exit.
> >
> > I don't really know how this comment relates to the code, but in the
> > code I saw a fixed number of bytes being checksummed, which is
> > definitely wrong.
> >
> What length do you propose to use? If you were referring to
> params->length then it is incorrect since it will be always 30 on exit
> and this has nothing to do with size we need to checksum. Spec defines
> that the sum of bytes 30-73 should be zero. What is definitely wrong
> about this?
>

Ah I see what length you were referring to params->device_path_info_length.
If we will use that then we will get correct checksum for BIOSes that work
according to phoenix spec too, but edd_show_interface() and edd_show_host_bus()
handle only T13 spec so the information they show can be incorrect. I can
change code to check that params->device_path_info_length == 44 in addition
to checking csum. What do you think?

--
Gleb.
--
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/