grub/grub-core/osdep
Mihai Moldovan d3b1d4c188 osdep/linux: Convert partition start to disk sector length
When reading data off a disk, sector values are based on the disk sector
length.

Within grub_util_fd_open_device(), the start of the partition was taken
directly from grub's partition information structure, which uses the
internal sector length (currently 512b), but never transformed to the
disk's sector length.

Subsequent calculations were all wrong for devices that have a diverging
sector length and the functions eventually skipped to the wrong stream
location, reading invalid data.

Signed-off-by: Mihai Moldovan <ionic@ionic.de>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-09-21 13:29:05 -04:00
..
apple Make newly-created files other than grub.cfg world-readable. 2013-12-24 17:36:10 +01:00
aros Fix canonicalize_file_name clash. 2015-03-04 01:00:19 +01:00
basic Clarify several translatable messages. 2013-12-21 01:41:16 +01:00
bsd Make newly-created files other than grub.cfg world-readable. 2013-12-24 17:36:10 +01:00
devmapper fix detection of non-LUKS CRYPT 2016-11-05 15:28:50 +03:00
freebsd Ignore EPERM when modifying kern.geom.debugflags 2014-01-19 14:38:07 +00:00
generic * grub-core/osdep/generic/blocklist.c: Add missing include to string.h. 2013-10-19 02:24:40 +02:00
haiku haiku/getroot.c (grub_util_find_partition_start_os): Avoid division by zero. 2015-01-21 17:42:15 +01:00
hurd Clarify several translatable messages. 2013-12-21 01:41:16 +01:00
linux osdep/linux: Convert partition start to disk sector length 2020-09-21 13:29:05 -04:00
sun Move stat () and device mode checking into OS-dependent files as 2013-10-19 16:29:20 +02:00
unix grub-probe: Don't skip /dev/mapper/dm-* devices 2020-09-21 13:19:10 -04:00
windows windows: correct LBA in generated EFI HDD media paths 2015-12-19 11:32:49 +03:00
blocklist.c Split out blocklist retrieving from setup.c to 2013-10-15 17:02:26 +02:00
compress.c Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir 2013-11-16 20:21:16 +01:00
config.c Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir 2013-11-16 20:21:16 +01:00
cputime.c Move cpu time retrieval to separate grub_util_get_cpu_time_ms 2013-10-15 13:13:53 +02:00
dl.c Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c 2013-12-08 18:08:23 +01:00
emuconsole.c * grub-core/osdep/windows/emuconsole.c: New file. 2013-10-14 21:33:55 +02:00
emunet.c * grub-core/net/drivers/emu/emunet.c: Move to .. 2013-10-08 18:42:46 +02:00
exec.c * grub-core/osdep/exec.c: Use unix version on cygwin. 2013-12-14 21:39:03 +01:00
getroot.c Add haiku-specific functions. 2013-10-19 16:39:38 +02:00
hostdisk.c Add haiku-specific functions. 2013-10-19 16:39:38 +02:00
init.c Move set_program_name and init_nls to host_init. On windows 2013-10-13 20:03:42 +02:00
ofpath.c * util/ieee1275/ofpath.c: Move to ... 2013-10-08 18:25:49 +02:00
password.c Move password-querying (util-version) routines to grub-core/osdep. 2013-10-08 17:51:39 +02:00
platform.c Implement windows flavour of EFI install routines. 2013-12-14 23:35:58 +01:00
platform_unix.c Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir 2013-11-16 20:21:16 +01:00
random.c * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses 2013-10-19 02:30:05 +02:00
relpath.c Split make_system_path_relative_to_its_root into separate file 2013-10-19 16:21:08 +02:00
sleep.c Move sleep routines to grub-core/osdep. 2013-10-08 17:38:46 +02:00