[syslinux:master] memdisk: MBR not recognized correctly
syslinux-bot for Bodo Stroesser
bstroesser.at.ts.fujitsu.com at zytor.com
Tue Mar 30 15:24:04 PDT 2010
Commit-ID: 7be3ff1150edfbfe62e1aab9ad3f9824082019d5
Gitweb: http://syslinux.zytor.com/commit/7be3ff1150edfbfe62e1aab9ad3f9824082019d5
Author: Bodo Stroesser <bstroesser at ts.fujitsu.com>
AuthorDate: Tue, 23 Mar 2010 17:56:29 +0100
Committer: H. Peter Anvin <hpa at linux.intel.com>
CommitDate: Tue, 30 Mar 2010 15:19:41 -0700
memdisk: MBR not recognized correctly
This fixes a small inaccuracy in memdisk:
get_disk_image_geometry() does not use MBR data to detect disk
geometry, since it checks MBR signature at wrong offset.
This normally does not cause problems, because memdisk guesses a
reasonable value, if no MBR is found.
Signed-off-by: Bodo Stroesser <bstroesser at ts.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa at linux.intel.com>
---
memdisk/setup.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/memdisk/setup.c b/memdisk/setup.c
index bcb5d04..cec25ad 100644
--- a/memdisk/setup.c
+++ b/memdisk/setup.c
@@ -648,7 +648,7 @@ static const struct geometry *get_disk_image_geometry(uint32_t where,
if (!hd_geometry.driveno)
hd_geometry.driveno = 0x80;
- if (*(uint16_t *) ((char *)where + 512 - 2) == 0xaa55) {
+ if (*(uint16_t *) ((char *)where + hd_geometry.offset + 512 - 2) == 0xaa55) {
for (i = 0; i < 4; i++) {
if (ptab[i].type && !(ptab[i].active & 0x7f)) {
s = (ptab[i].start_s & 0x3f);
More information about the Syslinux-commits
mailing list