forked from pool/syslinux
0620ccce49
%patchN syntax. - Normalize all patches to apply as -p1 + Rebased remove-note-gnu-section.patch + Rebased sysmacros.patch - Rename all *.diff files to *.patch, aligning one a common suffix: + syslinux-4.04-align.diff -> syslinux-4.04-align.patch + syslinux-4.04-cache_fix.diff -> syslinux-4.04-cache_fix.patch + syslinux-4.04-cwd.diff -> syslinux-4.04-cwd.patch + syslinux-4.04-gcc10.diff -> syslinux-4.04-gcc10.patch + syslinux-4.04-gcc47.diff -> syslinux-4.04-gcc47.patch + syslinux-4.04-geometry.diff -> syslinux-4.04-geometry.patch + syslinux-4.04-iso9660.diff -> syslinux-4.04-iso9660.patch + syslinux-4.04-isohybrid_efi.diff -> syslinux-4.04-isohybrid_efi.patch + syslinux-4.04-isohybrid_efi_optional.diff -> syslinux-4.04-isohybrid_efi_optional.patch + syslinux-4.04-isohybrid_mbr.diff -> syslinux-4.04-isohybrid_mbr.patch + syslinux-4.04-libext2fs.diff -> syslinux-4.04-libext2fs.patch + syslinux-4.04-localboot.diff -> syslinux-4.04-localboot.patch + syslinux-4.04-lzo.diff -> syslinux-4.04-lzo.patch + syslinux-4.04-mboot_bootif.diff -> syslinux-4.04-mboot_bootif.patch + syslinux-4.04-md5pass.diff -> syslinux-4.04-md5pass.patch + syslinux-4.04-miniacc.diff -> syslinux-4.04-miniacc.patch + syslinux-4.04-mtime.diff -> syslinux-4.04-mtime.patch + syslinux-4.04-noinitrd.diff -> syslinux-4.04-noinitrd.patch + syslinux-4.04-nostrip.diff -> syslinux-4.04-nostrip.patch + syslinux-4.04-pie.diff -> syslinux-4.04-pie.patch + syslinux-4.04-python3.diff -> syslinux-4.04-python3.patch + syslinux-4.04-timeout.diff -> syslinux-4.04-timeout.patch OBS-URL: https://build.opensuse.org/package/show/system:install:head/syslinux?expand=0&rev=109
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From 73cd9bf26066cad0d4a483e31e1d89802a7ca1f9 Mon Sep 17 00:00:00 2001
|
|
From: Gene Cumm <gene.cumm@gmail.com>
|
|
Date: Wed, 11 May 2011 16:03:30 +0000
|
|
Subject: extlinux/main.c: Fix geometry handling
|
|
|
|
1) ioctl HDIO_GETGEO expects a pointer to a struct hd_geometry
|
|
2) struct stat's st_dev is the parent file used; st_rdev is what we want
|
|
|
|
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
|
|
Tested-By: Michael Tokarev <mjt@tls.msk.ru>
|
|
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
---
|
|
(limited to 'extlinux/main.c')
|
|
|
|
Index: syslinux-4.04/extlinux/main.c
|
|
===================================================================
|
|
--- syslinux-4.04.orig/extlinux/main.c
|
|
+++ syslinux-4.04/extlinux/main.c
|
|
@@ -112,7 +112,7 @@ static int sysfs_get_offset(int devfd, u
|
|
|
|
if ((size_t)snprintf(sysfs_name, sizeof sysfs_name,
|
|
"/sys/dev/block/%u:%u/start",
|
|
- major(st.st_dev), minor(st.st_dev))
|
|
+ major(st.st_rdev), minor(st.st_rdev))
|
|
>= sizeof sysfs_name)
|
|
return -1;
|
|
|
|
@@ -153,7 +153,7 @@ int get_geometry(int devfd, uint64_t tot
|
|
|
|
memset(geo, 0, sizeof *geo);
|
|
|
|
- if (!ioctl(devfd, HDIO_GETGEO, &geo)) {
|
|
+ if (!ioctl(devfd, HDIO_GETGEO, geo)) {
|
|
goto ok;
|
|
} else if (!ioctl(devfd, FDGETPRM, &fd_str)) {
|
|
geo->heads = fd_str.head;
|