Michael Marineau
c7c750ecc2
Merge upstream changes as of April 29th
2015-07-31 15:41:48 -07: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
Lunar
c9ee9bedef
syslinux: Support {vesa,}menu.c32.
2015-03-27 15:15:13 +01: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
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
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
80310ad07d
Add missing lib/division.c
2015-02-26 18:22:40 +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
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
2efab86d5a
syslinux_parse: fix memory leak.
...
Found by: Coverity scan.
2015-01-28 20:09:25 +03:00
Vladimir Serbinenko
9ee5ae1fae
Document intentional fallthroughs.
...
Found by: Coverity scan.
2015-01-27 17:17:58 +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
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
59d4036594
Replace explicit sizeof divisions by ARRAY_SIZE.
2015-01-21 17:37:31 +01: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
Michael Marineau
c70627bc9f
gpt: add search by partition label and uuid commands
...
Builds on the existing filesystem search code. Only for GPT right now.
2014-11-27 18:49:24 -08:00
Michael Marineau
13761c8675
gpt: move gpt guid printing function to common library
2014-11-27 16:39:07 -08:00
Michael Marineau
d3c2759e83
gpt: split out checksum recomputation
...
For basic data modifications the full repair function is overkill.
2014-11-15 13:32:37 -08:00
Michael Marineau
051545ddf0
gpt: add write function and gptrepair command
...
The first hint of something practical, a command that can restore any of
the GPT structures from the alternate location. New test case must run
under QEMU because the loopback device used by the other unit tests does
not support writing.
2014-10-20 14:10:47 -07:00
Michael Marineau
478458d404
gpt: add new repair function to sync up primary and backup tables.
2014-10-20 13:54:58 -07:00
Michael Marineau
dc6076187e
gpt: consolidate crc32 computation code
...
The gcrypt API is overly verbose, wrap it up in a helper function to
keep this rather common operation easy to use.
2014-10-20 13:54:58 -07:00
Michael Marineau
4dd009a6fb
gpt: record size of of the entries table
...
The size of the entries table will be needed later when writing it back
to disk. Restructure the entries reading code to flow a little better.
2014-10-20 13:54:58 -07:00
Michael Marineau
3b2674aef7
gpt: rename misnamed header location fields
...
The header location fields refer to 'this header' and 'alternate header'
respectively, not 'primary header' and 'backup header'. The previous
field names are backwards for the backup header.
2014-10-20 13:52:55 -07:00
Michael Marineau
f82f65f338
gpt: start new GPT module
...
This module is a new implementation for reading GUID Partition Tables
which is much stricter than the existing part_gpt module and exports GPT
data directly instead of the generic grub_partition structure. It will
be the basis for modules that need to read/write/update GPT data.
The current code does nothing more than read and verify the table.
2014-10-18 13:54:54 -07: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
Piotr Krysiuk
5a6db38d62
Allow loading old kernels by placing GDT in conventional memory.
2014-04-20 16:00:55 +02: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
46b74dd3cb
* grub-core/lib/relocator.c: Fix the case when end of leftover is used.
2014-03-26 08:48:30 +01:00
Vladimir Serbinenko
4127206896
Make rijndael.c respect aliasing rules.
...
Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
2013-12-24 16:57:28 +01: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
0d8b81f89a
Fix ARM Linux Loader on non-FDT platforms.
2013-12-22 00:30:19 +01:00
Vladimir Serbinenko
ae558c2ccf
Enable -Wformat=2 if it's supported.
2013-12-21 15:28: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
1962ed95cc
* grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
2013-12-18 12:29:30 +01:00
Vladimir Serbinenko
a43b3e5d8e
Silence spurious warning.
2013-12-18 06:19:16 +01:00
Vladimir Serbinenko
8f5add13ff
Implement syslinux parser.
2013-12-18 05:28:05 +01:00
Vladimir Serbinenko
25a7863d77
Add Yeeloong 3A reboot and halt.
2013-12-17 22:53:18 +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
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
d87cb3ae3c
* grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
2013-12-16 14:36:48 +01:00
Leif Lindholm
3f1423e789
* grub-core/lib/fdt.c: change memcpy => grub_memcpy
2013-12-10 16:51:10 +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
Leif Lindholm
b29b77fee2
New port arm64-efi
2013-11-30 16:50:31 +01:00