* grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
unaligned segments.
This commit is contained in:
parent
9197b0ade5
commit
379586ad7d
2 changed files with 11 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
|
||||||
|
unaligned segments.
|
||||||
|
|
||||||
2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
|
2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
|
* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
|
||||||
|
|
|
@ -607,12 +607,13 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
|
||||||
|
|
||||||
while (l)
|
while (l)
|
||||||
{
|
{
|
||||||
(disk->read_hook) (s, o,
|
grub_size_t cl;
|
||||||
((l > GRUB_DISK_SECTOR_SIZE)
|
cl = GRUB_DISK_SECTOR_SIZE - o;
|
||||||
? GRUB_DISK_SECTOR_SIZE
|
if (cl > l)
|
||||||
: l));
|
cl = l;
|
||||||
|
(disk->read_hook) (s, o, cl);
|
||||||
s++;
|
s++;
|
||||||
l -= GRUB_DISK_SECTOR_SIZE - o;
|
l -= cl;
|
||||||
o = 0;
|
o = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue