1 2017-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3 Increase version to 2.02.
5 2017-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7 Fix remaining cases of gcc 7 fallthrough warning.
8 They are all intended, so just add the relevant comment.
10 2017-04-04 Andrei Borzenkov <arvidjaar@gmail.com>
12 Add gnulib-fix-gcc7-fallthrough.diff
13 As long as the code is not upstream, add it as explicit patch for the
14 case of gnulib refresh.
16 2017-04-04 Andrei Borzenkov <arvidjaar@gmail.com>
18 i386, x86_64, ppc: fix switch fallthrough cases with GCC7
19 In util/getroot and efidisk slightly modify exitsing comment to mostly
20 retain it but still make GCC7 compliant with respect to fall through
23 In grub-core/lib/xzembed/xz_dec_lzma2.c it adds same comments as
26 In grub-core/tests/setjmp_tets.c declare functions as "noreturn" to
27 suppress GCC7 warning.
29 In grub-core/gnulib/regexec.c use new __attribute__, because existing
30 annotation is not recognized by GCC7 parser (which requires that comment
31 immediately precedes case statement).
33 Otherwise add FALLTHROUGH comment.
37 2017-04-04 Andrei Borzenkov <arvidjaar@gmail.com>
39 btrfs: avoid "used uninitialized" error with GCC7
40 sblock was local and so considered new variable on every loop
45 2017-04-02 Andrei Borzenkov <arvidjaar@gmail.com>
47 acpi: add missing efi_call wrapper to acpi command
48 Fixed loading of ACPI tables on EFI (side effect was apparent memory
49 corruption ranging from unpredictable behavior to system reset).
51 Reported by Nando Eva <nando4eva@ymail.com>
53 2017-03-15 Vladimir Serbinenko <phcoder@gmail.com>
55 Increment version to GRUB 2.02~rc2.
57 Use core2duo for bootcheck test on 64-bit EFI.
58 Obviously pentium2 can't run efi64.
60 2017-03-14 Andrei Borzenkov <arvidjaar@gmail.com>
62 efi: skip iPXE block device.
63 iPXE adds Simple File System Protocol to loaded image handle, as side
64 effect it also adds Block IO protocol (according to comments, to work
65 around some bugs in EDK2). GRUB assumes that every device with Block IO
66 is disk and skips network initialization entirely. But iPXE Block IO
67 implementation is just a stub which always fails for every operation
68 so cannot be used. Attempt to detect and skip such devices.
70 We are using media ID which iPXE sets to "iPXE" and block IO size in
71 hope that no real device would announce 1B block ...
75 2017-03-05 phcoder <phcoder@gmail.com>
77 xen: Fix wrong register in relocator.
78 This fixes chainloading of some GRUB variants.
80 2017-02-27 Vladimir Serbinenko <phcoder@gmail.com>
82 video_fb: Fix blue collor if using unoptimized blitter.
83 when unmapping the color what matters is the mode of source, not target.
85 legacy_initrd: Strip any additional arguments to initrd.
87 2017-02-26 Andrei Borzenkov <arvidjaar@gmail.com>
89 grub-fs-tester: improve squash4 tests
90 1. Make sure files are not multiple of block size. This will ensure tail packing
91 for squash4 and may also trigger more codes paths in other filesystems.
93 2. Call mksquashfs with -always-use-fragments to force tail packing.
95 2017-02-25 Andrei Borzenkov <arvidjaar@gmail.com>
97 efi: strip off final NULL from File Path in grub_efi_get_filename
98 UEFI 2.6 9.3.6.4 File Path Media Device Path says that Path Name is
99 "A NULL-terminated Path string including directory and file names".
101 Strip final NULL from Path Name in each File Path node when constructing
102 full path. To be on safe side, strip all of them.
104 Fixes failure chainloading grub from grub, when loaded grub truncates
105 image path and does not find its grub.cfg.
107 https://bugzilla.opensuse.org/show_bug.cgi?id=1026344
109 This was triggered by commit ce95549cc54b5d6f494608a7c390dba3aab4fba7;
110 before it we built Path Name without trailing NULL, and apparently all
111 other bootloaders use single File Path node, thus not exposing this bug.
113 2017-02-24 Andrei Borzenkov <arvidjaar@gmail.com>
115 squash4: fix handling of fragments and sparse files
116 1. Do not assume block list and fragment are mutually exclusive. Squash
117 can pack file tail as fragment (unless -no-fragments is specified); so
118 check read offset and read either from block list or from fragments as
121 2. Support sparse files with zero blocks.
123 3. Fix fragment read - frag.offset is absolute fragment position,
124 not offset relative to ino.chunk.
126 Reported and tested by Carlo Caione <carlo@endlessm.com>
128 2017-02-22 Vladimir Serbinenko <phcoder@gmail.com>
130 Whitelist sparc64-ieee1275 as having no video modules.
131 ieee1275_fb is not built on sparc64 due to virtual address issues.
133 2017-02-12 Andrei Borzenkov <arvidjaar@gmail.com>
135 script: fix double free in lexer
136 yylex_destroy() already frees scanner.
138 Found by: Coverity scan.
141 2017-02-07 Vladimir Serbinenko <phcoder@gmail.com>
143 xen: Fix parsing of XZ kernel.
144 In case of xz, the uncompressed size is appended to xz data which confuses
145 our xz decompressor. Trim it.
147 2017-02-07 Vladimir Serbinenko <phcoder@gmail.com>
149 xen: Fix handling of GRUB chainloading.
150 In case of GRUB we put remapper after domain pages and not at 0x0.
151 In this case we use max_addr to put remapper. Unfortunately we increment
152 max_addr as well in this case resulting in virt mapping mapping page
153 at old max_addr and trying to boot using new max_addr.
157 2017-02-04 Vladimir Serbinenko <phcoder@gmail.com>
159 linguas: Don't skip ko.po.
160 Translation project doesn't require copyright disclaimers. They're independant
161 from us. They're responsible for their copyright story.
163 2017-02-03 Vladimir Serbinenko <phcoder@gmail.com>
165 Fix truncated checksum.h.
167 Regenerate checksums.h
168 Screenshots contain version, so we need new checksums.
172 Fix mingw compilation.
174 2017-02-03 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
176 documentation: Clarify documentation for special environment variable "default".
177 The current documentation for the special environment variable
178 "default" is confusing and unclear. This patch attempts to clean it
181 In particular, the current documentation refers to the "number or
182 title", but then in the example it gives, the menu entries and
183 submenus all have numbers *in* their title; furthermore, there is no
184 example given about how to choose the number, or any indication about
185 whether counting is zero-indexed or 1-indexed.
187 Having a cleaner example and presenting all variants (numeric, title,
188 and id) should make it clearer to the user.
190 2017-02-03 Vladimir Serbinenko <phcoder@gmail.com>
192 Avoid causing kernel oops in nilfs2 test.
193 1024-byte and 2048-byte blocks don't really work with some kernels, skip
194 them as we don't want any oops'es.
196 btrfs: Shorten label by one character.
197 mkfs.btrfs imposes a slightly lower limit than would be possible in btrfs.
199 2017-02-02 Vladimir Serbinenko <phcoder@gmail.com>
201 grub-fs-tester: Fix mkudffs invocation.
202 With current invocation order of arguments is wrong and path is hardcoded.
204 grub-fs-tester: Fix fat test.
205 mkfs.vfat ignores -S when invoked on a disk, including loopback device,
206 so do an mkfs on underlying image.
208 2017-02-02 Daniel Kiper <daniel.kiper@oracle.com>
210 i386/relocator: Align stack in grub_relocator64_efi relocator
211 Unified Extensible Firmware Interface Specification, Version 2.6,
212 section 2.3.4, x64 Platforms, boot services, says among others:
213 The stack must be 16-byte aligned. So, do it. Otherwise OS may
214 boot only by chance as it happens right now.
216 2017-02-02 Vladimir Serbinenko <phcoder@gmail.com>
218 i386-ieee1275: Add missing bootcheck target.
220 bootcheck-linux-i386: Use -cpu pentium2.
221 Most modern kernels are compiled for i686, so use -cpu pentium2
222 to avoid spurious failures.
224 Use -fPIC with arm64 with clang.
225 Currently it doesn't work either way but with -fPIC it should work once
228 INSTALL: Fix mention of thumb-clang.
230 Fix thumb compilation with clang.
231 According to EABI only STT_FUNC has convention of lowest bit indicating
232 execution mode. R_THM_{JUMP,CALL}* relocations are assumed to be pointing
233 to thumb mode unless they use STT_FUNC.
235 2017-02-01 Vladimir Serbinenko <phcoder@gmail.com>
237 Add missing strtoull_test.c
238 It was forgotten in my local directory.
240 arm64: Add support for GOT and PCREL32 relocations.
242 mkimage: Fix memory leak.
244 arm/arm64: Fix improper use of start address.
245 It was used instead of loading address of current section or of entire buffer.
247 ia64: Fix iterator for relocation entries.
248 Don't assume relocation entry size and use sh_entsize properly.
250 arm: Fix trampoline generation.
251 We used the wrong pointer in this case. It worked only by accident.
253 Fix bootcheck-related files compilation.
254 We need -static as otherwise linker will set interpreter field and ld.so
255 is not available on our initrd's.
256 Strip all sections we don't need on binary tests.
258 2017-01-31 Vladimir Serbinenko <phcoder@gmail.com>
260 Regenerate checksum.h.
262 Using unifont from http://ftp.us.debian.org/debian/pool/main/u/unifont/xfonts-unifont_7.0.06-1_all.deb.
264 grub-mkfont: Remove leftover debug statement.
266 charset: Trim away RLM and LRM.
267 They are not visible but would otherwise end up as [LRM] or [RLM] squares
270 gfxterm: Fix clearing of cursor.
271 If ascent is bigger than height - 2, then we draw over character box but then
272 to clear cursor we only draw over character box. So trim ascent if necessarry.
274 ia64: Add support for R_IA64_GPREL64I.
275 Recent GCC generates those relocations, so we need to support them.
277 2017-01-30 Vladimir Serbinenko <phcoder@gmail.com>
279 grub-module-verifier: Add mips to all_video whitelist.
280 On MIPS video is compiled-in. So all_video is empty. Whitelist it.
282 Fix -nopie/-nopie check.
283 We don't use lgcc_s but missing lgcc_s or another library cause test to fail.
285 We need to use -Werror to avoid warning-generated case to be accepted.
286 Clang uses -nopie rather than -no-pie. Check both and use whichever one works.
287 Additionally android clang passes -pie to the linker even though it doesn't
288 define __PIE__. So if compilation without no-pie logic fails add -nopie/-no-pie
289 even if __PIE__ is not defined.
291 grub-module-verifier: Ignore all_video emptiness on xen.
292 It's intentional that it's empty when no video modules
295 2017-01-28 Vladimir Serbinenko <phcoder@gmail.com>
297 Support arm clang 3.8 amd later.
298 clang 3.8 and later doesn't support -mllvm -use-arm-movt=0
299 whereas older clang doesn't know -mno-movt. So use
300 -mno-movt whenever possible and fallback to mllvm variant.
302 2017-01-27 Carlo Caione <carlo@endlessm.com>
304 exfat: Support files over 4GiB
305 file size in grub_fat_data was 32-bit on exfat.
307 2017-01-27 Vladimir Serbinenko <phcoder@gmail.com>
309 Ensure that grub_reboot doesn't return on emu.
310 Use grub_fatal if longjmp fails.
312 grub_reboot is marked as noreturn so return would cause
315 2017-01-27 Vladimir Serbinenko <phcoder@gmail.com>
317 grub-shell: skip font copying when no font is available.
319 Don't use -mlong-calls on arm.
320 We don't really need it and it's flaky and creates
321 bogus symbols with clang.
323 configure: Disable movw/movt with clang.
324 Those relocations are not compatible with PE and also
325 not compatible with custom uboot relocator.
328 grub-fs-tester: Delete directory once we're done.
330 grub-fs-tester: Accomodate for slower systems.
331 fstime can be more different with xz squashfs.
332 Allow difference up to 3 seconds.
333 This code is ugly now but rewriting it now is not on the
336 grub-fs-tester: Accomodate for testing in proot containers.
337 proot creates hidden files with .proot prefix and name
338 derived from real file name. So decrease file name length
339 and path depth. For some reason depth 85 also results in
340 undeleteable directory, so use 84 instead of 85.
342 2017-01-24 Andrei Borzenkov <arvidjaar@gmail.com>
344 osdep/linux: handle autofs entries in /proc/self/mountinfo
345 These entries have placeholder for device name and so are useless for our
346 purpose. grub failed with something like
348 grub-install: error: failed to get canonical path of `systemd-1'.
350 When we see autofs entry, record it (to keep parent-child relationship) but
351 continue to look for real mount. If it is found, we process it as usual. If
352 only autofs entry exists, attempt to trigger mount by opening mount point
353 and retry. Mount point itself is then kept open to avoid timeout.
355 Recent systemd is by default using automount for /boot/efi so this should
356 become more popular problem on EFI systems.
360 2017-01-08 Andrei Borzenkov <arvidjaar@gmail.com>
362 linux: fix "vga=XX deprecated" warning for text mode
363 Arguments were in reverse order which resulted in
365 text is deprecated. Use set gfxpayload=vga=0 before linux command instead.
367 2016-12-22 Andrei Borzenkov <arvidjaar@gmail.com>
369 configure: fix check for sys/sysmacros.h under glibc 2.25+
370 glibc 2.25 still includes sys/sysmacros.h in sys/types.h but also emits
371 deprecation warning. So test for sys/types.h succeeds in configure but later
372 compilation fails because we use -Werror by default.
374 While this is fixed in current autoconf GIT, we really cannot force everyone
375 to use bleeding edge (that is not even released right now). So run test under
376 -Werror as well to force proper detection.
378 This should have no impact on autoconf 2.70+ as AC_HEADER_MAJOR in this version
379 simply checks for header existence.
381 Reported and tested by Khem Raj <raj.khem@gmail.com>
383 2016-12-22 Michael Chang <mchang@suse.com>
385 Fix fwpath in efi netboot
386 The path returned by grub_efi_net_config has already been stripped for the
387 directory part extracted from cached bootp packet. We should just return the
388 result to avoild it be stripped again.
390 It fixed the problem that grub.efi as NBP image always looking for grub.cfg and
391 platform directory in upper folder rather than current one it gets loaded while
392 $prefix is empty. The behavior is inconsistent with other architecture and how
393 we would expect empty $prefix going to be in general.
395 The only exception to the general rule of empty $prefix is that when loaded
396 from platform directory itself, the platform part is stripped thus upper folder
397 is used for looking up files. It meets the case for how grub-mknetdir lay out
398 the files under tftp root directory, but also hide away this issue to be
399 identified as it appears to be just works.
401 Also fix possible memory leak by moving grub_efi_get_filename() call after
402 grub_efi_net_config().
404 2016-12-15 Andrei Borzenkov <arvidjaar@gmail.com>
406 efi: properly terminate filepath with NULL in chainloader
407 EFI File Path Media Device Path is defined as NULL terminated string;
408 but chainloader built file paths without final NULL. This caused error
409 with Secure Boot and Linux Foundation PreLoader on Acer with InsydeH20 BIOS.
410 Apparently firmware failed verification with EFI_INVALID_PARAMETER which is
411 considered fatal error by PreLoader.
413 Reported and tested by Giovanni Santini <itachi.sama.amaterasu@gmail.com>
415 2016-12-14 Magnus Granberg <zorry@gentoo.org>
417 configure: add check for -no-pie if the compiler default to -fPIE
418 When Grub is compile with gcc 6.1 that have --enable-defult-pie set.
420 -ffreestanding -m32 -Wl,-melf_i386 -Wl,--build-id=none -nostdlib -Wl,-N -Wl,-r,-d -
421 o trig.module trig_module-trigtables.o
422 grep 'MARKER' gcry_whirlpool.marker.new > gcry_whirlpool.marker; rm -f
423 gcry_whirlpool.marker.new
424 /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: -r and -
425 shared may not be used together
426 collect2: error: ld returned 1 exit status
427 Makefile:26993: recipe for target 'trig.module' failed
429 Check that compiler supports -no-pie and add it to linker flags.
431 2016-12-14 Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
433 ofnet: implement the receive buffer
434 get_card_packet() from ofnet.c allocates a netbuff based on the device's MTU:
436 nb = grub_netbuff_alloc (dev->mtu + 64 + 2);
438 In the case when the MTU is large, and the received packet is
439 relatively small, this leads to allocation of significantly more memory,
440 than it's required. An example could be transmission of TFTP packets
441 with 0x400 blksize via a network card with 0x10000 MTU.
443 This patch implements a per-card receive buffer in a way similar to efinet.c,
444 and makes get_card_packet() allocate a netbuff of the received data size.
446 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
448 2016-12-14 Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
450 ofnet: move the allocation of the transmit buffer into a function
451 In the current code search_net_devices() uses the "alloc-mem" command
452 from the IEEE1275 User Interface for allocation of the transmit buffer
453 for the case when GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN is set.
455 I don't have hardware where this flag is set to verify if this
456 workaround is still needed. However, further changes to ofnet will
457 require to execute this workaround one more time. Therefore, to
458 avoid possible duplication of code I'm moving this piece of
459 code into a function.
461 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
463 2016-11-24 Alexander Graf <agraf@suse.de>
465 efi: Move fdt helper into own file
466 We only support FDT files with EFI on arm and arm64 systems, not
467 on x86. So move the helper that finds a prepopulated FDT UUID
468 into its own file and only build it for architectures where it
471 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
473 2016-11-22 Andrei Borzenkov <arvidjaar@gmail.com>
477 2016-11-22 Andrei Borzenkov <arvidjaar@gmail.com>
479 bootp: export next server IP as environment variable
480 Network boot autoconfiguration sets default server to next server IP
481 (siaddr) from BOOTP/DHCP reply, but manual configuration using net_bootp
482 exports only server name. Unfortunately semantic of server name is not
483 clearly defined. BOOTP RFC 951 defines it only for client request, and
484 DHCP RFC 1541 only mentions it, without any implied usage. It looks like
485 this field is mostly empty in server replies.
487 Export next server IP as net_<interface>_next_server variable. This allows
488 grub configuration script to set $root/$prefix based on information obtained
491 Reported and tested by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
492 Cc: nikunj@linux.vnet.ibm.com
494 v2: change variable name to net_<interface>_next_server as discussed on the list
496 2016-11-22 Aaro Koskinen <aaro.koskinen@iki.fi>
498 configure.ac: don't require build time grub-mkfont on powerpc-ieee1275
499 Don't require build time grub-mkfont on powerpc-ieee1275.
501 2016-11-14 Dirk Mueller <dmueller@suse.com>
503 grub-mknetdir: Add support for ARM64 EFI
505 2016-11-12 Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
507 .gitignore: Add grub-core/build-grub-module-verifier
509 2016-11-10 Alexander Graf <agraf@suse.de>
511 arm efi: Use fdt from firmware when available
512 If EFI is nice enough to pass us an FDT using configuration tables on 32bit
513 ARM, we should really try and make use of it.
515 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
517 2016-11-10 Alexander Graf <agraf@suse.de>
519 arm64: Move firmware fdt search into global function
520 Searching for a device tree that EFI passes to us via configuration tables
521 is nothing architecture specific. Move it into generic code.
523 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
525 2016-11-05 Corey Hickey <bugfood-ml@fatooh.org>
527 fix detection of non-LUKS CRYPT
528 grub_util_get_dm_abstraction() does a string comparison of insufficient
529 length. When using a UUID such as "CRYPT-PLAIN-sda6_crypt", the function
530 returns GRUB_DEV_ABSTRACTION_LUKS.
532 This results in the error:
533 ./grub-probe: error: disk `cryptouuid/sda6_crypt' not found.
535 This appears to be a copy/paste error introduced in:
536 a10e7a5a8918bea6e2632055129fa9b516fe965a
538 The bug was (apparently) latent until revealed by:
539 3bca85b4184f74995a7cc2791e432173fde26d34
541 2016-10-27 Juergen Gross <jgross@suse.com>
543 xen: add capability to load p2m list outside of kernel mapping
544 Modern pvops linux kernels support a p2m list not covered by the
545 kernel mapping. This capability is flagged by an elf-note specifying
546 the virtual address the kernel is expecting the p2m list to be mapped
549 In case the elf-note is set by the kernel don't place the p2m list
550 into the kernel mapping, but map it to the given address. This will
551 allow to support domains with larger memory, as the kernel mapping is
552 limited to 2GB and a domain with huge memory in the TB range will have
553 a p2m list larger than this.
555 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
557 2016-10-27 Juergen Gross <jgross@suse.com>
559 xen: modify page table construction
560 Modify the page table construction to allow multiple virtual regions
561 to be mapped. This is done as preparation for removing the p2m list
562 from the initial kernel mapping in order to support huge pv domains.
564 This allows a cleaner approach for mapping the relocator page by
565 using this capability.
567 The interface to the assembler level of the relocator has to be changed
568 in order to be able to process multiple page table areas.
570 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
572 2016-10-27 Juergen Gross <jgross@suse.com>
574 xen: add capability to load initrd outside of initial mapping
575 Modern pvops linux kernels support an initrd not covered by the initial
576 mapping. This capability is flagged by an elf-note.
578 In case the elf-note is set by the kernel don't place the initrd into
579 the initial mapping. This will allow to load larger initrds and/or
580 support domains with larger memory, as the initial mapping is limited
581 to 2GB and it is containing the p2m list.
583 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
585 2016-10-27 Juergen Gross <jgross@suse.com>
587 xen: factor out allocation of page tables into separate function
588 Do the allocation of page tables in a separate function. This will
589 allow to do the allocation at different times of the boot preparations
590 depending on the features the kernel is supporting.
592 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
594 2016-10-27 Juergen Gross <jgross@suse.com>
596 xen: factor out allocation of special pages into separate function
597 Do the allocation of special pages (start info, console and xenbus
598 ring buffers) in a separate function. This will allow to do the
599 allocation at different times of the boot preparations depending on
600 the features the kernel is supporting.
602 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
604 2016-10-27 Juergen Gross <jgross@suse.com>
606 xen: factor out p2m list allocation into separate function
607 Do the p2m list allocation of the to be loaded kernel in a separate
608 function. This will allow doing the p2m list allocation at different
609 times of the boot preparations depending on the features the kernel
612 While at this remove superfluous setting of first_p2m_pfn and
613 nr_p2m_frames as those are needed only in case of the p2m list not
614 being mapped by the initial kernel mapping.
616 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
618 2016-10-27 Juergen Gross <jgross@suse.com>
620 xen: synchronize xen header
621 Get actual version of include/xen/xen.h from the Xen repository in
622 order to be able to use constants defined there.
624 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
626 2016-10-27 Juergen Gross <jgross@suse.com>
628 xen: add elfnote.h to avoid using numbers instead of constants
629 Various features and parameters of a pv-kernel are specified via
630 elf notes in the kernel image. Those notes are part of the interface
631 between the Xen hypervisor and the kernel.
633 Instead of using num,bers in the code when interpreting the elf notes
634 make use of the header supplied by Xen for that purpose.
636 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
638 2016-10-27 Juergen Gross <jgross@suse.com>
640 xen: reduce number of global variables in xen loader
641 The loader for xen paravirtualized environment is using lots of global
642 variables. Reduce the number by making them either local or by putting
643 them into a single state structure.
645 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
647 2016-10-27 Juergen Gross <jgross@suse.com>
649 xen: avoid memleaks on error
650 When loading a Xen pv-kernel avoid memory leaks in case of errors.
652 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
654 2016-10-27 Juergen Gross <jgross@suse.com>
656 xen: make xen loader callable multiple times
657 The loader for xen paravirtualized environment isn't callable multiple
658 times as it won't free any memory in case of failure.
660 Call grub_relocator_unload() as other modules do it before allocating
661 a new relocator or when unloading the module.
663 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
665 2016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
667 multiboot2: Add support for relocatable images
668 Currently multiboot2 protocol loads image exactly at address specified in
669 ELF or multiboot2 header. This solution works quite well on legacy BIOS
670 platforms. It is possible because memory regions are placed at predictable
671 addresses (though I was not able to find any spec which says that it is
672 strong requirement, so, it looks that it is just a goodwill of hardware
673 designers). However, EFI platforms are more volatile. Even if required
674 memory regions live at specific addresses then they are sometimes simply
675 not free (e.g. used by boot/runtime services on Dell PowerEdge R820 and
676 OVMF). This means that you are not able to just set up final image
677 destination on build time. You have to provide method to relocate image
678 contents to real load address which is usually different than load address
679 specified in ELF and multiboot2 headers.
681 This patch provides all needed machinery to do self relocation in image code.
682 First of all GRUB2 reads min_addr (min. load addr), max_addr (max. load addr),
683 align (required image alignment), preference (it says which memory regions are
684 preferred by image, e.g. none, low, high) from multiboot_header_tag_relocatable
685 header tag contained in binary (at this stage load addresses from multiboot2
686 and/or ELF headers are ignored). Later loader tries to fulfill request (not only
687 that one) and if it succeeds then it informs image about real load address via
688 multiboot_tag_load_base_addr tag. At this stage GRUB2 role is finished. Starting
689 from now executable must cope with relocations itself using whole static and
690 dynamic knowledge provided by boot loader.
692 This patch does not provide functionality which could do relocations using
693 ELF relocation data. However, I was asked by Konrad Rzeszutek Wilk and Vladimir
694 'phcoder' Serbinenko to investigate that thing. It looks that relevant machinery
695 could be added to existing code (including this patch) without huge effort.
696 Additionally, ELF relocation could live in parallel with self relocation provided
697 by this patch. However, during research I realized that first of all we should
698 establish the details how ELF relocatable image should look like and how it should
699 be build. At least to build proper test/example files.
701 So, this patch just provides support for self relocatable images. If ELF file
702 with relocs is loaded then GRUB2 complains loudly and ignores it. Support for
703 such files will be added later.
705 This patch was tested with Xen image which uses that functionality. However, this Xen
706 feature is still under development and new patchset will be released in about 2-3 weeks.
708 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
710 2016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
712 multiboot2: Do not pass memory maps to image if EFI boot services are enabled
713 If image requested EFI boot services then skip multiboot2 memory maps.
714 Main reason for not providing maps is because they will likely be
715 invalid. We do a few allocations after filling them, e.g. for relocator
716 needs. Usually we do not care as we would have finished boot services.
717 If we keep boot services then it is easier/safer to not provide maps.
718 However, if image needs memory maps and they are not provided by bootloader
719 then it should get itself just before ExitBootServices() call.
721 Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
722 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
724 2016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
726 multiboot2: Add tags used to pass ImageHandle to loaded image
727 Add tags used to pass ImageHandle to loaded image if requested.
728 It is used by at least ExitBootServices() function.
730 Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
731 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
733 2016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
735 i386/relocator: Add grub_relocator64_efi relocator
736 Add grub_relocator64_efi relocator. It will be used on EFI 64-bit platforms
737 when multiboot2 compatible image requests MULTIBOOT_TAG_TYPE_EFI_BS. Relocator
738 will set lower parts of %rax and %rbx accordingly to multiboot2 specification.
739 On the other hand processor mode, just before jumping into loaded image, will
740 be set accordingly to Unified Extensible Firmware Interface Specification,
741 Version 2.4 Errata B, section 2.3.4, x64 Platforms, boot services. This way
742 loaded image will be able to use EFI boot services without any issues.
744 Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
745 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
747 2016-10-18 Sakar Arora <Sakar.Arora@nxp.com>
749 net/ip: Fix limit_time calculation in freeing old fragments
750 limit_time underflows when current time is less than 90000ms.
751 This causes packet fragments received during this time, i.e.,
752 till 90000ms pass since timer init, to be rejected.
754 Hence, set it to 0 if its less than 90000.
756 2016-09-28 Andrei Borzenkov <arvidjaar@gmail.com>
758 asm-tests/i386-pc: Check that movl is 5 bytes.
759 LLVM 3.9 now emits short form of jump instructions, but it is still using
760 32 bit addresses for some movl instructions. Fortunately it was caught early:
762 clang ... boot/i386/pc/boot.S
763 clang -cc1as: fatal error: error in backend: invalid .org offset '440' (at offset '441')
765 Add additional check to catch it during configure run and force -no-integrated-as.
770 https://lists.gnu.org/archive/html/grub-devel/2015-02/msg00099.html
771 https://llvm.org/bugs/show_bug.cgi?id=22662
773 2016-08-13 Pete Batard <pete@akeo.ie>
775 Add missing va_end() to xasprintf() in grub-emu.
777 2016-07-27 Andrei Borzenkov <arvidjaar@gmail.com>
779 at_keyboard: fix numpad "0" and "." mapping
780 Reported for set 1 by fgndevelop <fgndevelop@posteo.org>. Apparently
781 set 2 was reversed too.
783 2016-07-26 Andrei Borzenkov <arvidjaar@gmail.com>
785 dns: fix buffer overflow for data->addresses in recv_hook
786 We may get more than one response before exiting out of loop in
787 grub_net_dns_lookup, but buffer was allocated for the first response only,
788 so storing answers from subsequent replies wrote past allocated size.
789 We never really use more than the very first address during lookup so there
790 is little point in collecting all of them. Just quit early if we already have
793 Code needs serious redesign to actually collect multiple answers
794 and select the best fit according to requested type (IPv4 or IPv6).
796 Reported and tested by Michael Chang <mchang@suse.com>
798 2016-07-26 Andrei Borzenkov <arvidjaar@gmail.com>
800 xfs: accept filesystem with meta_uuid
801 XFS V5 stores UUID in metadata and compares them with superblock UUID.
802 To allow changing of user-visible UUID it stores original value in new
803 superblock field (meta_uuid) and sets incompatible flag to indicate that
804 new field must be used to verify metadata. Our driver currently does not
805 check metadata UUID so simply accept such filesystem.
807 Reported-By: Marcos Mello <marcosfrm@outlook.com>
808 Reviewd by Jan Kara <jack@suse.cz>
810 2016-05-03 Andrei Borzenkov <arvidjaar@gmail.com>
812 net: translate pxe prefix to tftp when checking for self-load
813 Commit ba218c1 missed legacy pxe and pxe: prefixes which are
814 translated to tftp, so comparison failed.
816 2016-04-30 Andrei Borzenkov <arvidjaar@gmail.com>
818 net: reset net->stall in grub_net_seek_real
819 If we open new connection, we need to reset stall indication, otherwise
820 nothing will ever be polled (low level code rely on this field being
821 zero when establishing connection).
823 2016-04-30 Stefan Fritsch <sf@sfritsch.de>
825 http: reset EOF indication in http_seek
826 Otherwise next read will stop polling too early due to stale EOF
827 indicator, returning incomplete data to caller.
829 2016-04-24 Mike Gilbert <floppym@gentoo.org>
831 build: Use AC_HEADER_MAJOR to find device macros
832 Depending on the OS/libc, device macros are defined in different
833 headers. This change ensures we include the right one.
837 sys/sysmacros.h - glibc (Linux)
839 glibc currently pulls sys/sysmacros.h into sys/types.h, but this may
840 change in a future release.
842 https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
844 2016-04-09 Michael Chang <mchang@suse.com>
846 http: fix superfluous null line in range request header
847 At least the apache sever is very unhappy with that extra null line and will
848 take more than ten seconds in responding to each range request, which slows
849 down a lot the entire http file transfer process or even time out.
851 2016-03-22 Andrei Borzenkov <arvidjaar@gmail.com>
853 configure: set -fno-pie together with -fno-PIE
854 OpenBSD 5.9 apparently defaults to -fpie. We use -fno-PIE when appropriate
855 already, but that is not enough - it does not turn off -fpie.
857 Actually check for -fPIE is not precise enough. __PIE__ is set for both
858 -fpie and -fPIE but with different values. As far as I can tell, both
859 options were introduced at the same time, so both should always be supported.
861 This fixes compilation on OpenBSD 5.9 which otherwise created insanely big
864 Reported, suggested and tested by: Jiri B <jirib@devio.us>
866 2016-03-20 Andrei Borzenkov <arvidjaar@gmail.com>
868 bootp: check that interface is not NULL in configure_by_dhcp_ack
869 grub_net_add_addr may fail with OOM and we use returned interface
870 later without any checks.
872 2016-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
874 bootp: fix memory leak in grub_cmd_dhcpopt
876 2016-03-15 Aaron Luft <aluft@lifesize.com>
878 Remove the variable oldname which is attempting to free stack space.
879 Historically this variable hold previous value of filename that
880 had to be freed if allocated previously. Currently this branch
881 is entered only if filename was not allocated previously so it
882 became redundant. It did not cause real problems because grub_free
883 was not called, but code is confusing and causes compilation error
886 2016-03-13 Andrei Borzenkov <arvidjaar@gmail.com>
888 Makefile.util.def: add $LIBINTL to grub-macbless flags
889 Fixes compilation on OpenBSD 5.9.
891 Reported by Jiri B <jirib@devio.us>
893 2016-03-11 Robert Marshall <rmarshall@redhat.com>
895 Failed config now returns exit code (#1252311)
896 Grub would notify the user if the new config was invalid, however, it
897 did not exit properly with exit code 1. Added the proper exit code.
899 Resolves: rhbz#1252311
901 2016-03-11 Michael Chang <mchang@suse.com>
903 xen_file: Fix invalid payload size
905 2016-03-10 Vladimir Serbinenko <phcoder@gmail.com>
907 multiboot2: Remove useless GRUB_PACKED
908 Reported by: Daniel Kiper
910 2016-03-06 Andrei Borzenkov <arvidjaar@gmail.com>
912 20_linux_xen: fix test for GRUB_DEVICE
913 Same fix as in 082bc9f.
915 2016-03-06 Mike Gilbert <floppym@gentoo.org>
917 10_linux: Fix grouping of tests for GRUB_DEVICE
918 Commit 7290bb562 causes GRUB_DISABLE_LINUX_UUID to be ignored due to
919 mixing of || and && operators. Add some parens to help with that.
921 2016-02-28 Andrei Borzenkov <arvidjaar@gmail.com>
925 2016-02-28 Vladimir Serbinenko <phcoder@gmail.com>
929 grub_arch_sync_dma_caches: Accept volatile address
931 2016-02-27 Leif Lindholm <leif.lindholm@linaro.org>
933 efidisk: Respect block_io_protocol buffer alignment
934 Returned from the OpenProtocol operation, the grub_efi_block_io_media
935 structure contains the io_align field, specifying the minimum alignment
936 required for buffers used in any data transfers with the device.
938 Make grub_efidisk_readwrite() allocate a temporary buffer, aligned to
939 this boundary, if the buffer passed to it does not already meet the
942 Also sanity check the io_align field in grub_efidisk_open() for
943 power-of-two-ness and bail if invalid.
945 2016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
947 usbtrans: Fix memory coherence and use-after-free.
949 ehci: Fix memory coherence
950 This is a no-op on x86 but necessarry on ARM and may be necessarry on MIPS.
952 arm-uboot: Make self-relocatable to allow loading at any address
954 Allow _start == 0 with relocatable images
956 2016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
958 Provide __bss_start and _end symbols in grub-mkimage.
959 For this ensure that all bss sections are merged.
961 We need this to correctly prelink non-PE relocatable images.
963 2016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
965 Encapsulate image layout into a separate structure.
966 Currently we pass around a lot of pointer. Instead put all relevant data
969 mkimagexx: Split PE and generic part for relocations.
970 As a preparation for U-Boot relocations, split emitting PE-relocations
971 from parsing source ELF-relocations.
973 mkimage.c: Split into separate files.
974 util/grub-mkimagexx.c is included in a special way into mkimage.c.
975 Interoperation between defines makes this very tricky. Instead
976 just have a clean interface and compile util/grub-mkimage*.c separately
979 bsd: Ensure that kernel is loaded before loading module.
980 kernel_type may be set to the type of failed kernel. This patching-up is
981 easier than to reflow kernel loading routines.
983 cat: Don't switch terminal mode when there is nothing to highlight.
984 This just pollutes serial console.
986 Use console rather than serial_efi0 on arm64-efi in tests
988 2016-02-27 Andrei Borzenkov <arvidjaar@gmail.com>
990 efidisk: fix misplaced parenthesis in b00e4c2
992 2016-02-26 Andrei Borzenkov <arvidjaar@gmail.com>
994 efidisk: prevent errors from diskfilter scan of removable drives
995 Map EFI_NO_MEDIA to GRUB_ERR_OUT_OF_RANGE that is ignored by diskfilter. This
996 actually matches pretty close (we obviously attempt to read outside of media)
997 and avoids adding more error codes.
999 This affects only internally initiated scans. If read/write from removable is
1000 explicitly requested, we still return an error and text explanation is more
1001 clear for user than generic error.
1003 Reported and tested by Andreas Loew <Andreas.Loew@gmx.net>
1005 2016-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1007 Regenerate checksums
1009 Makefile: Don't delete default_payload.elf if it doesn't exist.
1011 2016-02-25 Josef Bacik <jbacik@fb.com>
1013 net: fix ipv6 routing
1014 ipv6 routing in grub2 is broken, we cannot talk to anything outside our local
1015 network or anything that doesn't route in our global namespace. This patch
1016 fixes this by doing a couple of things
1018 1) Read the router information off of the router advertisement. If we have a
1019 router lifetime we need to take the source address and create a route from it.
1021 2) Changes the routing stuff slightly to allow you to specify a gateway _and_ an
1022 interface. Since the router advertisements come in on the link local address we
1023 need to associate it with the global address on the card. So when we are
1024 processing the router advertisement, either use the SLAAC interface we create
1025 and add the route to that interface, or loop through the global addresses we
1026 currently have on our interface and associate it with one of those addresses.
1027 We need to have a special case here for the default route so that it gets used,
1028 we do this by setting the masksize to 0 to mean it encompasses all networks.
1029 The routing code will automatically select the best route so if there is a
1030 closer match we will use that.
1032 With this patch I can now talk to ipv6 addresses outside of my local network.
1035 2016-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1037 ieee1275: fix signed comparison
1039 2016-02-23 Andrei Borzenkov <arvidjaar@gmail.com>
1041 search: actually skip floppy with --no-floppy
1042 grub_device_iterate() ignores device when iterator returns 1, not 0.
1044 Reported by Carlos E. R. <robin.listas@telefonica.net>
1046 2016-02-23 Andrei Borzenkov <arvidjaar@gmail.com>
1048 multiboot2: zero reserved field in memory map
1049 Documentation says, bootloader should set reserved field to zero.
1051 Reported by Wink Saville <wink@saville.com>
1053 2016-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1055 Improve EHCI logging
1056 Add dprintf's on common error paths and remove some entries which are too
1059 usb_keyboard: Remove useless include
1060 This prevents non-PCI machines from having USB.
1062 Refresh before abort
1063 This ensures that abort message is actually visible to the user.
1065 2016-02-22 Eric Snowberg <eric.snowberg@oracle.com>
1067 ieee1275: prevent buffer over-read
1068 Prevent buffer over-read in grub_machine_mmap_iterate. This was
1069 causing phys_base from being calculated properly. This then
1070 caused the wrong value to be placed in ramdisk_image within
1071 struct linux_hdrs. Which prevented the ramdisk from loading on
1074 Newer SPARC systems contain more than 8 available memory entries.
1076 For example on a T5-8 with 2TB of memory, the memory layout could
1080 reg 00000000 30000000 0000003f b0000000
1081 00000800 00000000 00000040 00000000
1082 00001000 00000000 00000040 00000000
1083 00001800 00000000 00000040 00000000
1084 00002000 00000000 00000040 00000000
1085 00002800 00000000 00000040 00000000
1086 00003000 00000000 00000040 00000000
1087 00003800 00000000 00000040 00000000
1088 available 00003800 00000000 0000003f ffcae000
1089 00003000 00000000 00000040 00000000
1090 00002800 00000000 00000040 00000000
1091 00002000 00000000 00000040 00000000
1092 00001800 00000000 00000040 00000000
1093 00001000 00000000 00000040 00000000
1094 00000800 00000000 00000040 00000000
1095 00000000 70000000 0000003f 70000000
1096 00000000 6eef8000 00000000 00002000
1097 00000000 30400000 00000000 3eaf6000
1100 2016-02-22 Thomas Huth <thuth@redhat.com>
1102 menu_entry: Disable cursor during update_screen()
1103 When running grub in a VGA console of a KVM pseries guest on PowerPC,
1104 you can see the cursor sweeping over the whole line when entering a
1105 character in editor mode. This is visible because grub always refreshes
1106 the whole line when entering a character in editor mode, and drawing
1107 characters is quite a slow operation with the firmware used for the
1108 powerpc pseries guests (SLOF).
1109 To avoid this ugliness, the cursor should be disabled when refreshing
1110 the screen contents during update_screen().
1112 2016-02-17 Vladimir Serbinenko <phcoder@gmail.com>
1114 default_payload.elf: Always rebuild and remove before build.
1115 It's difficult to know all dependencies. Since it's manual and cheap
1116 target anyway, simply always rebuild it.
1118 default_payload.elf: Include password_pbkdf2.
1119 Withoout this module we may end up in a system where no password is
1122 default_payload.elf: Add modules from $(EXTRA_PAYLOAD_MODULES).
1123 This allows coreboot building system to add extra modules depending
1126 mm: Avoid integer overflow.
1128 Remove -Wno-maybe-uninitialized as it may not be present.
1130 Fix warnings when compiling with -O3
1132 2016-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1134 Add wbinvd around bios call.
1135 Via C3 has problems with cache coherency when transitioning between the modes,
1136 so flush it around bios calls.
1138 2016-02-12 Eric Snowberg <eric.snowberg@oracle.com>
1140 OBP available region contains grub. Start at grub_phys_end.
1141 This prevents a problem where grub was being overwritten since
1142 grub_phys_start does not start at a zero offset within the memory
1145 2016-02-12 Andreas Freimuth <andreas_freimuth@web.de>
1147 Add Thinkpad T410s button cmos address.
1149 2016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1151 TODO: Remove obsolete link
1153 2016-02-12 Toomas Soome <tsoome@me.com>
1155 lz4: Fix pointer overflow
1157 2016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1159 grub-shell: Update 32-bit OVMF binary name.
1161 2016-02-12 Daniel Kiper <daniel.kiper@oracle.com>
1163 relocator: Fix integer underflow.
1165 2016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1167 Change -v to -V for version of shell utils.
1169 xnu: Add new kernel path to autoconfig.
1171 arm64: Use cpu timer for timekeeping.
1173 powerpc: Trim header in tests.
1175 default_payload: Include syslinuxcfg, all filesystems and xnu.
1177 xnu: Supply random seed.
1178 Now we're able to load kernels up to El Capitan.
1182 yylex: use grub_fatal for exit.
1183 lexer calls yylex_fatal on fatal internal errors. yylex_fatal itself is
1184 declared as noreturn and calls exit. Returning from noreturn function has
1185 unpredictable consequences.
1187 printf: Fix and test %% behaviour in presence of subsequenbt args.
1189 Split pmtimer wait and tsc measurement from pmtimer tsc calibration.
1191 Make grub_cpu_is_tsc_supported generally available.
1193 Make grub_acpi_find_fadt accessible generically
1195 Make unaligned types public.
1196 This simplifies code which has to handle those types.
1198 Fix emu compilation error on arm.
1200 2016-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1202 xnu: Include relocated EFI in heap size.
1204 xnu: supply ramsize to the kernel.
1205 Without this info recent kernels crash as they allocate no heap.
1207 2016-02-03 Andrei Borzenkov <arvidjaar@gmail.com>
1209 support modules without symbol table
1210 all_video module does not have any code or data and exists solely for
1211 .moddeps section to pull in dependencies. This makes all symbols unneeded.
1213 While in current binutils (last released version as of this commit is 2.26)
1214 ``strip --strip-unneeded'' unintentionally adds section symbols for each
1215 existing section, this behavior was considered a bug and changed in commit
1216 14f2c699ddca1e2f706342dffc59a6c7e23e844c to completely strip symbol table
1219 Older binutils (verified with 2.17) and some other toolchains (at least
1220 elftoolchain r3223M), both used in FreeBSD, remove symbol table in all_video
1223 Relax run-time check and do not return error for modules without symbol table.
1224 Add additional checks to module verifier to make sure such modules
1226 a) have non-empty .moddeps section. Without either externally visible symbols
1227 or .moddeps modules are completely useless and should not be built.
1229 b) do not have any relocations.
1233 v2: add run-time check for empty symbol table if relocations are present as
1234 suggested by Vladimir.
1236 2016-02-01 Andrei Borzenkov <arvidjaar@gmail.com>
1238 10_linux: avoid multi-device root= kernel argument
1239 If root filesystem is multidev btrfs, do not attempt to pass all devices as
1240 kernel root= argument. This results in splitting command line in GRUB due to
1241 embedded newline and even if we managed to quote it, kernel does not know how
1242 to interpret it anyway. Multidev btrfs requires user space device scanning,
1243 so passing single device would not work too.
1245 This still respects user settings GRUB_DISABLE_LINUX_UUID. Not sure what we
1246 should do in this case.
1250 2016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1252 Error out if mtools invocation fails.
1254 arm64: Add support for relocations needed for linaro gcc
1256 efiemu: Fix compilation failure
1260 2016-01-22 Robert Elliott <elliott@hpe.com>
1262 efiemu: Handle persistent RAM and unknown possible future additions.
1264 2016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1266 Document expr1 expr2 syntax for test command
1268 2016-01-22 Michael Chang <mchang@suse.com>
1270 Restore terminal settings on grub-emu exit.
1272 2016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1274 xen_boot: Remove obsolete module type distinctions.
1276 arm: Ignore qemu clock bug
1278 i386-ieee1275: Increase maximum heap size to accomodate highres graphi tests
1280 2016-01-20 Colin Watson <cjwatson@ubuntu.com>
1282 Remove pragmas related to -Wunreachable-code
1283 -Wunreachable-code has been a no-op since GCC 4.5; GRUB hasn't been
1284 compiled with it since 2012; and GCC 6 produces "error:
1285 '-Wunreachable-code' is not an option that controls warnings" for these.
1287 Fixes Debian bug #812047.
1289 2016-01-16 Colin Watson <cjwatson@ubuntu.com>
1291 loader/bsd: Fix signed/unsigned comparison
1293 ahci, ehci: Fix typos
1295 2016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
1297 grub-probe: fix memory leak
1298 Found by: Coverity scan.
1301 2016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
1303 tftp: fix memory leaks in open
1304 If protocol open fails, file is immediately freed, so data was leaked.
1306 Found by: Coverity scan.
1309 2016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
1311 tcp: fix memory leaks
1312 Found by: Coverity scan.
1315 net: fix memory leaks
1316 Found by: Coverity scan.
1319 legacycfg: fix memory leaks and add NULL check
1320 Memory leaks found by Coverity scan.
1323 2016-01-15 Andrei Borzenkov <arvidjaar@gmail.com>
1325 loader: Unintended sign extension
1326 CID: 96707, 96699, 96693, 96691, 96711, 96709, 96708, 96703, 96702,
1327 96700, 96698, 96696, 96695, 96692, 96710, 96705
1329 2016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
1331 script: fix memory leak
1332 Found by: Coverity scan.
1335 normal: fix memory leak
1336 Found by: Coverity scan.
1337 CID: 96641, 96670, 96667
1339 xnu: fix memory leak
1340 Found by: Coverity scan.
1343 truecrypt: fix memory leak
1344 Found by: Coverity scan.
1347 gfxmenu: fix memory leak
1348 Found by: Coverity scan.
1351 efiemu: fix memory leak
1352 Found by: Coverity scan.
1355 efidisk: fix memory leak
1356 Found by: Coverity scan.
1359 verify: fix memory leak
1360 Found by: Coverity scan.
1363 password_pbkdf2: fix memory leak
1364 Found by: Coverity scan.
1367 parttool: fix memory leak
1368 Found by: Coverity scan.
1371 2016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
1373 nativedisk: fix memory leak
1374 Based on Coverity scan.
1377 Extended to also cover other error return places.
1379 2016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
1381 acpi: fix memory leak
1382 Found by: Coverity scan.
1385 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1387 grub-install: include ehci in list of native modules
1388 This matches behavior of "nativedisk" command.
1390 Reported and tested by Smith Henry <sh37092@gmail.com>
1392 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1394 grub-mkimage: remove redundant NULL check
1395 Found by: Coverity scan.
1398 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1400 net: remove dead and redundant code
1401 server cannot be NULL at this point (we return error earlier if it is).
1402 Also structure is zalloc'ed, so no need to explicitly initialize
1405 Found by: Coverity scan.
1408 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1410 hostdisk: fix device detection
1411 Condition was apparently reversed so GRUB assumed all devices were
1412 files. This later made it skip BLKFLSBUF ioctl on Linux which caused
1413 various page cache coherency issues. Observed were
1415 - failure to validate blocklist install (read content did not match
1418 - failure to detect Linux MD on disk after online hot addition
1419 (GRUB got stale superblock)
1423 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1425 setup: fix NULL pointer dereference
1426 Check return value of grub_guess_root_devices
1428 Found by: Coverity scan.
1431 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1433 mkimage: fix unintended sign extension
1434 Found by: Coverity scan.
1437 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1439 util/getroot: delete dead code
1440 is_part cannot be non-zero at this point.
1442 Found by: Coveruty scan.
1445 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1447 loader/multiboot: fix unintended sign extension
1448 Found by: Coveruty scan.
1451 kern/elf: fix unintended sign extension
1452 Found by: Coverity scan.
1453 CID: 73729, 73735, 73758, 73760
1455 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1457 xfs: fix possible inode corruption in directory scan
1458 grub_xfs_iterate_dir did not restore first character after inline
1459 name when match was found. Dependning on XFS format this character
1460 could be inode number and we could return to the same node later in
1461 find_file if processing cycled symlinks.
1465 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1467 rescue_parser: restructure code to avoid Coverity false positive
1468 If line contains single word, line and argv[0] are aliases, so
1469 no NULL dereference is possible, but Coverity does not know it.
1470 Change code to avoid ambiguity and also remove redundant call to
1475 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1477 grub-mklayout: check subscript bounds
1478 Found by: Coverity scan.
1481 grub-probe: fix memory leak
1482 Found by: Coverity scan.
1485 gfxmenu: fix memory leak
1486 Found by: Coverity scan.
1489 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1491 util/setup: fix grub_util_path_list leak
1492 Add helper grub_util_free_path_list and use it where appropriate.
1494 Found by: Coverity scan.
1497 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1499 setup: fix memory leak
1500 Found by: Coverity scan.
1503 efiemu: check return value of grub_efiemu_write_value
1504 Found by: Coverity scan.
1507 efiemu: change code to avoid Coverity false positive
1510 efiemu: fix unintended sign extension
1511 Found by: Coverity scan.
1514 hfs: fix memory leak
1515 Found by: Coverity scan.
1518 grub-module-verifier: fix unintended sign extension
1519 Found by: Coverity scan.
1522 2016-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1524 Tests: Support arm-efi
1526 2016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1528 arm64/setjmp: Add missing move for arg1 == 0 case.
1530 grub-shell: Support arm64-efi
1532 2016-01-07 Mark Salter <msalter@redhat.com>
1534 arm-efi: Reduce timer event frequency by 10
1535 Timer event to keep grub msec counter was running at 1000HZ. This was too
1536 fast for UEFI timer driver and resulted in a 10x slowdown in grub time
1537 versus wallclock. Reduce the timer event frequency and increase tick
1538 increment accordingly to keep better time.
1540 2016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1542 x86_64-efi: Automatically add -bios OVMF.fd to qemu in tests.
1544 Allow GRUB_QEMU_OPTS to override machine.
1546 arm64: Disable tests that need native drivers.
1548 Disable NetBSD bootcheck on EFI until it supports ACPI on EFI.
1550 grub-shell: Use new cbfstool syntax.
1552 grub-shell: On i386-ieee1275 don't try to switch to console.
1553 console goes to serial as well, so this doesn't stop garbage from going
1554 to serial. But it creates garbage itself.
1556 hddboot_test: reenable on OVMF
1557 OVMF now supports booting from disks.
1559 iee1275/datetime: Fix off-by-1 error.
1561 2016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1563 Adjust bootcheck tests for multiboot/coreboot/qemu to match real support.
1564 coreboot has ACPI while 2 others don't. *BSD need ACPI and have trouble
1565 without it. Don't even attempt to boot *BSD on multiboot or qemu targets.
1567 On coreboot boot all *BSD except 32-bit NetBSD which apparently does some
1570 2016-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1572 minixfs_test: Check if mkfs.minixfs supports -B option.
1574 Add memdisk support to grub-emu.
1575 Use it to add custom files, so that tests which need them work.
1577 Move file loading functions to grub-emu.
1578 So that we can use it in grub-emu as well as utils.
1580 Disable progress indicator in grub-shell.
1581 This disables progress indicator for tests. This in turn fixes test
1582 flakiness as they ended up timing-dependent.
1586 2016-01-02 Andrei Borzenkov <arvidjaar@gmail.com>
1588 acpihalt: add GRUB_ACPI_OPCODE_CREATE_DWORD_FIELD (0x8a)
1589 Fixes ACPI halt on ASUSTeK P8B75-V,
1590 Bios: American Megatrends v: 0414 date: 04/24/2012
1592 Reported-By: Goh Lip <g.lip@gmx.com>
1594 2016-01-02 Andrei Borzenkov <arvidjaar@gmail.com>
1596 acpihalt: fix GRUB_DSDT_TEST compilation
1598 2016-01-01 Andrei Borzenkov <arvidjaar@gmail.com>
1600 Add missing BUILD_EXEEXT
1602 2015-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1604 configure.ac: Reorder efiemu check to after link format check.
1605 efiemu is supposed to be disabled when compiling through exe format.
1606 Unfortunately format was determined only after efiemu check. Reorder to fix the
1609 2015-12-31 Andrey Borzenkov <arvidjaar@gmail.com>
1611 remove temporary .bin files (kernel and modules)
1613 add dejavu built fonts to cleanfiles
1615 2015-12-31 Andrei Borzenkov <arvidjaar@gmail.com>
1617 Add grub-module-verifier files to EXTRA_DIST
1619 2015-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1621 configure: Add -fno-unwind-tables if supported.
1622 Unwind tables are useless for us bt consume space if present. Ensure that they
1625 module-verifier: allow limited-range relocations on sparc64.
1626 clang as incomplete mcmodel=large support. As we don't currently need full
1627 mcmodel=large support for sparc64, relax those checks.
1629 Disable build-time module check on emu.
1630 On emu some checks can be laxer like check for relocation range. Additionally
1631 module loading in emu is rarely used. So skip this check rather than making
1632 it laxer for all platforms. In ideal we may want to have slightly different
1633 check for emu but for now this is good enough.
1635 configure: Fix grub_cv_cc_fno_unwind_tables check.
1636 Check tries -fno-dwarf2-cfi-asm but adds -fno-asynchronous-unwind-tables
1637 to TARGET_CFLAGS. Fix this.
1639 Add -mno-stack-arg-probe on mingw.
1640 This argument disables generation of calls to __chkstk_ms. Those calls are
1641 useless on GRUB as function is dummy. Yet they increase module size and
1642 use limited-range relocations which may not work under some memory layouts.
1643 We currently don't use such layouts on concerned platforms but lt's correct
1647 This section is generated by clang and is useful only for debugging.
1648 It contains exotic relocations, so strip them to avoid them interferring
1649 with module loading.
1651 module-verifier: Check range-limited relative relocations.
1652 Check that they point to the same module, so will end up in the same
1655 xen/relocator: Use local symbol to ensure that code is relocation-free.
1657 backtrace: Fix register call syntax
1659 Verify modules on build-time rather than failing in runtime.
1661 sparc64: Fix assembly to let compiler to fill in memory references.
1662 This fixes the use of not fully relocatable (they assume that variables are
1663 under 4G limit in virtual memory) references.
1665 2015-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
1667 30_os-prober: derive --class from os-prober generated label
1668 Currently only Windows gets distinguished icons, everything else is displayed
1669 using the same generic one. Add additional --class based on os-prober returned
1670 label, which usually is expected to match primary distribution name.
1672 Also use it for Windows as well - chainloader prober may actually return
1673 different strings (Windows, MS-DOS, Windows9xME).
1675 2015-12-30 Vladimir Serbinenko <phcoder@gmail.com>
1677 backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G
1679 2015-12-30 Andrei Borzenkov <arvidjaar@gmail.com>
1681 menu: fix line count calculation for long lines
1682 It gave one extra screen line if length was exactly equal to screen
1685 Reported by Michael Chang.
1686 Also-By: Michael Chang <mchang@suse.com>
1688 2015-12-29 Vladimir Serbinenko <phcoder@gmail.com>
1690 grub-mkrescue: Delete temporary file
1691 Reported by: Thomas Schmitt
1693 grub-mount: Fix oath parsing.
1694 Brackets detection was copied from somewhere else and makes no sense in case
1695 of grub-mount and prevents user from accessing and files with ) in them.
1697 exfat: Fix stream extension flag parsing.
1699 2015-12-26 Andrei Borzenkov <arvidjaar@gmail.com>
1701 devmapper: check for valid device abstraction in get_grub_dev
1702 This was lost when code was refactored. Patch restores previous behavior.
1704 It is still not clear whether this is the right one. Due to the way we
1705 detect DM abstraction, partitions on DM are skipped, we fall through to
1706 generic detection which ends up in assuming parent device is BIOS disk.
1708 It is useful to install GRUB on VM disk from the host. But it also means
1709 that GRUB will mistakenly allow install on real system as well.
1711 For now let's fix regression; future behavior needs to be discussed.
1715 2015-12-19 Andrei Borzenkov <arvidjaar@gmail.com>
1717 windows: correct LBA in generated EFI HDD media paths
1718 GRUB keeps partition offset and size in units of 512B sectors. Media paths
1719 are defined in terms of LBA which are presumed to match HDD sector size.
1721 This is probably cosmetic (EFI requires that partition is searched by GUID)
1722 and still incorrect if GPT was created using different logical block size.
1723 But current code is obviously wrong and new has better chances to be correct.
1725 2015-12-17 Robert Elliott <elliott@hpe.com>
1727 lsefimmap: support persistent memory and other UEFI 2.5 features
1728 This should accompany
1729 76ce1de740 Translate UEFI persistent memory type
1731 1. Add a string for the EfiPersistentMemory type 14 that was
1734 2. Decode the memory attributes that were added in UEFI 2.5:
1736 * MORE_RELIABLE (higher reliable, e.g., mirrored memory in a system
1737 with partial memory mirroring)
1740 3. Use proper IEC binary units (KiB, MiB, etc.) for power-of-two
1741 values rather than misusing SI power-of-ten units (KB, MB, etc.)
1743 4. The lsmmap command only decodes memory ranges sizes up to GiB scale
1744 units. Persistent memory ranges will reach into the TiB scale.
1745 Since 64-bit size field supports TiB, PiB, and EiB, decode all of
1746 them for completeness.
1748 5. In the lsefimmap command, rewrite the print statements to
1750 * avoid a big nested if/else tree.
1752 For example: In the sixth entry below, the value of 309MB implies
1753 316416KB but is really reporting 316436KB.
1755 Widen the size column to 6 digits to accommodate typical cases.
1756 The worst case value would require 14 digits; if that happens,
1757 let the columns get out of sync.
1760 Type Physical start - end #Pages Size Attributes
1761 conv-mem 0000000000000000-0000000000092fff 00000093 588KB UC WC WT WB
1762 reserved 0000000000093000-0000000000093fff 00000001 4KB UC WC WT WB
1763 conv-mem 0000000000094000-000000000009ffff 0000000c 48KB UC WC WT WB
1764 conv-mem 0000000000100000-000000000fffffff 0000ff00 255MB UC WC WT WB
1765 BS-code 0000000010000000-0000000010048fff 00000049 292KB UC WC WT WB
1766 conv-mem 0000000010049000-000000002354dfff 00013505 309MB UC WC WT WB
1767 ldr-data 000000002354e000-000000003ecfffff 0001b7b2 439MB UC WC WT WB
1768 BS-data 000000003ed00000-000000003ed7ffff 00000080 512KB UC WC WT WB
1769 conv-mem 000000003ed80000-000000006af5ffff 0002c1e0 705MB UC WC WT WB
1770 reserved 000000006af60000-000000006b55ffff 00000600 6MB UC WC WT WB
1771 BS-data 000000006b560000-000000006b560fff 00000001 4KB UC WC WT WB
1772 RT-data 000000006b561000-000000006b5e1fff 00000081 516KB RT UC WC WT WB
1773 BS-data 000000006b5e2000-000000006ecfafff 00003719 55MB UC WC WT WB
1774 BS-code 000000006ecfb000-000000006ecfbfff 00000001 4KB UC WC WT WB
1775 conv-mem 000000006ecfc000-00000000711fafff 000024ff 36MB UC WC WT WB
1776 BS-data 00000000711fb000-000000007128dfff 00000093 588KB UC WC WT WB
1777 Unk 0d 0000000880000000-0000000e7fffffff 00600000 24GB UC WC WT WB NV
1778 reserved 0000001680000000-0000001c7fffffff 00600000 24GB UC WC WT WB NV
1781 Type Physical start - end #Pages Size Attributes
1782 conv-mem 0000000000000000-0000000000092fff 00000093 588KiB UC WC WT WB
1783 reserved 0000000000093000-0000000000093fff 00000001 4KiB UC WC WT WB
1784 conv-mem 0000000000094000-000000000009ffff 0000000c 48KiB UC WC WT WB
1785 conv-mem 0000000000100000-000000000fffffff 0000ff00 255MiB UC WC WT WB
1786 BS-code 0000000010000000-0000000010048fff 00000049 292KiB UC WC WT WB
1787 conv-mem 0000000010049000-000000002354dfff 00013505 316436KiB UC WC WT WB
1788 ldr-data 000000002354e000-000000003ecfffff 0001b7b2 450248KiB UC WC WT WB
1789 BS-data 000000003ed00000-000000003ed7ffff 00000080 512KiB UC WC WT WB
1790 conv-mem 000000003ed80000-000000006af5ffff 0002c1e0 722816KiB UC WC WT WB
1791 reserved 000000006af60000-000000006b55ffff 00000600 6MiB UC WC WT WB
1792 BS-data 000000006b560000-000000006b560fff 00000001 4KiB UC WC WT WB
1793 RT-data 000000006b561000-000000006b5e1fff 00000081 516KiB RT UC WC WT WB
1794 BS-data 000000006b5e2000-000000006ecfafff 00003719 56420KiB UC WC WT WB
1795 BS-code 000000006ecfb000-000000006ecfbfff 00000001 4KiB UC WC WT WB
1796 conv-mem 000000006ecfc000-0000000071222fff 00002527 38044KiB UC WC WT WB
1797 BS-data 0000000071223000-00000000712ddfff 000000bb 748KiB UC WC WT WB
1798 persist 0000000880000000-0000000e7fffffff 00600000 24GiB UC WC WT WB NV
1799 reserved 0000001680000000-0000001c7fffffff 00600000 24GiB UC WC WT WB NV
1801 2015-12-16 Andrei Borzenkov <arvidjaar@gmail.com>
1803 kernel: print and reset grub_errno after each embedded config line
1804 Otherwise it causes subsequent file open to fail, because grub_file_open
1805 misinterprets set grub_errno for grub_file_get_device_name failure.
1809 2015-12-16 Andrei Borzenkov <arvidjaar@gmail.com>
1811 Erase backspaced character in grub_username_get
1812 It probably does not work across linefeed, but hopefully user names are not
1813 that long (and nobody is using terminal that small).
1815 2015-12-16 Hector Marco-Gisbert <hecmargi@upv.es>
1817 Fix security issue when reading username and password
1818 This patch fixes two integer underflows at:
1819 * grub-core/lib/crypto.c
1820 * grub-core/normal/auth.c
1824 Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
1826 2015-12-15 Andrei Borzenkov <arvidjaar@gmail.com>
1828 NEWS: more additions
1829 Also-By: Robert Elliott <elliott@hpe.com>
1831 2015-12-15 Robert Elliott <elliott@hpe.com>
1833 Translate UEFI persistent memory type
1835 * GRUB_EFI_PERSISTENT_MEMORY (UEFI memory map type 14) per UEFI 2.5
1836 * GRUB_MEMORY_PERSISTENT (E820 type 7) per ACPI 3.0
1837 * GRUB_MEMORY_PERSISTENT_LEGACY (E820 unofficial type 12) per ACPI 3.0
1839 and translate GRUB_EFI_PERSISTENT_MEMORY to GRUB_MEMORY_PERSISTENT in
1840 grub_efi_mmap_iterate().
1843 * adding the E820 names to lsmmap
1844 * handling the E820 types in make_efi_memtype()
1846 Suggested-by: Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
1847 Suggested-by: Andrei Borzenkov <arvidjaar@gmail.com>
1849 2015-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1851 Document bootlocation discovery limitations and xen platform limitations
1853 2015-12-07 Josef Bacik <jbacik@fb.com>
1855 tcp: ack when we get an OOO/lost packet
1856 While adding tcp window scaling support I was finding that I'd get some packet
1857 loss or reordering when transferring from large distances and grub would just
1858 timeout. This is because we weren't ack'ing when we got our OOO packet, so the
1859 sender didn't know it needed to retransmit anything, so eventually it would fill
1860 the window and stop transmitting, and we'd time out. Fix this by ACK'ing when
1861 we don't find our next sequence numbered packet. With this fix I no longer time
1864 2015-12-01 Michael Chang <mchang@suse.com>
1866 i386: fix TSC calibration using PIT
1867 Condition was accidentally reversed, so PIT calibration always failed
1868 when PIT was present and always succeeded when PIT was missing, but in
1869 the latter case resulted in absurdly fast clock.
1871 Reported and tested by Vitaly Kuznetsov <vkuznets@redhat.com>
1873 2015-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
1875 Do not include generated gnulib headers in tarball
1876 gnulib files are already handled by recursive make distdir invocation.
1877 Including all generated headers (after make completed) causes build
1878 failure if target system is different (different compile version etc).
1880 2015-11-27 Andrei Borzenkov <arvidjaar@gmail.com>
1882 Replace numbers with grub_memory_type_t enums
1884 2015-11-27 Andrei Borzenkov <arvidjaar@gmail.com>
1886 configure: fix macports flex version detection
1887 Macports add extra information after version itself:
1890 flex 2.5.35 Apple(flex-31)
1892 We require at least felx 2.5.35 so do not need to care about prehistoric
1893 "flex version n.n.n"; just use second field always.
1895 Reported by Peter Cheung <mcheung63@hotmail.com>
1897 2015-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1899 tsc: Use alternative delay sources whenever appropriate.
1900 PIT isn't available on some of new hardware including Hyper-V. So
1901 use pmtimer for calibration. Moreover pmtimer calibration is faster, so
1902 use it on coreboor where booting time is important.
1904 Based on patch by Michael Chang.
1906 2015-11-26 Andrei Borzenkov <arvidjaar@gmail.com>
1908 efi: really mark memory of unknown type as reserved
1909 9be4c45dbe3c877d1f4856e99ee15133c6cd2261 added switch case between
1910 fall through cases, causing all memory regions of unknown type to be
1911 marked as available.
1913 Move default case into its own block and add explicit FALLTHROUGH
1916 Reported by Elliott, Robert (Persistent Memory) <elliott@hpe.com>
1918 2015-11-24 Josef Bacik <jbacik@fb.com>
1920 net: reset nb->data per dns record lookup loop
1921 We were resetting nb->data every time we tried a new server, but we need to do
1922 it every time we try for a different record, otherwise we don't end up falling
1923 back to the A record properly. Thanks,
1925 2015-11-18 Andrei Borzenkov <arvidjaar@gmail.com>
1927 unix: do not close stdin in grub_passwd_get
1928 This makes it impossible to read from stdin without controlling tty:
1930 10:/mnt # echo -e passwd\\npasswd | setsid ./grub-mkpasswd-pbkdf2
1932 Reenter password: ./grub-mkpasswd-pbkdf2: error: failure to read password.
1935 2015-11-17 Andrei Borzenkov <arvidjaar@gmail.com>
1937 lsefisystab: add missing comma after 7994077
1939 2015-11-14 Pavel Bludov <pbludov@gmail.com>
1941 Add some UUIDs found in the hardware
1943 2015-11-13 Konstantin Vlasov <kvlasov@odin.com>
1945 gfxterm: fix calculation of terminal-top and terminal-height
1946 They used screen width, not height.
1948 2015-11-12 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
1950 ofdisk: add sas disks to the device list
1952 2015-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1954 multiboot: Don't rely on particular ordering of options.
1956 multiboot_mbi: Fix handling of --quirk-bad-kludge.
1958 2015-11-12 Fu Wei <fu.wei@linaro.org>
1960 xen_boot: Remove useless file_name_index variable.
1962 Document ARM64 xen commands
1964 2015-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1966 asm-tests/i386-pc: Check that near jumps are 2 bytes.
1967 We already check that jump over 300 bytes gap is 3 bytes in code16-mode.
1968 Some clang versions generate 3-byte opcode for short jumps which makes
1969 boot.img blow over 512-byte limit. Enforce -no-integrated-as in such cases
1971 2015-11-11 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
1973 ofdisk: add a comment about vscsi method
1975 2015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1977 fdt.mod: Move license tag to the right file.
1979 2015-11-09 Fu Wei <fu.wei@linaro.org>
1981 fdt.mod: Add missing license tag.
1983 2015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1985 kern/elf: Ignore cast-align warnings
1987 2015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1989 cbfs: Fix corner case and compilation with recdent gcc
1990 Accept the header to touch the jump address at 0xfffffff0.
1992 Fix compilation for 64-bit EFI with recent GCC.
1994 2015-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1996 fstester: Enforce LC_ALL=C
1998 Adapt build-system to use imported xen headers.
2000 Import xen headers directly into GRUB
2002 cbfs: Check for ptr range sanity.
2003 Triaged by Andrei and enhanced with suggestions by Aaron Durbin
2004 Also-By: Andrei Borzenkov <arvidjaar@gmail.com>
2006 Remove reliance C.UTF-8
2008 genmoddep.awk: Add a test that we have no circular dependencies
2010 Makefile.core.def: Break circular dependency on arm64.
2012 autogen: Use cp instead of ln -s.
2013 libgcrypt-grub shouldn't be modified directly anyway. With this patch
2014 tarball without contrib can be unpacked on FAT and stay usable for
2015 out-of-tree compile on full POSIX FS (compile on FAT not tested).
2017 2015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
2019 partmap_test: check that parted is available
2020 Skip test if parted is unavailable instead of returning false failure.
2022 2015-11-07 grub-devel@iam.tj <grub-devel@iam.tj>
2024 cryptodisk: teach grub_cryptodisk_insert() about partitions (bug #45889)
2025 It is not possible to configure encrypted containers on multiple partitions of
2026 the same disk; after the first one all subsequent fail with
2028 disk/cryptodisk.c:978: already mounted as crypto0
2030 Store partition offset in cryptomount descriptor to distinguish between them.
2032 2015-11-07 Andrey Borzenkov <arvidjaar@gmail.com>
2034 doc: document config_directory and config_file variables
2036 2015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
2038 unix/getroot: remove unused MAJOR definition
2039 We use major() everywhere, these definitions just add to confusion.
2041 Add comments to code for commit d313218
2043 2015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
2045 devmapper/getroot: use makedev instead of direct shift
2046 Fixes device detection with large number of devices.
2048 Reported by Tim Wallberg <twalberg@comcast.net>
2050 2015-11-06 Andrei Borzenkov <arvidjaar@gmail.com>
2052 mkimage: zero fill alignment space
2053 This did not cause real problem but is good for reproducible builds. I hit
2054 it with recent bootinfoscript that displays embedded config; I was puzzled
2055 by random garbage at the end.
2057 Prezero memory buffer used to assemble core.img. This makes individual
2058 memset redundant. Also ensure buffer is filled with zeroes in several other
2061 Also remove redundant zeroing code where we fill in the whole memory block
2064 2015-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2066 configure.ac: Explicitly add -mno-sse3 on x86.
2068 README: Remove dead link to the wiki
2070 2015-10-29 Andrei Borzenkov <arvidjaar@gmail.com>
2072 NEWS: mention powerpc64le support
2074 2015-10-29 Ignat Korchagin <ignat>
2076 tcp: Fix uninited mac address when accepting connection.
2078 2015-10-29 Fu Wei <fu.wei@linaro.org>
2080 arm64: Add support for xen boot protocol.
2082 2015-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2084 arm64: Move FDT functions to separate module
2086 2015-10-27 Andrei Borzenkov <arvidjaar@gmail.com>
2088 efi: fix warnings with recent GCC
2089 ../../grub-core/term/efi/console.c:128:32: error: suggest parentheses around '&&' within '||' [-Werror=parentheses]
2090 if (key.unicode_char >= 0x20 && key.unicode_char <= 0x7f
2092 2015-10-26 Eric Snowberg <eric.snowberg@oracle.com>
2094 ofdisk: Fix devpath freeing logic.
2096 2015-10-26 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
2098 Implement cross-endian ELF load for powerpc
2100 2015-10-25 Peter Jones <pjones@redhat.com>
2102 Use EFI_SIMPLE_TEXT_INPUT_EX to support key combinations.
2104 2015-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
2106 configure: find options to force endian on MIPS
2108 2015-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
2110 configure: force o32 ABI on MIPS
2111 GRUB code expects O32 or N32. N32 is less tested than O32, so we prefer to
2112 compile with O32. Some systems (e.g. GNU Guix) default to using newer
2113 n64 or n32 ABI. Try to find suitable options to force o32.
2115 For GCC this is simply -mabi=32. While clang supports this option as well,
2116 o32 ABI is valid for MIPS target and n32/64 ABI are valid for MIPS64 target
2117 only, so use "-target mips/mipsel -mabi=32".
2119 Reported-By: Mark H Weaver <mhw@netris.org>
2120 Also-By: Mark H Weaver <mhw@netris.org>
2122 2015-10-12 Andrei Borzenkov <arvidjaar@gmail.com>
2124 net: avoid closing NULL socket in DNS lookup
2125 Refactor code so that we do not store NULL pointers in array
2126 of in-flight DNS servers.
2128 Reported-By: Josef Bacik <jbacik@fb.com>
2130 2015-10-11 Andrei Borzenkov <arvidjaar@gmail.com>
2132 install: --compress argument is not optional
2133 Fixes crash if argument is not specified. Also use `|' to separate choices
2134 in list of compression methods to align it with --core-compress.
2136 2015-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2138 mips: Make setjmp code N32-compliant.
2140 mips: Make the assembly-code N32-compatible.
2141 There are no $t4 or $t5 in N32 but there are $a4 and $a5.
2143 2015-10-10 Andrei Borzenkov <arvidjaar@gmail.com>
2145 progress: avoid NULL dereference for net files
2146 From original patch by dann frazier <dann.frazier@canonical.com>:
2148 grub_net_fs_open() saves off a copy of the file structure it gets passed and
2149 uses it to create a bufio structure. It then overwrites the passed in file
2150 structure with this new bufio structure. Since file->name doesn't get set
2151 until we return back to grub_file_open(), it means that only the bufio
2152 structure gets a valid file->name. The "real" file's name is left
2153 uninitialized. This leads to a crash when the progress module hook is called
2156 grub_net_fs_open() already saved copy of file name as ->net->name, so change
2157 progress module to use it.
2159 Also, grub_file_open may leave file->name as NULL if grub_strdup fails. Check
2162 Also-By: dann frazier <dann.frazier@canonical.com>
2164 2015-10-10 Andrei Borzenkov <arvidjaar@gmail.com>
2166 file: ignore host disk in blocklist check
2167 It cannot work anyway because host disk cannot be read. This fixes hostfs access
2168 on native Windows build where filenames start with '\' or do not have initial
2169 separator at all (d:\foo).
2171 Issue was observed when running grub-fstest on Windows. On UNIX image name is
2172 canonicalized to always start with `/' so this was not noticed.
2174 This has side effect of allowing relative path names on host, but this already
2175 was the case with `ls' command, so it just extends it to all commands.
2177 Reported-By: Arch Stack <archstacker@gmail.com>
2178 Also-By: Arch Stack <archstacker@gmail.com>
2180 2015-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2182 mips/dl: Handle addend in RELA entries.
2184 gfxmenu/model: Delete empty file.
2186 2015-10-09 Alexander Bluhm <bluhm@genua.de>
2188 ufs: Fix parameters to grub_memset.
2189 len = 0 made simply no sense. Fix parameters to be in line with read.
2191 2015-10-07 Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
2193 ofnet: Do not set SUFFIX for sun4v network devices
2194 sun4v vnet devices do not implement the support of duplex and speed
2195 instance attributes. An attempt to open such a device with
2196 the attributes will fail:
2198 ok select net:speed=auto,duplex=auto
2200 Unknown key 'duplex'
2201 Manual Configuration: Host IP, boot server and filename must be specified
2202 WARNING: /virtual-devices@100/channel-devices@200/network@0: Can't open OBP standard TFTP package
2207 Therefore, let's not set SUFFIX for such devices.
2209 2015-10-07 Eric Snowberg <eric.snowberg@oracle.com>
2211 sparc64 - use correct drive name within grub_util_sparc_setup
2212 Incorrect drive name was being passed into grub_util_sparc_setup,
2213 causing the grub-install to fail.
2215 2015-09-13 Andrei Borzenkov <arvidjaar@gmail.com>
2217 cryptodisk: strip parenthesis from backing device name
2218 Otherwise subsequent disk open fails.
2220 Reported-By: Klemens Nanni <contact@autoboot.org>
2222 2015-08-22 Felix Zielcke <fzielcke@z-51.de>
2224 disk/ldm, partmap/msdos.c: fix spelling error
2226 2015-08-13 Andrei Borzenkov <arvidjaar@gmail.com>
2228 net: do not try to load protocol module via itself
2229 Otherwise we get infinite recursion.
2233 2015-08-09 Josef Bacik <jbacik@fb.com>
2235 efinet: handle get_status() on buggy firmware properly
2236 The EFI spec indicates that get_status() should return the address of the buffer
2237 we passed into transmit to indicate the the buffer was transmitted. However we
2238 have boxes where the firmware returns some arbitrary address instead, which
2239 makes grub think that we've not sent anything. So since we have the SNP stuff
2240 opened in exclusive mode just assume any non-NULL txbuf means that our transmit
2241 occurred properly. This makes grub able to do its networking stuff properly on
2242 our broken firmware. Thanks,
2244 cc: Peter Jones <pjones@redhat.com>
2246 2015-08-09 Andrei Borzenkov <arvidjaar@gmail.com>
2248 linguas.sh: fix error when removing non-existing autogenerated files
2250 2015-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2252 ahci: Ensure that bus mastering is set.
2253 Fixes ahci_test failing on several platforms.
2255 2015-07-27 Vladimir Serbinenko <phcoder@gmail.com>
2257 archelp: Never pass NULL as mtime.
2258 Moves complexity from fs code (NULL check) to common code (passing non-NULL).
2260 HFS: Convert to fshelp.
2261 HFS doesn't handle "." and ".." properly. Convert it to fshelp to reuse the
2264 FAT: Convert to fshelp.
2265 exFAT doesn't handle "." and ".." correctly, convert it to fshelp to
2266 reuse the same logic.
2268 BFS: Convert to fshelp.
2269 BFS doesn't handle ".." correctly, so convert it to fshelp to reuse the logic.
2271 fshelp: Add handling of "." and ".." and grub_fshelp_find_file_lookup.
2272 Recent tests have discovered that many of our filesystems have flawed
2273 handling of "." and "..". Rather than attempting to fix it in filesystems
2274 themselves, make the common code fshelp aware of "." and ".." and handle
2275 them in this layer. Add grub_fshelp_find_file_lookup for easy conversion
2276 of BFS, HFS and exFAT which have the same problem and don't use fshelp.
2278 Switch procfs to use archelp.
2279 This fixes handling of "." and "..".
2281 grub-install: Use a+ in fopen rather than r+.
2282 r+ does not create a file if none exists.
2284 Add transform_data as a variant of data with substitutions.
2285 This fixrs name mismatch for grub.chrp with
2286 transform_program_name='s,grub,grub2,g'
2288 2015-07-24 Ignat Korchagin <ignat@cloudflare.com>
2290 efi: fix GetVariable return status check in 81ca24a
2291 GetVariable should return EFI_BUFFER_TOO_SMALL if given buffer of size
2292 zero; commit incorrectly checked for EFI_SUCCESS.
2294 2015-07-24 Vladimir Serbinenko <phcoder@gmail.com>
2296 zfs_test: Skip dotdot in volume root test.
2297 Given special semantics of ZFS it's far from clear what the expected
2298 result is. Just skip it for now
2300 xfs_test: Test both crc and non-crc filesystems.
2302 xfs: Fix handling of symlink with crc-enabled filesystem.
2304 reiserfs: Fix handling of first entry in the directory.
2305 Fixes garbage being added to "." filename.
2307 2015-07-23 Ignat Korchagin <ignat@cloudflare.com>
2309 efi: fix memory leak in variable handling
2311 2015-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2313 exclude.pot: Add missing blacklisted strings.
2315 archelp: Fix handling of dot and dotdot at the end of the name.
2316 Fixes cpio_test and tar_test.
2318 arm-emu: Add __aeabi_memcpy* and __aeabi_memclr* symbols.
2319 Fixes compilation with clang.
2321 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2323 fwstart: Fix loading of address of read_spd_fail.
2325 fwstart: Add missing argument to p2align.
2326 Resulting binary is unchanged as it happens we were already aligned
2329 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2331 fwstart: Replace blt with bltz.
2332 blt A, $zero, B and bltz A, B are equivalent but clang recognizes only
2335 Resulting binary is unchanged.
2337 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2339 Remove mips_attributes.
2340 mips_attributes was introduced to work around clang problems with
2341 -msoft-float. Those problems are now fixed and moreover .gnu_attributes
2342 itself is unportable and creates problem with clang.
2344 Revert "mips: Fix soft-float handling."
2346 This partially reverts commit 6a4ecd276ed39f66be0ad6ff0f8ff67598098605.
2348 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2350 ARM: provide __aeabi_memclr* and __aeabi_memcpy* symbols
2351 Fixes compilation with recent clang.
2353 diskfilter: Make name a const char to fix compilation error.
2355 dmraid_nvidia: Set a name to usable value to avoid null dereference.
2356 Reported by: Andrei Borzenkov
2358 configure.ac: Handle powerpc64le compiler
2359 Also-by: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
2361 2015-07-20 Bernhard Übelacker <bernhardu@vr-web.de>
2363 loader/linux: Make trailer initrd entry aligned again.
2364 Regression from commit:
2365 loader/linux: do not pad initrd with zeroes at the end
2366 a8c473288d3f0a5e17a903a5121dea1a695dda3b
2368 Wimboot fails since the change above because it expects the "trailer"
2369 initrd element on an aligned address.
2370 This issue shows only when newc_name is used and the last initrd
2371 entry has a not aligned size.
2373 2015-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2375 XFS: Fix wrong alignment treatment.
2377 grub_ext2_read_block: Fix return type on error.
2379 2015-07-05 Andrei Borzenkov <arvidjaar@gmail.com>
2381 use TARGET_LDFLAGS in grub_PROG_OBJCOPY_ABSOLUTE
2382 That's what Makefile will use and it is required if unusual flags
2383 must be passed to linker (e.g. to build ppc32 code on ppc64le with clang).
2385 2015-06-26 Michael Chang <mchang@suse.com>
2387 Fix missing byte order conversion in get_btrfs_fs_prefix function
2388 Since btrfs on-disk format uses little-endian, the searched item types
2389 (ROOT_REF, INODE_REF) need converting the byte order in order to
2390 function properly on big-endian systems.
2392 2015-06-26 Andrei Borzenkov <arvidjaar@gmail.com>
2394 chainloader: fix resoource leak
2395 Found by: Coverity scan.
2398 loader/bsd: fix memory leak
2399 Found by: Coverity scan.
2402 2015-06-20 Andrei Borzenkov <arvidjaar@gmail.com>
2404 loader/bsd: free memory leaks
2405 Found by: Coverity scan.
2406 CID: 96671, 96658, 96653
2408 search_wrap: fix memory leak
2409 Found by: Coverity scan.
2412 password_pbkdf2: fix memory leak
2413 Found by: Coverity scan.
2416 normal: fix memory leak
2417 Found by: Coverity scan.
2420 efi/serial: fix memory leak
2421 Found by: Coverity scan.
2424 ohci: fix memory leak
2425 Found by: Coverity scan.
2428 loader/bsd: free memory leaks
2429 Found by: Coverity scan.
2432 multiboot: fix memory leak
2433 Found by: Coverity scan.
2436 normal: fix memory leak
2437 Found by: Coverity scan.
2440 loader/bsd: fix memory leak
2441 Found by: Coverity scan.
2444 reed_solomon: fix memory leak
2445 Found by: Coverity scan.
2448 usb: fix use after free
2449 Found by: Coverity scan.
2452 xnu: fix use after free
2453 Found by: Coverity scan.
2456 disk/scsi: fix use after free
2457 Found by: Coverity scan.
2460 efi/chainloader: fix use after free
2461 Found by: Coverity scan.
2464 search: fix use after free
2465 Found by: Coverity scan.
2468 NEWS: emu libusb support removed
2470 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2472 grub-probe: fix memory leak in probe (ofpath)
2473 Found by: Coverity scan.
2476 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2478 grub-probe: restructure code to make static analysis easier
2479 Current code in probe() could not be verified to not contain memory leaks.
2480 Restructure code and ensure grub_device_close is always called at the end of
2483 Calms down Coverity scan.
2486 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2488 zfs: fix memory leak
2489 Found by: Coverity scan.
2492 xfs: silence Coverity overflow warning
2493 inode size cannot really overflow integer, but Coverity does not know it.
2497 Found by Coverity scan.
2500 unix/getroot: memory leak
2501 Found by Coverity scan.
2504 unix/relpath: memory leak
2505 Found by Coverity scan.
2508 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2510 syslinux_parse: assorted issues found by Coverity
2511 1. Remove unneeded NULL check
2514 2. Do not allocate storage for initrd, copy it directly from input
2515 buffer. Avoids memory leak in failure path.
2518 3. Unchecked error return from print()
2521 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2523 syslinux_parse: make print_escaped actually stop before `to'
2524 The only current user is mboot.c32 which unfortunately is not covered
2525 by regression tests.
2527 2015-06-18 Andrei Borzenkov <arvidjaar@gmail.com>
2529 fat: fix handling of "." and ".." directory entries
2530 Emulate dot and dotdot in root directory. For other directories do not
2531 add separator between name and extension for these two special entries.
2535 2015-06-18 Andrei Borzenkov <arvidjaar@gmail.com>
2537 tests: regression tests for "." and ".." directory entries
2539 2015-06-16 Andrei Borzenkov <arvidjaar@gmail.com>
2541 efinet: enable hardware filters when opening interface
2542 Exclusive open on SNP will close all existing protocol instances which
2543 may disable all receive filters on interface. Reinstall them after we
2544 opened protocol exclusively.
2546 Also follow UEFI specification recommendation and stop interfaces when
2549 Unexpected system errors, reboots and hangs can occur if an OS is loaded
2550 and the network devices are not Shutdown() and Stopped().
2552 Also by: Mark Salter <msalter@redhat.com>
2555 2015-06-16 Andrei Borzenkov <arvidjaar@gmail.com>
2557 NEWS: mention libgcc removal
2559 2015-06-15 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
2561 Add flag for powerpc ieee1275 to avoid unneeded optimizations
2563 2015-06-12 Mark Salter <msalter@redhat.com>
2565 Fix exit to EFI firmware
2566 The current code for EFI grub_exit() calls grub_efi_fini() before
2567 returning to firmware. In the case of ARM, this leaves a timer
2568 event running which could lead to a firmware crash. This patch
2569 changes this so that grub_machine_fini() is called with a NORETURN
2570 flag. This allows machine-specific shutdown to happen as well
2571 as the shutdown done by grub_efi_fini().
2573 2015-06-12 Paul Menzel <paulepanter@users.sourceforge.net>
2575 disk/ahci.c: Use defines `GRUB_AHCI_HBA_PORT_CMD_SPIN_UP` and `GRUB_AHCI_HBA_PORT_CMD_POWER_ON`
2576 Instead of hard coding `2` and `4` use the macros defined already at the
2577 top of the file. As a consequence, wrap the now too long line.
2579 2015-06-12 Andrei Borzenkov <arvidjaar@gmail.com>
2581 NEWS: XFS v5 support
2583 2015-06-12 Jan Kara <jack@suse.cz>
2585 xfs: V5 filesystem format support
2586 Add support for new XFS on disk format. We have to handle optional
2587 filetype fields in directory entries, additional CRC, LSN, UUID entries
2588 in some structures, etc.
2590 xfs: Add helpers for inode size
2591 Add helpers to return size of XFS inode on disk and when loaded in
2594 2015-06-04 Toomas Soome <tsoome@me.com>
2596 multiboot_header_tag_module_align fix to confirm multiboot specification
2598 2015-06-02 Leif Lindholm <leif.lindholm@linaro.org>
2600 configure.ac: clean up arm64 soft-float handling
2601 Fix compilation with gcc 5.1 (avoid internal compiler error), by
2602 replacing explicit -march +nofp+nosimd options with -mgeneral-regs-only.
2604 This also enables the removal of some further conditional build flag
2607 2015-06-01 dann frazier <dann.frazier@canonical.com>
2609 arm64/setjmp: Add missing license macro
2610 Including the setjmp module in an arm64-efi image will cause it to
2611 immediately exit with an "incompatible license" error.
2613 The source file includes a GPLv3+ boilerplate, so fix this by declaring a
2614 GPLv3+ license using the GRUB_MOD_LICENSE macro.
2616 2015-05-31 Paul Menzel <paulepanter@users.sourceforge.net>
2618 disk/ahci.c: Add port number to port debug messages
2619 Currently, some messages cannot be mapped to the port they belong to as
2620 the port number is missing from the output. So add `port: n` to the
2623 2015-05-30 Andrei Borzenkov <arvidjaar@gmail.com>
2625 Clarify use of superusers variable and menu entry access
2626 superusers controls both CLI and editing. Also explicitly mention that
2627 empty superusers disables them.
2629 "Access to menuentry" is a bit vague - change to "execute menuentry"
2630 to make it obvious, what access is granted.
2632 2015-05-30 Paul Menzel <paulepanter@users.sourceforge.net>
2634 Correct spelling of *scheduled*
2635 Run the command below
2637 $ git grep -l schedulded | xargs sed -i 's/schedulded/scheduled/g'
2639 and revert the change in `ChangeLog-2015`.
2641 Including "miscellaneous" spelling fix noted by richardvoigt@gmail.com
2643 2015-05-30 Toomas Soome <tsoome@me.com>
2645 zfs extensible_dataset and large_blocks feature support
2646 large blocks basically use extensible dataset feature, or to be exact,
2647 setting recordsize above 128k will trigger large_block feature to be
2648 enabled and storing such blocks is using feature extensible dataset. so
2649 the extensible dataset is prerequisite.
2651 Changes implement read support extensible dataset… instead of fixed DMU
2652 types they dont specify type, making it possible to use fat zap objects
2655 2015-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2657 multiboot1: never place modules in low memory.
2658 While in theory permitted by the spec, modules rarely fit in low memory
2659 anyway and not every kernel is able to handle modules in low memory anyway.
2660 At least VMWare is known not to be able to handle modules at arbitrary
2663 2015-05-24 Paul Menzel <paulepanter@users.sourceforge.net>
2665 disk/ahci: Use defines `GRUB_ATA_STATUS_BUSY` and `GRUB_ATA_STATUS_DRQ`
2666 Instead of hard coding `0x88` use the macros defined in `disk/ata.h`.
2668 2015-05-19 Paul Menzel <paulepanter@users.sourceforge.net>
2670 cb_timestamps.c: Add new time stamp descriptions
2671 Add the descriptions of the “core”, that means no vendorcode or payload,
2672 coreboot time stamps added up to coreboot commit a7d92441 (timestamps:
2673 You can never have enough of them!) [1].
2675 Running `coreboot_boottime` in the GRUB command line interface now shows
2676 descriptions for all time stamps again on the ASRock E350M1.
2678 [1] http://review.coreboot.org/9608
2680 2015-05-17 Andrei Borzenkov <arvidjaar@gmail.com>
2682 bootp: ignore gateway_ip (relay) field.
2685 The 'giaddr' field is rather poorly named. It exists to facilitate
2686 the transfer of BOOTREQUEST messages from a client, through BOOTP
2687 relay agents, to servers on different networks than the client.
2688 Similarly, it facilitates the delivery of BOOTREPLY messages from the
2689 servers, through BOOTP relay agents, back to the client. In no case
2690 does it represent a general IP router to be used by the client. A
2691 BOOTP client MUST set the 'giaddr' field to zero (0.0.0.0) in all
2692 BOOTREQUEST messages it generates.
2694 A BOOTP client MUST NOT interpret the 'giaddr' field of a BOOTREPLY
2695 message to be the IP address of an IP router. A BOOTP client SHOULD
2696 completely ignore the contents of the 'giaddr' field in BOOTREPLY
2699 Leave code ifdef'd out for the time being in case we see regression.
2701 Suggested by: Rink Springer <rink@rink.nu>
2704 2015-05-17 Andrei Borzenkov <arvidjaar@gmail.com>
2706 hostdisk: fix crash with NULL device.map
2707 grub-macbless calls grub_util_biosdisk_init with NULL device.map.
2709 2015-05-14 Andrei Borzenkov <arvidjaar@gmail.com>
2711 zfs: fix integer truncation in zap_lookup
2712 Size after shift could exceed 16 bits; use grub_unit32_t for result.
2714 Reported and tested by: Kostya Berger <bergerkos@yahoo.co.uk>
2717 2015-05-13 Andrei Borzenkov <arvidjaar@gmail.com>
2719 remove extra newlines in grub_util_* strings
2720 grub_util_{info,warn,error} already add trailing newlines, so remove
2721 them from format strings. Also trailing full stops are already added.
2723 2015-05-12 Jan Kara <jack@suse.cz>
2725 xfs: Convert inode numbers to cpu endianity immediately after reading
2726 Currently XFS driver converted inode numbers to native endianity only
2727 when using them to compute inode position. Although this works, it is
2728 somewhat confusing. So convert inode numbers when reading them from disk
2729 structures as every other field.
2731 2015-05-11 Jan Kara <jack@suse.cz>
2733 xfs: Fix termination loop for directory iteration
2734 Directory iteration used wrong position (sizeof wrong structure) for
2735 termination of iteration inside a directory block. Luckily the position
2736 ended up being wrong by just 1 byte and directory entries are larger so
2737 things worked out fine in practice. But fix the problem anyway.
2739 2015-05-08 Andrei Borzenkov <arvidjaar@gmail.com>
2741 acpi: do not skip BIOS scan if EBDA length is zero
2742 EBDA layout is not standardized so we cannot assume first two bytes
2743 are length. Neither is it required by ACPI standard. HP 8710W is known
2744 to contain zeroes here.
2748 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2750 Add asm-tests to tarball
2752 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2754 util/grub-mkrescue: Fix compilation
2756 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2758 efinet: open Simple Network Protocol exclusively
2759 EDK2 network stack is based on Managed Network Protocol which is layered
2760 on top of Simple Management Protocol and does background polling. This
2761 polling races with grub for received (and probably trasmitted) packets
2762 which causes either serious slowdown or complete failure to load files.
2764 Open SNP device exclusively. This destroys all child MNP instances and
2765 stops background polling.
2767 Exclusive open cannot be done when enumerating cards, as it would destroy
2768 PXE information we need to autoconfigure interface; and it cannot be done
2769 during autoconfiguration as we need to do it for non-PXE boot as well. So
2770 move SNP open to card ->open method and add matching ->close to clean up.
2772 Based on patch from Mark Salter <msalter@redhat.com>
2774 Also-By: Mark Salter <msalter@redhat.com>
2777 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2779 efinet: skip virtual IPv4 and IPv6 devices when enumerating cards
2780 EDK2 PXE driver creates two child devices - IPv4 and IPv6 - with
2781 bound SNP instance. This means we get three cards for every physical
2782 adapter when enumerating. Not only is this confusing, this may result
2783 in grub ignoring packets that come in via the "wrong" card.
2785 Example of device hierarchy is
2787 Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
2788 Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
2789 Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
2790 Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
2792 Skip PXE created virtual devices when enumerating cards. Make sure to
2793 find real card when applying initial autoconfiguration during PXE boot,
2794 this information is associated with one of child devices.
2796 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2798 efidisk: move device path helpers in core for efinet
2800 convert to, not from, CPU byte order in DNS receive function
2802 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2804 loader/linux: do not pad initrd with zeroes at the end
2805 Syslinux memdisk is using initrd image and needs to know uncompressed
2806 size in advance. For gzip uncompressed size is at the end of compressed
2807 stream. Grub padded each input file to 4 bytes at the end, which means
2808 syslinux got wrong size.
2810 Linux initramfs loader apparently does not care about trailing alignment.
2811 So change code to align beginning of each file instead which atomatically
2812 gives us the correct size for single file.
2814 Reported-By: David Shaw <dshaw@jabberwocky.com>
2816 2015-05-07 Daniel Kiper <daniel.kiper@oracle.com>
2818 i386/relocator: Remove unused extern grub_relocator64_rip_addr
2820 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2822 grub-install-common: Increase buf size to 8192 as modinfo.sh is bigger.
2824 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2826 grub-mkrescue: Recognize -output as an alias of --output.
2827 This helps us to be in line with xorriso -as mkisofs.
2829 Suggested by: Thomas Schmitt
2831 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2833 linux.c: Ensure that initrd is page-aligned.
2835 Revert parts accidentally committed 2 commits ago.
2837 2015-05-07 Fu Wei <fu.wei@linaro.org>
2839 fdt.h: Add grub_fdt_set_reg64 macro
2841 arm64: Export useful functions from linux.c
2843 2015-05-04 Andrei Borzenkov <arvidjaar@gmail.com>
2845 Revert "efinet: memory leak on module removal"
2846 This reverts commits 47b2bee3ef0ea60fc3f5bfc37f3784e559385297
2847 and 8d3c4544ffdd0289a4b0bdeb0cdc6355f801a4b3. It is not safe
2848 to free allocated cards, dangling pointers main remain. Such
2849 cleanup requires more changes in net core.
2851 efinet: cannot free const char * pointer
2853 efinet: memory leak on module removal
2855 2015-05-03 Andrei Borzenkov <arvidjaar@gmail.com>
2857 zfs: add missing NULL check and fix incorrect buffer overwrite
2858 grub_memset should zero out padding after data end. It is not clear
2859 why it is needed at all - ZFS block is at least 512 bytes and power
2860 of two, so it is always multiple of 16 bytes. This grub_memset
2861 apparently never did anything.
2863 2015-05-03 Toomas Soome <tsoome@me.com>
2865 zfs: com.delphix:embedded_data feature support
2867 zfs: com.delphix:hole_birth feature support
2868 In the past birth was always zero for holes. This feature started
2869 to make use of birth for holes as well, so change code to test for
2870 valid DVA address instead.
2872 2015-04-29 Andrei Borzenkov <arvidjaar@gmail.com>
2874 grub-mkconfig: use $pkgdatadir in scripts
2875 Otherwise scripts will source wrong grub-mkconfig_lib.
2877 2015-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2879 Remove -V in grub-mkrescue.c
2880 It clashhes with -V which is alias to -volid.
2882 2015-04-13 Toomas Soome <tsoome@me.com>
2884 getroot: include sys/mkdev.h for makedev
2885 Solaris (like) systems need to include sys/mkdev.h for makedev() function.
2887 2015-04-13 Toomas Soome <tsoome@me.com>
2889 core/partmap: rename 'sun' to avoid clash with predefined symbol
2890 the symbol “sun” is defined macro in solaris derived systems, from
2893 and therefore can not be used as name.
2895 2015-04-12 Paul Menzel <paulepanter@users.sourceforge.net>
2897 docs/grub.texi: Fix spelling of cbfstool
2899 2015-04-06 Andrei Borzenkov <arvidjaar@gmail.com>
2901 core: avoid NULL derefrence in grub_divmod64s
2902 It can be called with NULL for third argument. grub_divmod32* for
2903 now are called only from within wrappers, so skip check.
2905 Reported-By: Michael Zimmermann <sigmaepsilon92@gmail.com>
2907 2015-03-28 Andrei Borzenkov <arvidjaar@gmail.com>
2909 do not emit cryptomount without crypto UUID
2911 2015-03-28 Sarah Newman <srn@prgmr.com>
2913 grub-core/loader/i386/xen.c: Initialized initrd_ctx so we don't free a random pointer from the stack.
2915 2015-03-27 Andrei Borzenkov <arvidjaar@gmail.com>
2917 net: trivial grub_cpu_to_XX_compile_time cleanup
2919 2015-03-27 Lunar <lunar@torproject.org>
2921 syslinux: Support {vesa,}menu.c32.
2923 2015-03-27 Steve McIntyre <steve@einval.com>
2925 Recognize EFI platform even in case of mismatch between Linux and EFI.
2926 Some x86 systems might be capable of running a 64-bit Linux kernel but
2927 only use a 32-bit EFI (e.g. Intel Bay Trail systems). It's useful for
2928 grub-install to be able to recognise such systems, to set the default
2929 x86 platform correctly.
2931 To allow grub-install to know the size of the firmware rather than
2932 just the size of the kernel, there is now an extra EFI sysfs file to
2933 describe the underlying firmware. Read that if possible, otherwise
2934 fall back to the kernel type as before.
2936 2015-03-27 Michael Zimmermann <sigmaepsilon92@gmail.com>
2938 Add missing initializers to silence suprious warnings.
2940 2015-03-27 Leif Lindholm <leif.lindholm@linaro.org>
2943 Use the new thumb_get_instruction_word/thumb_set_instruction_word
2946 Style cleanup (missing spaces).
2948 Move Thumb MOVW/MOVT handlers into Thumb relocation section of file.
2950 2015-03-27 Martin Wilck <martin.wilck@ts.fujitsu.com>
2952 efinet: Check for immediate completition.
2953 This both speeds GRUB up and workarounds unexpected EFI behaviour.
2955 2015-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2957 Make Makefile.util.def independent of platform.
2959 2015-03-27 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2961 util/mkimage: Use stable timestamp when generating binaries.
2963 2015-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2965 modinfo.sh.in: Add missing config variables.
2967 Makefile.core.def: Remove obsolete LDADD_KERNEL
2969 arp, icmp: Fix handling in case of oversized or invalid packets.
2970 This restrict ARP handling to MAC and IP addresses but in practice we need
2971 only this case anyway and other cases are very rar if exist at all. It makes
2972 code much simpler and less error-prone.
2974 2015-03-23 Colin Watson <cjwatson@ubuntu.com>
2976 hostfs: Drop unnecessary feature test macros
2977 _BSD_SOURCE was added to allow the use of DT_DIR, but that was removed
2978 in e768b77068a0b030a07576852bd0f121c9a077eb. While adding
2979 _DEFAULT_SOURCE as well works around problems with current glibc,
2980 neither is in fact needed nowadays.
2982 2015-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2984 compiler-rt-emu: Add missing file.
2986 emunet: Fix init error checking.
2987 Otherwise emunet doesn't expose any cards.
2989 fddboot_test: Add -no-pad to xorriso.
2991 grub-mkrescue: pass all unrecognized options unchanged to xorriso.
2993 cacheinfo: Add missing license information.
2995 2015-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
2997 grub-fs-tester: add LVM RAID1 support
2998 LVM miscalculates bitmap size with small extent, so start with 16K as
2999 for other RAID types.
3001 Until version 2.02.103 LVM counts metadata segments twice when checking
3002 available space, reduce segment count by one to account for this bug.
3004 2015-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
3006 core: add LVM RAID1 support
3009 2015-03-16 Andrei Borzenkov <arvidjaar@gmail.com>
3011 grub-fs-tester: explicitly set segment type for LVM mirror
3012 LVM mirror defaults to RAID1 today and can be different on different
3013 systems as set in lvm.conf.
3015 2015-03-15 Andrei Borzenkov <arvidjaar@gmail.com>
3017 grub-fs-tester: better estimation of filesystem time for LVM/RAID
3018 Write activity with LVM/RAID can happen after filesystem is unmounted.
3019 In my testing modification time of loop files was 15 - 20 seconds
3020 after unmount. So use time as close to unmount as possible as
3023 2015-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3025 hfsplus: Fix potential access to uninited memory on invalid FS
3027 2015-03-06 Jon McCune <jonmccune@google.com>
3029 autogen.sh: Allow overriding the python to be used by setting $PYTHON.
3030 Some installations have several python versions installed. Allow user
3031 to choose which one to use by setting $PYTHON.
3033 2015-03-05 Andrei Borzenkov <arvidjaar@gmail.com>
3035 update gnulib/argp-help.c to fix garbage in grub-mknetdir --help output
3036 argp_help attempts to translate empty string, which results in printing
3037 meta information about translation, like in
3039 bor@opensuse:~/build/grub> grub2-mknetdir --help
3040 Использование: grub2-mknetdir [ПАРАМЕТР…]
3041 Project-Id-Version: grub 2.02-pre2
3042 Report-Msgid-Bugs-To: bug-grub@gnu.org
3045 Update gnulib/argp-help.c to the current version which fixes this
3046 (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
3048 2015-03-05 Andrey Borzenkov <arvidjaar@gmail.com>
3050 update m4/extern-inline.m4 to upstream version to fix compilation on FreeBSD
3051 In file included from util/grub-mkimage.c:54:0:
3052 ./grub-core/gnulib/argp.h:627:49: error: '__sbistype' is static but
3053 used in inline function '_option_is_short' which is not static
3054 [-Werror] cc1: all warnings being treated as errors gmake[2]: ***
3055 [util/grub_mkimage-grub-mkimage.o] Error 1
3057 Update m4/extern-inline.m4 to current upstream gnulib version that
3058 contains fix for this (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
3060 Reported-By: Beeblebrox <zaphod@berentweb.com>
3062 2015-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3064 syslinux_parse: Fix the case of unknown localboot.
3065 Reported by: Jordan Uggla
3067 configure.ac: Fix the name of pciaccess header.
3069 Fix canonicalize_file_name clash.
3070 canonicalize_file_name clashed with gnulib function. Additionally
3071 it was declared in 2 places: emu/misc.h and util/misc.h. Added
3072 grub_ prefix and removed second declaration.
3074 2015-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3076 Remove emu libusb support.
3077 It's disabled by default and has been broken for a long time.
3078 As nobody is interested in fixing and maintaining it, remove it.
3080 configure.ac: Remove unused COND_clang
3082 Remove libgcc dependency.
3083 libgcc for boot environment isn't always present and compatible.
3084 libgcc is often absent if endianness or bit-size at boot is different
3086 libgcc may use optimised opcodes that aren't available on boot time.
3087 So instead of relying on libgcc shipped with the compiler, supply
3088 the functions in GRUB directly.
3089 Tests are present to ensure that those replacement functions behave the
3090 way compiler expects them to.
3092 types.h: Use __builtin_bswap* with clang.
3093 clang pretends to be GCC 4.2 but we use __builtin_bswap* only with GCC 4.3+.
3094 clang support __builtin_bswap*, so use it.
3096 configure.ac: Set $CPPFLAGS when checking for no_app_regs.
3097 Fixes compilation for sparc64 with clang.
3099 Don't continue to query block-size if disk doesn't have it.
3100 Stops poluting screen with a lot of "block-size: exception -21".
3102 2015-02-28 Andrei Borzenkov <arvidjaar@gmail.com>
3104 grub-probe: free temporary variable
3106 2015-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3108 exclude.pot: Add new technical strings
3110 grub-probe: Mark a "[default=]" for translation.
3112 grub-shell: Add missing --locale-directory.
3113 Fixes the language tests is no make install was done.
3115 ntfs_test: Skip is setfattr is unavailable.
3117 2015-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3119 emu/cache: Change declaration of __clear_cache to match builtin declaration.
3120 Fixes compile of arm64-emu.
3122 arm/dl: Fix handling of nonstandard relocation sizes
3124 gzio: Optimize by removing division.
3126 raid6: Optimize by removing division.
3128 dmraid_nvidia: Fix division by 0 and missing byte-swap.
3130 crypto: restrict cipher block size to power of 2.
3131 All current ciphers have blocks which are power of 2 and it's
3132 unlikely to change. Other block length would be tricky to handle anyway.
3133 This restriction allows avoiding extra divisions.
3135 jpeg: Optimise by replacing division with shifts.
3137 png: Optimize by avoiding divisions.
3139 Add missing lib/division.c
3141 fbblit: Optimize by replacing division with additions and shifts.
3143 bitmap_scale: Optimize by moving division out of the loop.
3145 minilzo: Skip parts tha we don't need.
3147 2015-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3149 mips: Fix soft-float handling.
3150 Add -msoft-float alongside clang arguments to specify ABI.
3151 Specify ABI in asm files explicitly.
3152 This trigers asm warning due to gcc failing to propagate -msoft-float
3155 Add missing grub_ prefix in memcpy invocation
3157 Allow clang compilation for thumb with -mthumb-interwork.
3158 clang already uses -mthumb-interwork behaviour even thout it doesn't
3161 arm64: Fix compilation failure.
3162 Don't supply +nosimd to asm files.
3163 Otherwise +nosimd coming from flags forbids some of instructions
3164 used in cache_flush.
3166 Supply signed division to fix ARM compilation.
3167 Previously we supplied only unsigned divisions on platforms that need software
3169 Yet compiler may itself use a signed division. A typical example would be a
3170 difference between 2 pointers which involves division by object size.
3172 2015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3174 acpi: Fix unused function warning.
3176 configure.ac: Add ia64-specific way to disable floats.
3178 i386/tsc: Fix unused function warning on xen.
3180 2015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3182 Experimental support for clang for sparc64.
3183 Automatically discover command line options to make clang and
3184 gcc behave in same way.
3188 2015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3190 Discover which option provides soft-float on configure stage.
3191 Deals with clang needing other arguments to stop issuing floating
3192 instructions than gcc.
3194 2015-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3196 mips: Switch to more portable .org
3197 Binary is unchanged.
3199 sparc64: Switch to more portable .org.
3200 Binaries are unchanged.
3202 kernel-8086: Switch to more portable .org.
3204 Relax requirements on asm for non-BIOS i386 platforms.
3205 These platforms don't have a hard limit on size of resulting code16
3206 code, so we don't care if assembly is bigger than necessarry.
3208 qemu: Switch to more portable .org
3209 Binary is checked identical.
3211 qemu: Fix GateA20 enabling.
3212 GateA20 code was inactive due to address error.
3214 qemu: Fix compilation
3216 Remove realmode.S from coreboot and qemu.
3217 It's not used there.
3219 Remove obsolete ADDR32 and DATA32 checks.
3221 i386: Remove needless ADDR32 prefixes when address is known and fixed.
3222 Shaves off 6 bytes in lzma_decompress.img.
3224 i386-pc/boot: Explicitly mark kernel_address[_high] as local.
3225 Otherwise apple asm might try to make accesses relocatable.
3227 Change dot assignmnet to more portable .org.
3228 Binary is unchanged (verified)
3230 i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
3232 Binary is unchanged (verified).
3234 Test which flags make our asm compile.
3235 Previously we relied on assumption that clang always needs -no-integrated-as
3236 but it's not always true.
3238 INSTALL: clarify that clang support is experimental
3240 zfs/mzap_lookup: Fix argument types
3242 wildcard: Mark unused argument as such.
3244 ofdisk: Exclude floppies from scanning.
3245 It causes similar hang as CD on at least the qemu.
3247 configure: Add -msoft-float to CCASFLAGS
3248 Otherwise mismatch between API flags triggers linker failure
3250 mips/startup_raw: Use more portable .asciz
3252 Provide __aeabi_mem{cpy,set}
3253 Fixes ARM compilation
3255 div_test: Don't try to divide by zero
3257 INSTALL: Fix names of host flags to match actual behaviour
3259 Strip .MIPS.abiflags which causes compile failure
3261 2015-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3263 configure: Move adding of include options to the very end to avoid subshell.
3265 configure: Add missing comma.
3267 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3269 ext2: Ignore INCOMPAT_MMP.
3270 It's not really incompatible as long as driver never writes to FS.
3272 ext2: Support META_BG.
3273 This fixes bug that system would become unbootable after ext*
3274 online resize if no resize_inode was created at ext* format time.
3276 2015-02-16 Andrei Borzenkov <arvidjaar@gmail.com>
3278 tests: remove hardcoded paths from syslinux_test
3279 abs_top_srcdir appeared in Autoconf 2.52f. Minimal grub requirement
3280 is 2.60 so we should be good here.
3282 build-sys: add syslinux test files to tarball
3284 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3286 Add test for syslinux converter
3288 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3290 Don't remove initrd= parameter.
3291 Based on simplified patch by Lunar.
3295 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3297 syslinux_parse: Always output comments even if no entries are found.
3299 2015-02-15 Andrei Borzenkov <arvidjaar@gmail.com>
3301 diskfilter_make_raid: more memory leaks in failure path
3303 2015-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3305 disk/lvm: Use zalloc to ensure that segments are initialised to sane value.
3306 Reported by: EmanueL Czirai.
3308 2015-02-14 Daniel Kiper <daniel.kiper@oracle.com>
3310 multiboot2: Fix information request tag size calculation
3312 2015-02-14 Andrei Borzenkov <arvidjaar@gmail.com>
3314 diskfilter: fix double free of lv names for mdraid
3315 Avoid micro-optimization in grub_diskfilter_make_raid and make sure
3316 name and fullname are independent strings. This avoids need to special
3317 case it everywhere else.
3319 Also fix memory leak in failure case in grub_diskfilter_make_raid.
3323 2015-02-14 Andrei Borzenkov <arvidjaar@gmail.com>
3325 diskfilter: fix crash in validate_lv for mdraid arrays
3326 Commit 750f4bacd3262376ced3f837d8dc78f834ca233a put LV validation before
3327 actual vg assignment. Make grub_diskfilter_make_raid to assign ->vg as
3328 happens in other cases for consistency. Also clean up redundant code and add
3329 explicit NULL lv->vg check in validate_lv.
3331 Also fix segment validation in validate_lv; it became obvious when crash
3336 2015-02-12 Jiri Slaby <jslaby@suse.cz>
3338 util: mkimage, fix gcc5 build failure
3340 ../util/mkimage.c: In function 'grub_install_get_image_target':
3341 ../util/mkimage.c:954:5: error: loop exit may only be reached after undefined behavior [-Werror=aggressive-loop-optimizations]
3342 && j < ARRAY_SIZE (image_targets[i].names); j++)
3344 ../util/mkimage.c:953:39: note: possible undefined statement is here
3345 for (j = 0; image_targets[i].names[j]
3348 Well, let's move the index 'j' test before accesing the array to:
3349 1) make the loop obvious
3352 2015-02-03 Leif Lindholm <leif.lindholm@linaro.org>
3354 arm: implement additional relocations generated by gcc 4.9 at -O3
3355 GCC 4.9 also generates R_ARM_THM_MOVW_ABS_NC and R_ARM_THM_MOVT_ABS,
3356 as an alternative to ABS32.
3358 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3360 setup: fix blocklist size calculation
3361 Found by: Coverity scan.
3363 grub-fstest: fix descriptor leak
3364 Found by: Coverity scan.
3366 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3368 net/pxe: fix error condition
3369 Test return value of grub_netbuff_reserve(), buf itself cannot be
3372 Found by: Coverity scan.
3374 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3376 grub-mkimage: fix potential NULL pointer dereference
3377 Move fatal check whether symtab_section is NULL before first reference.
3379 Found by: Coverity scan.
3381 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3383 net/ip: check result of grub_netbuff_push
3384 Found by: Coverity scan.
3386 tests: add test command file tests
3387 This requires access to files in both host and grub image, so
3388 implementing as separate test unit instead of script test was
3391 test: consistently use TMPDIR and same name pattern for temp files
3393 test: fix previous commit - we need to return from subexpression
3394 ( ... ) was processed recursively, we need to return from it. Revert
3397 test: do not stop after first file test or closing bracket
3400 2015-01-28 Leif Lindholm <leif.lindholm@linaro.org>
3402 configure.ac: don't use -msoft-float for arm64
3403 aarch64 toolchains do not support the -msoft-float option added by
3404 commit 3661261f. Insted, for arm64 use -march=armv8-a+nofp+nosimd.
3406 Reported-by: Ryan Harkin <ryan.harkin@linaro.org>
3408 2015-01-28 Andrei Borzenkov <arvidjaar@gmail.com>
3410 script/execute.c: fix memory leak.
3411 Make sure to continue loop over array after failure to free
3414 Found by: Coverity scan.
3416 2015-01-28 Andrei Borzenkov <arvidjaar@gmail.com>
3418 syslinux_parse: fix memory leak.
3419 Found by: Coverity scan.
3421 2015-01-27 Andrei Borzenkov <arvidjaar@gmail.com>
3423 Change quotes to match overall style in NEWS
3425 loader/xnu: fix memory leak.
3426 Foound by: Coverity scan.
3428 util/grub-probe: fix memory leaks.
3429 Found by: Coverity scan.
3431 fs/hfsplus: fix memory leak.
3432 Found by: Coverity scan.
3434 fs/zfs/zfscrypt.c: fix indentation.
3436 fs/zfs/zfscrypt.c: fix memory leaks.
3437 Found by: Coverity scan.
3439 commands/parttool: fix memory leak.
3440 Found by: Coverity scan.
3442 fs/zfs/zfs.c: fix memory leak.
3443 Found by: Coverity scan.
3445 linux/ofpath: fix descriptor leak
3446 Found by: Coverity scan
3448 linux/hostdisk: use strncpy instead of strlcpy
3449 strlcpy is not available on Linux as part of standard libraries.
3450 It probably is not worth extra configure checks espicially as we
3451 need to handle missing function anyway.
3453 2015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3455 Document intentional fallthroughs.
3456 Found by: Coverity scan.
3458 linux/ofpath: Fix error handling.
3459 Found by: Coverity Scan.
3461 linux/hostdisk: Limit strcpy size to buffer size.
3462 Found by: Coverity scan.
3464 fs/zfscrypt: Add missing explicit cast.
3465 Found by: Coverity scan.
3467 fs/zfs: Fix error handling.
3468 Found by: Coverity Scan.
3470 2015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3472 fs/{cbfs,cpio}: Remove useless check if mode is NULL.
3473 Callers already ensure that it's not null.
3475 Found by: Coverity Scan.
3477 2015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3479 commands/acpi: Use ALIGN_UP rather than manual expression.
3480 Improves readability and hopefully automatic scanning.
3482 Found by: Coverity Scan.
3484 2015-01-26 Andrei Borzenkov <arvidjaar@gmail.com>
3486 util/setup: fix memory leak.
3487 Found by: Coverity scan.
3489 util/mkimage: fix memory leaks.
3490 Found by: Coverity scan.
3492 util/grub-mount: fix descriptor leak.
3493 Found by: Coverity scan.
3495 util/grub-mkstandalone: fix memory leak.
3496 Found by: Coverity scan.
3498 util/grub-install: rearrange code to avoid memory leak.
3499 Found by: Coverity scan.
3501 linux/getroot: fix memory leak.
3502 Found by: Coverity scan.
3504 util/install: fix memory leak.
3505 Found by: Coverity scan.
3507 util/setup: fix memory leak.
3508 Found by: Coverity scan.
3510 linux/ofpath: fix various memory leaks.
3511 Found by: Coverity scan.
3513 linux/getroot: fix descriptor leak.
3514 Found by: Coverity scan.
3516 2015-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3518 util/misc.c: Check ftello return value.
3519 Found by: Coverity scan.
3521 grub-macbless: Fix resource leak.
3522 Found by: Coverity scan.
3524 grub-install: Fix memory leak.
3525 Found by: Coverity scan.
3527 grub-install-common: Fix sizeof usage.
3528 Found by: Coverity scan.
3530 util/getroot: Add missing grub_disk_close.
3531 Found by: Coverity scan.
3533 vbe: Fix incorrect register usage.
3534 Found by: Coverity scan.
3536 unix/password: Fix file descriptor leak.
3537 Found by: Coverity scan.
3539 linux/getroot: Fix error handling.
3540 Found by: Coverity scan.
3542 linux/blocklist: Fix memory leak.
3543 Found by: Coverity scan.
3545 devmapper/getroot: Fix memory leak.
3546 Found by: Coverity scan.
3548 normal/misc: Close device on all pathes.
3549 Found by: Coverity scan.
3551 normal/main: Fix error handling.
3552 Found by: Coverity scan.
3554 xnu: Add missing error check.
3555 Found by: Coveriy scan.
3557 plan9: Add missing grub_device_close.
3558 Found by: Coverity scan.
3560 multiboot: Simplify to avoid confusing assignment.
3561 Found by: Coverity scan.
3563 bsd: Add missing null-pointer check.
3564 Found by: Coverity scan.
3566 lib/syslinux_parse: Add missing error check.
3567 Found by: Coverity scan.
3569 lib/syslinux_parse: Fix memory leak.
3570 Found by: Coveriy scan.
3572 lib/syslinux_parse: Add missing alloc check.
3573 Found by: Coverity scan.
3575 i386/pc/mmap: Fix memset size.
3576 Found by: Coverity scan.
3578 gfxmenu/theme_loader: Add missing allos error check.
3579 Found by: Coverity scan.
3581 gfxmenu/icon_manager: Fix null pointer dereference.
3582 Found by: Coverity scan.
3584 fs/ufs: Add missing error check.
3585 Found by: Coverity scan.
3587 configure.ac: Always add -D_FILE_OFFSET_BITS=64.
3589 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3591 fs/sfs: Fix error check and add sanity check.
3592 Found by: Coverity scan.
3594 fs/reiserfs: Fix sector count overflow.
3595 Found by: Coverity scan.
3597 fs/ntfs: Add sizes sanity checks.
3598 Found by: Coverity scan.
3600 fs/ntfs: Add missing free.
3601 Found by: Coverity scan.
3603 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3605 fs/minix: Fix sector promotion to 64-bit.
3606 While on it make GRUB_MINIX_ZONE2SECT into function.
3608 Found by: Coverity scan
3610 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3612 grub_iso9660_read: Explicitly check read_node return value.
3613 Not really needed as grub_errno is already checked but is nicer.
3615 Found by: Coverity scan.
3617 2015-01-25 Andrei Borzenkov <arvidjaar@gmail.com>
3619 commands/fileXX: Fix remaining memory leak.
3620 Found by: Coverity Scan.
3622 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3624 fs/hfs: Add pointer sanity checks.
3625 Found by: Coverity scan.
3627 fs/hfs/hfs_open: Check that mount succeeded.
3628 Found by: Coverity scan.
3630 fs/fat: Fix codepath to properly free on error.
3631 Found by: Coverity scan.
3633 fs/cpio_common: Add a sanity check on namesize.
3634 Found by: Coverity scan.
3636 fs/cbfs: Add missing free.
3637 Found by: Coverity scan.
3639 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3641 font: Add missing free.
3642 Found by: Coverity Scan.
3644 biosdisk: Add missing cast.
3645 Found by: Coverity scan.
3647 disk/geli: Add missing free.
3648 Found by: Coverity scan.
3650 disk/geli: Add missing seek success check.
3651 Found by: Coverity scan.
3653 disk/diskfilter: Add missing lv presence check.
3654 Found by: Coverity scan.
3656 disk/cryptodisk: Add missing error check.
3657 Found by: Coverity scan.
3659 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3661 disk/ahci: Fix device_map_range argument.
3662 Argument is not used on x86, hence it's gone unnoticed.
3664 Found by: Coverity scan.
3666 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3668 disk/AFsplitter: check argument validity before doing any allocs.
3669 This avoids possible memory leaks.
3671 Found by: Coverity scan.
3673 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3675 commands/wildcard: Add missing free.
3676 Found by: Coverity scan.
3678 commands/verify: Fix sha1 context zeroing-out.
3679 Current code doesn't zero-out context completely. It's a minor issue
3680 really as sha1 init already takes care of initing the context.
3682 commands/tr: Simplify and fix missing parameter test.
3683 Found by: Coverity scan
3685 commands/syslinux: Add missing free.
3686 Found by: Coverity scan.
3688 commands/parttool: Add missing device close.
3689 Found by: Coverity scan.
3691 commands/nativedisk: Add missing device_close.
3692 Found by: Coverity scan.
3694 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3696 commands/macbless: Handle device opening errors correctly.
3697 Wrong variable was checked for errors.
3699 Found by: Coverity scan.
3701 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3703 commands/macbless: Fix potential overflow.
3704 Is a minor concern as no such FS would be created under normal circumstances
3705 and failure was benign.
3707 Found by: Coverity scan.
3709 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3711 commands/macbless: Remove incorrect grub_free.
3712 Found by: Coverity Scan
3714 commands/legacycfg: Fix resource leaks.
3716 zfs: Fix disk-matching logic.
3717 Reported by: Tim Chase <dweeezil>
3719 commands/hdparm: Add missing grub_disk_close.
3720 Found by: Coverity scan.
3722 gptsync: Add missing device_close.
3723 Found by: Coverity scan
3725 commands/fileXX: Fix memory leak.
3726 Found by: Coverity Scan.
3728 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3730 commands/file: Change the confusing loop stop condition.
3731 Old condition was used to zero-out header variable on exit of the loop.
3732 This is correct but confusing. Replace with in-loop logic.
3734 Found by: Coverity Scan.
3736 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3738 commands/acpi: Use ALIGN_UP rather than manual expression.
3739 Improves readability and hopefully automatic scanning.
3741 Found by: Coverity Scan.
3743 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3745 uhci: Fix null pointer dereference.
3746 Found by: Coverity scan.
3748 Always add -msoft-float to avoid compiler generating float arithmetics.
3750 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3752 Generate empty ChangeLog if no .git is available.
3753 When making dist from a git snapshot without repo available make dist would
3754 fail to find ChangeLog. Generate empty ChangeLog if no ChangeLog is already
3755 present and repo is not available.
3757 Reported by: Andrei Borzenkov <arvidjaar@gmail.com>
3759 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3761 Makefile.am: Fix Changelog cutoff address.
3762 gitlog-to-changelog Doesn't generate entries for cutoff day, only
3763 for days after the cutoff date, adjust by one to compensate.
3765 efidisk: Return the determined root disk even if partition is unknown.
3767 util/grub-mkrescue.c: Always include part_msdos and part_gpt on EFI.
3768 When booted from stick, EFI would use GPT partition and our root
3769 device detection algortihm depends on GRUB's ability to see the same
3770 partitions. Hence include msdos and gpt partmap modules on EFI even when
3771 they're not needed to access root filesystem.
3773 conf/Makefile.common: Remove unused {LD,C}FLAGS_CPU.
3775 Autogenerate ChangeLog from git changelog.
3776 Old ChangeLog is moved to ChangeLog-2015. For all changes starting from
3777 this one ChangeLog will be generated from gitlog only on explicit make
3778 invocation and make dist.
3780 2015-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3782 * tests/file_filter/file: Really add missing file.
3784 2015-01-23 Andrei Borzenkov <arvidjaar@gmail.com>
3786 Mention platform "none" in NEWS
3788 2015-01-23 Andrey Borzenkov <arvidjaar@gmail.com>
3790 accept also hdX as alias to native Xen disk name
3791 To be compatible with legacy pv-grub, sort disks by increasing order of handle
3792 value. This allows reusing legacy pv-grub menu.lst which is using hdX names.
3794 Suggested-By: Michael Chang <mchang@suse.com>