forked from pool/syslinux
Accepting request 208828 from home:rhafer:branches:system:install:head
bnc#852856 OBS-URL: https://build.opensuse.org/request/show/208828 OBS-URL: https://build.opensuse.org/package/show/system:install:head/syslinux?expand=0&rev=56
This commit is contained in:
parent
cae02f492b
commit
e8f506f38a
38
syslinux-4.04-geometry.diff
Normal file
38
syslinux-4.04-geometry.diff
Normal file
@ -0,0 +1,38 @@
|
||||
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')
|
||||
|
||||
diff --git a/extlinux/main.c b/extlinux/main.c
|
||||
index e5212a9..6aa6202 100755
|
||||
--- a/extlinux/main.c
|
||||
+++ b/extlinux/main.c
|
||||
@@ -112,7 +112,7 @@ static int sysfs_get_offset(int devfd, unsigned long *start)
|
||||
|
||||
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 totalbytes, struct hd_geometry *geo)
|
||||
|
||||
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;
|
||||
--
|
||||
cgit v0.9.2
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 28 16:12:44 UTC 2013 - rhafer@suse.com
|
||||
|
||||
- geometry.diff: Fix segfault caused by a bug in geometry handling
|
||||
(bnc#852856)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 5 11:03:29 UTC 2013 - idonmez@suse.com
|
||||
|
||||
|
@ -46,6 +46,7 @@ Patch8: %{name}-%{version}-isohybrid_efi.diff
|
||||
Patch9: %{name}-%{version}-isohybrid_efi_optional.diff
|
||||
Patch10: %{name}-%{version}-isohybrid_mbr.diff
|
||||
Patch11: %{name}-%{version}-localboot.diff
|
||||
Patch12: %{name}-%{version}-geometry.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -73,6 +74,7 @@ Authors:
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
|
||||
%build
|
||||
cp %{SOURCE2} .
|
||||
|
Loading…
Reference in New Issue
Block a user