Messages in this thread | | | Date | Wed, 2 Feb 2011 19:59:44 +0200 | From | Gleb Natapov <> | Subject | Re: [PATCH] Fix EDD3.0 data verification. |
| |
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.
| |