Andrei Borzenkov
cf0b0306d8
usb: fix use after free
...
Found by: Coverity scan.
CID: 96704
2015-06-20 23:38:18 +03:00
Andrei Borzenkov
e261fcf4c6
xnu: fix use after free
...
Found by: Coverity scan.
CID: 96706
2015-06-20 23:38:18 +03:00
Andrei Borzenkov
cd816bd236
disk/scsi: fix use after free
...
Found by: Coverity scan.
CID: 96713
2015-06-20 23:38:18 +03:00
Andrei Borzenkov
c069460259
efi/chainloader: fix use after free
...
Found by: Coverity scan.
CID: 96714
2015-06-20 23:38:17 +03:00
Andrei Borzenkov
0fb886cde9
search: fix use after free
...
Found by: Coverity scan.
CID: 96715
2015-06-20 23:38:17 +03:00
Andrei Borzenkov
fbdd37e7f9
zfs: fix memory leak
...
Found by: Coverity scan.
CID: 73647
2015-06-19 20:47:43 +03:00
Andrei Borzenkov
4db569ca6a
xfs: silence Coverity overflow warning
...
inode size cannot really overflow integer, but Coverity does not know it.
CID: 96602
2015-06-19 18:38:25 +03:00
Andrei Borzenkov
15ba6a40be
zfs: memory leak
...
Found by Coverity scan.
CID: 96603
2015-06-19 18:38:25 +03:00
Andrei Borzenkov
5d0ee3d7a1
unix/getroot: memory leak
...
Found by Coverity scan.
CID: 96605
2015-06-19 18:38:25 +03:00
Andrei Borzenkov
10a6d2d915
unix/relpath: memory leak
...
Found by Coverity scan.
CID: 96606
2015-06-19 18:38:25 +03:00
Andrei Borzenkov
48cd9dc104
syslinux_parse: assorted issues found by Coverity
...
1. Remove unneeded NULL check
CID: 96607
2. Do not allocate storage for initrd, copy it directly from input
buffer. Avoids memory leak in failure path.
CID: 96604
3. Unchecked error return from print()
CID: 96601, 73595
2015-06-19 18:38:25 +03:00
Andrei Borzenkov
8067fe28ed
syslinux_parse: make print_escaped actually stop before `to'
...
The only current user is mboot.c32 which unfortunately is not covered
by regression tests.
2015-06-19 17:35:17 +03:00
Andrei Borzenkov
7bb7140df2
fat: fix handling of "." and ".." directory entries
...
Emulate dot and dotdot in root directory. For other directories do not
add separator between name and extension for these two special entries.
Closes: 45335
2015-06-18 20:09:47 +03:00
Andrei Borzenkov
f348aee7b3
efinet: enable hardware filters when opening interface
...
Exclusive open on SNP will close all existing protocol instances which
may disable all receive filters on interface. Reinstall them after we
opened protocol exclusively.
Also follow UEFI specification recommendation and stop interfaces when
closing them:
Unexpected system errors, reboots and hangs can occur if an OS is loaded
and the network devices are not Shutdown() and Stopped().
Also by: Mark Salter <msalter@redhat.com>
Closes: 45204
2015-06-16 19:52:45 +03:00
Mark Salter
c945ca75c3
Fix exit to EFI firmware
...
The current code for EFI grub_exit() calls grub_efi_fini() before
returning to firmware. In the case of ARM, this leaves a timer
event running which could lead to a firmware crash. This patch
changes this so that grub_machine_fini() is called with a NORETURN
flag. This allows machine-specific shutdown to happen as well
as the shutdown done by grub_efi_fini().
Signed-off-by: Mark Salter <msalter@redhat.com>
2015-06-12 13:08:36 +03:00
Paul Menzel
f4b1b48a83
disk/ahci.c: Use defines GRUB_AHCI_HBA_PORT_CMD_SPIN_UP
and GRUB_AHCI_HBA_PORT_CMD_POWER_ON
...
Instead of hard coding `2` and `4` use the macros defined already at the
top of the file. As a consequence, wrap the now too long line.
2015-06-12 09:43:00 +03:00
Jan Kara
b6e80c7778
xfs: V5 filesystem format support
...
Add support for new XFS on disk format. We have to handle optional
filetype fields in directory entries, additional CRC, LSN, UUID entries
in some structures, etc.
Signed-off-by: Jan Kara <jack@suse.cz>
2015-06-12 09:30:02 +03:00
Jan Kara
d3ffeb9a9a
xfs: Add helpers for inode size
...
Add helpers to return size of XFS inode on disk and when loaded in
memory.
Signed-off-by: Jan Kara <jack@suse.cz>
2015-06-12 09:27:09 +03:00
dann frazier
3ac342205d
arm64/setjmp: Add missing license macro
...
Including the setjmp module in an arm64-efi image will cause it to
immediately exit with an "incompatible license" error.
The source file includes a GPLv3+ boilerplate, so fix this by declaring a
GPLv3+ license using the GRUB_MOD_LICENSE macro.
Signed-off-by: dann frazier <dann.frazier@canonical.com>
2015-06-01 17:02:04 +01:00
Paul Menzel
ca59c24bd0
disk/ahci.c: Add port number to port debug messages
...
Currently, some messages cannot be mapped to the port they belong to as
the port number is missing from the output. So add `port: n` to the
debug messages.
2015-05-31 09:26:46 +03:00
Paul Menzel
fd73b3d008
Correct spelling of *scheduled*
...
Run the command below
$ git grep -l schedulded | xargs sed -i 's/schedulded/scheduled/g'
and revert the change in `ChangeLog-2015`.
Including "miscellaneous" spelling fix noted by richardvoigt@gmail.com
2015-05-30 10:05:43 +03:00
Toomas Soome
cad5cc0f5d
zfs extensible_dataset and large_blocks feature support
...
large blocks basically use extensible dataset feature, or to be exact,
setting recordsize above 128k will trigger large_block feature to be
enabled and storing such blocks is using feature extensible dataset. so
the extensible dataset is prerequisite.
Changes implement read support extensible dataset… instead of fixed DMU
types they dont specify type, making it possible to use fat zap objects
from bonus area.
2015-05-30 08:50:53 +03:00
Vladimir Serbinenko
c856be6bca
multiboot1: never place modules in low memory.
...
While in theory permitted by the spec, modules rarely fit in low memory
anyway and not every kernel is able to handle modules in low memory anyway.
At least VMWare is known not to be able to handle modules at arbitrary
locations.
2015-05-27 08:41:39 +02:00
Paul Menzel
5e74a3e6df
disk/ahci: Use defines GRUB_ATA_STATUS_BUSY
and GRUB_ATA_STATUS_DRQ
...
Instead of hard coding `0x88` use the macros defined in `disk/ata.h`.
2015-05-24 21:19:01 +03:00
Paul Menzel
f4e62af000
cb_timestamps.c: Add new time stamp descriptions
...
Add the descriptions of the “core”, that means no vendorcode or payload,
coreboot time stamps added up to coreboot commit a7d92441 (timestamps:
You can never have enough of them!) [1].
Running `coreboot_boottime` in the GRUB command line interface now shows
descriptions for all time stamps again on the ASRock E350M1.
[1] http://review.coreboot.org/9608
2015-05-19 20:28:07 +03:00
Andrei Borzenkov
a666c8bd18
bootp: ignore gateway_ip (relay) field.
...
From RFC1542:
The 'giaddr' field is rather poorly named. It exists to facilitate
the transfer of BOOTREQUEST messages from a client, through BOOTP
relay agents, to servers on different networks than the client.
Similarly, it facilitates the delivery of BOOTREPLY messages from the
servers, through BOOTP relay agents, back to the client. In no case
does it represent a general IP router to be used by the client. A
BOOTP client MUST set the 'giaddr' field to zero (0.0.0.0) in all
BOOTREQUEST messages it generates.
A BOOTP client MUST NOT interpret the 'giaddr' field of a BOOTREPLY
message to be the IP address of an IP router. A BOOTP client SHOULD
completely ignore the contents of the 'giaddr' field in BOOTREPLY
messages.
Leave code ifdef'd out for the time being in case we see regression.
Suggested by: Rink Springer <rink@rink.nu>
Closes: 43396
2015-05-17 22:38:30 +03:00
Andrei Borzenkov
2498dc7a3a
hostdisk: fix crash with NULL device.map
...
grub-macbless calls grub_util_biosdisk_init with NULL device.map.
2015-05-17 14:16:36 +03:00
Andrei Borzenkov
5370dcfdae
zfs: fix integer truncation in zap_lookup
...
Size after shift could exceed 16 bits; use grub_unit32_t for result.
Reported and tested by: Kostya Berger <bergerkos@yahoo.co.uk>
Closes: 44448
2015-05-14 07:50:33 +03:00
Andrei Borzenkov
5082ea6184
remove extra newlines in grub_util_* strings
...
grub_util_{info,warn,error} already add trailing newlines, so remove
them from format strings. Also trailing full stops are already added.
2015-05-13 09:47:17 +03:00
Jan Kara
a139188eb5
xfs: Convert inode numbers to cpu endianity immediately after reading
...
Currently XFS driver converted inode numbers to native endianity only
when using them to compute inode position. Although this works, it is
somewhat confusing. So convert inode numbers when reading them from disk
structures as every other field.
Signed-off-by: Jan Kara <jack@suse.cz>
2015-05-12 08:21:10 +03:00
Jan Kara
1570140f03
xfs: Fix termination loop for directory iteration
...
Directory iteration used wrong position (sizeof wrong structure) for
termination of iteration inside a directory block. Luckily the position
ended up being wrong by just 1 byte and directory entries are larger so
things worked out fine in practice. But fix the problem anyway.
Signed-off-by: Jan Kara <jack@suse.cz>
2015-05-11 14:48:14 +03:00
Andrei Borzenkov
07258815e9
acpi: do not skip BIOS scan if EBDA length is zero
...
EBDA layout is not standardized so we cannot assume first two bytes
are length. Neither is it required by ACPI standard. HP 8710W is known
to contain zeroes here.
Closes: 45002
2015-05-08 06:15:16 +03:00
Andrei Borzenkov
49426e9fd2
efinet: open Simple Network Protocol exclusively
...
EDK2 network stack is based on Managed Network Protocol which is layered
on top of Simple Management Protocol and does background polling. This
polling races with grub for received (and probably trasmitted) packets
which causes either serious slowdown or complete failure to load files.
Open SNP device exclusively. This destroys all child MNP instances and
stops background polling.
Exclusive open cannot be done when enumerating cards, as it would destroy
PXE information we need to autoconfigure interface; and it cannot be done
during autoconfiguration as we need to do it for non-PXE boot as well. So
move SNP open to card ->open method and add matching ->close to clean up.
Based on patch from Mark Salter <msalter@redhat.com>
Also-By: Mark Salter <msalter@redhat.com>
Closes: 41731
2015-05-07 20:37:17 +03:00
Andrei Borzenkov
c52ae40570
efinet: skip virtual IPv4 and IPv6 devices when enumerating cards
...
EDK2 PXE driver creates two child devices - IPv4 and IPv6 - with
bound SNP instance. This means we get three cards for every physical
adapter when enumerating. Not only is this confusing, this may result
in grub ignoring packets that come in via the "wrong" card.
Example of device hierarchy is
Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
Skip PXE created virtual devices when enumerating cards. Make sure to
find real card when applying initial autoconfiguration during PXE boot,
this information is associated with one of child devices.
2015-05-07 20:37:17 +03:00
Andrei Borzenkov
7b386b7031
efidisk: move device path helpers in core for efinet
2015-05-07 20:37:16 +03:00
Andrei Borzenkov
16a7e723ea
convert to, not from, CPU byte order in DNS receive function
2015-05-07 20:33:28 +03:00
Andrei Borzenkov
a8c473288d
loader/linux: do not pad initrd with zeroes at the end
...
Syslinux memdisk is using initrd image and needs to know uncompressed
size in advance. For gzip uncompressed size is at the end of compressed
stream. Grub padded each input file to 4 bytes at the end, which means
syslinux got wrong size.
Linux initramfs loader apparently does not care about trailing alignment.
So change code to align beginning of each file instead which atomatically
gives us the correct size for single file.
Reported-By: David Shaw <dshaw@jabberwocky.com>
2015-05-07 20:24:24 +03:00
Daniel Kiper
71783dc978
i386/relocator: Remove unused extern grub_relocator64_rip_addr
...
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
2015-05-07 18:00:47 +02:00
Vladimir Serbinenko
e5b4ba8c2b
linux.c: Ensure that initrd is page-aligned.
2015-05-07 16:23:39 +02:00
Vladimir Serbinenko
9f731abc7f
Revert parts accidentally committed 2 commits ago.
2015-05-07 16:21:34 +02:00
Fu Wei
f8451af825
arm64: Export useful functions from linux.c
...
Signed-off-by: Fu Wei <fu.wei@linaro.org>
2015-05-07 15:11:04 +02:00
Andrei Borzenkov
cc699535e5
Revert "efinet: memory leak on module removal"
...
This reverts commits 47b2bee3ef
and 8d3c4544ff
. It is not safe
to free allocated cards, dangling pointers main remain. Such
cleanup requires more changes in net core.
2015-05-04 09:17:59 +03:00
Andrei Borzenkov
47b2bee3ef
efinet: cannot free const char * pointer
2015-05-04 08:39:29 +03:00
Andrei Borzenkov
8d3c4544ff
efinet: memory leak on module removal
2015-05-04 08:08:57 +03:00
Andrei Borzenkov
6210b8e8f7
zfs: add missing NULL check and fix incorrect buffer overwrite
...
grub_memset should zero out padding after data end. It is not clear
why it is needed at all - ZFS block is at least 512 bytes and power
of two, so it is always multiple of 16 bytes. This grub_memset
apparently never did anything.
2015-05-03 18:57:32 +03:00
Toomas Soome
4a7ea4003b
zfs: com.delphix:embedded_data feature support
2015-05-03 18:45:40 +03:00
Toomas Soome
a1007c6af2
zfs: com.delphix:hole_birth feature support
...
In the past birth was always zero for holes. This feature started
to make use of birth for holes as well, so change code to test for
valid DVA address instead.
2015-05-03 18:11:29 +03:00
Toomas Soome
677dcaa92b
getroot: include sys/mkdev.h for makedev
...
Solaris (like) systems need to include sys/mkdev.h for makedev() function.
2015-04-13 19:52:28 +03:00
Toomas Soome
5b5d8666a7
core/partmap: rename 'sun' to avoid clash with predefined symbol
...
the symbol “sun” is defined macro in solaris derived systems, from
gcc -dM -E:
and therefore can not be used as name.
2015-04-13 19:49:15 +03:00
Andrei Borzenkov
f11db3c7fc
core: avoid NULL derefrence in grub_divmod64s
...
It can be called with NULL for third argument. grub_divmod32* for
now are called only from within wrappers, so skip check.
Reported-By: Michael Zimmermann <sigmaepsilon92@gmail.com>
2015-04-06 19:30:51 +03:00
Sarah Newman
7d39938474
grub-core/loader/i386/xen.c: Initialized initrd_ctx so we don't free a random pointer from the stack.
...
Signed-off-by: Sarah Newman <srn@prgmr.com>
2015-03-28 07:14:17 +03:00
Andrei Borzenkov
ebd92af8c3
net: trivial grub_cpu_to_XX_compile_time cleanup
2015-03-27 18:58:57 +03:00
Lunar
c9ee9bedef
syslinux: Support {vesa,}menu.c32.
2015-03-27 15:15:13 +01:00
Steve McIntyre
1a33de8b56
Recognize EFI platform even in case of mismatch between Linux and EFI.
...
Some x86 systems might be capable of running a 64-bit Linux kernel but
only use a 32-bit EFI (e.g. Intel Bay Trail systems). It's useful for
grub-install to be able to recognise such systems, to set the default
x86 platform correctly.
To allow grub-install to know the size of the firmware rather than
just the size of the kernel, there is now an extra EFI sysfs file to
describe the underlying firmware. Read that if possible, otherwise
fall back to the kernel type as before.
Signed-off-by: Steve McIntyre <steve@einval.com>
2015-03-27 14:51:51 +01:00
Michael Zimmermann
ed07b7e128
Add missing initializers to silence suprious warnings.
2015-03-27 14:44:41 +01:00
Leif Lindholm
d47e8ab4b9
dl_helper: Cleanup
...
Use the new thumb_get_instruction_word/thumb_set_instruction_word
helpers throughout.
Style cleanup (missing spaces).
Move Thumb MOVW/MOVT handlers into Thumb relocation section of file.
2015-03-27 14:37:16 +01:00
Martin Wilck
cf2b4a36c4
efinet: Check for immediate completition.
...
This both speeds GRUB up and workarounds unexpected EFI behaviour.
2015-03-27 14:27:56 +01:00
Vladimir Serbinenko
c14f8a9366
modinfo.sh.in: Add missing config variables.
2015-03-27 12:18:25 +01:00
Vladimir Serbinenko
94222b72b5
Makefile.core.def: Remove obsolete LDADD_KERNEL
2015-03-27 12:18:25 +01:00
Vladimir Serbinenko
63034d3261
arp, icmp: Fix handling in case of oversized or invalid packets.
...
This restrict ARP handling to MAC and IP addresses but in practice we need
only this case anyway and other cases are very rar if exist at all. It makes
code much simpler and less error-prone.
2015-03-27 12:18:25 +01:00
Colin Watson
5974d4ba65
hostfs: Drop unnecessary feature test macros
...
_BSD_SOURCE was added to allow the use of DT_DIR, but that was removed
in e768b77068
. While adding
_DEFAULT_SOURCE as well works around problems with current glibc,
neither is in fact needed nowadays.
2015-03-23 14:32:30 +00:00
Vladimir Serbinenko
fe6695b7d6
emunet: Fix init error checking.
...
Otherwise emunet doesn't expose any cards.
2015-03-20 12:59:00 +01:00
Vladimir Serbinenko
9c07daaf91
cacheinfo: Add missing license information.
2015-03-20 11:13:58 +01:00
Andrei Borzenkov
527eeeeee6
core: add LVM RAID1 support
...
Closes 44534.
2015-03-19 21:30:27 +03:00
Vladimir Serbinenko
5fe21c9968
hfsplus: Fix potential access to uninited memory on invalid FS
2015-03-06 22:33:20 +01:00
Andrei Borzenkov
8842991a56
update gnulib/argp-help.c to fix garbage in grub-mknetdir --help output
...
argp_help attempts to translate empty string, which results in printing
meta information about translation, like in
bor@opensuse:~/build/grub> grub2-mknetdir --help
Использование: grub2-mknetdir [ПАРАМЕТР…]
Project-Id-Version: grub 2.02-pre2
Report-Msgid-Bugs-To: bug-grub@gnu.org
...
Update gnulib/argp-help.c to the current version which fixes this
(commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
2015-03-05 20:19:47 +03:00
Vladimir Serbinenko
dc06aa949b
syslinux_parse: Fix the case of unknown localboot.
...
Reported by: Jordan Uggla
2015-03-04 14:19:29 +01:00
Vladimir Serbinenko
27d1a67f8a
Fix canonicalize_file_name clash.
...
canonicalize_file_name clashed with gnulib function. Additionally
it was declared in 2 places: emu/misc.h and util/misc.h. Added
grub_ prefix and removed second declaration.
2015-03-04 01:00:19 +01:00
Vladimir Serbinenko
9d25b0da9a
Remove emu libusb support.
...
It's disabled by default and has been broken for a long time.
As nobody is interested in fixing and maintaining it, remove it.
2015-03-03 20:59:36 +01:00
Vladimir Serbinenko
064360e667
Remove libgcc dependency.
...
libgcc for boot environment isn't always present and compatible.
libgcc is often absent if endianness or bit-size at boot is different
from running OS.
libgcc may use optimised opcodes that aren't available on boot time.
So instead of relying on libgcc shipped with the compiler, supply
the functions in GRUB directly.
Tests are present to ensure that those replacement functions behave the
way compiler expects them to.
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
87ec3b7fa9
Don't continue to query block-size if disk doesn't have it.
...
Stops poluting screen with a lot of "block-size: exception -21".
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
66b0e6649b
emu/cache: Change declaration of __clear_cache to match builtin declaration.
...
Fixes compile of arm64-emu.
2015-02-26 22:20:59 +01:00
Vladimir Serbinenko
38b7a30269
arm/dl: Fix handling of nonstandard relocation sizes
2015-02-26 22:10:29 +01:00
Vladimir Serbinenko
7ba066419a
gzio: Optimize by removing division.
2015-02-26 22:10:09 +01:00
Vladimir Serbinenko
67a6a9512a
raid6: Optimize by removing division.
2015-02-26 22:07:22 +01:00
Vladimir Serbinenko
f76c98b79e
dmraid_nvidia: Fix division by 0 and missing byte-swap.
2015-02-26 22:06:19 +01:00
Vladimir Serbinenko
94f701a826
crypto: restrict cipher block size to power of 2.
...
All current ciphers have blocks which are power of 2 and it's
unlikely to change. Other block length would be tricky to handle anyway.
This restriction allows avoiding extra divisions.
2015-02-26 22:04:40 +01:00
Vladimir Serbinenko
7213c1e028
jpeg: Optimise by replacing division with shifts.
2015-02-26 21:27:32 +01:00
Vladimir Serbinenko
18125877ee
png: Optimize by avoiding divisions.
2015-02-26 18:27:43 +01:00
Vladimir Serbinenko
80310ad07d
Add missing lib/division.c
2015-02-26 18:22:40 +01:00
Vladimir Serbinenko
f51218bc15
fbblit: Optimize by replacing division with additions and shifts.
2015-02-26 18:14:28 +01:00
Vladimir Serbinenko
dd4889f727
bitmap_scale: Optimize by moving division out of the loop.
2015-02-26 18:13:36 +01:00
Vladimir Serbinenko
6a4ecd276e
mips: Fix soft-float handling.
...
Add -msoft-float alongside clang arguments to specify ABI.
Specify ABI in asm files explicitly.
This trigers asm warning due to gcc failing to propagate -msoft-float
but it's tolerable.
2015-02-23 22:33:28 +01:00
Vladimir Serbinenko
7ea452a142
Add missing grub_ prefix in memcpy invocation
2015-02-23 22:29:33 +01:00
Vladimir Serbinenko
f034fab620
Supply signed division to fix ARM compilation.
...
Previously we supplied only unsigned divisions on platforms that need software
division.
Yet compiler may itself use a signed division. A typical example would be a
difference between 2 pointers which involves division by object size.
2015-02-23 04:12:04 +01:00
Vladimir Serbinenko
e1d4520bfb
acpi: Fix unused function warning.
2015-02-22 14:42:43 +01:00
Vladimir Serbinenko
50ebc8f5f3
i386/tsc: Fix unused function warning on xen.
2015-02-22 13:12:44 +01:00
Vladimir Serbinenko
da9f30b455
mips: Switch to more portable .org
...
Binary is unchanged.
2015-02-21 20:43:57 +01:00
Vladimir Serbinenko
49e5fcb9fb
sparc64: Switch to more portable .org.
...
Binaries are unchanged.
2015-02-21 20:32:03 +01:00
Vladimir Serbinenko
e77dc3d9a0
kernel-8086: Switch to more portable .org.
2015-02-21 20:24:59 +01:00
Vladimir Serbinenko
3c6043245e
qemu: Switch to more portable .org
...
Binary is checked identical.
2015-02-21 20:13:58 +01:00
Vladimir Serbinenko
8afd8f3b64
qemu: Fix GateA20 enabling.
...
GateA20 code was inactive due to address error.
2015-02-21 20:00:18 +01:00
Vladimir Serbinenko
e62ca2a870
qemu: Fix compilation
2015-02-21 19:55:53 +01:00
Vladimir Serbinenko
44ff462e83
Remove realmode.S from coreboot and qemu.
...
It's not used there.
2015-02-21 19:53:18 +01:00
Vladimir Serbinenko
6505b241fd
Remove obsolete ADDR32 and DATA32 checks.
2015-02-21 17:44:41 +01:00
Vladimir Serbinenko
37353f0ae5
i386: Remove needless ADDR32 prefixes when address is known and fixed.
...
Shaves off 6 bytes in lzma_decompress.img.
2015-02-21 17:38:56 +01:00
Vladimir Serbinenko
1998d63688
i386-pc/boot: Explicitly mark kernel_address[_high] as local.
...
Otherwise apple asm might try to make accesses relocatable.
2015-02-21 17:20:10 +01:00
Vladimir Serbinenko
bc29c6d019
Change dot assignmnet to more portable .org.
...
Binary is unchanged (verified)
2015-02-21 17:19:01 +01:00
Vladimir Serbinenko
f571dc1af8
i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
...
Is more portable.
Binary is unchanged (verified).
2015-02-21 17:13:23 +01:00
Vladimir Serbinenko
87a04adb65
zfs/mzap_lookup: Fix argument types
2015-02-21 16:22:01 +01:00
Vladimir Serbinenko
ec65605af4
wildcard: Mark unused argument as such.
2015-02-21 16:19:09 +01:00
Vladimir Serbinenko
967e5aa591
ofdisk: Exclude floppies from scanning.
...
It causes similar hang as CD on at least the qemu.
2015-02-21 16:16:48 +01:00
Vladimir Serbinenko
e5851b63e0
mips/startup_raw: Use more portable .asciz
2015-02-21 16:09:46 +01:00
Vladimir Serbinenko
aee2502cb5
Provide __aeabi_mem{cpy,set}
...
Fixes ARM compilation
2015-02-21 16:07:59 +01:00
Vladimir Serbinenko
2426ac36d3
div_test: Don't try to divide by zero
2015-02-21 16:05:45 +01:00
Vladimir Serbinenko
5537a586e0
ext2: Ignore INCOMPAT_MMP.
...
It's not really incompatible as long as driver never writes to FS.
2015-02-16 21:08:37 +01:00
Vladimir Serbinenko
e20aa39ea4
ext2: Support META_BG.
...
This fixes bug that system would become unbootable after ext*
online resize if no resize_inode was created at ext* format time.
2015-02-16 20:53:26 +01:00
Vladimir Serbinenko
e29af836d0
Don't remove initrd= parameter.
...
Based on simplified patch by Lunar.
Reported by: Lunar
2015-02-16 15:56:26 +01:00
Vladimir Serbinenko
b23635fcff
syslinux_parse: Always output comments even if no entries are found.
2015-02-16 10:54:20 +01:00
Andrei Borzenkov
8f5ebb1245
diskfilter_make_raid: more memory leaks in failure path
2015-02-15 10:14:07 +03:00
Vladimir Serbinenko
2ae9457e6e
disk/lvm: Use zalloc to ensure that segments are initialised to sane value.
...
Reported by: EmanueL Czirai.
2015-02-14 20:31:00 +01:00
Daniel Kiper
8e5bc2f4d3
multiboot2: Fix information request tag size calculation
...
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
2015-02-14 19:26:04 +03:00
Andrei Borzenkov
fc535b32b9
diskfilter: fix double free of lv names for mdraid
...
Avoid micro-optimization in grub_diskfilter_make_raid and make sure
name and fullname are independent strings. This avoids need to special
case it everywhere else.
Also fix memory leak in failure case in grub_diskfilter_make_raid.
Closes: 41582
2015-02-14 19:08:58 +03:00
Andrei Borzenkov
e27fdbd686
diskfilter: fix crash in validate_lv for mdraid arrays
...
Commit 750f4bacd3
put LV validation before
actual vg assignment. Make grub_diskfilter_make_raid to assign ->vg as
happens in other cases for consistency. Also clean up redundant code and add
explicit NULL lv->vg check in validate_lv.
Also fix segment validation in validate_lv; it became obvious when crash
was fixed.
Closes: 44199
2015-02-14 17:56:01 +03:00
Leif Lindholm
c0f529ea67
arm: implement additional relocations generated by gcc 4.9 at -O3
...
GCC 4.9 also generates R_ARM_THM_MOVW_ABS_NC and R_ARM_THM_MOVT_ABS,
as an alternative to ABS32.
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
2015-02-03 22:50:08 +00:00
Andrei Borzenkov
12abe75aa0
net/pxe: fix error condition
...
Test return value of grub_netbuff_reserve(), buf itself cannot be
NULL here.
Found by: Coverity scan.
2015-01-30 22:39:11 +03:00
Andrei Borzenkov
b40fde29a4
net/ip: check result of grub_netbuff_push
...
Found by: Coverity scan.
2015-01-30 22:09:51 +03:00
Andrei Borzenkov
958167b91c
test: fix previous commit - we need to return from subexpression
...
( ... ) was processed recursively, we need to return from it. Revert
this change.
2015-01-30 20:21:56 +03:00
Andrei Borzenkov
d29259b134
test: do not stop after first file test or closing bracket
...
Closes: 44115
2015-01-30 20:10:43 +03:00
Andrei Borzenkov
9883307a52
script/execute.c: fix memory leak.
...
Make sure to continue loop over array after failure to free
allocated strings.
Found by: Coverity scan.
2015-01-28 20:35:28 +03:00
Andrei Borzenkov
2efab86d5a
syslinux_parse: fix memory leak.
...
Found by: Coverity scan.
2015-01-28 20:09:25 +03:00
Andrei Borzenkov
fbb4aa1c05
loader/xnu: fix memory leak.
...
Foound by: Coverity scan.
2015-01-27 22:12:06 +03:00
Andrei Borzenkov
edc94e4b0b
fs/hfsplus: fix memory leak.
...
Found by: Coverity scan.
2015-01-27 21:19:28 +03:00
Andrei Borzenkov
3900726fa8
fs/zfs/zfscrypt.c: fix indentation.
2015-01-27 21:13:10 +03:00
Andrei Borzenkov
fa13e60527
fs/zfs/zfscrypt.c: fix memory leaks.
...
Found by: Coverity scan.
2015-01-27 21:12:19 +03:00
Andrei Borzenkov
3db4f05a10
commands/parttool: fix memory leak.
...
Found by: Coverity scan.
2015-01-27 20:55:25 +03:00
Andrei Borzenkov
e871994849
fs/zfs/zfs.c: fix memory leak.
...
Found by: Coverity scan.
2015-01-27 20:52:27 +03:00
Andrei Borzenkov
637fc62699
linux/ofpath: fix descriptor leak
...
Found by: Coverity scan
2015-01-27 20:29:00 +03:00
Andrei Borzenkov
7ba137f628
linux/hostdisk: use strncpy instead of strlcpy
...
strlcpy is not available on Linux as part of standard libraries.
It probably is not worth extra configure checks espicially as we
need to handle missing function anyway.
2015-01-27 20:00:23 +03:00
Vladimir Serbinenko
9ee5ae1fae
Document intentional fallthroughs.
...
Found by: Coverity scan.
2015-01-27 17:17:58 +01:00
Vladimir Serbinenko
8f95eae423
linux/ofpath: Fix error handling.
...
Found by: Coverity Scan.
2015-01-27 16:49:49 +01:00
Vladimir Serbinenko
c2fc41990a
linux/hostdisk: Limit strcpy size to buffer size.
...
Found by: Coverity scan.
2015-01-27 16:48:53 +01:00
Vladimir Serbinenko
916733ea6a
fs/zfscrypt: Add missing explicit cast.
...
Found by: Coverity scan.
2015-01-27 16:35:37 +01:00
Vladimir Serbinenko
0daf46fdbd
fs/zfs: Fix error handling.
...
Found by: Coverity Scan.
2015-01-27 16:32:21 +01:00
Vladimir Serbinenko
69a52e95d4
fs/{cbfs,cpio}: Remove useless check if mode is NULL.
...
Callers already ensure that it's not null.
Found by: Coverity Scan.
2015-01-27 16:32:21 +01:00
Vladimir Serbinenko
4192f2e3d1
commands/acpi: Use ALIGN_UP rather than manual expression.
...
Improves readability and hopefully automatic scanning.
Found by: Coverity Scan.
2015-01-27 16:32:21 +01:00
Andrei Borzenkov
e61f4eba18
linux/getroot: fix memory leak.
...
Found by: Coverity scan.
2015-01-26 23:04:09 +03:00
Andrei Borzenkov
e2a21238da
linux/ofpath: fix various memory leaks.
...
Found by: Coverity scan.
2015-01-26 23:04:00 +03:00
Andrei Borzenkov
6704abade6
linux/getroot: fix descriptor leak.
...
Found by: Coverity scan.
2015-01-26 23:02:55 +03:00
Vladimir Serbinenko
c4fcfd8744
vbe: Fix incorrect register usage.
...
Found by: Coverity scan.
2015-01-26 09:53:39 +01:00
Vladimir Serbinenko
8102540939
unix/password: Fix file descriptor leak.
...
Found by: Coverity scan.
2015-01-26 09:53:03 +01:00
Vladimir Serbinenko
cba5a85a67
linux/getroot: Fix error handling.
...
Found by: Coverity scan.
2015-01-26 09:51:48 +01:00
Vladimir Serbinenko
5adc6d76d3
linux/blocklist: Fix memory leak.
...
Found by: Coverity scan.
2015-01-26 09:50:58 +01:00
Vladimir Serbinenko
c14dff3ca7
devmapper/getroot: Fix memory leak.
...
Found by: Coverity scan.
2015-01-26 09:50:27 +01:00
Vladimir Serbinenko
6603c22f31
normal/misc: Close device on all pathes.
...
Found by: Coverity scan.
2015-01-26 09:49:32 +01:00
Vladimir Serbinenko
73b1e83839
normal/main: Fix error handling.
...
Found by: Coverity scan.
2015-01-26 09:48:46 +01:00
Vladimir Serbinenko
a05a6e6f92
xnu: Add missing error check.
...
Found by: Coveriy scan.
2015-01-26 09:45:55 +01:00
Vladimir Serbinenko
e12c3bed90
plan9: Add missing grub_device_close.
...
Found by: Coverity scan.
2015-01-26 09:45:37 +01:00
Vladimir Serbinenko
ef02b4ca93
multiboot: Simplify to avoid confusing assignment.
...
Found by: Coverity scan.
2015-01-26 09:43:52 +01:00
Vladimir Serbinenko
1e0d718371
bsd: Add missing null-pointer check.
...
Found by: Coverity scan.
2015-01-26 09:42:42 +01:00
Vladimir Serbinenko
49978c5c4f
lib/syslinux_parse: Add missing error check.
...
Found by: Coverity scan.
2015-01-26 09:42:04 +01:00
Vladimir Serbinenko
ca7c1fd6f3
lib/syslinux_parse: Fix memory leak.
...
Found by: Coveriy scan.
2015-01-26 09:41:43 +01:00
Vladimir Serbinenko
aa64393144
lib/syslinux_parse: Add missing alloc check.
...
Found by: Coverity scan.
2015-01-26 09:40:42 +01:00
Vladimir Serbinenko
21f22c7107
i386/pc/mmap: Fix memset size.
...
Found by: Coverity scan.
2015-01-26 09:38:11 +01:00
Vladimir Serbinenko
af0be976bf
gfxmenu/theme_loader: Add missing allos error check.
...
Found by: Coverity scan.
2015-01-26 09:37:39 +01:00
Vladimir Serbinenko
bd74a925e5
gfxmenu/icon_manager: Fix null pointer dereference.
...
Found by: Coverity scan.
2015-01-26 09:37:01 +01:00
Vladimir Serbinenko
a4e33a8b18
fs/ufs: Add missing error check.
...
Found by: Coverity scan.
2015-01-26 09:36:19 +01:00
Vladimir Serbinenko
66baeffc0f
fs/sfs: Fix error check and add sanity check.
...
Found by: Coverity scan.
2015-01-25 20:32:31 +01:00
Vladimir Serbinenko
8c1d086689
fs/reiserfs: Fix sector count overflow.
...
Found by: Coverity scan.
2015-01-25 20:32:31 +01:00
Vladimir Serbinenko
157f9a9cca
fs/ntfs: Add sizes sanity checks.
...
Found by: Coverity scan.
2015-01-25 20:32:31 +01:00
Vladimir Serbinenko
bc0ecd7104
fs/ntfs: Add missing free.
...
Found by: Coverity scan.
2015-01-25 20:32:31 +01:00
Vladimir Serbinenko
ca793e9c05
fs/minix: Fix sector promotion to 64-bit.
...
While on it make GRUB_MINIX_ZONE2SECT into function.
Found by: Coverity scan
2015-01-25 20:32:31 +01:00
Vladimir Serbinenko
ac602ce700
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.
2015-01-25 20:32:31 +01:00
Andrei Borzenkov
fb66b512fa
commands/fileXX: Fix remaining memory leak.
...
Found by: Coverity Scan.
2015-01-25 16:36:30 +03:00
Vladimir Serbinenko
d0af2156c3
fs/hfs: Add pointer sanity checks.
...
Found by: Coverity scan.
2015-01-25 13:18:10 +01:00
Vladimir Serbinenko
4387ca78f0
fs/hfs/hfs_open: Check that mount succeeded.
...
Found by: Coverity scan.
2015-01-25 01:28:17 +01:00
Vladimir Serbinenko
83543f937a
fs/fat: Fix codepath to properly free on error.
...
Found by: Coverity scan.
2015-01-25 01:27:44 +01:00
Vladimir Serbinenko
faad548ce3
fs/cpio_common: Add a sanity check on namesize.
...
Found by: Coverity scan.
2015-01-25 00:11:59 +01:00
Vladimir Serbinenko
b6f21bcb98
fs/cbfs: Add missing free.
...
Found by: Coverity scan.
2015-01-25 00:00:49 +01:00
Vladimir Serbinenko
dd430afbf8
font: Add missing free.
...
Found by: Coverity Scan.
2015-01-24 21:55:18 +01:00
Vladimir Serbinenko
d1130afa5f
biosdisk: Add missing cast.
...
Found by: Coverity scan.
2015-01-24 21:50:30 +01:00
Vladimir Serbinenko
7656b72b17
disk/geli: Add missing free.
...
Found by: Coverity scan.
2015-01-24 21:47:51 +01:00
Vladimir Serbinenko
6f43e350ed
disk/geli: Add missing seek success check.
...
Found by: Coverity scan.
2015-01-24 21:46:23 +01:00
Vladimir Serbinenko
f2baeb194b
disk/diskfilter: Add missing lv presence check.
...
Found by: Coverity scan.
2015-01-24 21:44:27 +01:00
Vladimir Serbinenko
4c7337bfe9
disk/cryptodisk: Add missing error check.
...
Found by: Coverity scan.
2015-01-24 21:38:22 +01:00
Vladimir Serbinenko
2a8200bba8
disk/ahci: Fix device_map_range argument.
...
Argument is not used on x86, hence it's gone unnoticed.
Found by: Coverity scan.
2015-01-24 21:37:28 +01:00
Vladimir Serbinenko
7d97335942
disk/AFsplitter: check argument validity before doing any allocs.
...
This avoids possible memory leaks.
Found by: Coverity scan.
2015-01-24 21:33:30 +01:00
Vladimir Serbinenko
3b1b39c082
commands/wildcard: Add missing free.
...
Found by: Coverity scan.
2015-01-24 21:29:19 +01:00
Vladimir Serbinenko
37ba761b1c
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.
2015-01-24 21:27:10 +01:00
Vladimir Serbinenko
6079e67926
commands/tr: Simplify and fix missing parameter test.
...
Found by: Coverity scan
2015-01-24 21:25:42 +01:00
Vladimir Serbinenko
fbae51dcea
commands/syslinux: Add missing free.
...
Found by: Coverity scan.
2015-01-24 21:23:25 +01:00
Vladimir Serbinenko
4947f11b09
commands/parttool: Add missing device close.
...
Found by: Coverity scan.
2015-01-24 21:22:02 +01:00
Vladimir Serbinenko
bd50aa323d
commands/nativedisk: Add missing device_close.
...
Found by: Coverity scan.
2015-01-24 21:18:36 +01:00
Vladimir Serbinenko
72bbd8046a
commands/macbless: Handle device opening errors correctly.
...
Wrong variable was checked for errors.
Found by: Coverity scan.
2015-01-24 21:15:14 +01:00
Vladimir Serbinenko
e3b3e53f72
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.
2015-01-24 21:12:02 +01:00
Vladimir Serbinenko
09e84f188b
commands/macbless: Remove incorrect grub_free.
...
Found by: Coverity Scan
2015-01-24 21:08:50 +01:00
Vladimir Serbinenko
f579f097bb
commands/legacycfg: Fix resource leaks.
2015-01-24 21:06:23 +01:00
Vladimir Serbinenko
12a9c52e51
zfs: Fix disk-matching logic.
...
Reported by: Tim Chase <dweeezil>
2015-01-24 20:57:26 +01:00
Vladimir Serbinenko
68cf24376c
commands/hdparm: Add missing grub_disk_close.
...
Found by: Coverity scan.
2015-01-24 20:55:06 +01:00
Vladimir Serbinenko
9d999852a2
gptsync: Add missing device_close.
...
Found by: Coverity scan
2015-01-24 20:52:02 +01:00
Vladimir Serbinenko
95a8c9182b
commands/fileXX: Fix memory leak.
...
Found by: Coverity Scan.
2015-01-24 20:50:35 +01:00
Vladimir Serbinenko
b04c6d32ce
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.
2015-01-24 20:47:41 +01:00
Vladimir Serbinenko
e902163e48
commands/acpi: Use ALIGN_UP rather than manual expression.
...
Improves readability and hopefully automatic scanning.
Found by: Coverity Scan.
2015-01-24 20:41:43 +01:00
Vladimir Serbinenko
9ff9d5a54e
uhci: Fix null pointer dereference.
...
Found by: Coverity scan.
2015-01-24 20:38:12 +01:00
Vladimir Serbinenko
7d027b4d3e
efidisk: Return the determined root disk even if partition is unknown.
2015-01-24 19:53:13 +01:00
Andrey Borzenkov
2f73d2733c
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
2015-01-23 19:52:45 +03:00
Felix Janda
3bac4caa2b
Remove direct _llseek code and require long filesystem libc.
2015-01-22 19:54:36 +01:00
Vladimir Serbinenko
6866f2ba37
Remove potential division by 0 in gfxmenu.
2015-01-21 17:42:15 +01:00
Vladimir Serbinenko
44b38e4988
grub_menu_init_page: Avoid returning 0 geometry to avoid divisions by 0.
2015-01-21 17:42:15 +01:00
Vladimir Serbinenko
68581b009f
unix/cputime.c: Cache sc_clk_tck and check it for sanity.
2015-01-21 17:42:15 +01:00
Vladimir Serbinenko
69aee43fa6
* grub-core/kern/efi/mm.c (grub_efi_get_memory_map): Never return a
...
descriptor_size==0 to avoid potential divisions by zero.
2015-01-21 17:42:15 +01:00
Vladimir Serbinenko
ac8bac2496
haiku/getroot.c (grub_util_find_partition_start_os): Avoid division by zero.
2015-01-21 17:42:15 +01:00
Vladimir Serbinenko
4e0a25a4c0
rtc_get_time_ms.c (grub_rtc_get_time_ms): Avoid division by zero.
2015-01-21 17:42:14 +01:00
Vladimir Serbinenko
b666e01b9c
* grub-core/loader/i386/xnu.c (guessfsb): Avoid division by 0.
2015-01-21 17:42:14 +01:00
Vladimir Serbinenko
2e62352bc2
* grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that
...
no division by 0 occurs.
2015-01-21 17:42:14 +01:00
Vladimir Serbinenko
c453760c71
* grub-core/term/gfxterm.c: Avoid division by zero.
2015-01-21 17:42:13 +01:00
Vladimir Serbinenko
e95685dab1
Avoid division by zero in serial.
2015-01-21 17:42:13 +01:00
Vladimir Serbinenko
4816dcac19
* grub-core/video/readers/jpeg.c: Avoid division by zero.
2015-01-21 17:42:13 +01:00
Vladimir Serbinenko
750f4bacd3
* grub-core/disk/diskfilter.c: Validate volumes to avoid division by zero.
2015-01-21 17:42:13 +01:00
Vladimir Serbinenko
475bffeae6
* grub-core/fs/zfs.c: Avoid divisions by zero.
2015-01-21 17:42:12 +01:00
Vladimir Serbinenko
9deb46e363
* grub-core/fs/btrfs.c: Avoid divisions by zero.
2015-01-21 17:42:12 +01:00
Vladimir Serbinenko
065ed900d4
grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Check that hash len is not 0.
2015-01-21 17:42:12 +01:00
Vladimir Serbinenko
111ab3b9cc
osdep/linux/blocklist.c (grub_install_get_blocklist): Check blocksize validity.
2015-01-21 17:42:12 +01:00
Vladimir Serbinenko
4200ad44fe
* grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity.
2015-01-21 17:42:12 +01:00
Vladimir Serbinenko
f1959b1695
* grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
...
validity.
2015-01-21 17:42:11 +01:00
Vladimir Serbinenko
935863518f
grub_dmraid_nv_detect: Do not divide by zero.
2015-01-21 17:42:11 +01:00
Vladimir Serbinenko
98f74998d5
* grub-core/fs/hfs.c (grub_hfs_mount): Additional filesystem sanity checks.
2015-01-21 17:42:11 +01:00
Vladimir Serbinenko
5ed3a5d049
* grub-core/fs/minix.c: Additional filesystem sanity checks.
2015-01-21 17:42:11 +01:00
Vladimir Serbinenko
47cd2645dd
* grub-core/fs/ext2.c (grub_ext2_mount): Additional checks for superblock validity.
2015-01-21 17:42:11 +01:00
Vladimir Serbinenko
245e21b2b5
grub_ufs_mount: Check that sblock.ino_per_group is not 0.
2015-01-21 17:42:11 +01:00
Vladimir Serbinenko
9201cd79a3
Reject NILFS2 superblocks with over 1GiB blocks.
...
* grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
block size is <= 1GiB.
2015-01-21 17:42:10 +01:00
Vladimir Serbinenko
f27ccb584c
grub_ata_setaddress: Check that geometry is sane when using CHS addressing.
2015-01-21 17:42:10 +01:00
Vladimir Serbinenko
1dfe3f973e
* grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.
2015-01-21 17:42:10 +01:00
Vladimir Serbinenko
44461d5af2
grub_cmd_play: Avoid division by zero.
2015-01-21 17:42:10 +01:00
Vladimir Serbinenko
30e177a05b
grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past the end of file.
2015-01-21 17:42:06 +01:00
Vladimir Serbinenko
af435524cd
grub_fshelp_read_file: Don't attempt to read past the end of file.
2015-01-21 17:38:04 +01:00
Vladimir Serbinenko
66ce4d1aef
grub_script_lexer_yywrap: Update len synchronously with line.
2015-01-21 17:38:01 +01:00
Vladimir Serbinenko
59d4036594
Replace explicit sizeof divisions by ARRAY_SIZE.
2015-01-21 17:37:31 +01:00
Kris Moore
ba3031f996
Support GELI v6 and v7
2015-01-19 21:56:41 +03:00
Andrei Borzenkov
bac5d1a64a
Fix serial --rtscts option processing
2014-12-09 21:56:39 +03:00
David Kozub
17328db3b3
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.
2014-12-07 20:16:29 +03:00
Peter Nelson
58f66137a3
* grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse chunks.
2014-12-07 17:57:49 +01:00
Curtis Larsen
06eadf5ebf
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.
2014-12-07 11:28:57 +03:00
Andrei Borzenkov
ebb3d958aa
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
2014-12-05 21:17:08 +03:00
Andrei Borzenkov
3173c7501c
grub-core/loader/i386/xen_fileXX.c: memory leak in grub_xen_get_infoXX
...
CID: 73645, 73782
2014-12-01 21:23:54 +03:00
Andrei Borzenkov
03d79a878b
grub-core/fs/zfs/zfsinfo.c: memory leak in print_vdev_info
...
CID: 73635
2014-12-01 20:54:12 +03:00
Andrei Borzenkov
dbbac5a04c
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
2014-11-30 18:49:14 +03:00
Andrei Borzenkov
343dad410e
grub-core/disk/lzopio.c: fix double free in error path
...
CID: 73665
2014-11-28 22:37:00 +03:00
Andrei Borzenkov
bbbcb791ed
grub-core/disk/geli.c: fix memory leaks in error paths
...
CID: 73813, 73710
2014-11-28 22:23:30 +03:00
Andrei Borzenkov
ea44693fc8
grub-core/disk/luks.c: fix use after free and memory leaks
...
configure_ciphers:
- several memory leaks where allocated ciphers were not freed. CID: 73813,
73710
- use after free. It is probably quite innocent as grub is single threaded,
but could potentially be a problem with memory allocator debugger turned on.
CID: 73730
luks_recover_key:
- memory leak. CID: 73854
2014-11-28 21:12:00 +03:00
Michael Chang
7c4b6b7bb4
send router solicitation for ipv6 address autoconf v2
...
Many routers have long router advertisment interval configured by
default. The Neighbor Discovery protocol (RFC4861) has defined default
MaxRtrAdvInterval value as 600 seconds and
MinRtrAdvInterval as 0.33*MaxRtrAdvInterval. This makes
net_ipv6_autoconf fails more often than not as currently it passively
listens the RA message to perfom address autoconfiguration.
This patch tries to send router solicitation to overcome the problem of
long RA interval.
v2:
use cpu_to_be macro for network byte order conversion
add missing error handling
2014-11-28 20:21:34 +03:00
Leif Lindholm
004a2b1efd
efi: check *path non-null before grub_strrchr
...
The EFI version of grub_machine_get_bootlocation crops the boot image
name back to the last / in order to get a directory path. However, it
does not check that *name is actually set before calling grub_strrchr
to do this, and neither does grub_strrchr before dereferencing a NULL
pointer.
Parent function, grub_set_prefix_and_root, does check the pointer
before using.
2014-11-17 14:11:01 +00:00
Michael Chang
72ec399ad8
icmp6 fix no respond to neighbor solicit message
...
The structure size used in grub_netbuff_pull to get the pointer to
option header is apparently wrong, which leads to subsequent range check
failed and therefore not responding to any neighbor solicit message in my
testing.
2014-11-03 20:03:04 +03:00
Andrei Borzenkov
9a67e1ac8e
Use full initializer for initrd_ctx to avoid fatal warnings with older GCC
...
struct ... foo = { 0, } is valid initializer, but older GCC emits
warning which is fatal error due to -Werror=missing-field-initializer.
So simply use full initializer to avoid these errors. This was fixed
probably in GCC 4.7.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750
2014-10-14 20:12:15 +04:00
Andrey Borzenkov
954fe77163
cleanup: grub_cpu_to_XXX_compile_time for constants
...
This tries to catch all cases where grub_cpu_to_XXX was used for constant
expressions (including sizeof).
2014-09-22 20:47:10 +04:00
Valentin Dornauer
0f1f95c7b7
ACPIhalt: Add more ACPI opcodes.
...
The AML parser implements only a small subset of possible AML
opcodes. On the Fujitsu Lifebook E744 this and another bug in
the parser (incorrect handling of TermArg data types) would lead
to the laptop not turning off (_S5 not found).
* grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
aren't always simply strings!); Add function to skip TermArgs
* include/grub/acpi.h: Add new opcodes
2014-09-21 18:58:14 +02:00
Vladimir Serbinenko
41c6f91fce
* grub-core/normal/main.c: Don't drop to rescue console in
...
case of password-protected prompt and no menu entries.
2014-09-21 18:51:09 +02:00
Vladimir Serbinenko
7c378c3964
* grub-core/commands/keylayouts.c: Ignore unknown keys.
2014-09-21 18:49:49 +02:00
Vladimir Serbinenko
2988a849fc
* grub-core/gmodule.pl.in: Accept newer binutils which output
...
empty column rather than 0x0.
2014-09-21 18:23:23 +02:00
Vladimir Serbinenko
5e42618e00
Fix wrong commit
2014-09-21 18:18:03 +02:00
Michael Chang
0aece00c54
* grub-core/osdep/unix/config.c: Remove extraneous comma.
2014-09-21 17:49:13 +02:00
Peter Jones
631a820038
Initialized initrd_ctx so we don't free a random pointer from the stack.
...
Currently, if "linux" fails, the "goto fail;" in grub_cmd_initrd sends us
into grub_initrd_close() without grub_initrd_init() being called, and thus
it never clears initrd_ctx->components. grub_initrd_close() then frees that
address, which is stale data from the stack. If the stack happens to have a
stale *address* there that matches a recent allocation, then you'll get a
double free later.
So initialize the memory up front.
Signed-off-by: Peter Jones <pjones@redhat.com>
2014-09-21 10:36:42 +04:00
Khem Raj
a276b84046
Fix build with glibc 2.20
...
* grub-core/kern/emu/hostfs.c: squahes below warning
warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Submitted
2014-09-15 19:59:27 +04:00
Michael Chang
54bd9a0610
Fix incorrect address reference in btrfs
...
We encountered a weird random kernel initrd unpacking error on btrfs
and finally found it was caused by incorrect address reference in range
check for type GRUB_BTRFS_EXTENT_REGULAR and the entire result is
unpredictable.
This is a quick fix to make the address reference to the
grub_btrfs_extent_data structure correctly, not the pointer variable
to it.
Any suggestions to this patch is welcome.
2014-09-08 11:33:40 +01:00
Colin Watson
2a5a532c00
Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
...
* configure.ac: Remove -m64 from checks for -mcmodel=large and
-mno-red-zone. These are always either unnecessary (x86_64-emu) or
already in TARGET_CFLAGS at this point, and they produce incorrect
results when building for x32.
* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
* include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
2014-09-07 23:04:50 +01:00
Colin Watson
1de3a48098
* grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
...
Initialise pend to pacify GCC.
2014-08-25 15:19:48 -07:00
Vladimir Serbinenko
3c05833249
* grub-core/term/at_keyboard.c: Retry probing keyboard if
...
scancode setup failed.
2014-08-13 23:04:01 +02:00
Vladimir Serbinenko
d1224d209b
* grub-core/kern/disk_common.c: Clump disk size to 1EiB.
2014-08-10 11:27:36 +02:00
Vladimir Serbinenko
0af3ae2d8b
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
...
safety to avoid triggerring VirtualBox bug.
2014-08-10 11:27:13 +02:00
Vladimir Serbinenko
33f6ce671f
* grub-core/fs/cbfs.c: Don't probe disks of unknow size.
...
Fixes hang on virtualbox.
2014-08-10 09:50:36 +02:00
Роман Пехов
1f6af2a9f8
* grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
2014-06-22 03:51:50 +04:00
Stephane Rochoy
15bd333e10
* grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
...
EFI system table.
2014-06-22 01:35:52 +02:00
Stephane Rochoy
3f3ec8ef44
* grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
...
EFI system table physical address.
2014-06-22 01:34:57 +02:00
Vladimir Serbinenko
2c2c5c720d
* grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
2014-06-21 20:11:08 +02:00
Vladimir Serbinenko
480c89858e
* grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
...
check.
2014-06-21 20:10:48 +02:00
Vladimir Serbinenko
4b8b9135f1
* grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
...
Reported by: Yves Blusseau <blusseau@zetam.org>.
2014-04-20 16:12:41 +02:00
Piotr Krysiuk
5a6db38d62
Allow loading old kernels by placing GDT in conventional memory.
2014-04-20 16:00:55 +02:00
Colin Watson
c4badfe836
Improve LVM "logical_volumes" string matching
...
* grub-core/disk/lvm.c (grub_lvm_detect): Search for
"logical_volumes" block a little more accurately.
2014-04-10 14:42:41 +01:00
Vladimir Serbinenko
a72fc329eb
* grub-core/lib/syslinux_parse.c: Fix timeout quoting.
2014-04-06 00:44:44 +02:00
Vladimir Serbinenko
8063ce197f
Replace few instances of memcmp/memcpy in the code that should be grub_memcmp/grub_memcpy.
2014-04-04 07:58:42 +02:00
Vladimir Serbinenko
9706066791
* grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe device names.
2014-04-03 21:31:12 +02:00
Thomas Falcon
4afd0107ef
btrfs: fix get_root key comparison failures due to endianness
...
* grub-core/fs/btrfs.c (get_root): Convert
GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
2014-03-31 15:32:30 +01:00
Colin Watson
24024dac7f
Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
...
Commit 588744d0dc
caused grub-mkconfig
no longer to be forgiving of trailing spaces on grub-probe output
lines, which among other things means that util/grub.d/10_linux.in
no longer detects LVM. To fix this, make grub-probe's output
delimiting more consistent. As a bonus, this improves the coverage
of the -0 option.
Fixes Debian bug #735935 .
* grub-core/disk/cryptodisk.c
(grub_util_cryptodisk_get_abstraction): Add a user-data argument.
* grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
Likewise.
* include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
Update prototype.
* include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
* util/grub-install.c (push_partmap_module, push_cryptodisk_module,
probe_mods): Adjust for extra user-data arguments.
* util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
probe_abstraction): Use configured delimiter. Update callers.
2014-03-31 14:48:46 +01:00
Vladimir Serbinenko
46b74dd3cb
* grub-core/lib/relocator.c: Fix the case when end of leftover is used.
2014-03-26 08:48:30 +01:00
Fu Wei
68f17b2b30
* grub-core/loader/arm64/linux.c: Remove redundant "0x".
2014-03-26 08:13:07 +01:00
Nikunj A Dadhania
e4a1fe3919
ieee1275: check for IBM pseries emulated machine
...
is_qemu is not being set lead to disabling of feature like
GRUB_IEEE1275_FLAG_HAS_CURSORONOFF. This resulted in cursor not being
displayed during the grub-menu edit.
Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
2014-03-24 15:44:33 +00:00
Vladimir Serbinenko
86402b4e0f
* include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
...
* grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
Suggested by: Markus Müller.
2014-02-28 10:50:05 +01:00
Vladimir Serbinenko
bec35dad2a
* grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
...
if E820 failed to return any regions.
2014-02-28 10:07:11 +01:00
Vladimir Serbinenko
dfc5ccfa97
* grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
...
tables for low memory calculations.
2014-02-28 09:50:47 +01:00
Vladimir Serbinenko
4a70fed815
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
...
location to 640K.
2014-02-28 09:48:57 +01:00
Vladimir Serbinenko
f94b2b4eeb
* grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
...
region.
2014-02-28 09:47:57 +01:00
Vladimir Serbinenko
d0949e3747
* grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
...
exclusively.
2014-02-20 10:11:43 +01:00
Paulo Flabiano Smorigo
9585647a25
add bootpath parser for open firmware
...
It enables net boot even when there is no bootp/dhcp server.
* grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath and
call it at grub_ieee1275_net_config_real.
* grub-core/kern/ieee1275/init.c: Add bootpath to grub_ieee1275_net_config.
* include/grub/ieee1275/ieee1275.h: Likewise.
2014-02-04 19:02:16 -02:00
Paulo Flabiano Smorigo
e4dbf247b6
add grub_env_set_net_property function
...
* grub-core/net/bootp.c: Remove set_env_limn_ro.
* grub-core/net/net.c: Add grub_env_set_net_property.
* include/grub/net.h: Likewise.
2014-02-04 18:41:38 -02:00
Vladimir Serbinenko
9abbaae7cd
* grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
...
7 seconds to recover if last poweroff was bad.
2014-01-29 23:50:49 +01:00
Vladimir Serbinenko
d6b94c5eb2
* grub-core/disk/ahci.c: Properly handle transactions with no
...
transferred data.
2014-01-29 23:49:51 +01:00
Vladimir Serbinenko
07ea8daa86
* grub-core/disk/ahci.c: Add safety cleanups.
2014-01-29 23:46:17 +01:00
Vladimir Serbinenko
3142b2feac
* grub-core/disk/ahci.c: Allocate and clean space for all possible 32
...
slots to avoid pointing to uninited area.
2014-01-29 23:45:18 +01:00
Vladimir Serbinenko
4686e163f2
* grub-core/disk/ahci.c: Do not enable I/O decoding and keep
...
enabling busmaster for the end.
2014-01-29 23:43:25 +01:00
Vladimir Serbinenko
7f64fb590c
* grub-core/term/at_keyboard.c: Tolerate missing keyboard.
2014-01-26 03:31:10 +01:00
Mike Gilbert
35f2d96c0d
grub-install: support for partitioned partx loop devices.
...
* grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
/dev/loopX as being the parent of /dev/loopXpY.
2014-01-26 02:56:04 +01:00
Vladimir Serbinenko
9afe2053c9
* grub-core/term/serial.c (grub_serial_register): Fix invalid free.
...
Ensure that pointers are inited to NULL and that pointers are not
accessed after free.
2014-01-26 02:36:05 +01:00
Vladimir Serbinenko
61c8482b20
Fix several translatable strings.
...
Suggested by: D. Prévot.
2014-01-24 18:20:27 +01:00
Paulo Flabiano Smorigo
6f65e36cc4
increase network try interval gradually
...
* grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
interval gradually.
* grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
* grub-core/net/net.c (grub_net_fs_read_real): Likewise.
* grub-core/net/tftp.c (tftp_open): Likewise.
* include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
2014-01-21 11:06:35 -02:00
Paulo Flabiano Smorigo
d99d2f8416
change stop condition to avoid infinite loops
...
In net/net.c there is a while (1) that only exits if there is a stop
condition and more then 10 packages or if there is no package received.
If GRUB is idle and enter in this loop, the only condition to leave is
if it doesn't have incoming packages. In a network with heavy traffic
this never happens.
2014-01-21 10:54:49 -02:00
Colin Watson
049f63824c
Ignore EPERM when modifying kern.geom.debugflags
...
Many tests fail when run as a non-root user on FreeBSD. The failures
all amount to an inability to open files using grub_util_fd_open,
because we cannot set the kern.geom.debugflags sysctl. This sysctl is
indeed important to allow us to do such things as installing GRUB to the
MBR, but if we need to do that and can't then we will get an error
later. Enforcing it here is unnecessary and prevents otherwise
perfectly reasonable operations.
2014-01-19 14:38:07 +00:00
Andrey Borzenkov
015045471e
use MODULE_FILES for genemuinit* instead of MOD_FILES
...
MinGW native nm does not support ELF binaries.
2014-01-18 23:15:40 +04:00
Vladimir Serbinenko
41155a5722
* grub-core/normal/main.c (read_config_file): Buffer config file.
...
Reduces boot time.
2014-01-18 19:54:09 +01:00
Vladimir Serbinenko
6c519b5c6c
* grub-core/commands/macbless.c: Rename FILE and DIR to avoid
...
conflicts.
Reported by: Andrey Borzenkov.
2014-01-18 19:26:40 +01:00
Andrey Borzenkov
f371dd5da8
fix include loop on MinGW due to libintl.h pulling stdio.h
...
In file included from ./include/grub/dl.h:23:0,
from grub-core/lib/libgcrypt-grub/cipher/rfc2268.c:3:
./include/grub/list.h:34:18: warning: conflicting types for 'grub_list_push' [en
abled by default]
void EXPORT_FUNC(grub_list_push) (grub_list_t *head, grub_list_t item);
^
./include/grub/symbol.h:68:25: note: in definition of macro 'EXPORT_FUNC'
# define EXPORT_FUNC(x) x
^
In file included from ./include/grub/fs.h:30:0,
from ./include/grub/file.h:25,
from ./grub-core/lib/posix_wrap/stdio.h:23,
from c:\mingw\include\libintl.h:314,
from ./include/grub/i18n.h:33,
from ./include/grub/misc.h:27,
from ./include/grub/list.h:25,
from ./include/grub/dl.h:28,
from grub-core/lib/libgcrypt-grub/cipher/rfc2268.c:3:
./include/grub/partition.h:106:3: note: previous implicit declaration of 'grub_l
ist_push' was here
grub_list_push (GRUB_AS_LIST_P (&grub_partition_map_list),
^
list.h needs just ATTRIBUTE_ERROR from misc.h; split compiler features
into separate file grub/compiler.h and include it instead.
2014-01-18 21:22:57 +04:00
Andrey Borzenkov
1ecf96fcc4
add BUILD_EXEEXT support to fix make clean on Windows
...
Add $(BUILD_EXEEXT) to ensure files are removed. Also add CLEANFILES where
appropriate.
2014-01-18 20:41:24 +04:00
Vladimir Serbinenko
3abb956371
* grub-core/term/terminfo.c: Recognize keys F1-F12.
2014-01-18 16:57:35 +01:00
Andrey Borzenkov
dcecae1a49
reintroduce BUILD_LDFLAGS for the cross-compile case
...
This allows providing separate LDFLAGS for build and host environments, which
are not necessary the same for cross-compile case. In particular, it allows
building host programs statically to not depend on presence of libraries at
run-time (e.g. MinGW DLLs on Windows) while continue to use default dynamic
linking at build time.
Also fix obsolete comments in confgure.ac - we do use different environment
for build and host now.
2014-01-18 19:50:54 +04:00
Vladimir Serbinenko
7e7293d745
* grub-core/kern/efi/efi.c: Ensure that the result starts with /
...
and has no //.
2014-01-18 16:41:47 +01:00
Colin Watson
09a836e59c
freebsd/hostdisk.c is only ever compiled on FreeBSD
...
* grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
redundant preprocessor conditional.
2014-01-17 02:30:52 +00:00
Leif Lindholm
4d21c10199
arm64: set correct length of device path end entry
...
The length of the Device Path End entry in the grub_linux_boot()
function was incorrectly set to 0. This triggers an assert failure
in debug builds of Tianocore.
Set it to sizeof (grub_efi_device_path_t).
2014-01-07 17:52:50 +00:00
Andrey Borzenkov
668add258f
strip .eh_frame section from arm64-efi kernel
...
Fixes grub-mkimage error "relocation 0x105 is not implemented yet."
2013-12-30 13:07:54 +00:00
Vladimir Serbinenko
093dec7370
Don't abort() on unavailable coreboot tables if not running on coreboot.
2013-12-28 17:25:14 +01:00
Andrey Borzenkov
989af02582
remove unused error.h from kern/emu/misc.c
...
Fixes compilation on mingw32, where include is apparently missing.
2013-12-28 09:04:10 +04:00
Vladimir Serbinenko
5bda44d7f9
* grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
...
As these functions are used on pre-ARMv6 CPUs as well we don't want
to make assembler assume that architecture is higher than default one.
2013-12-25 23:31:42 +01:00
Andrey Borzenkov
a6e7719bbe
fix EFI detection on Windows
...
We are on legacy BIOS if GetFirmwareEnvironmentVariable fails (returns
zero) *and* extended error information is ERROR_INVALID_FUNCTION.
Cf. http://msdn.microsoft.com/en-us/library/windows/desktop/ms724325%28v=vs.85%29.aspx
2013-12-25 22:36:28 +04:00
Vladimir Serbinenko
dc3286ade4
* grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
2013-12-24 20:32:14 +01:00
Vladimir Serbinenko
09c479006c
Fix buffer overflow in grub_efi_print_device_path.
2013-12-24 19:04:46 +01:00
Vladimir Serbinenko
4d6c69536e
Show SATA device path.
2013-12-24 18:10:28 +01:00
Vladimir Serbinenko
e5fa26e573
Make newly-created files other than grub.cfg world-readable.
2013-12-24 17:36:10 +01:00
Vladimir Serbinenko
4127206896
Make rijndael.c respect aliasing rules.
...
Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
2013-12-24 16:57:28 +01:00
Vladimir Serbinenko
f7c7c4d4ad
Make grub_util_device_is_mapped_stat available in grub-emu core.
2013-12-24 16:56:14 +01:00
Vladimir Serbinenko
6a7957f9f5
Save TARGET_CC version in modinfo.sh.
...
Suggested by: Andrey Borzenkov.
2013-12-24 14:47:44 +01:00
Vladimir Serbinenko
e88f0420b9
Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
...
follow the same algorithm to avoid method mismatch. Don't assume
DMRAID- UUID to mean full disk but instead check that mapping is linear.
2013-12-24 14:16:57 +01:00
Vladimir Serbinenko
da98622662
Declare GRUB_EFI_VENDOR_APPLE_GUID.
2013-12-24 14:14:19 +01:00
Vladimir Serbinenko
fba31b5f69
Dump type and vendor specific data when printing device path.
2013-12-24 14:05:48 +01:00
Vladimir Serbinenko
72f099578e
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-12-23 18:17:29 +01:00
Vladimir Serbinenko
cef394032d
* grub-core/modinfo.sh.in: Add build config information.
2013-12-23 18:17:09 +01:00
Vladimir Serbinenko
a4d610026f
ARM64 grub-file and grub-mkconfig support.
2013-12-23 18:17:09 +01:00
Vladimir Serbinenko
0c930a841e
Remove leftover options defines.
2013-12-23 18:17:02 +01:00
Colin Watson
16f7455b04
* configure.ac: Fix spelling.
...
* grub-core/commands/parttool.c: Fix grammar.
* grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
Embedding Partition".
2013-12-23 13:32:35 +00:00
Vladimir Serbinenko
74fa9ac1a6
* include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
2013-12-23 05:56:31 +01:00
Vladimir Serbinenko
62956fe7b9
* grub-core/loader/arm64/linux.c: Add missing bracket.
2013-12-23 05:34:13 +01:00
Vladimir Serbinenko
260632161f
Add arm64-efi recognition to grub-file.
2013-12-23 05:33:44 +01:00
Vladimir Serbinenko
4cd0b55fd0
Fix ia64-efi recognition in grub-file.
2013-12-23 05:27:04 +01:00
Vladimir Serbinenko
95b56e3a97
Recognize raspberry pi kernel in grub-file.
2013-12-23 05:19:42 +01:00
Vladimir Serbinenko
bbc52c228f
Enable cache on ARM U-Boot port.
...
Without it the port is reidiculously slow.
2013-12-23 05:01:58 +01:00
Vladimir Serbinenko
943981ff65
Fix ARM cache maintainance.
...
More code was converted from ASM to C for easier handling.
2013-12-23 04:27:53 +01:00
Vladimir Serbinenko
adabfb5418
* grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
...
algorithm on v5.
Suggested by: Leif Lindholm.
2013-12-22 22:33:35 +01:00
Leif Lindholm
30a9ab952f
arm64: add EFI Linux loader
...
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
2013-12-22 18:38:44 +00:00
Leif Lindholm
c415eaa98f
fdt: additions required for arm64 Linux loader
...
- Add grub_fdt_create_empty_tree() function.
- Add 64-bit setprop.
2013-12-22 18:38:44 +00:00
Vladimir Serbinenko
313fb3cef8
Add module loading and parsing boot time checkpoints.
2013-12-22 18:14:42 +01:00
Vladimir Serbinenko
37f617c025
* grub-core/loader/arm/linux.c: Pass arguments through on ATAG
...
platforms.
2013-12-22 18:14:00 +01:00
Vladimir Serbinenko
5ad9f728eb
Workaround buggy timer in raspberry pie by using our own timer
...
implementation.
2013-12-22 02:48:42 +01:00
Vladimir Serbinenko
0d8b81f89a
Fix ARM Linux Loader on non-FDT platforms.
2013-12-22 00:30:19 +01:00
Vladimir Serbinenko
0b602bf9ad
* grub-core/osdep/unix/getroot.c: Non-unix build fix.
2013-12-21 18:10:05 +01:00
Vladimir Serbinenko
96650a82ec
* grub-core/kern/emu/main.c: Build fix for emu.
2013-12-21 18:09:19 +01:00
Vladimir Serbinenko
ca3e20886e
Build fixes for argp.h with older gcc.
2013-12-21 18:08:25 +01:00
Vladimir Serbinenko
ae558c2ccf
Enable -Wformat=2 if it's supported.
2013-12-21 15:28:28 +01:00
Vladimir Serbinenko
ab216512d7
* grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as u32
...
as both HFS and HFS+ have 32-bit inodes.
2013-12-21 14:40:53 +01:00
Vladimir Serbinenko
80b29fc9b4
* grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
...
for size.
2013-12-21 14:16:49 +01:00
Vladimir Serbinenko
6e327fcd4c
* grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
...
for pointer difference.
2013-12-21 14:15:04 +01:00
Vladimir Serbinenko
579ee114b1
Add missing static qualifiers.
2013-12-21 13:50:13 +01:00
Vladimir Serbinenko
5dbde526a8
Inline printf templates when possible to enable format checking.
2013-12-21 13:40:18 +01:00
Vladimir Serbinenko
17b4355943
* grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
...
was intended.
2013-12-21 13:35:28 +01:00
Vladimir Serbinenko
76a2a43011
* grub-core/lib/crypto.c: Don't discard const attribute.
2013-12-21 13:34:03 +01:00
Vladimir Serbinenko
0d26164edd
* grub-core/lib/disk.c: Fix potential overflow.
2013-12-21 13:32:39 +01:00
Vladimir Serbinenko
2622b1e8a8
* grub-core/lib/arg.c: Don't discard const attribute.
2013-12-21 13:28:52 +01:00
Vladimir Serbinenko
05126706b0
* grub-core/kern/dl.c: Don't discard const attribute.
2013-12-21 13:26:27 +01:00
Vladimir Serbinenko
2f9c48041a
* grub-core/kern/disk.c: Fix potential overflow.
2013-12-21 13:23:37 +01:00
Vladimir Serbinenko
065adc346c
Clarify several translatable messages.
2013-12-21 03:21:45 +01:00
David Prévot
496a6b3024
Correct some translatable strings.
2013-12-21 03:03:31 +01:00
Vladimir Serbinenko
bfdfeb2508
Clarify several translatable messages.
2013-12-21 01:41:16 +01:00
Colin Watson
3bc1b2daab
Fix various build problems on GNU/Hurd.
...
* grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
!defined (__GNU__).
(xgetcwd): Likewise.
* include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
[__GNU__]: Add prototype.
* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
long int using %ld rather than %d.
2013-12-20 14:02:27 +00:00
Allen Pais
ee281fd0c6
* grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
...
Also-By: Bob Picco <bob.picco@oracle.com>
2013-12-19 01:53:56 +01:00
Vladimir Serbinenko
2e238b3708
Make grub_zlib_decompress handle incomplete chunks.
...
Fixes squash4.
2013-12-18 23:39:49 +01:00
Vladimir Serbinenko
2984035e1a
* grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt on i386-multiboot.
2013-12-18 21:19:11 +01:00
Aleš Nesrsta
b9f03772b5
* grub-core/disk/usbms.c: Retry on unknown errors.
...
Reuse the same tag on retries.
2013-12-18 19:00:45 +01:00
Aleš Nesrsta
e3ef0d30cf
* grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
...
Avoid confusing them with already completed transfers.
2013-12-18 18:59:49 +01:00
Vladimir Serbinenko
72c9a50773
Remove xen VFB.
...
Due to XEN bug it prevents Linux boot. Remove it at least, until
workaround is found.
2013-12-18 18:43:09 +01:00
Vladimir Serbinenko
64dd5fdc00
Add missing license section in macbless.mod and macho.mod.
2013-12-18 17:11:11 +01:00
Vladimir Serbinenko
1962ed95cc
* grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
2013-12-18 12:29:30 +01:00
Vladimir Serbinenko
7a7f52388b
Make grub_util_get_windows_path_real static.
2013-12-18 07:45:15 +01:00
Vladimir Serbinenko
9246d5c8a4
* grub-core/commands/fileXX.c: Silence cast-align.
...
* grub-core/loader/i386/xen_fileXX.c: Likewise.
2013-12-18 07:40:43 +01:00
Vladimir Serbinenko
bc8dd11952
* grub-core/loader/arm/linux.c: Use common initrd functions.
2013-12-18 07:34:28 +01:00
Vladimir Serbinenko
57a691b7e7
Decrease number of strings to translate.
2013-12-18 07:26:13 +01:00
Vladimir Serbinenko
74fa9417e5
* grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
2013-12-18 07:06:23 +01:00
Vladimir Serbinenko
636977b089
Mark strings for translation and add remaining ones to exclude list.
2013-12-18 06:50:24 +01:00
Vladimir Serbinenko
a43b3e5d8e
Silence spurious warning.
2013-12-18 06:19:16 +01:00
Vladimir Serbinenko
81294aff98
Remove check_nt_hiberfil as it's been superseeded by file command.
2013-12-18 06:03:23 +01:00
Vladimir Serbinenko
8f5add13ff
Implement syslinux parser.
2013-12-18 05:28:05 +01:00
Vladimir Serbinenko
8ff35d0a1b
* grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
2013-12-18 05:21:06 +01:00
Vladimir Serbinenko
ba14476051
Support cpuid --pae.
2013-12-17 23:40:49 +01:00
Vladimir Serbinenko
daaa89dbe5
Use AT keyboard on Yeeloong 3A.
2013-12-17 22:54:30 +01:00
Vladimir Serbinenko
25a7863d77
Add Yeeloong 3A reboot and halt.
2013-12-17 22:53:18 +01:00
Vladimir Serbinenko
184c61ddce
Add Radeon Yeeloong 3A support.
2013-12-17 22:52:04 +01:00
Vladimir Serbinenko
fd4650a556
Add bonito 3A support.
2013-12-17 22:49:27 +01:00
Vladimir Serbinenko
3e88fbfa6e
* grub-core/loader/machoXX.c: Fix compilation on non-i386.
2013-12-17 22:44:46 +01:00
Vladimir Serbinenko
1123bed944
* grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
2013-12-17 20:47:31 +01:00
Vladimir Serbinenko
ebda165f3a
* grub-core/loader/macho.c: Fix compilation on non-i386.
2013-12-17 20:46:33 +01:00
Jon McCune
24d5934daa
Fix double-free introduced by commit 33d02a42d6
...
To reproduce the problem, make sure you have a GPG public key available, build and install GRUB:
grub-install --debug --debug-image="all" --pubkey=/boot/pubkey.gpg --modules="serial terminfo gzio search search_label search_fs_uuid search_fs_file linux vbe video_fb video mmap relocator verify gcry_rsa gcry_dsa gcry_sha256 hashsum gcry_sha1 mpi echo loadenv boottime" /dev/sda
Sign all the files in /boot/grub/* and reboot.
'make check' results identical before and after this change.
TESTED: In a QEMU VM using an i386 target.
2013-12-17 07:32:07 -08:00
Vladimir Serbinenko
18e76955be
Use %I64 and not %ll when using OS printf if compiling for windows.
2013-12-17 16:04:47 +01:00
Vladimir Serbinenko
b8765fa082
Implement better integration with Mac firmware.
2013-12-17 15:21:02 +01:00
Vladimir Serbinenko
1f032575bb
* grub-core/loader/multiboot_mbi2.c: Implement special value for load_addr.
2013-12-17 15:14:50 +01:00
Vladimir Serbinenko
d45067a290
Add explicit thumb interwork bx in asm files.
...
Shouldn't matter for armv >= 5 but let's be safe.
2013-12-17 14:50:44 +01:00
Vladimir Serbinenko
3086175489
Implement Truecrypt ISO loader.
2013-12-17 14:45:46 +01:00
Vladimir Serbinenko
e14d409b6f
* grub-core/lib/arg.c: Ensure at least a single space between commands.
2013-12-17 14:42:02 +01:00
Vladimir Serbinenko
ec824e0f2a
Implement grub_file tool and use it to implement generating of config
...
in separate root.
2013-12-17 14:39:48 +01:00
Vladimir Serbinenko
296f76068d
Change to v1 xen grants.
2013-12-17 13:55:47 +01:00
Vladimir Serbinenko
2c384f1e6e
* grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
...
GRUB relied on %ebx being preserved across hypercall which isn't true.
2013-12-17 13:40:52 +01:00
Vladimir Serbinenko
d16ff5897f
* grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
...
GRUB relied on %rdi being preserved across hypercall which isn't true.
2013-12-17 13:19:58 +01:00
Vladimir Serbinenko
71669c3b76
Implement XEN VFB support.
2013-12-17 13:07:26 +01:00
Vladimir Serbinenko
60d1dd3d72
Remove grub_bios_interrupt on coreboot.
...
It's not used currently and cannot be used safely currently.
2013-12-17 12:54:11 +01:00
Vladimir Serbinenko
a82010503e
Update exclude.pot and mark few strings for translation.
2013-12-17 01:18:09 +01:00
Vladimir Serbinenko
dd05b91f6b
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-12-16 20:33:19 +01:00
Vladimir Serbinenko
2a123f4c58
* grub-core/tests/sleep_test.c: Silence spurious warning.
2013-12-16 20:32:43 +01:00
Andrey Borzenkov
840a2c0592
add verbose information to linux platform check
...
As suggested by Vladimir Serbienko, add additional verbose output to inform
why we selected this specific platform.
2013-12-16 23:17:40 +04:00
Andrey Borzenkov
d770e63557
use grub_util_exec_redirect_all to silence "moprobe efivars"
...
modprobe -q still prints error on non-EFI. Redirect stderr instead.
Reported by Javier Vasquez.
2013-12-16 22:41:16 +04:00
Andrey Borzenkov
396311f0f6
consolidate grub_util_exec code
...
We need to hide "modprobe efivars" error output to avoid confusion. So
consolidate grub_util_exec_* into single function that can optionally redirect
all three standard descriptors and make all other functions compatibility
wrappers.
Also remove include/grub/osdep/exec_unix.h which does not appear to be used
anywhere.
2013-12-16 22:41:15 +04:00
Vladimir Serbinenko
316c8d9a18
Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
...
linker trying to "fixup" the code.
2013-12-16 18:10:50 +01:00
Vladimir Serbinenko
8fcce8d50f
* grub-core/kern/x86_64/xen/startup.S: Align stack.
2013-12-16 17:44:10 +01:00
Vladimir Serbinenko
6f1f6a0c82
Add support for converting PE+ to Elf64.
2013-12-16 15:30:50 +01:00
Vladimir Serbinenko
66a07ce2f8
* grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
2013-12-16 15:28:07 +01:00
Vladimir Serbinenko
cc6fb517de
Remove practice of assigning random const pointers to device id.
...
This is not required as cache code already checks driver id as well.
2013-12-16 14:49:11 +01:00
Vladimir Serbinenko
d87cb3ae3c
* grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
2013-12-16 14:36:48 +01:00
Vladimir Serbinenko
f4171ebd34
Handle X86_64_PC64 relocation.
...
Those are generated by some cygwin compilers.
2013-12-16 14:24:19 +01:00
Vladimir Serbinenko
252a289cb3
Determine the need for mingw-related stubs at compile time rather than
...
using not very significant $target_os.
2013-12-16 14:18:15 +01:00
Vladimir Serbinenko
fadddc260a
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
...
Conflicts:
ChangeLog
2013-12-16 14:15:37 +01:00
Vladimir Serbinenko
23d2abc33c
* grub-core/genmod.sh.in: Strip before converting to ELF as strip
...
may not work with ELF.
2013-12-16 13:18:48 +01:00
Vladimir Serbinenko
4f979ccbf1
Use unix functions for temporary files and special files on cygwin.
2013-12-16 13:16:37 +01:00
Vladimir Serbinenko
6a09d83e12
* grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
2013-12-16 13:02:19 +01:00
Andrey Borzenkov
e477187bf4
small fixes for Windows EFI install code
...
Fix potential crash caused by signed vs. unsigned comparison. Negative
length compares as very large unsigned number causing subsequent NULL access.
Make exhaustive search for all BootNNNN variables to find one matching
requested efi_distributor.
2013-12-15 22:00:15 +04:00
Ian Campbell
80b865bdc8
* grub-core/kern/uboot/init.c: Fix units of uboot timer.
2013-12-15 17:59:40 +01:00
Vladimir Serbinenko
04b0285701
New functional test for sleep function.
...
This test allows to check sleep without qemu. Keep qemu version as
well as functional test won't notice if all clocks are going too fast
or too slow.
2013-12-15 17:57:58 +01:00
Vladimir Serbinenko
d99af4f0e8
* grub-core/commands/efi/lsefisystab.c: Use %lld to show num_table_entries.
2013-12-15 14:42:19 +01:00
Vladimir Serbinenko
111bf5db8b
* grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
...
appropriate.
2013-12-15 14:37:12 +01:00
Vladimir Serbinenko
24ca71c93b
* grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
2013-12-15 14:35:18 +01:00
Vladimir Serbinenko
48ba5c0c86
* grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
...
appropriate.
2013-12-15 14:33:22 +01:00
Vladimir Serbinenko
8ae6704517
* grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
...
In case of quick removal of loopback and adding another one it may
get same ID, confusing the cache system.
2013-12-15 14:31:21 +01:00
Vladimir Serbinenko
ed55931073
* grub-core/commands/acpi.c: Use grub_addr_t rather than long when
...
appropriate.
2013-12-15 14:27:04 +01:00
Vladimir Serbinenko
8fa2627942
* grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
...
than converting to long.
2013-12-15 14:24:34 +01:00
Vladimir Serbinenko
6f5f3337d8
* grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
2013-12-15 14:21:14 +01:00
Vladimir Serbinenko
7e47e27bd8
Add gcc_struct to all packed structures when compiling with mingw.
...
Just "packed" doesn't always pack the way we expect.
2013-12-15 14:14:30 +01:00
Vladimir Serbinenko
814442ba69
Implement windows flavour of EFI install routines.
2013-12-14 23:35:58 +01:00
Vladimir Serbinenko
a24725cc6e
Change grub_install_register_efi interface to pass GRUB device.
...
This allows grub_install_register_efi to request partition info
directly.
2013-12-14 23:31:56 +01:00
Vladimir Serbinenko
38933cee85
Workaround cygwin bug when using \\?\Volume{GUID} syntax.
2013-12-14 23:28:34 +01:00
Vladimir Serbinenko
6d3cfe5063
Do not use TCHAR string functions as they are not available on cygwin.
2013-12-14 23:25:30 +01:00
Vladimir Serbinenko
4bad23a15f
Workaround windows bug when querying EFI system partition parameters.
2013-12-14 23:23:11 +01:00
Vladimir Serbinenko
6a5fe1328b
* grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
...
by using bitfields.
2013-12-14 23:15:47 +01:00
Vladimir Serbinenko
bc8fcf4bd3
* grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
2013-12-14 23:13:42 +01:00
Vladimir Serbinenko
60b967be7e
Make i386-* other than i386-pc compileable under cygwin.
2013-12-14 23:12:53 +01:00
Vladimir Serbinenko
6dc3337774
Fix definition of grub_efi_hard_drive_device_path. Take care that
...
existing code would work even if by some reason bogus definition is
used by EFI implementations.
2013-12-14 22:04:02 +01:00
Vladimir Serbinenko
f2c6ff15e5
* grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
2013-12-14 21:55:44 +01:00
Vladimir Serbinenko
6b8a162516
* grub-core/osdep/windows/blocklist.c: Add missing cast in printf
...
invocation.
2013-12-14 21:54:37 +01:00
Vladimir Serbinenko
607a39f9f0
* include/grub/efi/api.h: Rename protocol and interface to avoid
...
conflict.
2013-12-14 21:48:46 +01:00
Vladimir Serbinenko
f684d7e1a9
* grub-core/osdep/exec.c: Use unix version on cygwin.
2013-12-14 21:39:03 +01:00
Vladimir Serbinenko
0df77d793c
Implement multiboot2 EFI BS specification.
2013-12-13 12:56:14 +01:00
Vladimir Serbinenko
dafff9ce44
* grub-core/normal/charset.c: Fix premature line wrap and crash.
...
Crash happened only in some cases like a string starting at the
half of the screen of same length.
2013-12-11 17:06:00 +01:00
Vladimir Serbinenko
44bbfa33b8
Propagate the EFI commits to x86-efi specific parts.
2013-12-11 16:11:17 +01:00
Vladimir Serbinenko
3e3dff249f
* grub-core/commands/efi/lssal.c: Fix terminating condition.
2013-12-11 15:59:12 +01:00
Vladimir Serbinenko
316dda716c
Introduce grub_efi_packed_guid and use it where alignment is not
...
guaranteed.
2013-12-11 15:57:08 +01:00
Vladimir Serbinenko
219401b8b9
* include/grub/efi/api.h (grub_efi_device_path): Define length as
...
unaligned u16 rather than u8[2].
2013-12-11 15:54:01 +01:00
Vladimir Serbinenko
30d0053799
* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
...
for relocation range.
2013-12-11 11:29:35 +01:00
Vladimir Serbinenko
979742bc7e
* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
...
non-function pcrel21b relocation. It happens with .text.unlikely
section.
2013-12-11 11:28:48 +01:00
Leif Lindholm
16c8f78513
efi: mm: make MAX_USABLE_ADDRESS platform-specific
2013-12-10 18:05:29 +00:00
Leif Lindholm
3f1423e789
* grub-core/lib/fdt.c: change memcpy => grub_memcpy
2013-12-10 16:51:10 +00:00
Andrey Borzenkov
9f2f979bcf
always define config_directory and config_file as full pathname
...
If configfile is relative pathname, extend it with current ($root) so its
interpretation does not change if $root is changed later.
Suggested by Vladimir Serbienko.
2013-12-10 09:55:27 +04:00
Vladimir Serbinenko
7a148da6dd
Implement sparc64 trampolines (needed for sparc64-emu).
2013-12-10 00:01:27 +01:00
Vladimir Serbinenko
21eee750b7
* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
...
range of R_SPARC_HI22.
Implement R_SPARC_LM22.
2013-12-09 15:51:12 +01:00
Vladimir Serbinenko
7b54b62682
* grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
...
Do not explicitly check for symbol table as it's already checked in
platform-independent layer.
2013-12-09 15:43:27 +01:00
Vladimir Serbinenko
9a945e2a24
* grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
...
on ia64 as __clear_cache is a dummy on ia64.
2013-12-09 14:24:56 +01:00
Vladimir Serbinenko
4f4ea1b449
* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
...
Do not explicitly check for symbol table as it's already checked in
platform-independent layer.
2013-12-09 14:22:31 +01:00
Vladimir Serbinenko
78b2b0a1a0
* grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
...
* grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
2013-12-08 18:27:40 +01:00
Vladimir Serbinenko
d14772c455
* grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
...
compilation with GCC <= 4.2.
* grub-core/kern/emu/argp_common.c: Likewise.
2013-12-08 18:21:10 +01:00
Vladimir Serbinenko
11e4167a35
* grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
...
But ensure that the variables in question are indeed unsigned.
2013-12-08 18:16:32 +01:00
Vladimir Serbinenko
fa7eb63dec
* grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
2013-12-08 18:14:32 +01:00
Vladimir Serbinenko
50b3a68db9
Remove grub_memalign on emu.
2013-12-08 18:12:20 +01:00
Vladimir Serbinenko
fbbfb6ab11
* grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
...
truncate incomplete lines but instead flushes them.
2013-12-08 18:10:05 +01:00
Vladimir Serbinenko
a19293cb75
Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
...
and implement windows variant.
2013-12-08 18:08:23 +01:00
Vladimir Serbinenko
d5c14e1e26
Fix mips-emu compilation.
2013-12-08 17:49:02 +01:00
Vladimir Serbinenko
c311ced5d7
Make arm-emu work.
2013-12-08 02:59:21 +01:00
Andrey Borzenkov
bb05e313eb
use light-gray as default color in normal.mod for consistency
...
Defalut font color on PC console seems to be light-gray; this is
what user also gets in rescue prompt and what is defined as
GRUB_TERM_DEFAULT_NORMAL_COLOR. But normal.mod defaults to white.
This makes unpleasant visual effect as colors are changed after kernel
is booted.
Use the same color eveywhere for consistency and default to light-gray
as this is also what at least Linux kernel is using by default.
2013-12-07 20:00:48 +04:00
Vladimir Serbinenko
8c534b85f1
Revamp relocation handling.
...
Move more code to common dl.c. Add missing veneers for arm and arm64.
Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
2013-12-06 09:18:55 +01:00
Colin Watson
59b38922a1
Pacify compiler warning
...
* grub-core/osdep/linux/hostdisk.c
(grub_util_find_partition_start_os): Initialise start to avoid
spurious compiler warning.
2013-12-05 15:48:27 +00:00
Colin Watson
0480665b9d
On Linux, read partition start offsets from sysfs if possible
...
This lets us cope with block device drivers that don't implement
HDIO_GETGEO. Fixes Ubuntu bug #1237519 .
* grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
function.
(sysfs_partition_start): Likewise.
(grub_util_find_partition_start_os): Try sysfs_partition_start
before HDIO_GETGEO.
2013-12-05 13:51:52 +00:00
Leif Lindholm
bbeee1c4a3
grub-core/lib/fdt.c: correctly update size_dt_struct in add_subnode()
2013-12-05 11:44:41 +00:00
Vladimir Serbinenko
e5ed2f6947
Handle unaligned .bss on sparc64.
...
Current code improperly assumes that both __bss_start and _end are
aligned to 8-bytes. Eliminating this assumption and explicitly align
modules.
2013-12-05 06:35:19 +01:00
Vladimir Serbinenko
4a73746a04
* grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
...
so it doesn't land in the middle of loaded image.
2013-12-04 19:54:37 +01:00
Vladimir Serbinenko
8a3f0a24b5
* grub-core/kern/emu/main.c: Ignore missing prototype for main.
2013-12-04 10:28:23 +01:00
Vladimir Serbinenko
6f07c4e407
Pass font config to config.h and not by TARGET_CFLAGS as adding
...
arguments doesn't work if TARGET_CFLAGS is specified on command
line.
2013-12-04 10:25:53 +01:00
Vladimir Serbinenko
cd15c394cc
* grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
...
Remove variable length arrays.
* grub-core/term/efi/console.c (grub_console_putchar): Likewise.
2013-12-04 10:05:33 +01:00
Vladimir Serbinenko
bb6e299ccb
* grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
2013-12-04 09:48:36 +01:00
Vladimir Serbinenko
47f88cc94e
* grub-core/kern/efi/efi.c: Remove variable length arrays.
2013-12-04 08:39:22 +01:00
Vladimir Serbinenko
40b5739ff9
* grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
...
minutes.
2013-12-04 08:26:39 +01:00
Vladimir Serbinenko
234d93464a
* grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
...
* grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2013-12-04 08:10:01 +01:00
Colin Watson
0c0eab527f
* grub-core/Makefile.core.def (setjmp): Distribute
...
lib/arm64/setjmp.S.
2013-12-03 18:11:18 +00:00
Colin Watson
44d4884779
Merge branch 'cjwatson/timeout-style'
2013-12-03 16:15:45 +00:00
Colin Watson
f315b508ae
Reduce nesting level.
2013-12-03 16:11:00 +00:00
Andrey Borzenkov
5037aa9a7b
fix libgrub.pp build post arm64 merge
...
grub-core/kern/arm64/dl_helper.c:26:28: fatal error: grub/cpu/reloc.h: No such file or directory
2013-11-30 22:36:10 +04:00
Leif Lindholm
b29b77fee2
New port arm64-efi
2013-11-30 16:50:31 +01:00
Vladimir Serbinenko
35de6d4bac
* grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
...
-march=armv3.
2013-11-30 11:19:06 +01:00
Vladimir Serbinenko
ce55ed0389
Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
2013-11-30 11:14:30 +01:00
Vladimir Serbinenko
eec893ae49
* grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
2013-11-29 05:52:20 +01:00
Vladimir Serbinenko
d54f647a4a
* grub-core/osdep/linux/ofpath.c: Check return value of read.
2013-11-29 05:46:19 +01:00
Vladimir Serbinenko
469021b4b3
Remove libgnulib.a and use its sources in dependencies directly.
...
This was the only instance of "library" in core config. A bug was
reported that -fno-stack-protector wasn't passed to it. Instead of
figuring out why it failed just remove this construction used
needlessly.
2013-11-29 03:36:50 +01:00
Vladimir Serbinenko
83c256ba42
* grub-core/osdep/unix/password.c (grub_password_get): Check that
...
fgets succeeded.
2013-11-29 03:32:57 +01:00
Colin Watson
8f236c1419
Revamp hidden timeout handling
...
Add a new timeout_style environment variable and a corresponding
GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
controls hidden-timeout handling more simply than the previous
arrangements, and pressing any hotkeys associated with menu entries
during the hidden timeout will now boot the corresponding menu entry
immediately.
GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
generates a warning, and if it shows the menu it will do so as if
the second timeout were not present. Other combinations are
translated into reasonable equivalents.
2013-11-28 02:29:15 +00:00
Vladimir Serbinenko
2d76b4d81e
Eliminate variable length arrays in grub_vsnprintf_real.
...
A bit tricky because this function has to continue to work without
heap for short strings. Fixing prealloc to 32 arguments is reasonable
but make all stack references use 32-bit offset rather than 8-bit one.
So split va_args preparsing to separate function and put the prealloc
into the caller.
2013-11-27 15:16:09 +01:00
Vladimir Serbinenko
4f9541226c
Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
...
Fixes build for windows.
2013-11-27 14:13:50 +01:00
Colin Watson
16ef26fd3a
* grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
...
references to mdadm from otherwise generic code.
(grub_util_exec_pipe): Likewise.
(grub_util_exec_pipe_stderr): Likewise.
* grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
This function calls vgs, not mdadm; adjust variable names
accordingly.
2013-11-27 11:22:31 +00:00
Colin Watson
5c7206e45e
Speed up test suite by avoiding fsync
...
Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls into
no-ops, and use it in programs that copy files but do not need to take
special care to sync writes (grub-mknetdir, grub-rescue,
grub-mkstandalone).
On my laptop, this reduces partmap_test's runtime from 1236 seconds to
204 seconds.
2013-11-27 10:10:22 +00:00
Vladimir Serbinenko
1e4b358720
Add PCI command activation to all PCI drivers as required for coreboot
...
and maybe some other firmwares.
2013-11-26 14:21:11 +01:00
Vladimir Serbinenko
9208367d3f
* grub-core/Makefile.am: Reduce gratuituous differences between Apple
...
and non-Apple variants of efiemu compile.
2013-11-26 11:38:12 +01:00
Andrey Borzenkov
c2b70d0981
Explicitly check for linking format to use for efiemu64 module
...
Similar to check for target linking format, also check for efiemu64
instead of hardcoding -melf_x86_64. This fixes compilation on *BSD
variants. We cannot easily reuse main target check because platforms
are different (main target is 32 bit and efiemu64 - 64 bit).
This commit adds EFIEMU64_LINK_FORMAT that contains detected
link option and is used in efiemu64.o linking instead of hardcoded
value.
Reported-By: Beeblebrox <zaphod@berentweb.com>
2013-11-25 22:32:55 +04:00
Vladimir Serbinenko
d2f7902af0
Make arm64 compileable with clang
2013-11-25 13:06:56 +01:00
Vladimir Serbinenko
1005bed722
Use b.ge form for instructions
2013-11-25 13:04:44 +01:00
Vladimir Serbinenko
d6c92cdc34
Merge branch 'master' into leiflindholm/arm64
...
Conflicts:
include/grub/util/install.h
2013-11-25 13:02:27 +01:00
Vladimir Serbinenko
61e1b9a49d
* grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
...
Don't rely on PATH_MAX.
2013-11-25 07:34:49 +01:00
Vladimir Serbinenko
c98dd165b0
* grub-core/genmoddep.awk: Use more portable && rather than and.
2013-11-25 07:32:51 +01:00
Vladimir Serbinenko
5c066a81c2
Apple assembly doesn't handle symbol arithmetic well. So define an
...
offset symbol in boot.S and use it.
2013-11-24 07:12:12 +01:00
Vladimir Serbinenko
78f961efe9
Apple assembly doesn't handle symbol arithmetic well. So instead
...
of getting addres of kernel_sector + 4 define kernel_sector_high.
It also makes code more readable.
2013-11-24 07:11:00 +01:00
Vladimir Serbinenko
09bc0a577d
With Apple assembly in .macro environvemnt you have to use $$ instead
...
of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
to $$x on Apple and to $x on everything else.
2013-11-24 07:08:18 +01:00
Vladimir Serbinenko
b700a427d2
* grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
...
OBJCONV.
2013-11-24 05:27:20 +01:00
Vladimir Serbinenko
4480b95dcd
* grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
...
and non-Apple. This instruction is shorter and faster,
so no reason not to use it on both.
2013-11-24 05:17:24 +01:00
Vladimir Serbinenko
e77c81f6f8
* grub-core/lib/reed_solomon.c: Use section _text, _text rather than
...
.text when compiling for Apple.
2013-11-24 05:14:11 +01:00
Vladimir Serbinenko
971dbee521
* grub-core/term/arc/console.c: Add missing cast to silence warning.
2013-11-24 05:05:34 +01:00
Vladimir Serbinenko
6f2e82be3a
* grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
...
%dx restore the probe worked on non-existant drive. Reorganize the
code a little bit to free 2 bytes necessary for push/pop.
2013-11-24 05:05:33 +01:00
Vladimir Serbinenko
9eec9699b9
* grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
...
Add missing cast to silence warning.
2013-11-23 15:35:01 +01:00
Vladimir Serbinenko
1bba40f578
Move common BIOS/coreboot memory map declarations to
...
include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2013-11-23 12:39:21 +01:00
Vladimir Serbinenko
a92b5cb8d8
* grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
...
clang.
2013-11-23 00:36:13 +01:00
Vladimir Serbinenko
e1c22419ac
* grub-core/kern/xen/init.c: Do not map more pages than we can address.
2013-11-22 13:04:29 +01:00
Vladimir Serbinenko
189090cee9
* grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
...
with -mcmodel=large.
2013-11-22 13:03:19 +01:00
Vladimir Serbinenko
1a5b7b404f
* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
...
range-checking for 32-bit quantities.
2013-11-22 13:01:14 +01:00
Vladimir Serbinenko
4a0aaad022
clang emits calls to abort () under some unknown conditions.
...
Export abort () when compiling with clang.
2013-11-22 12:42:58 +01:00
Vladimir Serbinenko
ddb3efc906
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
...
at compile time that enough of scratch size is available.
2013-11-22 12:00:10 +01:00
Vladimir Serbinenko
4e42521d8c
* grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
...
Previously we misaligned stack by 8 in startup.S and compensated
for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
right behaviour is to align stack in startup.S and keep it aligned
in callwrap.S. startup.S part was committed few commits before. This
takes care of callwrap.S.
Reported by: Gary Lin.
2013-11-22 05:40:32 +01:00
Vladimir Serbinenko
054efe541f
* grub-core/boot/mips/startup_raw.S: Handle the case of gap between
...
.data and .bss. May happen if compiler and assembly use different
alignment.
2013-11-22 05:07:32 +01:00
Vladimir Serbinenko
a0e1befb57
On MIPS handle got16 relocations to local symbols in an ABI-compliant
...
way.
2013-11-22 05:03:17 +01:00
Vladimir Serbinenko
c36c73f681
Add support for a new magic symbol _gp_disp on mips to handle PIC
...
binaries.
2013-11-22 04:56:10 +01:00
Vladimir Serbinenko
6f4a19f59f
Use $t9 for indirect calls from asm to C as PIC ABI requires.
2013-11-22 04:45:05 +01:00
Vladimir Serbinenko
0d8f04cd83
Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
...
when rest of GRUB is compiled for hisher stepping. Instead use
.set mips3/.set mips1 around cache and sync opcodes.
2013-11-22 04:36:53 +01:00
Vladimir Serbinenko
4906052019
Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
...
do essentially the same thing, do it in similar way.
2013-11-21 21:54:33 +01:00
Colin Watson
b7f9aedfac
* grub-core/normal/progress.c: Remove unused file.
2013-11-21 15:37:57 +00:00
Vladimir Serbinenko
7dd0a30361
* grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
...
array.
2013-11-20 20:09:18 +01:00
Josh Triplett
7960d3e182
* grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
...
16-byte boundary, as required by the x86-64 ABI, before calling
grub_main. In some cases, GCC emits code that assumes this
alignment, which crashes if not aligned. The EFI firmware is also
entitled to assume that stack alignment without checking.
2013-11-19 14:31:40 +01:00
Leif Lindholm
8a07b55a04
arm64: cache maintenance code rework + bugfix
2013-11-19 10:05:23 +00:00
Josh Triplett
d53f4900d7
* grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
...
4k page boundaries as expected by firmware rather than 1k
boundaries.
(grub_mmap_malign_and_register): Likewise.
2013-11-18 18:00:52 +01:00
Vladimir Serbinenko
96fa2d9d02
Merge branch 'master' into leiflindholm/arm64
2013-11-18 17:51:28 +01:00
Vladimir Serbinenko
45bf8b3a75
* grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
...
pointer to 32K. This is the size of cache element which is the most
common allocation >1K. This way the pointer is always around blocks
of 32K and so we keep performance while decreasing fragmentation.
2013-11-18 17:41:37 +01:00
Vladimir Serbinenko
39ff43c579
* grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
...
current memory when allocating large chunks. This significantly
decreases memory fragmentation.
2013-11-18 16:58:55 +01:00
Vladimir Serbinenko
74e632fea8
* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
...
clock frequency to 200 MHz,
2013-11-18 16:39:45 +01:00
Vladimir Serbinenko
4d5b72cdb4
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-11-18 14:54:01 +01:00
Vladimir Serbinenko
ea7c1a7d90
* grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
...
already loaded. This saves memory needed for tests,
2013-11-18 14:38:31 +01:00
Vladimir Serbinenko
5e3cb8a747
* grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
...
work again.
2013-11-18 14:35:18 +01:00
Colin Watson
3bf4088b8b
* grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
...
Handle errors from mkstemp.
(grub_util_make_temporary_dir): Handle errors from mkdtemp.
2013-11-18 12:27:44 +00:00
Vladimir Serbinenko
f8b4c3b6b3
* grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
...
low-memory platforms where we don't have enough memory for them.
* grub-core/tests/videotest_checksum.c: Likewise.
2013-11-18 11:48:07 +01:00
Vladimir Serbinenko
4bf703206d
* grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
...
already loaded. This saves memory needed for tests,
2013-11-18 11:45:55 +01:00
Vladimir Serbinenko
2df8f43d3e
* grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2013-11-18 10:01:36 +01:00
Vladimir Serbinenko
6f1bc8bc0f
On i386-ieee1275 we run in paged mode. So we need to explicitly map
...
the devices before accessing them.
2013-11-18 04:32:33 +01:00
Vladimir Serbinenko
04f39f6df8
* grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
...
as file argument.
2013-11-18 02:45:25 +01:00
Vladimir Serbinenko
35d4761ce2
* grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2013-11-18 02:43:29 +01:00
Vladimir Serbinenko
33d02a42d6
* grub-core/kern/file.c (grub_file_open): Free file->name on failure.
...
(grub_file_close): Free file->name.
2013-11-18 02:41:42 +01:00
Vladimir Serbinenko
7bbb60cfbd
* grub-core/commands/verify.c (free_pk): Plug memory leak.
...
(grub_load_public_key): Likewise.
(grub_verify_signature_real): Likewise.
(grub_cmd_verify_signature): Likewise.
2013-11-18 02:40:17 +01:00
Vladimir Serbinenko
da93d6753b
* grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
...
memory leak.
2013-11-18 02:37:46 +01:00
Vladimir Serbinenko
59c943ecf6
* grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
...
(grub_longjmp): Restore r31.
* include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2013-11-18 02:35:32 +01:00
Ian Campbell
7d400406a7
* grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2013-11-17 15:38:09 +01:00
Vladimir Serbinenko
0ab8e025c1
* grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
...
of loading gfxterm as gfxterm is embed in kernel on some platforms.
* grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
Load gfxmenu.
2013-11-17 02:13:33 +01:00
Leif Lindholm
15a463d742
ARM 64 port by Leif Lindholm
2013-11-16 20:52:55 +01:00
Vladimir Serbinenko
cd46aa6cef
Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
...
the function of these files exceeds what can be sanely handled in shell
in posix-comaptible way. Also writing it in C extends the functionality
to non-UNIX-like OS and minimal environments.
2013-11-16 20:21:16 +01:00
Vladimir Serbinenko
9ef81064a3
* grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
...
compiling to thumb2.
* grub-core/kern/arm/cache_armv7.S: Likewise.
* grub-core/lib/arm/setjmp.S: Likewise.
2013-11-16 17:37:06 +01:00
Leif Lindholm
11a7793221
arm: delete superflouous save of r8 in grub_uboot_syscall
2013-11-16 15:56:09 +00:00
Vladimir Serbinenko
080603f0b0
Decrease stack usage in lexer.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
as macros so that compiler would remove useless structure on stack.
Better solution would be to fix flex not to put this structure on
the stack but flex is external program.
2013-11-16 16:37:59 +01:00
Vladimir Serbinenko
4f84ae0ec8
Decrease stack usage in signature verification.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
rather than stack.
(grub_verify_signature_real): Likewise.
2013-11-16 16:34:51 +01:00
Vladimir Serbinenko
e6a6182d95
Decrease stack usage in mdraid 0.9x.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
rather than stack.
2013-11-16 16:16:48 +01:00
Vladimir Serbinenko
1a454efe89
Decrease stack usage in BtrFS.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
rather than stack.
2013-11-16 16:15:26 +01:00
Vladimir Serbinenko
7b5d51d837
Decrease stack usage in JFS.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
stack. Note: this function is recursive.
(grub_jfs_read_inode): Read only part we care about.
2013-11-16 16:00:42 +01:00
Leif Lindholm
593865b907
arm: fix u-boot port syscall interface va_arg handling
...
Commit c9cd02c
broke the u-boot syscall API for va_args that spill over
to the stack, causing the disk support to stop working. This patch
resolves the problem, while keeping the new, cleaner transition_space
handling.
2013-11-16 14:12:12 +00:00
Andrey Borzenkov
9e18dfe277
MIPS grub_machine_get_bootlocation arguments are used
2013-11-16 16:59:07 +04:00
Vladimir Serbinenko
6fcec43954
Replace libgcc version of ctz with our own.
...
On upcoming arm64 port libgcc ctz* are not usable in standalone
environment. Since we need ctz* for this case and implementation is
in C we may as well use it on all concerned platforms.
2013-11-15 03:28:34 +01:00
Vladimir Serbinenko
a9f25a0819
* configure.ac: Probe for linking format rather than guessing it based
...
on target_os.
2013-11-14 23:17:18 +01:00
Vladimir Serbinenko
c7995256e4
* grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
...
"1" prior to handoff.
Reported by: M A Young.
2013-11-14 22:42:54 +01:00
Vladimir Serbinenko
e1aa5b6620
* grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
...
\0 to all files.
Reported by: M A Young.
2013-11-14 22:40:50 +01:00
Vladimir Serbinenko
da5ed5cf6b
* grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
...
compilation on NetBSD.
2013-11-14 22:38:36 +01:00
Andrey Borzenkov
a5986276ec
add grub-core/tests/signatures.h to distfiles
2013-11-15 00:51:30 +04:00
Matthew Garrett
1fe26ab4a0
* grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
...
cmdpath to firmware directory.
2013-11-14 15:53:32 +01:00
Vladimir Serbinenko
83e9c273e5
* grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
...
at the start of second iteration.
2013-11-14 15:50:43 +01:00
Vladimir Serbinenko
ec525c18e1
* grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2013-11-14 12:05:48 +01:00
Vladimir Serbinenko
1d912bd3c9
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
...
Conflicts:
ChangeLog
2013-11-14 10:05:54 +01:00
Vladimir Serbinenko
57ffe93485
* grub-core/kern/arm/cache_armv6.S: Remove special handling for
...
clang (not necessarry with -no-integrated-as).
* include/grub/symbol.h [__arm__]: Likewise.
2013-11-14 10:05:19 +01:00
Colin Watson
5da5517288
* grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common code for indirect block handling.
...
Saves 185 bytes on compressed image.
2013-11-14 08:13:06 +00:00
Leif Lindholm
035a26c16a
* grub-core/kern/arm/misc.S: Make thumb2-compatible.
2013-11-14 01:33:06 +01:00
Colin Watson
81a2e438dc
* grub-core/kern/misc.c: Don't redirect divisions in the
...
GRUB_UTIL case.
* include/grub/misc.h: Likewise.
2013-11-13 14:47:23 +00:00
Colin Watson
9b45c0733e
* grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
...
systems that require checking the return value of write.
2013-11-13 13:34:57 +00:00
Vladimir Serbinenko
2bdd07195c
* grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
...
* grub-core/kern/arm/cache_armv6.S: ... here. This allows this
asm to stay in arm even if surrounding is thumb.
2013-11-13 09:58:52 +01:00
Vladimir Serbinenko
5e77d9cfc1
* grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
...
helper functions are needed for thumb.
2013-11-13 09:52:33 +01:00
Vladimir Serbinenko
7d5116251d
* grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
...
level / 3 division explicitly unsigned. Saves few bytes.
2013-11-13 09:40:16 +01:00
Vladimir Serbinenko
81023dbdbd
* grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2013-11-13 09:27:36 +01:00
Vladimir Serbinenko
b2e9294fb9
* grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
...
division.
2013-11-13 09:26:13 +01:00
Vladimir Serbinenko
16a22c3851
* grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
...
grub_uboot_boot_data to asm part.
2013-11-13 06:28:15 +01:00
Vladimir Serbinenko
c9cd02c965
* grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
...
literal load.
(grub_uboot_syscall): Save/restore r9 and align stack.
2013-11-13 06:27:03 +01:00
Vladimir Serbinenko
8149861554
* grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2013-11-13 06:23:32 +01:00
Vladimir Serbinenko
ea57de18f8
* include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
...
occurencies with END.
2013-11-13 05:19:30 +01:00
Josh Triplett
46d8a2033b
* grub-core/normal/term.c (grub_set_more): Use bool logic rather than
...
increment/decrement.
2013-11-13 02:27:11 +01:00
Vladimir Serbinenko
c773faf05e
Revert " * include/grub/symbol.h (ADDR): New macro. Replace all occurences of"
...
This reverts commit 286551b4eb
.
2013-11-13 02:17:20 +01:00
Vladimir Serbinenko
513eeb61dd
* grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
...
compiling with clang.
2013-11-13 01:08:47 +01:00
Vladimir Serbinenko
bc379c1aa1
* grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
...
".".
2013-11-13 01:06:30 +01:00
Vladimir Serbinenko
286551b4eb
* include/grub/symbol.h (ADDR): New macro. Replace all occurences of
...
=x with ADDR(x) in arm assembly.
(END): New macro. Replace all .end with END.
2013-11-13 01:04:56 +01:00
Vladimir Serbinenko
16057d6bbb
Redirect all divisions to grub_divmod64.
2013-11-13 00:53:53 +01:00
Vladimir Serbinenko
f649a6a8fd
* grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2013-11-13 00:51:06 +01:00
Vladimir Serbinenko
ef28ee8bc1
Add missing includes of loader.h.
2013-11-13 00:43:03 +01:00
Vladimir Serbinenko
0c62a5b28e
* grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
...
until it becomes operational.
2013-11-12 19:30:46 +01:00
Vladimir Serbinenko
b0720b4988
* grub-core/Makefile.core.def (legacy_password_test): Disable
...
on platforms where no legacycfg is compiled.
* grub-core/tests/lib/functional_test.c: Tolerate failure to
load legacy_password_test.
2013-11-12 18:44:58 +01:00
Vladimir Serbinenko
d5bab2c0e1
* grub-core/loader/i386/bsd.c: Remove variable length arrays.
2013-11-12 16:14:33 +01:00
Vladimir Serbinenko
3ea0ccb319
* grub-core/efiemu/prepare.c: Remove variable length arrays.
2013-11-12 16:12:28 +01:00
Vladimir Serbinenko
08772054e9
* grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
...
strict-aliasing warning.
(fsync): Silence cast warning.
2013-11-12 16:09:42 +01:00
Vladimir Serbinenko
1dcb27157d
* grub-core/commands/verify.c: Remove variable length arrays.
...
Load gcry_dsa/gcry_rsa automatically.
2013-11-12 16:07:30 +01:00
Vladimir Serbinenko
61c22fdf36
* grub-core/tests/signature_test.c: New test.
2013-11-12 16:05:57 +01:00
Vladimir Serbinenko
431e57a797
* grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
...
API.
2013-11-12 16:01:19 +01:00
Vladimir Serbinenko
b521bb816d
* grub-core/tests/legacy_password_test.c (vectors): Make static.
...
* grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2013-11-12 15:59:58 +01:00
Vladimir Serbinenko
7d06b24eac
* grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2013-11-12 15:58:50 +01:00
Vladimir Serbinenko
3bbeade41d
* grub-core/fs/proc.c: Allow \0 in proc files.
2013-11-12 15:57:09 +01:00
Vladimir Serbinenko
ba82db7a0d
* grub-core/tests/xnu_uuid_test.c: Fix assert message.
2013-11-12 14:11:34 +01:00
Vladimir Serbinenko
801564c804
* grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2013-11-12 14:07:34 +01:00
Vladimir Serbinenko
ac8cac1dac
* grub-core/fs/ext2.c: Remove variable length arrays.
2013-11-12 03:04:19 +01:00
Vladimir Serbinenko
4b85f1228a
* grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
...
length arrays.
2013-11-12 02:49:17 +01:00
Vladimir Serbinenko
c35fcdc0b7
* grub-core/disk/AFSplitter.c: Remove variable length arrays.
...
* grub-core/disk/cryptodisk.c: Likewise.
* grub-core/disk/geli.c: Likewise.
* grub-core/disk/luks.c: Likewise.
2013-11-12 02:48:02 +01:00
Vladimir Serbinenko
15decd26cc
* grub-core/tests/legacy_password_test.c: New test.
...
* grub-core/commands/legacycfg.c: Remove variable length arrays.
2013-11-12 02:38:33 +01:00
Vladimir Serbinenko
9c6482b8d6
* grub-core/lib/pbkdf2.c: Remove variable length arrays.
2013-11-12 01:52:55 +01:00
Vladimir Serbinenko
41f26e0ebc
* grub-core/tests/pbkdf2_test.c: New test.
2013-11-12 01:51:36 +01:00
Vladimir Serbinenko
2def66169e
* grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2013-11-12 01:26:56 +01:00
Vladimir Serbinenko
9e34a34e44
* grub-core/io/lzopio.c: Remove variable length arrays.
2013-11-12 01:25:03 +01:00
Vladimir Serbinenko
44a387e0ea
* grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2013-11-12 01:19:34 +01:00
Vladimir Serbinenko
a388e25576
* grub-core/tests/xnu_uuid_test.c: New test.
2013-11-12 01:18:27 +01:00
Vladimir Serbinenko
a1ef7718c9
* grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
...
covers it).
2013-11-12 00:58:46 +01:00
Vladimir Serbinenko
65ddb30016
* grub-core/commands/hashsum.c: Remove variable length arrays.
2013-11-12 00:52:54 +01:00
Vladimir Serbinenko
31747dd521
* grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
...
condition.
* tests/grub_func_test.in: Increase memory allocation.
2013-11-12 00:44:00 +01:00
Vladimir Serbinenko
6a74c4dfff
* grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
...
&& HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
sys/mount.h.
2013-11-11 23:10:30 +01:00
Vladimir Serbinenko
394c3e0ac2
* grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
...
(grub_util_get_fd_size_os): ...this.
(grub_hostdisk_flush_initial_buffer): New empty function.
2013-11-11 23:08:51 +01:00
Vladimir Serbinenko
60d31116c2
* grub-core/gensyminfo.sh.in: Handle the case of portable output
...
without --defined-only.
2013-11-11 23:05:53 +01:00
Vladimir Serbinenko
8445b0115f
* grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
...
rip-relative addressing in prologue.
2013-11-11 23:02:51 +01:00
Vladimir Serbinenko
8506a64149
* include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
...
* grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2013-11-11 22:53:30 +01:00
Vladimir Serbinenko
631187be8c
Add missing includes of loader.h.
2013-11-11 02:30:09 +01:00
Vladimir Serbinenko
87d62d7d29
* grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
...
right buffer for temporary load.
2013-11-11 00:06:52 +01:00
Vladimir Serbinenko
5460cfeba8
* grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2013-11-10 23:26:25 +01:00
Vladimir Serbinenko
8997730612
* grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
...
payload.
2013-11-10 20:53:27 +01:00
Vladimir Serbinenko
3617c59bab
* include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
...
not Types.h.
* grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
environment.
(LzmaDec_InitDicAndState): Make static.
2013-11-10 20:37:01 +01:00
Vladimir Serbinenko
2024ade285
* grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
...
Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2013-11-10 17:53:11 +01:00
Vladimir Serbinenko
33690255c5
Fix grub_machine_fini bitrot.
...
Reported by: Glenn Washburn.
2013-11-10 13:33:26 +01:00
Vladimir Serbinenko
54da019fdb
* grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
...
-DELF.
* grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
instead of ELF*.
2013-11-10 13:13:41 +01:00
Vladimir Serbinenko
9612ebc00e
Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
...
XEN PV environment and load kernels.
2013-11-09 21:29:11 +01:00
Vladimir Serbinenko
1a46a3a4b3
* grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
...
* grub-core/loader/multiboot_mbi2.c: Likewise.
2013-11-09 17:32:37 +01:00
Vladimir Serbinenko
2df1255117
* grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
...
handling.
2013-11-09 17:31:21 +01:00
Vladimir Serbinenko
3c98038174
* grub-core/commands/i386/cmostest.c: Add new command "cmosset".
...
Tested by: Denis 'GNUtoo' Carikli.
2013-11-09 17:27:49 +01:00
Vladimir Serbinenko
800f63d38f
* grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2013-11-08 19:14:03 +01:00
Vladimir Serbinenko
5620eb5332
* grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
...
Use to get rounded angle rather than truncated.
2013-11-08 19:13:15 +01:00
Vladimir Serbinenko
9f8acdaa5d
* grub-core/term/serial.c: Add option for enabling/disabling
...
RTS/CTS flow control.
2013-11-08 18:20:20 +01:00
Vladimir Serbinenko
2dc1eb6cbf
* grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
...
divisions.
2013-11-08 18:10:07 +01:00
Vladimir Serbinenko
b9563c9451
* grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
...
Use grub_fatal rather than divide by zero.
* grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2013-11-08 16:33:48 +01:00
Vladimir Serbinenko
d6d8e9a93e
* include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
...
truncate.
(grub_fixed_fsf_divide): Likewise.
2013-11-08 16:17:29 +01:00
Vladimir Serbinenko
d06de6c871
* grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
...
division by-zero and senseless negative divisions.
2013-11-08 15:44:39 +01:00
Vladimir Serbinenko
6af7d49b92
* grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
...
division by-zero and senseless negative divisions.
(circprog_set_property): Don't accept negative num_ticks.
2013-11-08 15:43:07 +01:00
Vladimir Serbinenko
bcfa6d72e3
* grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
...
division by-zero and senseless negative divisions.
2013-11-08 15:38:58 +01:00
Vladimir Serbinenko
d061fda7e9
* grub-core/tests/div_test.c: New test.
2013-11-08 15:01:59 +01:00
Vladimir Testov
4db2250000
* grub-core/gfxmenu/gui_box.c: Updated to work with area status.
...
* grub-core/gfxmenu/gui_canvas.c: Likewise.
* grub-core/gfxmenu/view.c: Likewise.
* grub-core/video/fb/video_fb.c: Introduce new functions:
grub_video_set_area_status, grub_video_get_area_status,
grub_video_set_region, grub_video_get_region.
* grub-core/video/bochs.c: Likewise.
* grub-core/video/capture.c: Likewise.
* grub-core/video/video.c: Likewise.
* grub-core/video/cirrus.c: Likewise.
* grub-core/video/efi_gop.c: Likewise.
* grub-core/video/efi_uga.c: Likewise.
* grub-core/video/emu/sdl.c: Likewise.
* grub-core/video/radeon_fuloong2e.c: Likewise.
* grub-core/video/sis315pro.c: Likewise.
* grub-core/video/sm712.c: Likewise.
* grub-core/video/i386/pc/vbe.c: Likewise.
* grub-core/video/i386/pc/vga.c: Likewise.
* grub-core/video/ieee1275.c: Likewise.
* grub-core/video/i386/coreboot/cbfb.c: Likewise.
* include/grub/video.h: Likewise.
* include/grub/video_fb.h: Likewise.
* include/grub/fbfill.h: Updated render_target structure.
grub_video_rect_t viewport, region, area
int area_offset_x, area_offset_y, area_enabled
* include/grub/gui.h: New helper function
grub_video_bounds_inside_region.
* docs/grub-dev.texi: Added information about new functions.
2013-11-08 15:42:38 +04:00
Vladimir Serbinenko
c6b755df45
* grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
...
for alignment.
2013-11-08 09:43:26 +01:00