]> git.proxmox.com Git - grub2.git/log
grub2.git
9 years agolib/syslinux_parse: Fix memory leak.
Vladimir Serbinenko [Mon, 26 Jan 2015 08:41:24 +0000 (09:41 +0100)]
lib/syslinux_parse: Fix memory leak.

Found by: Coveriy scan.

9 years agolib/syslinux_parse: Add missing alloc check.
Vladimir Serbinenko [Mon, 26 Jan 2015 08:40:42 +0000 (09:40 +0100)]
lib/syslinux_parse: Add missing alloc check.

Found by: Coverity scan.

9 years agoi386/pc/mmap: Fix memset size.
Vladimir Serbinenko [Mon, 26 Jan 2015 08:38:11 +0000 (09:38 +0100)]
i386/pc/mmap: Fix memset size.

Found by: Coverity scan.

9 years agogfxmenu/theme_loader: Add missing allos error check.
Vladimir Serbinenko [Mon, 26 Jan 2015 08:37:39 +0000 (09:37 +0100)]
gfxmenu/theme_loader: Add missing allos error check.

Found by: Coverity scan.

9 years agogfxmenu/icon_manager: Fix null pointer dereference.
Vladimir Serbinenko [Mon, 26 Jan 2015 08:37:01 +0000 (09:37 +0100)]
gfxmenu/icon_manager: Fix null pointer dereference.

Found by: Coverity scan.

9 years agofs/ufs: Add missing error check.
Vladimir Serbinenko [Mon, 26 Jan 2015 08:36:19 +0000 (09:36 +0100)]
fs/ufs: Add missing error check.

Found by: Coverity scan.

9 years agoconfigure.ac: Always add -D_FILE_OFFSET_BITS=64.
Vladimir Serbinenko [Mon, 26 Jan 2015 08:35:44 +0000 (09:35 +0100)]
configure.ac: Always add -D_FILE_OFFSET_BITS=64.

9 years agofs/sfs: Fix error check and add sanity check.
Vladimir Serbinenko [Sun, 25 Jan 2015 12:33:03 +0000 (13:33 +0100)]
fs/sfs: Fix error check and add sanity check.

Found by: Coverity scan.

9 years agofs/reiserfs: Fix sector count overflow.
Vladimir Serbinenko [Sun, 25 Jan 2015 12:29:26 +0000 (13:29 +0100)]
fs/reiserfs: Fix sector count overflow.

Found by: Coverity scan.

9 years agofs/ntfs: Add sizes sanity checks.
Vladimir Serbinenko [Sun, 25 Jan 2015 12:28:50 +0000 (13:28 +0100)]
fs/ntfs: Add sizes sanity checks.

Found by: Coverity scan.

9 years agofs/ntfs: Add missing free.
Vladimir Serbinenko [Sun, 25 Jan 2015 12:22:24 +0000 (13:22 +0100)]
fs/ntfs: Add missing free.

Found by: Coverity scan.

9 years agofs/minix: Fix sector promotion to 64-bit.
Vladimir Serbinenko [Sun, 25 Jan 2015 12:21:32 +0000 (13:21 +0100)]
fs/minix: Fix sector promotion to 64-bit.

While on it make GRUB_MINIX_ZONE2SECT into function.

Found by: Coverity scan

9 years agogrub_iso9660_read: Explicitly check read_node return value.
Vladimir Serbinenko [Sun, 25 Jan 2015 12:19:58 +0000 (13:19 +0100)]
grub_iso9660_read: Explicitly check read_node return value.

Not really needed as grub_errno is already checked but is nicer.

Found by: Coverity scan.

9 years agocommands/fileXX: Fix remaining memory leak.
Andrei Borzenkov [Sun, 25 Jan 2015 13:36:30 +0000 (16:36 +0300)]
commands/fileXX: Fix remaining memory leak.

Found by: Coverity Scan.

9 years agofs/hfs: Add pointer sanity checks.
Vladimir Serbinenko [Sun, 25 Jan 2015 10:32:29 +0000 (11:32 +0100)]
fs/hfs: Add pointer sanity checks.

Found by: Coverity scan.

9 years agofs/hfs/hfs_open: Check that mount succeeded.
Vladimir Serbinenko [Sun, 25 Jan 2015 00:28:17 +0000 (01:28 +0100)]
fs/hfs/hfs_open: Check that mount succeeded.

Found by: Coverity scan.

9 years agofs/fat: Fix codepath to properly free on error.
Vladimir Serbinenko [Sun, 25 Jan 2015 00:27:44 +0000 (01:27 +0100)]
fs/fat: Fix codepath to properly free on error.

Found by: Coverity scan.

9 years agofs/cpio_common: Add a sanity check on namesize.
Vladimir Serbinenko [Sat, 24 Jan 2015 23:11:59 +0000 (00:11 +0100)]
fs/cpio_common: Add a sanity check on namesize.

Found by: Coverity scan.

9 years agofs/cbfs: Add missing free.
Vladimir Serbinenko [Sat, 24 Jan 2015 23:00:49 +0000 (00:00 +0100)]
fs/cbfs: Add missing free.

Found by: Coverity scan.

9 years agofont: Add missing free.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:55:18 +0000 (21:55 +0100)]
font: Add missing free.

Found by: Coverity Scan.

9 years agobiosdisk: Add missing cast.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:50:30 +0000 (21:50 +0100)]
biosdisk: Add missing cast.

Found by: Coverity scan.

9 years agodisk/geli: Add missing free.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:47:51 +0000 (21:47 +0100)]
disk/geli: Add missing free.

Found by: Coverity scan.

9 years agodisk/geli: Add missing seek success check.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:46:23 +0000 (21:46 +0100)]
disk/geli: Add missing seek success check.

Found by: Coverity scan.

9 years agodisk/diskfilter: Add missing lv presence check.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:44:27 +0000 (21:44 +0100)]
disk/diskfilter: Add missing lv presence check.

Found by: Coverity scan.

9 years agodisk/cryptodisk: Add missing error check.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:38:22 +0000 (21:38 +0100)]
disk/cryptodisk: Add missing error check.

Found by: Coverity scan.

9 years agodisk/ahci: Fix device_map_range argument.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:37:28 +0000 (21:37 +0100)]
disk/ahci: Fix device_map_range argument.

Argument is not used on x86, hence it's gone unnoticed.

Found by: Coverity scan.

9 years agodisk/AFsplitter: check argument validity before doing any allocs.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:33:30 +0000 (21:33 +0100)]
disk/AFsplitter: check argument validity before doing any allocs.

This avoids possible memory leaks.

Found by: Coverity scan.

9 years agocommands/wildcard: Add missing free.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:29:19 +0000 (21:29 +0100)]
commands/wildcard: Add missing free.

Found by: Coverity scan.

9 years agocommands/verify: Fix sha1 context zeroing-out.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:27:10 +0000 (21:27 +0100)]
commands/verify: Fix sha1 context zeroing-out.

Current code doesn't zero-out context completely. It's a minor issue
really as sha1 init already takes care of initing the context.

9 years agocommands/tr: Simplify and fix missing parameter test.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:25:42 +0000 (21:25 +0100)]
commands/tr: Simplify and fix missing parameter test.

Found by: Coverity scan

9 years agocommands/syslinux: Add missing free.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:23:25 +0000 (21:23 +0100)]
commands/syslinux: Add missing free.

Found by: Coverity scan.

9 years agocommands/parttool: Add missing device close.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:22:02 +0000 (21:22 +0100)]
commands/parttool: Add missing device close.

Found by: Coverity scan.

9 years agocommands/nativedisk: Add missing device_close.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:18:36 +0000 (21:18 +0100)]
commands/nativedisk: Add missing device_close.

Found by: Coverity scan.

9 years agocommands/macbless: Handle device opening errors correctly.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:15:14 +0000 (21:15 +0100)]
commands/macbless: Handle device opening errors correctly.

Wrong variable was checked for errors.

Found by: Coverity scan.

9 years agocommands/macbless: Fix potential overflow.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:12:02 +0000 (21:12 +0100)]
commands/macbless: Fix potential overflow.

Is a minor concern as no such FS would be created under normal circumstances
and failure was benign.

Found by: Coverity scan.

9 years agocommands/macbless: Remove incorrect grub_free.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:08:50 +0000 (21:08 +0100)]
commands/macbless: Remove incorrect grub_free.

Found by: Coverity Scan

9 years agocommands/legacycfg: Fix resource leaks.
Vladimir Serbinenko [Sat, 24 Jan 2015 20:06:23 +0000 (21:06 +0100)]
commands/legacycfg: Fix resource leaks.

9 years agozfs: Fix disk-matching logic.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:57:26 +0000 (20:57 +0100)]
zfs: Fix disk-matching logic.

Reported by: Tim Chase <dweeezil>

9 years agocommands/hdparm: Add missing grub_disk_close.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:55:06 +0000 (20:55 +0100)]
commands/hdparm: Add missing grub_disk_close.

Found by: Coverity scan.

9 years agogptsync: Add missing device_close.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:52:02 +0000 (20:52 +0100)]
gptsync: Add missing device_close.

Found by: Coverity scan

9 years agocommands/fileXX: Fix memory leak.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:50:35 +0000 (20:50 +0100)]
commands/fileXX: Fix memory leak.

Found by: Coverity Scan.

9 years agocommands/file: Change the confusing loop stop condition.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:45:25 +0000 (20:45 +0100)]
commands/file: Change the confusing loop stop condition.

Old condition was used to zero-out header variable on exit of the loop.
This is correct but confusing. Replace with in-loop logic.

Found by: Coverity Scan.

9 years agocommands/acpi: Use ALIGN_UP rather than manual expression.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:41:43 +0000 (20:41 +0100)]
commands/acpi: Use ALIGN_UP rather than manual expression.

Improves readability and hopefully automatic scanning.

Found by: Coverity Scan.

9 years agouhci: Fix null pointer dereference.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:38:12 +0000 (20:38 +0100)]
uhci: Fix null pointer dereference.

Found by: Coverity scan.

9 years agoAlways add -msoft-float to avoid compiler generating float arithmetics.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:37:08 +0000 (20:37 +0100)]
Always add -msoft-float to avoid compiler generating float arithmetics.

9 years agoGenerate empty ChangeLog if no .git is available.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:14:59 +0000 (20:14 +0100)]
Generate empty ChangeLog if no .git is available.

When making dist from a git snapshot without repo available make dist would
fail to find ChangeLog. Generate empty ChangeLog if no ChangeLog is already
present and repo is not available.

Reported by: Andrei Borzenkov <arvidjaar@gmail.com>

9 years agoMakefile.am: Fix Changelog cutoff address.
Vladimir Serbinenko [Sat, 24 Jan 2015 19:12:51 +0000 (20:12 +0100)]
Makefile.am: Fix Changelog cutoff address.

gitlog-to-changelog Doesn't generate entries for cutoff day, only
for days after the cutoff date, adjust by one to compensate.

9 years agoefidisk: Return the determined root disk even if partition is unknown.
Vladimir Serbinenko [Sat, 24 Jan 2015 18:53:13 +0000 (19:53 +0100)]
efidisk: Return the determined root disk even if partition is unknown.

9 years agoutil/grub-mkrescue.c: Always include part_msdos and part_gpt on EFI.
Vladimir Serbinenko [Sat, 24 Jan 2015 16:45:16 +0000 (17:45 +0100)]
util/grub-mkrescue.c: Always include part_msdos and part_gpt on EFI.

When booted from stick, EFI would use GPT partition and our root
device detection algortihm depends on GRUB's ability to see the same
partitions. Hence include msdos and gpt partmap modules on EFI even when
they're not needed to access root filesystem.

9 years agoconf/Makefile.common: Remove unused {LD,C}FLAGS_CPU.
Vladimir Serbinenko [Sat, 24 Jan 2015 16:44:19 +0000 (17:44 +0100)]
conf/Makefile.common: Remove unused {LD,C}FLAGS_CPU.

9 years agoAutogenerate ChangeLog from git changelog.
Vladimir Serbinenko [Sat, 24 Jan 2015 16:29:50 +0000 (17:29 +0100)]
Autogenerate ChangeLog from git changelog.

Old ChangeLog is moved to ChangeLog-2015. For all changes starting from
this one ChangeLog will be generated from gitlog only on explicit make
invocation and make dist.

9 years ago * tests/file_filter/file: Really add missing file.
Vladimir Serbinenko [Fri, 23 Jan 2015 18:46:02 +0000 (19:46 +0100)]
* tests/file_filter/file: Really add missing file.

9 years agoMention platform "none" in NEWS
Andrei Borzenkov [Fri, 23 Jan 2015 18:06:16 +0000 (21:06 +0300)]
Mention platform "none" in NEWS

9 years agoaccept also hdX as alias to native Xen disk name
Andrey Borzenkov [Fri, 23 Jan 2015 16:52:45 +0000 (19:52 +0300)]
accept also hdX as alias to native Xen disk name

To be compatible with legacy pv-grub, sort disks by increasing order of handle
value. This allows reusing legacy pv-grub menu.lst which is using hdX names.

Suggested-By: Michael Chang <mchang@suse.com>
Closes: 44026
9 years agoRemove direct _llseek code and require long filesystem libc.
Felix Janda [Thu, 22 Jan 2015 18:54:36 +0000 (19:54 +0100)]
Remove direct _llseek code and require long filesystem libc.

9 years ago Remove potential division by 0 in gfxmenu.
Vladimir Serbinenko [Wed, 21 Jan 2015 14:56:53 +0000 (15:56 +0100)]
Remove potential division by 0 in gfxmenu.

9 years agogrub_menu_init_page: Avoid returning 0 geometry to avoid divisions by 0.
Vladimir Serbinenko [Wed, 21 Jan 2015 14:51:49 +0000 (15:51 +0100)]
grub_menu_init_page: Avoid returning 0 geometry to avoid divisions by 0.

9 years agounix/cputime.c: Cache sc_clk_tck and check it for sanity.
Vladimir Serbinenko [Wed, 21 Jan 2015 09:28:52 +0000 (10:28 +0100)]
unix/cputime.c: Cache sc_clk_tck and check it for sanity.

9 years ago * grub-core/kern/efi/mm.c (grub_efi_get_memory_map): Never return a
Vladimir Serbinenko [Wed, 21 Jan 2015 09:17:36 +0000 (10:17 +0100)]
* grub-core/kern/efi/mm.c (grub_efi_get_memory_map): Never return a
descriptor_size==0 to avoid potential divisions by zero.

9 years agohaiku/getroot.c (grub_util_find_partition_start_os): Avoid division by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 20:12:46 +0000 (21:12 +0100)]
haiku/getroot.c (grub_util_find_partition_start_os): Avoid division by zero.

9 years agortc_get_time_ms.c (grub_rtc_get_time_ms): Avoid division by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 20:10:55 +0000 (21:10 +0100)]
rtc_get_time_ms.c (grub_rtc_get_time_ms): Avoid division by zero.

9 years ago * grub-core/loader/i386/xnu.c (guessfsb): Avoid division by 0.
Vladimir Serbinenko [Tue, 20 Jan 2015 20:07:41 +0000 (21:07 +0100)]
* grub-core/loader/i386/xnu.c (guessfsb): Avoid division by 0.

9 years ago * grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that
Vladimir Serbinenko [Tue, 20 Jan 2015 20:07:08 +0000 (21:07 +0100)]
* grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that
no division by 0 occurs.

9 years ago * include/grub/misc.h (grub_div_roundup): Remove as it's unused.
Vladimir Serbinenko [Tue, 20 Jan 2015 19:52:41 +0000 (20:52 +0100)]
* include/grub/misc.h (grub_div_roundup): Remove as it's unused.

9 years ago * grub-core/term/gfxterm.c: Avoid division by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 19:50:35 +0000 (20:50 +0100)]
* grub-core/term/gfxterm.c: Avoid division by zero.

9 years agoAvoid division by zero in serial.
Vladimir Serbinenko [Tue, 20 Jan 2015 19:41:36 +0000 (20:41 +0100)]
Avoid division by zero in serial.

9 years ago * grub-core/video/readers/jpeg.c: Avoid division by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 18:35:49 +0000 (19:35 +0100)]
* grub-core/video/readers/jpeg.c: Avoid division by zero.

9 years ago* grub-core/disk/diskfilter.c: Validate volumes to avoid division by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 18:33:20 +0000 (19:33 +0100)]
* grub-core/disk/diskfilter.c: Validate volumes to avoid division by zero.

9 years agoterm.h: Avoid returining 0-sized terminal as it may lead to division by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 16:55:41 +0000 (17:55 +0100)]
term.h: Avoid returining 0-sized terminal as it may lead to division by zero.

9 years ago * grub-core/fs/zfs.c: Avoid divisions by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 16:46:55 +0000 (17:46 +0100)]
* grub-core/fs/zfs.c: Avoid divisions by zero.

9 years ago * grub-core/fs/btrfs.c: Avoid divisions by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 16:36:29 +0000 (17:36 +0100)]
* grub-core/fs/btrfs.c: Avoid divisions by zero.

9 years agogrub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Check that hash len is not 0.
Vladimir Serbinenko [Tue, 20 Jan 2015 14:26:09 +0000 (15:26 +0100)]
grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Check that hash len is not 0.

9 years agoosdep/linux/blocklist.c (grub_install_get_blocklist): Check blocksize validity.
Vladimir Serbinenko [Tue, 20 Jan 2015 14:19:35 +0000 (15:19 +0100)]
osdep/linux/blocklist.c (grub_install_get_blocklist): Check blocksize validity.

9 years ago * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity.
Vladimir Serbinenko [Tue, 20 Jan 2015 14:10:34 +0000 (15:10 +0100)]
* grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity.

9 years ago * grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
Vladimir Serbinenko [Tue, 20 Jan 2015 14:09:42 +0000 (15:09 +0100)]
* grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
validity.

9 years agogrub_dmraid_nv_detect: Do not divide by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 14:01:58 +0000 (15:01 +0100)]
grub_dmraid_nv_detect: Do not divide by zero.

9 years ago* grub-core/fs/hfs.c (grub_hfs_mount): Additional filesystem sanity checks.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:59:40 +0000 (14:59 +0100)]
* grub-core/fs/hfs.c (grub_hfs_mount): Additional filesystem sanity checks.

9 years ago * grub-core/fs/minix.c: Additional filesystem sanity checks.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:53:09 +0000 (14:53 +0100)]
* grub-core/fs/minix.c: Additional filesystem sanity checks.

9 years ago* grub-core/fs/ext2.c (grub_ext2_mount): Additional checks for superblock validity.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:40:27 +0000 (14:40 +0100)]
* grub-core/fs/ext2.c (grub_ext2_mount): Additional checks for superblock validity.

9 years agogrub_ufs_mount: Check that sblock.ino_per_group is not 0.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:30:05 +0000 (14:30 +0100)]
grub_ufs_mount: Check that sblock.ino_per_group is not 0.

9 years agoReject NILFS2 superblocks with over 1GiB blocks.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:27:27 +0000 (14:27 +0100)]
Reject NILFS2 superblocks with over 1GiB blocks.

* grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
block size is <= 1GiB.

9 years agogrub_ata_setaddress: Check that geometry is sane when using CHS addressing.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:16:22 +0000 (14:16 +0100)]
grub_ata_setaddress: Check that geometry is sane when using CHS addressing.

9 years ago* grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:12:30 +0000 (14:12 +0100)]
* grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.

9 years agogrub_cmd_play: Avoid division by zero.
Vladimir Serbinenko [Tue, 20 Jan 2015 13:11:32 +0000 (14:11 +0100)]
grub_cmd_play: Avoid division by zero.

9 years agogrub-core/fs/minix.c (grub_minix_read_file): Avoid reading past the end of file.
Vladimir Serbinenko [Tue, 20 Jan 2015 12:55:55 +0000 (13:55 +0100)]
grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past the end of file.

9 years agogrub_fshelp_read_file: Don't attempt to read past the end of file.
Vladimir Serbinenko [Tue, 20 Jan 2015 11:58:17 +0000 (12:58 +0100)]
grub_fshelp_read_file: Don't attempt to read past the end of file.

9 years agogrub_script_lexer_yywrap: Update len synchronously with line.
Vladimir Serbinenko [Tue, 20 Jan 2015 11:53:20 +0000 (12:53 +0100)]
grub_script_lexer_yywrap: Update len synchronously with line.

9 years agoReplace explicit sizeof divisions by ARRAY_SIZE.
Vladimir Serbinenko [Tue, 20 Jan 2015 11:45:45 +0000 (12:45 +0100)]
Replace explicit sizeof divisions by ARRAY_SIZE.

9 years agoSupport GELI v6 and v7
Kris Moore [Mon, 19 Jan 2015 18:56:41 +0000 (21:56 +0300)]
Support GELI v6 and v7

9 years agoFix serial --rtscts option processing
Andrei Borzenkov [Tue, 9 Dec 2014 18:41:49 +0000 (21:41 +0300)]
Fix serial --rtscts option processing

9 years agogrub-core/kern/arm/misc.S: fix unaligned grub_uint64_t local variable
David Kozub [Thu, 20 Nov 2014 20:53:14 +0000 (21:53 +0100)]
grub-core/kern/arm/misc.S: fix unaligned grub_uint64_t local variable

The unaligned local in __aeabi_uidivmod leads to a store to a 64bit
value at an address that is not divisible by 8 (in grub_divmod64).
The compiler most likely generates a STRD instruction to store it and
this causes an exception.

Fixes Savannah bug #43632.

This includes improvements done by Leif Lindholm.

9 years ago* grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse chunks.
Peter Nelson [Sun, 7 Dec 2014 16:57:49 +0000 (17:57 +0100)]
* grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse chunks.

9 years agoAvoid use of non-portable echo -n in grub-mkconfig
Andrei Borzenkov [Sun, 7 Dec 2014 11:56:17 +0000 (14:56 +0300)]
Avoid use of non-portable echo -n in grub-mkconfig

util/grub-mkconfig_lib.in(version_test_gt): "echo -n" is not really needed,
final newline is stripped by command substitution.

util/grub.d/10_kfreebsd.in, util/grub.d/10_linux.in,
util/grub.d/20_linux_xen.in: change how list is built, to avoid echo -n
completely.

util/grub.d/30_os-prober.in: add spaces to printed line directly

Closes 43668.

9 years agofix double free in grub_net_recv_tcp_packet
Curtis Larsen [Sun, 7 Dec 2014 08:28:57 +0000 (11:28 +0300)]
fix double free in grub_net_recv_tcp_packet

Using the http module to download config files, produces memory errors,
after the config file is downloaded.

The error was traced to the tcp stack in grub-core/net/tcp.c. The wrong
netbuff pointer was being freed in the clean up loop.

Changing the code to free the correct netbuff pointer removes the runtime
error.

Closes 42765.

9 years agofix memory corruption in pubkey filter over network
Andrei Borzenkov [Fri, 5 Dec 2014 18:17:08 +0000 (21:17 +0300)]
fix memory corruption in pubkey filter over network

grub_pubkey_open closed original file after it was read; it set
io->device to NULL to prevent grub_file_close from trying to close device.
But network device itself is stacked (net -> bufio); and bufio preserved
original netfs file which hold reference to device. grub_file_close(io)
called grub_bufio_close which called grub_file_close for original file.
grub_file_close(netfs-file) now also called grub_device_close which
freed file->device->net. So file structure returned by grub_pubkey_open
now had device->net pointed to freed memory. When later file was closed,
it was attempted to be freed again.

Change grub_pubkey_open to behave like other filters - preserve original
parent file and pass grub_file_close down to parent. In this way only the
original file will close device. We really need to move this logic into
core instead.

Also plug memory leaks in error paths on the way.

Reported-By: Robert Kliewer <robert.kliewer@gmail.com>
Closes: bug #43601
9 years agoadd file filters tests
Andrei Borzenkov [Fri, 5 Dec 2014 17:19:58 +0000 (20:19 +0300)]
add file filters tests

Tests file access with all filters enabled. It does it both for local
and network access, due to regression in signature checking over network.

This includes all files in distribution to not depend on existence
of compression tools and gpg. Test preloads all required modules to
avoid having to provide signatures for them.

Still not implemented is file offset filter (is not available in grub
script, needs extra module)

9 years agogrub-shell: support --files also for net boot
Andrei Borzenkov [Fri, 5 Dec 2014 16:55:59 +0000 (19:55 +0300)]
grub-shell: support --files also for net boot

This allows running tests that require extra files using netboot as well.

9 years agogrub-core/loader/i386/xen_fileXX.c: memory leak in grub_xen_get_infoXX
Andrei Borzenkov [Mon, 1 Dec 2014 18:23:54 +0000 (21:23 +0300)]
grub-core/loader/i386/xen_fileXX.c: memory leak in grub_xen_get_infoXX

CID: 73645, 73782

9 years agogrub-core/fs/zfs/zfsinfo.c: memory leak in print_vdev_info
Andrei Borzenkov [Mon, 1 Dec 2014 17:54:12 +0000 (20:54 +0300)]
grub-core/fs/zfs/zfsinfo.c: memory leak in print_vdev_info

CID: 73635

9 years agogrub-core/lib/syslinux_parse.c: do not free array
Andrei Borzenkov [Sun, 30 Nov 2014 15:48:42 +0000 (18:48 +0300)]
grub-core/lib/syslinux_parse.c: do not free array

say->msg is inline array in a structure and should not be freed.
CID: 73610