grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] chainloader: Fix wrong break condition (must be AND not OR)


From: Daniel Kiper
Subject: Re: [PATCH] chainloader: Fix wrong break condition (must be AND not OR)
Date: Mon, 29 Jan 2018 18:09:40 +0100
User-agent: Mutt/1.3.28i

On Sun, Jan 21, 2018 at 04:02:10PM +0100, C. Masloch wrote:
> The definition of bpb's num_total_sectors_16 and num_total_sectors_32
> is that either the 16-bit field is non-zero and is used (in which case
> eg mkfs.fat sets the 32-bit field to zero), or it is zero and the
> 32-bit field is used. Therefore, a BPB is invalid only if *both*
> fields are zero; having one field as zero and the other as non-zero is
> the case to be expected.

Could you provide reference to the spec which says that?

> This affects all users of grub_chainloader_patch_bpb which are in
> chainloader.c, freedos.c, and ntldr.c

I am happy that you fix that issue but
  https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#BPB331_OFS_15h
shows that life is more complicated.

Could you take that into account?

> Tested with lDebug booted in qemu via grub2's
> FreeDOS direct loading support, refer to
> https://bitbucket.org/ecm/ldosboot + https://bitbucket.org/ecm/ldebug

Could you put your SOB here?

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]