]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Import grub2_2.02.orig.tar.xz
[grub2.git] / ChangeLog
CommitLineData
0992ffba
CW
12017-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Increase version to 2.02.
4
52017-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Fix remaining cases of gcc 7 fallthrough warning.
8 They are all intended, so just add the relevant comment.
9
102017-04-04 Andrei Borzenkov <arvidjaar@gmail.com>
11
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.
15
162017-04-04 Andrei Borzenkov <arvidjaar@gmail.com>
17
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
21 annotation.
22
23 In grub-core/lib/xzembed/xz_dec_lzma2.c it adds same comments as
24 upstream.
25
26 In grub-core/tests/setjmp_tets.c declare functions as "noreturn" to
27 suppress GCC7 warning.
28
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).
32
33 Otherwise add FALLTHROUGH comment.
34
35 Closes: 50598
36
372017-04-04 Andrei Borzenkov <arvidjaar@gmail.com>
38
39 btrfs: avoid "used uninitialized" error with GCC7
40 sblock was local and so considered new variable on every loop
41 iteration.
42
43 Closes: 50597
44
452017-04-02 Andrei Borzenkov <arvidjaar@gmail.com>
46
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).
50
51 Reported by Nando Eva <nando4eva@ymail.com>
52
532017-03-15 Vladimir Serbinenko <phcoder@gmail.com>
54
55 Increment version to GRUB 2.02~rc2.
56
57 Use core2duo for bootcheck test on 64-bit EFI.
58 Obviously pentium2 can't run efi64.
59
602017-03-14 Andrei Borzenkov <arvidjaar@gmail.com>
61
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.
69
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 ...
72
73 Closes: 50518
74
752017-03-05 phcoder <phcoder@gmail.com>
76
77 xen: Fix wrong register in relocator.
78 This fixes chainloading of some GRUB variants.
79
802017-02-27 Vladimir Serbinenko <phcoder@gmail.com>
81
82 video_fb: Fix blue collor if using unoptimized blitter.
83 when unmapping the color what matters is the mode of source, not target.
84
85 legacy_initrd: Strip any additional arguments to initrd.
86
872017-02-26 Andrei Borzenkov <arvidjaar@gmail.com>
88
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.
92
93 2. Call mksquashfs with -always-use-fragments to force tail packing.
94
952017-02-25 Andrei Borzenkov <arvidjaar@gmail.com>
96
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".
100
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.
103
104 Fixes failure chainloading grub from grub, when loaded grub truncates
105 image path and does not find its grub.cfg.
106
107 https://bugzilla.opensuse.org/show_bug.cgi?id=1026344
108
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.
112
1132017-02-24 Andrei Borzenkov <arvidjaar@gmail.com>
114
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
119 appropriate.
120
121 2. Support sparse files with zero blocks.
122
123 3. Fix fragment read - frag.offset is absolute fragment position,
124 not offset relative to ino.chunk.
125
126 Reported and tested by Carlo Caione <carlo@endlessm.com>
127
1282017-02-22 Vladimir Serbinenko <phcoder@gmail.com>
129
130 Whitelist sparc64-ieee1275 as having no video modules.
131 ieee1275_fb is not built on sparc64 due to virtual address issues.
132
1332017-02-12 Andrei Borzenkov <arvidjaar@gmail.com>
134
135 script: fix double free in lexer
136 yylex_destroy() already frees scanner.
137
138 Found by: Coverity scan.
139 CID: 176636
140
1412017-02-07 Vladimir Serbinenko <phcoder@gmail.com>
142
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.
146
1472017-02-07 Vladimir Serbinenko <phcoder@gmail.com>
148
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.
154
155 Closes 46014.
156
1572017-02-04 Vladimir Serbinenko <phcoder@gmail.com>
158
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.
162
1632017-02-03 Vladimir Serbinenko <phcoder@gmail.com>
164
165 Fix truncated checksum.h.
166
167 Regenerate checksums.h
168 Screenshots contain version, so we need new checksums.
169
170 Release 2.02-rc1.
171
172 Fix mingw compilation.
173
1742017-02-03 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
175
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
179 up.
180
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.
186
187 Having a cleaner example and presenting all variants (numeric, title,
188 and id) should make it clearer to the user.
189
1902017-02-03 Vladimir Serbinenko <phcoder@gmail.com>
191
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.
195
196 btrfs: Shorten label by one character.
197 mkfs.btrfs imposes a slightly lower limit than would be possible in btrfs.
198
1992017-02-02 Vladimir Serbinenko <phcoder@gmail.com>
200
201 grub-fs-tester: Fix mkudffs invocation.
202 With current invocation order of arguments is wrong and path is hardcoded.
203
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.
207
2082017-02-02 Daniel Kiper <daniel.kiper@oracle.com>
209
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.
215
2162017-02-02 Vladimir Serbinenko <phcoder@gmail.com>
217
218 i386-ieee1275: Add missing bootcheck target.
219
220 bootcheck-linux-i386: Use -cpu pentium2.
221 Most modern kernels are compiled for i686, so use -cpu pentium2
222 to avoid spurious failures.
223
224 Use -fPIC with arm64 with clang.
225 Currently it doesn't work either way but with -fPIC it should work once
226 clang bug is fixed.
227
228 INSTALL: Fix mention of thumb-clang.
229
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.
234
2352017-02-01 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Add missing strtoull_test.c
238 It was forgotten in my local directory.
239
240 arm64: Add support for GOT and PCREL32 relocations.
241
242 mkimage: Fix memory leak.
243
244 arm/arm64: Fix improper use of start address.
245 It was used instead of loading address of current section or of entire buffer.
246
247 ia64: Fix iterator for relocation entries.
248 Don't assume relocation entry size and use sh_entsize properly.
249
250 arm: Fix trampoline generation.
251 We used the wrong pointer in this case. It worked only by accident.
252
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.
257
2582017-01-31 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Regenerate checksum.h.
261 Screenshots checked.
262 Using unifont from http://ftp.us.debian.org/debian/pool/main/u/unifont/xfonts-unifont_7.0.06-1_all.deb.
263
264 grub-mkfont: Remove leftover debug statement.
265
266 charset: Trim away RLM and LRM.
267 They are not visible but would otherwise end up as [LRM] or [RLM] squares
268 with some fonts.
269
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.
273
274 ia64: Add support for R_IA64_GPREL64I.
275 Recent GCC generates those relocations, so we need to support them.
276
2772017-01-30 Vladimir Serbinenko <phcoder@gmail.com>
278
279 grub-module-verifier: Add mips to all_video whitelist.
280 On MIPS video is compiled-in. So all_video is empty. Whitelist it.
281
282 Fix -nopie/-nopie check.
283 We don't use lgcc_s but missing lgcc_s or another library cause test to fail.
284 So use -nostdlib.
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.
290
291 grub-module-verifier: Ignore all_video emptiness on xen.
292 It's intentional that it's empty when no video modules
293 are available.
294
2952017-01-28 Vladimir Serbinenko <phcoder@gmail.com>
296
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.
301
3022017-01-27 Carlo Caione <carlo@endlessm.com>
303
304 exfat: Support files over 4GiB
305 file size in grub_fat_data was 32-bit on exfat.
306
3072017-01-27 Vladimir Serbinenko <phcoder@gmail.com>
308
309 Ensure that grub_reboot doesn't return on emu.
310 Use grub_fatal if longjmp fails.
311
312 grub_reboot is marked as noreturn so return would cause
313 a crash.
314
3152017-01-27 Vladimir Serbinenko <phcoder@gmail.com>
316
317 grub-shell: skip font copying when no font is available.
318
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.
322
323 configure: Disable movw/movt with clang.
324 Those relocations are not compatible with PE and also
325 not compatible with custom uboot relocator.
326 Disable them.
327
328 grub-fs-tester: Delete directory once we're done.
329
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
334 table.
335
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.
341
3422017-01-24 Andrei Borzenkov <arvidjaar@gmail.com>
343
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
347
348 grub-install: error: failed to get canonical path of `systemd-1'.
349
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.
354
355 Recent systemd is by default using automount for /boot/efi so this should
356 become more popular problem on EFI systems.
357
358 Closes: 49942
359
3602017-01-08 Andrei Borzenkov <arvidjaar@gmail.com>
361
362 linux: fix "vga=XX deprecated" warning for text mode
363 Arguments were in reverse order which resulted in
364
365 text is deprecated. Use set gfxpayload=vga=0 before linux command instead.
366
3672016-12-22 Andrei Borzenkov <arvidjaar@gmail.com>
368
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.
373
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.
377
378 This should have no impact on autoconf 2.70+ as AC_HEADER_MAJOR in this version
379 simply checks for header existence.
380
381 Reported and tested by Khem Raj <raj.khem@gmail.com>
382
3832016-12-22 Michael Chang <mchang@suse.com>
384
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.
389
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.
394
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.
400
401 Also fix possible memory leak by moving grub_efi_get_filename() call after
402 grub_efi_net_config().
403
4042016-12-15 Andrei Borzenkov <arvidjaar@gmail.com>
405
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.
412
413 Reported and tested by Giovanni Santini <itachi.sama.amaterasu@gmail.com>
414
4152016-12-14 Magnus Granberg <zorry@gentoo.org>
416
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.
419 It fail with.
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
428
429 Check that compiler supports -no-pie and add it to linker flags.
430
4312016-12-14 Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
432
433 ofnet: implement the receive buffer
434 get_card_packet() from ofnet.c allocates a netbuff based on the device's MTU:
435
436 nb = grub_netbuff_alloc (dev->mtu + 64 + 2);
437
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.
442
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.
445
446 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
447
4482016-12-14 Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
449
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.
454
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.
460
461 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
462
4632016-11-24 Alexander Graf <agraf@suse.de>
464
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
469 also gets called.
470
471 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
472
4732016-11-22 Andrei Borzenkov <arvidjaar@gmail.com>
474
475 NEWS updates
476
4772016-11-22 Andrei Borzenkov <arvidjaar@gmail.com>
478
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.
486
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
489 by net_bootp.
490
491 Reported and tested by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
492 Cc: nikunj@linux.vnet.ibm.com
493
494 v2: change variable name to net_<interface>_next_server as discussed on the list
495
4962016-11-22 Aaro Koskinen <aaro.koskinen@iki.fi>
497
498 configure.ac: don't require build time grub-mkfont on powerpc-ieee1275
499 Don't require build time grub-mkfont on powerpc-ieee1275.
500
5012016-11-14 Dirk Mueller <dmueller@suse.com>
502
503 grub-mknetdir: Add support for ARM64 EFI
504
5052016-11-12 Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
506
507 .gitignore: Add grub-core/build-grub-module-verifier
508
5092016-11-10 Alexander Graf <agraf@suse.de>
510
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.
514
515 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
516
5172016-11-10 Alexander Graf <agraf@suse.de>
518
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.
522
523 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
524
5252016-11-05 Corey Hickey <bugfood-ml@fatooh.org>
526
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.
531
532 This results in the error:
533 ./grub-probe: error: disk `cryptouuid/sda6_crypt' not found.
534
535 This appears to be a copy/paste error introduced in:
536 a10e7a5a8918bea6e2632055129fa9b516fe965a
537
538 The bug was (apparently) latent until revealed by:
539 3bca85b4184f74995a7cc2791e432173fde26d34
540
5412016-10-27 Juergen Gross <jgross@suse.com>
542
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
547 to.
548
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.
554
555 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
556
5572016-10-27 Juergen Gross <jgross@suse.com>
558
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.
563
564 This allows a cleaner approach for mapping the relocator page by
565 using this capability.
566
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.
569
570 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
571
5722016-10-27 Juergen Gross <jgross@suse.com>
573
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.
577
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.
582
583 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
584
5852016-10-27 Juergen Gross <jgross@suse.com>
586
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.
591
592 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
593
5942016-10-27 Juergen Gross <jgross@suse.com>
595
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.
601
602 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
603
6042016-10-27 Juergen Gross <jgross@suse.com>
605
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
610 is supporting.
611
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.
615
616 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
617
6182016-10-27 Juergen Gross <jgross@suse.com>
619
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.
623
624 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
625
6262016-10-27 Juergen Gross <jgross@suse.com>
627
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.
632
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.
635
636 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
637
6382016-10-27 Juergen Gross <jgross@suse.com>
639
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.
644
645 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
646
6472016-10-27 Juergen Gross <jgross@suse.com>
648
649 xen: avoid memleaks on error
650 When loading a Xen pv-kernel avoid memory leaks in case of errors.
651
652 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
653
6542016-10-27 Juergen Gross <jgross@suse.com>
655
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.
659
660 Call grub_relocator_unload() as other modules do it before allocating
661 a new relocator or when unloading the module.
662
663 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
664
6652016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
666
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.
680
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.
691
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.
700
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.
704
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.
707
708 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
709
7102016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
711
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.
720
721 Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
722 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
723
7242016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
725
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.
729
730 Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
731 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
732
7332016-10-27 Daniel Kiper <daniel.kiper@oracle.com>
734
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.
743
744 Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
745 Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
746
7472016-10-18 Sakar Arora <Sakar.Arora@nxp.com>
748
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.
753
754 Hence, set it to 0 if its less than 90000.
755
7562016-09-28 Andrei Borzenkov <arvidjaar@gmail.com>
757
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:
761
762 clang ... boot/i386/pc/boot.S
763 clang -cc1as: fatal error: error in backend: invalid .org offset '440' (at offset '441')
764
765 Add additional check to catch it during configure run and force -no-integrated-as.
766
767 Closes: 49200
768
769 More details in
770 https://lists.gnu.org/archive/html/grub-devel/2015-02/msg00099.html
771 https://llvm.org/bugs/show_bug.cgi?id=22662
772
7732016-08-13 Pete Batard <pete@akeo.ie>
774
775 Add missing va_end() to xasprintf() in grub-emu.
776
7772016-07-27 Andrei Borzenkov <arvidjaar@gmail.com>
778
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.
782
7832016-07-26 Andrei Borzenkov <arvidjaar@gmail.com>
784
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
791 some reply.
792
793 Code needs serious redesign to actually collect multiple answers
794 and select the best fit according to requested type (IPv4 or IPv6).
795
796 Reported and tested by Michael Chang <mchang@suse.com>
797
7982016-07-26 Andrei Borzenkov <arvidjaar@gmail.com>
799
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.
806
807 Reported-By: Marcos Mello <marcosfrm@outlook.com>
808 Reviewd by Jan Kara <jack@suse.cz>
809
8102016-05-03 Andrei Borzenkov <arvidjaar@gmail.com>
811
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.
815
8162016-04-30 Andrei Borzenkov <arvidjaar@gmail.com>
817
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).
822
8232016-04-30 Stefan Fritsch <sf@sfritsch.de>
824
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.
828
8292016-04-24 Mike Gilbert <floppym@gentoo.org>
830
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.
834
835 sys/types.h - BSD
836 sys/mkdev.h - Sun
837 sys/sysmacros.h - glibc (Linux)
838
839 glibc currently pulls sys/sysmacros.h into sys/types.h, but this may
840 change in a future release.
841
842 https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
843
8442016-04-09 Michael Chang <mchang@suse.com>
845
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.
850
8512016-03-22 Andrei Borzenkov <arvidjaar@gmail.com>
852
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.
856
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.
860
861 This fixes compilation on OpenBSD 5.9 which otherwise created insanely big
862 lzma_decompress.img.
863
864 Reported, suggested and tested by: Jiri B <jirib@devio.us>
865
8662016-03-20 Andrei Borzenkov <arvidjaar@gmail.com>
867
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.
871
8722016-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
873
874 bootp: fix memory leak in grub_cmd_dhcpopt
875
8762016-03-15 Aaron Luft <aluft@lifesize.com>
877
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
884 in some cases.
885
8862016-03-13 Andrei Borzenkov <arvidjaar@gmail.com>
887
888 Makefile.util.def: add $LIBINTL to grub-macbless flags
889 Fixes compilation on OpenBSD 5.9.
890
891 Reported by Jiri B <jirib@devio.us>
892
8932016-03-11 Robert Marshall <rmarshall@redhat.com>
894
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.
898
899 Resolves: rhbz#1252311
900
9012016-03-11 Michael Chang <mchang@suse.com>
902
903 xen_file: Fix invalid payload size
904
9052016-03-10 Vladimir Serbinenko <phcoder@gmail.com>
906
907 multiboot2: Remove useless GRUB_PACKED
908 Reported by: Daniel Kiper
909
9102016-03-06 Andrei Borzenkov <arvidjaar@gmail.com>
911
912 20_linux_xen: fix test for GRUB_DEVICE
913 Same fix as in 082bc9f.
914
9152016-03-06 Mike Gilbert <floppym@gentoo.org>
916
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.
920
9212016-02-28 Andrei Borzenkov <arvidjaar@gmail.com>
922
923 NEWS update
924
422889f9 9252016-02-28 Vladimir Serbinenko <phcoder@gmail.com>
e8f07821 926
422889f9 927 Release 2.02~beta3
e8f07821 928
422889f9 929 grub_arch_sync_dma_caches: Accept volatile address
dc3286ad 930
422889f9 9312016-02-27 Leif Lindholm <leif.lindholm@linaro.org>
dc3286ad 932
422889f9
CW
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.
46f8d358 937
422889f9
CW
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
940 requirements.
e3ef0d30 941
422889f9
CW
942 Also sanity check the io_align field in grub_efidisk_open() for
943 power-of-two-ness and bail if invalid.
e3ef0d30 944
422889f9 9452016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
e3ef0d30 946
422889f9 947 usbtrans: Fix memory coherence and use-after-free.
72c9a507 948
422889f9
CW
949 ehci: Fix memory coherence
950 This is a no-op on x86 but necessarry on ARM and may be necessarry on MIPS.
72c9a507 951
422889f9 952 arm-uboot: Make self-relocatable to allow loading at any address
72c9a507 953
422889f9 954 Allow _start == 0 with relocatable images
84455670 955
422889f9 9562016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
84455670 957
422889f9
CW
958 Provide __bss_start and _end symbols in grub-mkimage.
959 For this ensure that all bss sections are merged.
64dd5fdc 960
422889f9 961 We need this to correctly prelink non-PE relocatable images.
64dd5fdc 962
422889f9 9632016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
a29f317a 964
422889f9
CW
965 Encapsulate image layout into a separate structure.
966 Currently we pass around a lot of pointer. Instead put all relevant data
967 into one structure.
a29f317a 968
422889f9
CW
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.
063f2a04 972
422889f9
CW
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
977 from mkimage.c
063f2a04 978
422889f9
CW
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.
113f7869 982
422889f9
CW
983 cat: Don't switch terminal mode when there is nothing to highlight.
984 This just pollutes serial console.
113f7869 985
422889f9 986 Use console rather than serial_efi0 on arm64-efi in tests
eba2afed 987
422889f9 9882016-02-27 Andrei Borzenkov <arvidjaar@gmail.com>
eba2afed 989
422889f9 990 efidisk: fix misplaced parenthesis in b00e4c2
eba2afed 991
422889f9 9922016-02-26 Andrei Borzenkov <arvidjaar@gmail.com>
1962ed95 993
422889f9
CW
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.
1962ed95 998
422889f9
CW
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.
c2be6f7e 1002
422889f9 1003 Reported and tested by Andreas Loew <Andreas.Loew@gmx.net>
c2be6f7e 1004
422889f9 10052016-02-26 Vladimir Serbinenko <phcoder@gmail.com>
c2be6f7e 1006
422889f9 1007 Regenerate checksums
7a7f5238 1008
422889f9 1009 Makefile: Don't delete default_payload.elf if it doesn't exist.
7a7f5238 1010
422889f9 10112016-02-25 Josef Bacik <jbacik@fb.com>
9246d5c8 1012
422889f9
CW
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
9246d5c8 1017
422889f9
CW
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.
b3aea1bc 1020
422889f9
CW
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.
b3aea1bc 1031
422889f9
CW
1032 With this patch I can now talk to ipv6 addresses outside of my local network.
1033 Thanks,
bc8dd119 1034
422889f9 10352016-02-24 Vladimir Serbinenko <phcoder@gmail.com>
e8c360ca 1036
422889f9 1037 ieee1275: fix signed comparison
e8c360ca 1038
422889f9 10392016-02-23 Andrei Borzenkov <arvidjaar@gmail.com>
bc8dd119 1040
422889f9
CW
1041 search: actually skip floppy with --no-floppy
1042 grub_device_iterate() ignores device when iterator returns 1, not 0.
57a691b7 1043
422889f9 1044 Reported by Carlos E. R. <robin.listas@telefonica.net>
57a691b7 1045
422889f9 10462016-02-23 Andrei Borzenkov <arvidjaar@gmail.com>
74fa9417 1047
422889f9
CW
1048 multiboot2: zero reserved field in memory map
1049 Documentation says, bootloader should set reserved field to zero.
74fa9417 1050
422889f9 1051 Reported by Wink Saville <wink@saville.com>
636977b0 1052
422889f9 10532016-02-22 Vladimir Serbinenko <phcoder@gmail.com>
636977b0 1054
422889f9
CW
1055 Improve EHCI logging
1056 Add dprintf's on common error paths and remove some entries which are too
1057 noisy.
ee4450eb 1058
422889f9
CW
1059 usb_keyboard: Remove useless include
1060 This prevents non-PCI machines from having USB.
ee4450eb 1061
422889f9
CW
1062 Refresh before abort
1063 This ensures that abort message is actually visible to the user.
a43b3e5d 1064
422889f9 10652016-02-22 Eric Snowberg <eric.snowberg@oracle.com>
a43b3e5d 1066
422889f9
CW
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
1072 boot.
81294aff 1073
422889f9 1074 Newer SPARC systems contain more than 8 available memory entries.
81294aff 1075
422889f9
CW
1076 For example on a T5-8 with 2TB of memory, the memory layout could
1077 look like this:
a99c0a32 1078
422889f9
CW
1079 T5-8 Memory
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
1098 name memory
a99c0a32 1099
422889f9 11002016-02-22 Thomas Huth <thuth@redhat.com>
8f5add13 1101
422889f9
CW
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().
8f5add13 1111
422889f9 11122016-02-17 Vladimir Serbinenko <phcoder@gmail.com>
8ff35d0a 1113
422889f9
CW
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.
8ff35d0a 1117
422889f9
CW
1118 default_payload.elf: Include password_pbkdf2.
1119 Withoout this module we may end up in a system where no password is
1120 accepted.
ba144760 1121
422889f9
CW
1122 default_payload.elf: Add modules from $(EXTRA_PAYLOAD_MODULES).
1123 This allows coreboot building system to add extra modules depending
1124 on user config.
ba144760 1125
422889f9 1126 mm: Avoid integer overflow.
daaa89db 1127
422889f9 1128 Remove -Wno-maybe-uninitialized as it may not be present.
daaa89db 1129
422889f9 1130 Fix warnings when compiling with -O3
25a7863d 1131
422889f9 11322016-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25a7863d 1133
422889f9
CW
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.
184c61dd 1137
422889f9 11382016-02-12 Eric Snowberg <eric.snowberg@oracle.com>
184c61dd 1139
422889f9
CW
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
1143 map.
fd4650a5 1144
422889f9 11452016-02-12 Andreas Freimuth <andreas_freimuth@web.de>
fd4650a5 1146
422889f9 1147 Add Thinkpad T410s button cmos address.
3e88fbfa 1148
422889f9 11492016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3e88fbfa 1150
422889f9 1151 TODO: Remove obsolete link
1123bed9 1152
422889f9 11532016-02-12 Toomas Soome <tsoome@me.com>
1123bed9 1154
422889f9 1155 lz4: Fix pointer overflow
ebda165f 1156
422889f9 11572016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
ebda165f 1158
422889f9 1159 grub-shell: Update 32-bit OVMF binary name.
fe7c20bf 1160
422889f9 11612016-02-12 Daniel Kiper <daniel.kiper@oracle.com>
fe7c20bf 1162
422889f9 1163 relocator: Fix integer underflow.
f4dab3d1 1164
422889f9 11652016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f4dab3d1 1166
422889f9 1167 Change -v to -V for version of shell utils.
24d5934d 1168
422889f9 1169 xnu: Add new kernel path to autoconfig.
24d5934d 1170
422889f9 1171 arm64: Use cpu timer for timekeeping.
d6c2782a 1172
422889f9 1173 powerpc: Trim header in tests.
d6c2782a 1174
422889f9 1175 default_payload: Include syslinuxcfg, all filesystems and xnu.
50d2e959 1176
422889f9
CW
1177 xnu: Supply random seed.
1178 Now we're able to load kernels up to El Capitan.
50d2e959 1179
422889f9 1180 Add RNG module.
18e76955 1181
422889f9
CW
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.
18e76955 1186
422889f9 1187 printf: Fix and test %% behaviour in presence of subsequenbt args.
d218ec97 1188
422889f9 1189 Split pmtimer wait and tsc measurement from pmtimer tsc calibration.
d218ec97 1190
422889f9 1191 Make grub_cpu_is_tsc_supported generally available.
b8765fa0 1192
422889f9 1193 Make grub_acpi_find_fadt accessible generically
b8765fa0 1194
422889f9
CW
1195 Make unaligned types public.
1196 This simplifies code which has to handle those types.
1f032575 1197
422889f9 1198 Fix emu compilation error on arm.
1f032575 1199
422889f9 12002016-02-11 Vladimir Serbinenko <phcoder@gmail.com>
14829755 1201
422889f9 1202 xnu: Include relocated EFI in heap size.
14829755 1203
422889f9
CW
1204 xnu: supply ramsize to the kernel.
1205 Without this info recent kernels crash as they allocate no heap.
d45067a2 1206
422889f9 12072016-02-03 Andrei Borzenkov <arvidjaar@gmail.com>
d45067a2 1208
422889f9
CW
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.
d45067a2 1212
422889f9
CW
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
1217 in this case.
30861754 1218
422889f9
CW
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
1221 as well.
30861754 1222
422889f9
CW
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
e14d409b 1225
422889f9
CW
1226 a) have non-empty .moddeps section. Without either externally visible symbols
1227 or .moddeps modules are completely useless and should not be built.
e14d409b 1228
422889f9 1229 b) do not have any relocations.
ec824e0f 1230
422889f9 1231 Closes: 46986
ec824e0f 1232
422889f9
CW
1233 v2: add run-time check for empty symbol table if relocations are present as
1234 suggested by Vladimir.
296f7606 1235
422889f9 12362016-02-01 Andrei Borzenkov <arvidjaar@gmail.com>
296f7606 1237
422889f9
CW
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.
2c384f1e 1244
422889f9
CW
1245 This still respects user settings GRUB_DISABLE_LINUX_UUID. Not sure what we
1246 should do in this case.
2c384f1e 1247
422889f9 1248 Closes: 45709
2c384f1e 1249
422889f9 12502016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
d16ff589 1251
422889f9 1252 Error out if mtools invocation fails.
d16ff589 1253
422889f9 1254 arm64: Add support for relocations needed for linaro gcc
d16ff589 1255
422889f9 1256 efiemu: Fix compilation failure
71669c3b 1257
422889f9 1258 Document cpuid -p
71669c3b 1259
422889f9 12602016-01-22 Robert Elliott <elliott@hpe.com>
60d1dd3d 1261
422889f9 1262 efiemu: Handle persistent RAM and unknown possible future additions.
60d1dd3d 1263
422889f9 12642016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
60d1dd3d 1265
422889f9 1266 Document expr1 expr2 syntax for test command
a8201050 1267
422889f9 12682016-01-22 Michael Chang <mchang@suse.com>
a8201050 1269
422889f9 1270 Restore terminal settings on grub-emu exit.
6cc89597 1271
422889f9 12722016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6cc89597 1273
422889f9 1274 xen_boot: Remove obsolete module type distinctions.
6cc89597 1275
422889f9 1276 arm: Ignore qemu clock bug
840a2c05 1277
422889f9 1278 i386-ieee1275: Increase maximum heap size to accomodate highres graphi tests
840a2c05 1279
422889f9 12802016-01-20 Colin Watson <cjwatson@ubuntu.com>
35248820 1281
422889f9
CW
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.
35248820 1286
422889f9 1287 Fixes Debian bug #812047.
2a123f4c 1288
422889f9 12892016-01-16 Colin Watson <cjwatson@ubuntu.com>
2a123f4c 1290
422889f9 1291 loader/bsd: Fix signed/unsigned comparison
316c8d9a 1292
422889f9 1293 ahci, ehci: Fix typos
316c8d9a 1294
422889f9 12952016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
8fcce8d5 1296
422889f9
CW
1297 grub-probe: fix memory leak
1298 Found by: Coverity scan.
1299 CID: 73783
8fcce8d5 1300
422889f9 13012016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
6f1f6a0c 1302
422889f9
CW
1303 tftp: fix memory leaks in open
1304 If protocol open fails, file is immediately freed, so data was leaked.
6f1f6a0c 1305
422889f9
CW
1306 Found by: Coverity scan.
1307 CID: 96659
66a07ce2 1308
422889f9 13092016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
66a07ce2 1310
422889f9
CW
1311 tcp: fix memory leaks
1312 Found by: Coverity scan.
1313 CID: 96639, 96647
cc6fb517 1314
422889f9
CW
1315 net: fix memory leaks
1316 Found by: Coverity scan.
1317 CID: 96638, 96648
cc6fb517 1318
422889f9
CW
1319 legacycfg: fix memory leaks and add NULL check
1320 Memory leaks found by Coverity scan.
1321 CID: 96642, 96645
cc6fb517 1322
422889f9 13232016-01-15 Andrei Borzenkov <arvidjaar@gmail.com>
f009f07c 1324
422889f9
CW
1325 loader: Unintended sign extension
1326 CID: 96707, 96699, 96693, 96691, 96711, 96709, 96708, 96703, 96702,
1327 96700, 96698, 96696, 96695, 96692, 96710, 96705
f009f07c 1328
422889f9 13292016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
9fdec226 1330
422889f9
CW
1331 script: fix memory leak
1332 Found by: Coverity scan.
1333 CID: 96637
9fdec226 1334
422889f9
CW
1335 normal: fix memory leak
1336 Found by: Coverity scan.
1337 CID: 96641, 96670, 96667
d87cb3ae 1338
422889f9
CW
1339 xnu: fix memory leak
1340 Found by: Coverity scan.
1341 CID: 96663
d87cb3ae 1342
422889f9
CW
1343 truecrypt: fix memory leak
1344 Found by: Coverity scan.
1345 CID: 156611
3e38c31a 1346
422889f9
CW
1347 gfxmenu: fix memory leak
1348 Found by: Coverity scan.
1349 CID: 96657
3e38c31a 1350
422889f9
CW
1351 efiemu: fix memory leak
1352 Found by: Coverity scan.
1353 CID: 156610
f4171ebd 1354
422889f9
CW
1355 efidisk: fix memory leak
1356 Found by: Coverity scan.
1357 CID: 96644
f4171ebd 1358
422889f9
CW
1359 verify: fix memory leak
1360 Found by: Coverity scan.
1361 CID: 96643
f4171ebd 1362
422889f9
CW
1363 password_pbkdf2: fix memory leak
1364 Found by: Coverity scan.
1365 CID: 96656
252a289c 1366
422889f9
CW
1367 parttool: fix memory leak
1368 Found by: Coverity scan.
1369 CID: 96652
252a289c 1370
422889f9 13712016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
23d2abc3 1372
422889f9
CW
1373 nativedisk: fix memory leak
1374 Based on Coverity scan.
1375 CID: 96660
23d2abc3 1376
422889f9 1377 Extended to also cover other error return places.
4f979ccb 1378
422889f9 13792016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
4f979ccb 1380
422889f9
CW
1381 acpi: fix memory leak
1382 Found by: Coverity scan.
1383 CID: 96673
37378f74 1384
422889f9 13852016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
37378f74 1386
422889f9
CW
1387 grub-install: include ehci in list of native modules
1388 This matches behavior of "nativedisk" command.
6a09d83e 1389
422889f9 1390 Reported and tested by Smith Henry <sh37092@gmail.com>
6a09d83e 1391
422889f9 13922016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
e477187b 1393
422889f9
CW
1394 grub-mkimage: remove redundant NULL check
1395 Found by: Coverity scan.
1396 CID: 73737
e477187b 1397
422889f9 13982016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
80b865bd 1399
422889f9
CW
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
1403 members to 0.
80b865bd 1404
422889f9
CW
1405 Found by: Coverity scan.
1406 CID: 73837
04b02857 1407
422889f9 14082016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
04b02857 1409
422889f9
CW
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
04b02857 1414
422889f9
CW
1415 - failure to validate blocklist install (read content did not match
1416 just written)
39711101 1417
422889f9
CW
1418 - failure to detect Linux MD on disk after online hot addition
1419 (GRUB got stale superblock)
39711101 1420
422889f9 1421 Closes: 46691
d99af4f0 1422
422889f9 14232016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
d99af4f0 1424
422889f9
CW
1425 setup: fix NULL pointer dereference
1426 Check return value of grub_guess_root_devices
71043684 1427
422889f9
CW
1428 Found by: Coverity scan.
1429 CID: 73638, 73751
71043684 1430
422889f9 14312016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
111bf5db 1432
422889f9
CW
1433 mkimage: fix unintended sign extension
1434 Found by: Coverity scan.
1435 CID: 73691, 73717
111bf5db 1436
422889f9 14372016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
24ca71c9 1438
422889f9
CW
1439 util/getroot: delete dead code
1440 is_part cannot be non-zero at this point.
24ca71c9 1441
422889f9
CW
1442 Found by: Coveruty scan.
1443 CID: 73838
48ba5c0c 1444
422889f9 14452016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
48ba5c0c 1446
422889f9
CW
1447 loader/multiboot: fix unintended sign extension
1448 Found by: Coveruty scan.
1449 CID: 73700, 73763
8ae67045 1450
422889f9
CW
1451 kern/elf: fix unintended sign extension
1452 Found by: Coverity scan.
1453 CID: 73729, 73735, 73758, 73760
8ae67045 1454
422889f9 14552016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
8ae67045 1456
422889f9
CW
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.
ed559310 1462
422889f9 1463 CID: 86724
ed559310 1464
422889f9 14652016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
8fa26279 1466
422889f9
CW
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
1471 grub_strchr.
8fa26279 1472
422889f9 1473 CID: 86725
6f5f3337 1474
422889f9 14752016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
6f5f3337 1476
422889f9
CW
1477 grub-mklayout: check subscript bounds
1478 Found by: Coverity scan.
1479 CID: 73686
e7c418c5 1480
422889f9
CW
1481 grub-probe: fix memory leak
1482 Found by: Coverity scan.
1483 CID: 73783
e7c418c5 1484
422889f9
CW
1485 gfxmenu: fix memory leak
1486 Found by: Coverity scan.
1487 CID: 73766
7e47e27b 1488
422889f9 14892016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
7e47e27b 1490
422889f9
CW
1491 util/setup: fix grub_util_path_list leak
1492 Add helper grub_util_free_path_list and use it where appropriate.
7e47e27b 1493
422889f9
CW
1494 Found by: Coverity scan.
1495 CID: 73727
ae8159b9 1496
422889f9 14972016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
ae8159b9 1498
422889f9
CW
1499 setup: fix memory leak
1500 Found by: Coverity scan.
1501 CID: 73680, 73715
74e7ad66 1502
422889f9
CW
1503 efiemu: check return value of grub_efiemu_write_value
1504 Found by: Coverity scan.
1505 CID: 73590
74e7ad66 1506
422889f9
CW
1507 efiemu: change code to avoid Coverity false positive
1508 CID: 73623
814442ba 1509
422889f9
CW
1510 efiemu: fix unintended sign extension
1511 Found by: Coverity scan.
1512 CID: 73883, 73637
814442ba 1513
422889f9
CW
1514 hfs: fix memory leak
1515 Found by: Coverity scan.
1516 CID: 156531
5f5bb107 1517
422889f9
CW
1518 grub-module-verifier: fix unintended sign extension
1519 Found by: Coverity scan.
1520 CID: 156533, 156532
5f5bb107 1521
422889f9 15222016-01-08 Vladimir Serbinenko <phcoder@gmail.com>
a24725cc 1523
422889f9 1524 Tests: Support arm-efi
a24725cc 1525
422889f9 15262016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
a24725cc 1527
422889f9 1528 arm64/setjmp: Add missing move for arg1 == 0 case.
38933cee 1529
422889f9 1530 grub-shell: Support arm64-efi
38933cee 1531
422889f9 15322016-01-07 Mark Salter <msalter@redhat.com>
6d3cfe50 1533
422889f9
CW
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.
6d3cfe50 1539
422889f9 15402016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4bad23a1 1541
422889f9 1542 x86_64-efi: Automatically add -bios OVMF.fd to qemu in tests.
4bad23a1 1543
422889f9 1544 Allow GRUB_QEMU_OPTS to override machine.
6a5fe132 1545
422889f9 1546 arm64: Disable tests that need native drivers.
6a5fe132 1547
422889f9 1548 Disable NetBSD bootcheck on EFI until it supports ACPI on EFI.
bc8fcf4b 1549
422889f9 1550 grub-shell: Use new cbfstool syntax.
bc8fcf4b 1551
422889f9
CW
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.
60b967be 1555
422889f9
CW
1556 hddboot_test: reenable on OVMF
1557 OVMF now supports booting from disks.
60b967be 1558
422889f9 1559 iee1275/datetime: Fix off-by-1 error.
6dc33377 1560
422889f9 15612016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6dc33377 1562
422889f9
CW
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.
f2c6ff15 1566
422889f9
CW
1567 On coreboot boot all *BSD except 32-bit NetBSD which apparently does some
1568 early BIOS calls.
f2c6ff15 1569
422889f9 15702016-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6b8a1625 1571
422889f9 1572 minixfs_test: Check if mkfs.minixfs supports -B option.
6b8a1625 1573
422889f9
CW
1574 Add memdisk support to grub-emu.
1575 Use it to add custom files, so that tests which need them work.
954c723a 1576
422889f9
CW
1577 Move file loading functions to grub-emu.
1578 So that we can use it in grub-emu as well as utils.
954c723a 1579
422889f9
CW
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.
607a39f9 1583
422889f9 1584 Update checksums
607a39f9 1585
422889f9 15862016-01-02 Andrei Borzenkov <arvidjaar@gmail.com>
df6fedca 1587
422889f9
CW
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
df6fedca 1591
422889f9 1592 Reported-By: Goh Lip <g.lip@gmx.com>
f684d7e1 1593
422889f9 15942016-01-02 Andrei Borzenkov <arvidjaar@gmail.com>
f684d7e1 1595
422889f9 1596 acpihalt: fix GRUB_DSDT_TEST compilation
0df77d79 1597
422889f9 15982016-01-01 Andrei Borzenkov <arvidjaar@gmail.com>
0df77d79 1599
422889f9 1600 Add missing BUILD_EXEEXT
dafff9ce 1601
422889f9 16022015-12-31 Vladimir Serbinenko <phcoder@gmail.com>
dafff9ce 1603
422889f9
CW
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
1607 problem
6644d973 1608
422889f9 16092015-12-31 Andrey Borzenkov <arvidjaar@gmail.com>
6644d973 1610
422889f9 1611 remove temporary .bin files (kernel and modules)
44bbfa33 1612
422889f9 1613 add dejavu built fonts to cleanfiles
44bbfa33 1614
422889f9 16152015-12-31 Andrei Borzenkov <arvidjaar@gmail.com>
3e3dff24 1616
422889f9 1617 Add grub-module-verifier files to EXTRA_DIST
3e3dff24 1618
422889f9 16192015-12-31 Vladimir Serbinenko <phcoder@gmail.com>
316dda71 1620
422889f9
CW
1621 configure: Add -fno-unwind-tables if supported.
1622 Unwind tables are useless for us bt consume space if present. Ensure that they
1623 are not.
316dda71 1624
422889f9
CW
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.
219401b8 1628
422889f9
CW
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.
219401b8 1634
422889f9
CW
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.
30d00537 1638
422889f9
CW
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
1644 this.
30d00537 1645
422889f9
CW
1646 Strip .ARM.exidx
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.
979742bc 1650
422889f9
CW
1651 module-verifier: Check range-limited relative relocations.
1652 Check that they point to the same module, so will end up in the same
1653 chunk of memory.
979742bc 1654
422889f9 1655 xen/relocator: Use local symbol to ensure that code is relocation-free.
16c8f785 1656
422889f9 1657 backtrace: Fix register call syntax
16c8f785 1658
422889f9 1659 Verify modules on build-time rather than failing in runtime.
3f1423e7 1660
422889f9
CW
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.
3f1423e7 1664
422889f9 16652015-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
dd73313c 1666
422889f9
CW
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.
dd73313c 1671
422889f9
CW
1672 Also use it for Windows as well - chainloader prober may actually return
1673 different strings (Windows, MS-DOS, Windows9xME).
eaf01c25 1674
422889f9 16752015-12-30 Vladimir Serbinenko <phcoder@gmail.com>
eaf01c25 1676
422889f9 1677 backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G
7a148da6 1678
422889f9 16792015-12-30 Andrei Borzenkov <arvidjaar@gmail.com>
7a148da6 1680
422889f9
CW
1681 menu: fix line count calculation for long lines
1682 It gave one extra screen line if length was exactly equal to screen
1683 width.
21eee750 1684
422889f9
CW
1685 Reported by Michael Chang.
1686 Also-By: Michael Chang <mchang@suse.com>
1687
16882015-12-29 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 grub-mkrescue: Delete temporary file
1691 Reported by: Thomas Schmitt
1692
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.
1696
1697 exfat: Fix stream extension flag parsing.
1698
16992015-12-26 Andrei Borzenkov <arvidjaar@gmail.com>
1700
1701 devmapper: check for valid device abstraction in get_grub_dev
1702 This was lost when code was refactored. Patch restores previous behavior.
1703
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.
1707
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.
1710
1711 For now let's fix regression; future behavior needs to be discussed.
1712
1713 Closes: 45163
1714
17152015-12-19 Andrei Borzenkov <arvidjaar@gmail.com>
1716
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.
1720
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.
1724
17252015-12-17 Robert Elliott <elliott@hpe.com>
21eee750 1726
422889f9
CW
1727 lsefimmap: support persistent memory and other UEFI 2.5 features
1728 This should accompany
1729 76ce1de740 Translate UEFI persistent memory type
7b54b626 1730
422889f9
CW
1731 1. Add a string for the EfiPersistentMemory type 14 that was
1732 added in UEFI 2.5.
7b54b626 1733
422889f9
CW
1734 2. Decode the memory attributes that were added in UEFI 2.5:
1735 * NV (non-volatile)
1736 * MORE_RELIABLE (higher reliable, e.g., mirrored memory in a system
1737 with partial memory mirroring)
1738 * RO (read-only)
9a945e2a 1739
422889f9
CW
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.)
9a945e2a 1742
422889f9
CW
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.
4f4ea1b4 1747
422889f9
CW
1748 5. In the lsefimmap command, rewrite the print statements to
1749 * avoid rounding
1750 * avoid a big nested if/else tree.
4f4ea1b4 1751
422889f9
CW
1752 For example: In the sixth entry below, the value of 309MB implies
1753 316416KB but is really reporting 316436KB.
fe4ae213 1754
422889f9
CW
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.
fe4ae213 1758
422889f9
CW
1759 Old format:
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
78b2b0a1 1779
422889f9
CW
1780 New format:
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
78b2b0a1 1800
422889f9 18012015-12-16 Andrei Borzenkov <arvidjaar@gmail.com>
d14772c4 1802
422889f9
CW
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.
d14772c4 1806
422889f9 1807 Closes: 46540
388f3cd0 1808
422889f9 18092015-12-16 Andrei Borzenkov <arvidjaar@gmail.com>
388f3cd0 1810
422889f9
CW
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).
11e4167a 1814
422889f9 18152015-12-16 Hector Marco-Gisbert <hecmargi@upv.es>
11e4167a 1816
422889f9
CW
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
fa7eb63d 1821
422889f9 1822 CVE-2015-8370
fa7eb63d 1823
422889f9 1824 Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
50b3a68d 1825
422889f9 18262015-12-15 Andrei Borzenkov <arvidjaar@gmail.com>
50b3a68d 1827
422889f9
CW
1828 NEWS: more additions
1829 Also-By: Robert Elliott <elliott@hpe.com>
fbbfb6ab 1830
422889f9 18312015-12-15 Robert Elliott <elliott@hpe.com>
fbbfb6ab 1832
422889f9
CW
1833 Translate UEFI persistent memory type
1834 Define
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
a19293cb 1838
422889f9
CW
1839 and translate GRUB_EFI_PERSISTENT_MEMORY to GRUB_MEMORY_PERSISTENT in
1840 grub_efi_mmap_iterate().
a19293cb 1841
422889f9
CW
1842 Includes
1843 * adding the E820 names to lsmmap
1844 * handling the E820 types in make_efi_memtype()
d5c14e1e 1845
422889f9
CW
1846 Suggested-by: Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
1847 Suggested-by: Andrei Borzenkov <arvidjaar@gmail.com>
d5c14e1e 1848
422889f9 18492015-12-14 Vladimir Serbinenko <phcoder@gmail.com>
b75db69a 1850
422889f9 1851 Document bootlocation discovery limitations and xen platform limitations
b75db69a 1852
422889f9 18532015-12-07 Josef Bacik <jbacik@fb.com>
c311ced5 1854
422889f9
CW
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
1862 out. Thanks,
c311ced5 1863
422889f9 18642015-12-01 Michael Chang <mchang@suse.com>
c8fd2ddf 1865
422889f9
CW
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.
c8fd2ddf 1870
422889f9 1871 Reported and tested by Vitaly Kuznetsov <vkuznets@redhat.com>
c50e5f45 1872
422889f9 18732015-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
c50e5f45 1874
422889f9
CW
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).
bb05e313 1879
422889f9 18802015-11-27 Andrei Borzenkov <arvidjaar@gmail.com>
bb05e313 1881
422889f9 1882 Replace numbers with grub_memory_type_t enums
f23bc651 1883
422889f9 18842015-11-27 Andrei Borzenkov <arvidjaar@gmail.com>
f23bc651 1885
422889f9
CW
1886 configure: fix macports flex version detection
1887 Macports add extra information after version itself:
4c4ea9c7 1888
422889f9
CW
1889 $flex --version
1890 flex 2.5.35 Apple(flex-31)
4c4ea9c7 1891
422889f9
CW
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.
92e9352d 1894
422889f9 1895 Reported by Peter Cheung <mcheung63@hotmail.com>
92e9352d 1896
422889f9 18972015-11-27 Vladimir Serbinenko <phcoder@gmail.com>
f585c905 1898
422889f9
CW
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.
f585c905 1903
422889f9 1904 Based on patch by Michael Chang.
5ff24907 1905
422889f9 19062015-11-26 Andrei Borzenkov <arvidjaar@gmail.com>
5ff24907 1907
422889f9
CW
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.
0277eab7 1912
422889f9
CW
1913 Move default case into its own block and add explicit FALLTHROUGH
1914 annotation.
0277eab7 1915
422889f9 1916 Reported by Elliott, Robert (Persistent Memory) <elliott@hpe.com>
4861b6c8 1917
422889f9 19182015-11-24 Josef Bacik <jbacik@fb.com>
4861b6c8 1919
422889f9
CW
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,
3100cdc7 1924
422889f9 19252015-11-18 Andrei Borzenkov <arvidjaar@gmail.com>
3100cdc7 1926
422889f9
CW
1927 unix: do not close stdin in grub_passwd_get
1928 This makes it impossible to read from stdin without controlling tty:
ad73cc33 1929
422889f9
CW
1930 10:/mnt # echo -e passwd\\npasswd | setsid ./grub-mkpasswd-pbkdf2
1931 Enter password:
1932 Reenter password: ./grub-mkpasswd-pbkdf2: error: failure to read password.
1933 10:/mnt
ad73cc33 1934
422889f9 19352015-11-17 Andrei Borzenkov <arvidjaar@gmail.com>
41822625 1936
422889f9 1937 lsefisystab: add missing comma after 7994077
41822625 1938
422889f9 19392015-11-14 Pavel Bludov <pbludov@gmail.com>
896f483d 1940
422889f9 1941 Add some UUIDs found in the hardware
896f483d 1942
422889f9 19432015-11-13 Konstantin Vlasov <kvlasov@odin.com>
8c534b85 1944
422889f9
CW
1945 gfxterm: fix calculation of terminal-top and terminal-height
1946 They used screen width, not height.
8c534b85 1947
422889f9 19482015-11-12 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
8c534b85 1949
422889f9 1950 ofdisk: add sas disks to the device list
a846dd4b 1951
422889f9 19522015-11-12 Vladimir Serbinenko <phcoder@gmail.com>
a846dd4b 1953
422889f9 1954 multiboot: Don't rely on particular ordering of options.
aa437b58 1955
422889f9 1956 multiboot_mbi: Fix handling of --quirk-bad-kludge.
aa437b58 1957
422889f9 19582015-11-12 Fu Wei <fu.wei@linaro.org>
b0f311f4 1959
422889f9 1960 xen_boot: Remove useless file_name_index variable.
b0f311f4 1961
422889f9 1962 Document ARM64 xen commands
59b38922 1963
422889f9 19642015-11-11 Vladimir Serbinenko <phcoder@gmail.com>
59b38922 1965
422889f9
CW
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
0480665b 1970
422889f9 19712015-11-11 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
0480665b 1972
422889f9 1973 ofdisk: add a comment about vscsi method
0480665b 1974
422889f9 19752015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
bbeee1c4 1976
422889f9 1977 fdt.mod: Move license tag to the right file.
bbeee1c4 1978
422889f9 19792015-11-09 Fu Wei <fu.wei@linaro.org>
e5ed2f69 1980
422889f9 1981 fdt.mod: Add missing license tag.
e5ed2f69 1982
422889f9 19832015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
e5ed2f69 1984
422889f9 1985 kern/elf: Ignore cast-align warnings
4a73746a 1986
422889f9 19872015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4a73746a 1988
422889f9
CW
1989 cbfs: Fix corner case and compilation with recdent gcc
1990 Accept the header to touch the jump address at 0xfffffff0.
382b500e 1991
422889f9 1992 Fix compilation for 64-bit EFI with recent GCC.
382b500e 1993
422889f9 19942015-11-08 Vladimir Serbinenko <phcoder@gmail.com>
382b500e 1995
422889f9 1996 fstester: Enforce LC_ALL=C
3a82f8bb 1997
422889f9 1998 Adapt build-system to use imported xen headers.
3a82f8bb 1999
422889f9 2000 Import xen headers directly into GRUB
e3046431 2001
422889f9
CW
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>
e3046431 2005
422889f9 2006 Remove reliance C.UTF-8
bdb6090d 2007
422889f9 2008 genmoddep.awk: Add a test that we have no circular dependencies
bdb6090d 2009
422889f9 2010 Makefile.core.def: Break circular dependency on arm64.
b73b70eb 2011
422889f9
CW
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).
b73b70eb 2016
422889f9 20172015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
8a3f0a24 2018
422889f9
CW
2019 partmap_test: check that parted is available
2020 Skip test if parted is unavailable instead of returning false failure.
8a3f0a24 2021
422889f9 20222015-11-07 grub-devel@iam.tj <grub-devel@iam.tj>
6f07c4e4 2023
422889f9
CW
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
6f07c4e4 2027
422889f9 2028 disk/cryptodisk.c:978: already mounted as crypto0
60d5e9cb 2029
422889f9 2030 Store partition offset in cryptomount descriptor to distinguish between them.
60d5e9cb 2031
422889f9 20322015-11-07 Andrey Borzenkov <arvidjaar@gmail.com>
cd15c394 2033
422889f9 2034 doc: document config_directory and config_file variables
cd15c394 2035
422889f9 20362015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
bb6e299c 2037
422889f9
CW
2038 unix/getroot: remove unused MAJOR definition
2039 We use major() everywhere, these definitions just add to confusion.
bb6e299c 2040
422889f9 2041 Add comments to code for commit d313218
85eb579a 2042
422889f9 20432015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
85eb579a 2044
422889f9
CW
2045 devmapper/getroot: use makedev instead of direct shift
2046 Fixes device detection with large number of devices.
85eb579a 2047
422889f9 2048 Reported by Tim Wallberg <twalberg@comcast.net>
47f88cc9 2049
422889f9 20502015-11-06 Andrei Borzenkov <arvidjaar@gmail.com>
47f88cc9 2051
422889f9
CW
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.
40b5739f 2056
422889f9
CW
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
2059 places.
40b5739f 2060
422889f9
CW
2061 Also remove redundant zeroing code where we fill in the whole memory block
2062 anyway.
234d9346 2063
422889f9 20642015-11-06 Vladimir Serbinenko <phcoder@gmail.com>
234d9346 2065
422889f9 2066 configure.ac: Explicitly add -mno-sse3 on x86.
0c0eab52 2067
422889f9 2068 README: Remove dead link to the wiki
0c0eab52 2069
422889f9 20702015-10-29 Andrei Borzenkov <arvidjaar@gmail.com>
8f236c14 2071
422889f9 2072 NEWS: mention powerpc64le support
8f236c14 2073
422889f9 20742015-10-29 Ignat Korchagin <ignat>
8f236c14 2075
422889f9 2076 tcp: Fix uninited mac address when accepting connection.
10955cda 2077
422889f9 20782015-10-29 Fu Wei <fu.wei@linaro.org>
9e4e6ddf 2079
422889f9 2080 arm64: Add support for xen boot protocol.
9e4e6ddf 2081
422889f9 20822015-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5037aa9a 2083
422889f9 2084 arm64: Move FDT functions to separate module
5037aa9a 2085
422889f9 20862015-10-27 Andrei Borzenkov <arvidjaar@gmail.com>
8a952d20 2087
422889f9
CW
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
8a952d20 2091
422889f9 20922015-10-26 Eric Snowberg <eric.snowberg@oracle.com>
be0d4555 2093
422889f9 2094 ofdisk: Fix devpath freeing logic.
be0d4555 2095
422889f9 20962015-10-26 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
d74b9a1d 2097
422889f9 2098 Implement cross-endian ELF load for powerpc
d74b9a1d 2099
422889f9 21002015-10-25 Peter Jones <pjones@redhat.com>
35de6d4b 2101
422889f9 2102 Use EFI_SIMPLE_TEXT_INPUT_EX to support key combinations.
35de6d4b 2103
422889f9 21042015-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
ce55ed03 2105
422889f9 2106 configure: find options to force endian on MIPS
ce55ed03 2107
422889f9 21082015-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
8ddf84bf 2109
422889f9
CW
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.
8ddf84bf 2114
422889f9
CW
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".
fd0df6d0 2118
422889f9
CW
2119 Reported-By: Mark H Weaver <mhw@netris.org>
2120 Also-By: Mark H Weaver <mhw@netris.org>
fd0df6d0 2121
422889f9 21222015-10-12 Andrei Borzenkov <arvidjaar@gmail.com>
69ca97c8 2123
422889f9
CW
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.
69ca97c8 2127
422889f9 2128 Reported-By: Josef Bacik <jbacik@fb.com>
eec893ae 2129
422889f9 21302015-10-11 Andrei Borzenkov <arvidjaar@gmail.com>
eec893ae 2131
422889f9
CW
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.
621e167f 2135
422889f9 21362015-10-11 Vladimir Serbinenko <phcoder@gmail.com>
621e167f 2137
422889f9 2138 mips: Make setjmp code N32-compliant.
d54f647a 2139
422889f9
CW
2140 mips: Make the assembly-code N32-compatible.
2141 There are no $t4 or $t5 in N32 but there are $a4 and $a5.
d54f647a 2142
422889f9 21432015-10-10 Andrei Borzenkov <arvidjaar@gmail.com>
c8a0f1b2 2144
422889f9
CW
2145 progress: avoid NULL dereference for net files
2146 From original patch by dann frazier <dann.frazier@canonical.com>:
c8a0f1b2 2147
422889f9
CW
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
2154 on it.
726409a5 2155
422889f9
CW
2156 grub_net_fs_open() already saved copy of file name as ->net->name, so change
2157 progress module to use it.
726409a5 2158
422889f9
CW
2159 Also, grub_file_open may leave file->name as NULL if grub_strdup fails. Check
2160 for it.
422e6e88 2161
422889f9 2162 Also-By: dann frazier <dann.frazier@canonical.com>
422e6e88 2163
422889f9 21642015-10-10 Andrei Borzenkov <arvidjaar@gmail.com>
af1faca3 2165
422889f9
CW
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).
af1faca3 2170
422889f9
CW
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.
af1faca3 2173
422889f9
CW
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.
469021b4 2176
422889f9
CW
2177 Reported-By: Arch Stack <archstacker@gmail.com>
2178 Also-By: Arch Stack <archstacker@gmail.com>
469021b4 2179
422889f9 21802015-10-09 Vladimir Serbinenko <phcoder@gmail.com>
469021b4 2181
422889f9 2182 mips/dl: Handle addend in RELA entries.
83c256ba 2183
422889f9 2184 gfxmenu/model: Delete empty file.
83c256ba 2185
422889f9 21862015-10-09 Alexander Bluhm <bluhm@genua.de>
b67422d3 2187
422889f9
CW
2188 ufs: Fix parameters to grub_memset.
2189 len = 0 made simply no sense. Fix parameters to be in line with read.
b67422d3 2190
422889f9 21912015-10-07 Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
2d76b4d8 2192
422889f9
CW
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:
2d76b4d8 2197
422889f9
CW
2198 ok select net:speed=auto,duplex=auto
2199 Unknown key 'speed'
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
2d76b4d8 2203
422889f9
CW
2204 Can't open device
2205 ok
4f954122 2206
422889f9 2207 Therefore, let's not set SUFFIX for such devices.
4f954122 2208
422889f9 22092015-10-07 Eric Snowberg <eric.snowberg@oracle.com>
b1f742c1 2210
422889f9
CW
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.
b1f742c1 2214
422889f9 22152015-09-13 Andrei Borzenkov <arvidjaar@gmail.com>
16ef26fd 2216
422889f9
CW
2217 cryptodisk: strip parenthesis from backing device name
2218 Otherwise subsequent disk open fails.
16ef26fd 2219
422889f9 2220 Reported-By: Klemens Nanni <contact@autoboot.org>
ab4f1501 2221
422889f9 22222015-08-22 Felix Zielcke <fzielcke@z-51.de>
ab4f1501 2223
422889f9 2224 disk/ldm, partmap/msdos.c: fix spelling error
5c7206e4 2225
422889f9 22262015-08-13 Andrei Borzenkov <arvidjaar@gmail.com>
5c7206e4 2227
422889f9
CW
2228 net: do not try to load protocol module via itself
2229 Otherwise we get infinite recursion.
fc3f2b72 2230
422889f9 2231 Closes: 45729
fc3f2b72 2232
422889f9 22332015-08-09 Josef Bacik <jbacik@fb.com>
1e4b3587 2234
422889f9
CW
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,
1e4b3587 2243
422889f9 2244 cc: Peter Jones <pjones@redhat.com>
9208367d 2245
422889f9 22462015-08-09 Andrei Borzenkov <arvidjaar@gmail.com>
9208367d 2247
422889f9 2248 linguas.sh: fix error when removing non-existing autogenerated files
67b9b7af 2249
422889f9 22502015-07-28 Vladimir Serbinenko <phcoder@gmail.com>
67b9b7af 2251
422889f9
CW
2252 ahci: Ensure that bus mastering is set.
2253 Fixes ahci_test failing on several platforms.
bee1b5ce 2254
422889f9 22552015-07-27 Vladimir Serbinenko <phcoder@gmail.com>
bee1b5ce 2256
422889f9
CW
2257 archelp: Never pass NULL as mtime.
2258 Moves complexity from fs code (NULL check) to common code (passing non-NULL).
07e3b047 2259
422889f9
CW
2260 HFS: Convert to fshelp.
2261 HFS doesn't handle "." and ".." properly. Convert it to fshelp to reuse the
2262 logic.
07e3b047 2263
422889f9
CW
2264 FAT: Convert to fshelp.
2265 exFAT doesn't handle "." and ".." correctly, convert it to fshelp to
2266 reuse the same logic.
07e3b047 2267
422889f9
CW
2268 BFS: Convert to fshelp.
2269 BFS doesn't handle ".." correctly, so convert it to fshelp to reuse the logic.
61e1b9a4 2270
422889f9
CW
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.
61e1b9a4 2277
422889f9
CW
2278 Switch procfs to use archelp.
2279 This fixes handling of "." and "..".
c98dd165 2280
422889f9
CW
2281 grub-install: Use a+ in fopen rather than r+.
2282 r+ does not create a file if none exists.
c98dd165 2283
422889f9
CW
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'
ff1c277e 2287
422889f9 22882015-07-24 Ignat Korchagin <ignat@cloudflare.com>
ff1c277e 2289
422889f9
CW
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.
c8f7614b 2293
422889f9 22942015-07-24 Vladimir Serbinenko <phcoder@gmail.com>
c8f7614b 2295
422889f9
CW
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
246a434f 2299
422889f9 2300 xfs_test: Test both crc and non-crc filesystems.
246a434f 2301
422889f9 2302 xfs: Fix handling of symlink with crc-enabled filesystem.
5c066a81 2303
422889f9
CW
2304 reiserfs: Fix handling of first entry in the directory.
2305 Fixes garbage being added to "." filename.
5c066a81 2306
422889f9 23072015-07-23 Ignat Korchagin <ignat@cloudflare.com>
78f961ef 2308
422889f9 2309 efi: fix memory leak in variable handling
78f961ef 2310
422889f9 23112015-07-23 Vladimir Serbinenko <phcoder@gmail.com>
09bc0a57 2312
422889f9 2313 exclude.pot: Add missing blacklisted strings.
09bc0a57 2314
422889f9
CW
2315 archelp: Fix handling of dot and dotdot at the end of the name.
2316 Fixes cpio_test and tar_test.
b700a427 2317
422889f9
CW
2318 arm-emu: Add __aeabi_memcpy* and __aeabi_memclr* symbols.
2319 Fixes compilation with clang.
b700a427 2320
422889f9 23212015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4480b95d 2322
422889f9 2323 fwstart: Fix loading of address of read_spd_fail.
4480b95d 2324
422889f9
CW
2325 fwstart: Add missing argument to p2align.
2326 Resulting binary is unchanged as it happens we were already aligned
2327 by chance.
e77c81f6 2328
422889f9 23292015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
e77c81f6 2330
422889f9
CW
2331 fwstart: Replace blt with bltz.
2332 blt A, $zero, B and bltz A, B are equivalent but clang recognizes only
2333 later, so use it.
971dbee5 2334
422889f9 2335 Resulting binary is unchanged.
971dbee5 2336
422889f9 23372015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6f2e82be 2338
422889f9
CW
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.
6f2e82be 2343
422889f9 2344 Revert "mips: Fix soft-float handling."
9eec9699 2345
422889f9 2346 This partially reverts commit 6a4ecd276ed39f66be0ad6ff0f8ff67598098605.
9eec9699 2347
422889f9 23482015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5ae5c54c 2349
422889f9
CW
2350 ARM: provide __aeabi_memclr* and __aeabi_memcpy* symbols
2351 Fixes compilation with recent clang.
5ae5c54c 2352
422889f9 2353 diskfilter: Make name a const char to fix compilation error.
7b04fe6c 2354
422889f9
CW
2355 dmraid_nvidia: Set a name to usable value to avoid null dereference.
2356 Reported by: Andrei Borzenkov
7b04fe6c 2357
422889f9
CW
2358 configure.ac: Handle powerpc64le compiler
2359 Also-by: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
e67566ce 2360
422889f9 23612015-07-20 Bernhard Übelacker <bernhardu@vr-web.de>
e67566ce 2362
422889f9
CW
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
f93ddcfd 2367
422889f9
CW
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.
f93ddcfd 2372
422889f9 23732015-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1bba40f5 2374
422889f9 2375 XFS: Fix wrong alignment treatment.
1bba40f5 2376
422889f9 2377 grub_ext2_read_block: Fix return type on error.
f65e14dc 2378
422889f9 23792015-07-05 Andrei Borzenkov <arvidjaar@gmail.com>
f65e14dc 2380
422889f9
CW
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).
14a94bba 2384
422889f9 23852015-06-26 Michael Chang <mchang@suse.com>
14a94bba 2386
422889f9
CW
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.
8109c5d4 2391
422889f9 23922015-06-26 Andrei Borzenkov <arvidjaar@gmail.com>
8109c5d4 2393
422889f9
CW
2394 chainloader: fix resoource leak
2395 Found by: Coverity scan.
2396 CID: 96651
a92b5cb8 2397
422889f9
CW
2398 loader/bsd: fix memory leak
2399 Found by: Coverity scan.
2400 CID: 96662, 96665
a92b5cb8 2401
422889f9 24022015-06-20 Andrei Borzenkov <arvidjaar@gmail.com>
4a23e2fe 2403
422889f9
CW
2404 loader/bsd: free memory leaks
2405 Found by: Coverity scan.
2406 CID: 96671, 96658, 96653
4a23e2fe 2407
422889f9
CW
2408 search_wrap: fix memory leak
2409 Found by: Coverity scan.
2410 CID: 96675
a3ba7410 2411
422889f9
CW
2412 password_pbkdf2: fix memory leak
2413 Found by: Coverity scan.
2414 CID: 96676
a3ba7410 2415
422889f9
CW
2416 normal: fix memory leak
2417 Found by: Coverity scan.
2418 CID: 96677
e1c22419 2419
422889f9
CW
2420 efi/serial: fix memory leak
2421 Found by: Coverity scan.
2422 CID: 96678
e1c22419 2423
422889f9
CW
2424 ohci: fix memory leak
2425 Found by: Coverity scan.
2426 CID: 96679
189090ce 2427
422889f9
CW
2428 loader/bsd: free memory leaks
2429 Found by: Coverity scan.
2430 CID: 96682
189090ce 2431
422889f9
CW
2432 multiboot: fix memory leak
2433 Found by: Coverity scan.
2434 CID: 96684
1a5b7b40 2435
422889f9
CW
2436 normal: fix memory leak
2437 Found by: Coverity scan.
2438 CID: 96685
1a5b7b40 2439
422889f9
CW
2440 loader/bsd: fix memory leak
2441 Found by: Coverity scan.
2442 CID: 96686
9cf12b20 2443
422889f9
CW
2444 reed_solomon: fix memory leak
2445 Found by: Coverity scan.
2446 CID: 96688
9cf12b20 2447
422889f9
CW
2448 usb: fix use after free
2449 Found by: Coverity scan.
2450 CID: 96704
63a45330 2451
422889f9
CW
2452 xnu: fix use after free
2453 Found by: Coverity scan.
2454 CID: 96706
63a45330 2455
422889f9
CW
2456 disk/scsi: fix use after free
2457 Found by: Coverity scan.
2458 CID: 96713
4a0aaad0 2459
422889f9
CW
2460 efi/chainloader: fix use after free
2461 Found by: Coverity scan.
2462 CID: 96714
4a0aaad0 2463
422889f9
CW
2464 search: fix use after free
2465 Found by: Coverity scan.
2466 CID: 96715
095bb1bf 2467
422889f9 2468 NEWS: emu libusb support removed
095bb1bf 2469
422889f9 24702015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
3937bd96 2471
422889f9
CW
2472 grub-probe: fix memory leak in probe (ofpath)
2473 Found by: Coverity scan.
2474 CID: 73772
3937bd96 2475
422889f9 24762015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
ddb3efc9 2477
422889f9
CW
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
2481 loop.
ddb3efc9 2482
422889f9
CW
2483 Calms down Coverity scan.
2484 CID: 73739
4e42521d 2485
422889f9 24862015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
4e42521d 2487
422889f9
CW
2488 zfs: fix memory leak
2489 Found by: Coverity scan.
2490 CID: 73647
054efe54 2491
422889f9
CW
2492 xfs: silence Coverity overflow warning
2493 inode size cannot really overflow integer, but Coverity does not know it.
2494 CID: 96602
054efe54 2495
422889f9
CW
2496 zfs: memory leak
2497 Found by Coverity scan.
2498 CID: 96603
a0e1befb 2499
422889f9
CW
2500 unix/getroot: memory leak
2501 Found by Coverity scan.
2502 CID: 96605
a0e1befb 2503
422889f9
CW
2504 unix/relpath: memory leak
2505 Found by Coverity scan.
2506 CID: 96606
c36c73f6 2507
422889f9 25082015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
c36c73f6 2509
422889f9
CW
2510 syslinux_parse: assorted issues found by Coverity
2511 1. Remove unneeded NULL check
2512 CID: 96607
6f4a19f5 2513
422889f9
CW
2514 2. Do not allocate storage for initrd, copy it directly from input
2515 buffer. Avoids memory leak in failure path.
2516 CID: 96604
6f4a19f5 2517
422889f9
CW
2518 3. Unchecked error return from print()
2519 CID: 96601, 73595
0d8f04cd 2520
422889f9 25212015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
0d8f04cd 2522
422889f9
CW
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.
49060520 2526
422889f9 25272015-06-18 Andrei Borzenkov <arvidjaar@gmail.com>
49060520 2528
422889f9
CW
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.
c6a823e2 2532
422889f9 2533 Closes: 45335
c6a823e2 2534
422889f9 25352015-06-18 Andrei Borzenkov <arvidjaar@gmail.com>
b7f9aedf 2536
422889f9 2537 tests: regression tests for "." and ".." directory entries
b7f9aedf 2538
422889f9 25392015-06-16 Andrei Borzenkov <arvidjaar@gmail.com>
7dd0a303 2540
422889f9
CW
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.
7dd0a303 2545
422889f9
CW
2546 Also follow UEFI specification recommendation and stop interfaces when
2547 closing them:
ca120e31 2548
422889f9
CW
2549 Unexpected system errors, reboots and hangs can occur if an OS is loaded
2550 and the network devices are not Shutdown() and Stopped().
ca120e31 2551
422889f9
CW
2552 Also by: Mark Salter <msalter@redhat.com>
2553 Closes: 45204
48eb35cd 2554
422889f9 25552015-06-16 Andrei Borzenkov <arvidjaar@gmail.com>
48eb35cd 2556
422889f9 2557 NEWS: mention libgcc removal
7f20dbbc 2558
422889f9 25592015-06-15 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
7f20dbbc 2560
422889f9 2561 Add flag for powerpc ieee1275 to avoid unneeded optimizations
55e706c9 2562
422889f9 25632015-06-12 Mark Salter <msalter@redhat.com>
55e706c9 2564
422889f9
CW
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().
4e7d433d 2572
422889f9 25732015-06-12 Paul Menzel <paulepanter@users.sourceforge.net>
4e7d433d 2574
422889f9
CW
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.
7d44ff7d 2578
422889f9 25792015-06-12 Andrei Borzenkov <arvidjaar@gmail.com>
7d44ff7d 2580
422889f9 2581 NEWS: XFS v5 support
a8c3e5e3 2582
422889f9 25832015-06-12 Jan Kara <jack@suse.cz>
a8c3e5e3 2584
422889f9
CW
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.
4402db3e 2589
422889f9
CW
2590 xfs: Add helpers for inode size
2591 Add helpers to return size of XFS inode on disk and when loaded in
2592 memory.
4402db3e 2593
422889f9 25942015-06-04 Toomas Soome <tsoome@me.com>
7960d3e1 2595
422889f9 2596 multiboot_header_tag_module_align fix to confirm multiboot specification
7960d3e1 2597
422889f9 25982015-06-02 Leif Lindholm <leif.lindholm@linaro.org>
d53f4900 2599
422889f9
CW
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.
d53f4900 2603
422889f9
CW
2604 This also enables the removal of some further conditional build flag
2605 setting.
bb2b275b 2606
422889f9 26072015-06-01 dann frazier <dann.frazier@canonical.com>
bb2b275b 2608
422889f9
CW
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.
45bf8b3a 2612
422889f9
CW
2613 The source file includes a GPLv3+ boilerplate, so fix this by declaring a
2614 GPLv3+ license using the GRUB_MOD_LICENSE macro.
45bf8b3a 2615
422889f9 26162015-05-31 Paul Menzel <paulepanter@users.sourceforge.net>
39ff43c5 2617
422889f9
CW
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
2621 debug messages.
39ff43c5 2622
422889f9 26232015-05-30 Andrei Borzenkov <arvidjaar@gmail.com>
60870be8 2624
422889f9
CW
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.
60870be8 2628
422889f9
CW
2629 "Access to menuentry" is a bit vague - change to "execute menuentry"
2630 to make it obvious, what access is granted.
a1f00cc5 2631
422889f9 26322015-05-30 Paul Menzel <paulepanter@users.sourceforge.net>
a1f00cc5 2633
422889f9
CW
2634 Correct spelling of *scheduled*
2635 Run the command below
74e632fe 2636
422889f9 2637 $ git grep -l schedulded | xargs sed -i 's/schedulded/scheduled/g'
74e632fe 2638
422889f9 2639 and revert the change in `ChangeLog-2015`.
efb8de49 2640
422889f9 2641 Including "miscellaneous" spelling fix noted by richardvoigt@gmail.com
efb8de49 2642
422889f9 26432015-05-30 Toomas Soome <tsoome@me.com>
b7526e78 2644
422889f9
CW
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.
b7526e78 2650
422889f9
CW
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
2653 from bonus area.
b40ce651 2654
422889f9 26552015-05-27 Vladimir Serbinenko <phcoder@gmail.com>
b40ce651 2656
422889f9
CW
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
2661 locations.
1e8e2e78 2662
422889f9 26632015-05-24 Paul Menzel <paulepanter@users.sourceforge.net>
1e8e2e78 2664
422889f9
CW
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`.
3bf4088b 2667
422889f9 26682015-05-19 Paul Menzel <paulepanter@users.sourceforge.net>
3bf4088b 2669
422889f9
CW
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].
35c2851c 2674
422889f9
CW
2675 Running `coreboot_boottime` in the GRUB command line interface now shows
2676 descriptions for all time stamps again on the ASRock E350M1.
35c2851c 2677
422889f9 2678 [1] http://review.coreboot.org/9608
ea7c1a7d 2679
422889f9 26802015-05-17 Andrei Borzenkov <arvidjaar@gmail.com>
ea7c1a7d 2681
422889f9
CW
2682 bootp: ignore gateway_ip (relay) field.
2683 From RFC1542:
96adefdb 2684
422889f9
CW
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.
96adefdb 2693
422889f9
CW
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
2697 messages.
5e3cb8a7 2698
422889f9 2699 Leave code ifdef'd out for the time being in case we see regression.
5e3cb8a7 2700
422889f9
CW
2701 Suggested by: Rink Springer <rink@rink.nu>
2702 Closes: 43396
256ee7ac 2703
422889f9 27042015-05-17 Andrei Borzenkov <arvidjaar@gmail.com>
256ee7ac 2705
422889f9
CW
2706 hostdisk: fix crash with NULL device.map
2707 grub-macbless calls grub_util_biosdisk_init with NULL device.map.
f8b4c3b6 2708
422889f9 27092015-05-14 Andrei Borzenkov <arvidjaar@gmail.com>
f8b4c3b6 2710
422889f9
CW
2711 zfs: fix integer truncation in zap_lookup
2712 Size after shift could exceed 16 bits; use grub_unit32_t for result.
4bf70320 2713
422889f9
CW
2714 Reported and tested by: Kostya Berger <bergerkos@yahoo.co.uk>
2715 Closes: 44448
4bf70320 2716
422889f9 27172015-05-13 Andrei Borzenkov <arvidjaar@gmail.com>
a284320e 2718
422889f9
CW
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.
a284320e 2722
422889f9 27232015-05-12 Jan Kara <jack@suse.cz>
2df8f43d 2724
422889f9
CW
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.
2df8f43d 2730
422889f9 27312015-05-11 Jan Kara <jack@suse.cz>
6f1bc8bc 2732
422889f9
CW
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.
6f1bc8bc 2738
422889f9 27392015-05-08 Andrei Borzenkov <arvidjaar@gmail.com>
04f39f6d 2740
422889f9
CW
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.
04f39f6d 2745
422889f9 2746 Closes: 45002
35d4761c 2747
422889f9 27482015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
35d4761c 2749
422889f9 2750 Add asm-tests to tarball
33d02a42 2751
422889f9 27522015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
33d02a42 2753
422889f9 2754 util/grub-mkrescue: Fix compilation
7bbb60cf 2755
422889f9 27562015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
7bbb60cf 2757
422889f9
CW
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.
da93d675 2763
422889f9
CW
2764 Open SNP device exclusively. This destroys all child MNP instances and
2765 stops background polling.
da93d675 2766
422889f9
CW
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.
59c943ec 2771
422889f9 2772 Based on patch from Mark Salter <msalter@redhat.com>
59c943ec 2773
422889f9
CW
2774 Also-By: Mark Salter <msalter@redhat.com>
2775 Closes: 41731
4336b5d8 2776
422889f9 27772015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
4336b5d8 2778
422889f9
CW
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.
44ce3a93 2784
422889f9 2785 Example of device hierarchy is
44ce3a93 2786
422889f9
CW
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)
44ce3a93 2791
422889f9
CW
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.
7d400406 2795
422889f9 27962015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
7d400406 2797
422889f9 2798 efidisk: move device path helpers in core for efinet
77dae919 2799
422889f9 2800 convert to, not from, CPU byte order in DNS receive function
77dae919 2801
422889f9 28022015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
0ab8e025 2803
422889f9
CW
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.
0ab8e025 2809
422889f9
CW
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.
b80c2d6d 2813
422889f9 2814 Reported-By: David Shaw <dshaw@jabberwocky.com>
b80c2d6d 2815
422889f9 28162015-05-07 Daniel Kiper <daniel.kiper@oracle.com>
6aa6077b 2817
422889f9 2818 i386/relocator: Remove unused extern grub_relocator64_rip_addr
6aa6077b 2819
422889f9 28202015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
66c00cb1 2821
422889f9 2822 grub-install-common: Increase buf size to 8192 as modinfo.sh is bigger.
66c00cb1 2823
422889f9 28242015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3a129dba 2825
422889f9
CW
2826 grub-mkrescue: Recognize -output as an alias of --output.
2827 This helps us to be in line with xorriso -as mkisofs.
3a129dba 2828
422889f9 2829 Suggested by: Thomas Schmitt
8df6eff6 2830
422889f9 28312015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8df6eff6 2832
422889f9 2833 linux.c: Ensure that initrd is page-aligned.
889ebe92 2834
422889f9 2835 Revert parts accidentally committed 2 commits ago.
889ebe92 2836
422889f9 28372015-05-07 Fu Wei <fu.wei@linaro.org>
d4d55b29 2838
422889f9 2839 fdt.h: Add grub_fdt_set_reg64 macro
d4d55b29 2840
422889f9 2841 arm64: Export useful functions from linux.c
55e2c84f 2842
422889f9 28432015-05-04 Andrei Borzenkov <arvidjaar@gmail.com>
55e2c84f 2844
422889f9
CW
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.
cd46aa6c 2850
422889f9 2851 efinet: cannot free const char * pointer
cd46aa6c 2852
422889f9 2853 efinet: memory leak on module removal
cd46aa6c 2854
422889f9 28552015-05-03 Andrei Borzenkov <arvidjaar@gmail.com>
cd46aa6c 2856
422889f9
CW
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.
9ef81064 2862
422889f9 28632015-05-03 Toomas Soome <tsoome@me.com>
9ef81064 2864
422889f9 2865 zfs: com.delphix:embedded_data feature support
11a77932 2866
422889f9
CW
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.
11a77932 2871
422889f9 28722015-04-29 Andrei Borzenkov <arvidjaar@gmail.com>
080603f0 2873
422889f9
CW
2874 grub-mkconfig: use $pkgdatadir in scripts
2875 Otherwise scripts will source wrong grub-mkconfig_lib.
080603f0 2876
422889f9 28772015-04-24 Vladimir Serbinenko <phcoder@gmail.com>
080603f0 2878
422889f9
CW
2879 Remove -V in grub-mkrescue.c
2880 It clashhes with -V which is alias to -volid.
080603f0 2881
422889f9 28822015-04-13 Toomas Soome <tsoome@me.com>
4f84ae0e 2883
422889f9
CW
2884 getroot: include sys/mkdev.h for makedev
2885 Solaris (like) systems need to include sys/mkdev.h for makedev() function.
4f84ae0e 2886
422889f9 28872015-04-13 Toomas Soome <tsoome@me.com>
4f84ae0e 2888
422889f9
CW
2889 core/partmap: rename 'sun' to avoid clash with predefined symbol
2890 the symbol “sun” is defined macro in solaris derived systems, from
2891 gcc -dM -E:
4f84ae0e 2892
422889f9 2893 and therefore can not be used as name.
e6a6182d 2894
422889f9 28952015-04-12 Paul Menzel <paulepanter@users.sourceforge.net>
e6a6182d 2896
422889f9 2897 docs/grub.texi: Fix spelling of cbfstool
e6a6182d 2898
422889f9 28992015-04-06 Andrei Borzenkov <arvidjaar@gmail.com>
e6a6182d 2900
422889f9
CW
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.
1a454efe 2904
422889f9 2905 Reported-By: Michael Zimmermann <sigmaepsilon92@gmail.com>
1a454efe 2906
422889f9 29072015-03-28 Andrei Borzenkov <arvidjaar@gmail.com>
1a454efe 2908
422889f9 2909 do not emit cryptomount without crypto UUID
1a454efe 2910
422889f9 29112015-03-28 Sarah Newman <srn@prgmr.com>
7b5d51d8 2912
422889f9 2913 grub-core/loader/i386/xen.c: Initialized initrd_ctx so we don't free a random pointer from the stack.
7b5d51d8 2914
422889f9 29152015-03-27 Andrei Borzenkov <arvidjaar@gmail.com>
7b5d51d8 2916
422889f9 2917 net: trivial grub_cpu_to_XX_compile_time cleanup
7b5d51d8 2918
422889f9 29192015-03-27 Lunar <lunar@torproject.org>
593865b9 2920
422889f9 2921 syslinux: Support {vesa,}menu.c32.
7b5d51d8 2922
422889f9 29232015-03-27 Steve McIntyre <steve@einval.com>
31c0cd43 2924
422889f9
CW
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.
31c0cd43 2930
422889f9
CW
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.
c2fdb331 2935
422889f9 29362015-03-27 Michael Zimmermann <sigmaepsilon92@gmail.com>
c2fdb331 2937
422889f9 2938 Add missing initializers to silence suprious warnings.
9e18dfe2 2939
422889f9 29402015-03-27 Leif Lindholm <leif.lindholm@linaro.org>
9e18dfe2 2941
422889f9
CW
2942 dl_helper: Cleanup
2943 Use the new thumb_get_instruction_word/thumb_set_instruction_word
2944 helpers throughout.
59ba9d14 2945
422889f9 2946 Style cleanup (missing spaces).
59ba9d14 2947
422889f9 2948 Move Thumb MOVW/MOVT handlers into Thumb relocation section of file.
23012db9 2949
422889f9 29502015-03-27 Martin Wilck <martin.wilck@ts.fujitsu.com>
23012db9 2951
422889f9
CW
2952 efinet: Check for immediate completition.
2953 This both speeds GRUB up and workarounds unexpected EFI behaviour.
6fcec439 2954
422889f9 29552015-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6fcec439 2956
422889f9 2957 Make Makefile.util.def independent of platform.
6fcec439 2958
422889f9 29592015-03-27 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
a9f25a08 2960
422889f9 2961 util/mkimage: Use stable timestamp when generating binaries.
a9f25a08 2962
422889f9 29632015-03-27 Vladimir Serbinenko <phcoder@gmail.com>
c7995256 2964
422889f9 2965 modinfo.sh.in: Add missing config variables.
c7995256 2966
422889f9 2967 Makefile.core.def: Remove obsolete LDADD_KERNEL
c7995256 2968
422889f9
CW
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.
e1aa5b66 2973
422889f9 29742015-03-23 Colin Watson <cjwatson@ubuntu.com>
e1aa5b66 2975
422889f9
CW
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.
e1aa5b66 2981
422889f9 29822015-03-20 Vladimir Serbinenko <phcoder@gmail.com>
da5ed5cf 2983
422889f9 2984 compiler-rt-emu: Add missing file.
da5ed5cf 2985
422889f9
CW
2986 emunet: Fix init error checking.
2987 Otherwise emunet doesn't expose any cards.
5757a93e 2988
422889f9 2989 fddboot_test: Add -no-pad to xorriso.
5757a93e 2990
422889f9 2991 grub-mkrescue: pass all unrecognized options unchanged to xorriso.
5757a93e 2992
422889f9 2993 cacheinfo: Add missing license information.
a5986276 2994
422889f9 29952015-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
a5986276 2996
422889f9
CW
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.
0de172a0 3000
422889f9
CW
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.
0de172a0 3003
422889f9 30042015-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
da45f43c 3005
422889f9
CW
3006 core: add LVM RAID1 support
3007 Closes 44534.
da45f43c 3008
422889f9 30092015-03-16 Andrei Borzenkov <arvidjaar@gmail.com>
20aea949 3010
422889f9
CW
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.
20aea949 3014
422889f9 30152015-03-15 Andrei Borzenkov <arvidjaar@gmail.com>
1326b9ae 3016
422889f9
CW
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
3021 reference instead.
1326b9ae 3022
422889f9 30232015-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1fe26ab4 3024
422889f9 3025 hfsplus: Fix potential access to uninited memory on invalid FS
1fe26ab4 3026
422889f9 30272015-03-06 Jon McCune <jonmccune@google.com>
83e9c273 3028
422889f9
CW
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.
83e9c273 3032
422889f9 30332015-03-05 Andrei Borzenkov <arvidjaar@gmail.com>
ec525c18 3034
422889f9
CW
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
ec525c18 3038
422889f9
CW
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
3043 ...
93fcc7ad 3044
422889f9
CW
3045 Update gnulib/argp-help.c to the current version which fixes this
3046 (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
93fcc7ad 3047
422889f9 30482015-03-05 Andrey Borzenkov <arvidjaar@gmail.com>
57ffe934 3049
422889f9
CW
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
57ffe934 3056
422889f9
CW
3057 Update m4/extern-inline.m4 to current upstream gnulib version that
3058 contains fix for this (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
2312f06c 3059
422889f9 3060 Reported-By: Beeblebrox <zaphod@berentweb.com>
2312f06c 3061
422889f9 30622015-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2416415c 3063
422889f9
CW
3064 syslinux_parse: Fix the case of unknown localboot.
3065 Reported by: Jordan Uggla
2416415c 3066
422889f9 3067 configure.ac: Fix the name of pciaccess header.
5da55172 3068
422889f9
CW
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.
5da55172 3073
422889f9 30742015-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5da55172 3075
422889f9
CW
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.
da770328 3079
422889f9 3080 configure.ac: Remove unused COND_clang
da770328 3081
422889f9
CW
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
3085 from running OS.
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.
da770328 3091
422889f9
CW
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.
f02e6b56 3095
422889f9
CW
3096 configure.ac: Set $CPPFLAGS when checking for no_app_regs.
3097 Fixes compilation for sparc64 with clang.
f02e6b56 3098
422889f9
CW
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".
f02e6b56 3101
422889f9 31022015-02-28 Andrei Borzenkov <arvidjaar@gmail.com>
035a26c1 3103
422889f9 3104 grub-probe: free temporary variable
035a26c1 3105
422889f9 31062015-02-28 Vladimir Serbinenko <phcoder@gmail.com>
bc8a6137 3107
422889f9 3108 exclude.pot: Add new technical strings
bc8a6137 3109
422889f9 3110 grub-probe: Mark a "[default=]" for translation.
6fe506b0 3111
422889f9
CW
3112 grub-shell: Add missing --locale-directory.
3113 Fixes the language tests is no make install was done.
6fe506b0 3114
422889f9 3115 ntfs_test: Skip is setfattr is unavailable.
81a2e438 3116
422889f9 31172015-02-26 Vladimir Serbinenko <phcoder@gmail.com>
81a2e438 3118
422889f9
CW
3119 emu/cache: Change declaration of __clear_cache to match builtin declaration.
3120 Fixes compile of arm64-emu.
9b45c073 3121
422889f9 3122 arm/dl: Fix handling of nonstandard relocation sizes
9b45c073 3123
422889f9 3124 gzio: Optimize by removing division.
11b2a9b7 3125
422889f9 3126 raid6: Optimize by removing division.
11b2a9b7 3127
422889f9 3128 dmraid_nvidia: Fix division by 0 and missing byte-swap.
d743d22d 3129
422889f9
CW
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.
d743d22d 3134
422889f9 3135 jpeg: Optimise by replacing division with shifts.
11da14b5 3136
422889f9 3137 png: Optimize by avoiding divisions.
11da14b5 3138
422889f9 3139 Add missing lib/division.c
2bdd0719 3140
422889f9 3141 fbblit: Optimize by replacing division with additions and shifts.
2bdd0719 3142
422889f9 3143 bitmap_scale: Optimize by moving division out of the loop.
5e77d9cf 3144
422889f9 3145 minilzo: Skip parts tha we don't need.
5e77d9cf 3146
422889f9 31472015-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7d511625 3148
422889f9
CW
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
3153 but it's tolerable.
7d511625 3154
422889f9 3155 Add missing grub_ prefix in memcpy invocation
81023dbd 3156
422889f9
CW
3157 Allow clang compilation for thumb with -mthumb-interwork.
3158 clang already uses -mthumb-interwork behaviour even thout it doesn't
3159 support the option.
81023dbd 3160
422889f9
CW
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.
b2e9294f 3165
422889f9
CW
3166 Supply signed division to fix ARM compilation.
3167 Previously we supplied only unsigned divisions on platforms that need software
b2e9294f 3168 division.
422889f9
CW
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.
b2e9294f 3171
422889f9 31722015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
a1ef7718 3173
422889f9 3174 acpi: Fix unused function warning.
a1ef7718 3175
422889f9 3176 configure.ac: Add ia64-specific way to disable floats.
65ddb300 3177
422889f9 3178 i386/tsc: Fix unused function warning on xen.
65ddb300 3179
422889f9 31802015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
31747dd5 3181
422889f9
CW
3182 Experimental support for clang for sparc64.
3183 Automatically discover command line options to make clang and
3184 gcc behave in same way.
31747dd5 3185
422889f9 3186 Tested with qemu.
6a74c4df 3187
422889f9 31882015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6a74c4df 3189
422889f9
CW
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.
394c3e0a 3193
422889f9 31942015-02-21 Vladimir Serbinenko <phcoder@gmail.com>
394c3e0a 3195
422889f9
CW
3196 mips: Switch to more portable .org
3197 Binary is unchanged.
60d31116 3198
422889f9
CW
3199 sparc64: Switch to more portable .org.
3200 Binaries are unchanged.
60d31116 3201
422889f9 3202 kernel-8086: Switch to more portable .org.
8445b011 3203
422889f9
CW
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.
8445b011 3207
422889f9
CW
3208 qemu: Switch to more portable .org
3209 Binary is checked identical.
8506a641 3210
422889f9
CW
3211 qemu: Fix GateA20 enabling.
3212 GateA20 code was inactive due to address error.
8506a641 3213
422889f9 3214 qemu: Fix compilation
66acd9d6 3215
422889f9
CW
3216 Remove realmode.S from coreboot and qemu.
3217 It's not used there.
66acd9d6 3218
422889f9 3219 Remove obsolete ADDR32 and DATA32 checks.
348d0535 3220
422889f9
CW
3221 i386: Remove needless ADDR32 prefixes when address is known and fixed.
3222 Shaves off 6 bytes in lzma_decompress.img.
348d0535 3223
422889f9
CW
3224 i386-pc/boot: Explicitly mark kernel_address[_high] as local.
3225 Otherwise apple asm might try to make accesses relocatable.
0d2d30bb 3226
422889f9
CW
3227 Change dot assignmnet to more portable .org.
3228 Binary is unchanged (verified)
0d2d30bb 3229
422889f9
CW
3230 i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
3231 Is more portable.
3232 Binary is unchanged (verified).
631187be 3233
422889f9
CW
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.
631187be 3237
422889f9 3238 INSTALL: clarify that clang support is experimental
e756ec82 3239
422889f9 3240 zfs/mzap_lookup: Fix argument types
e756ec82 3241
422889f9 3242 wildcard: Mark unused argument as such.
87d62d7d 3243
422889f9
CW
3244 ofdisk: Exclude floppies from scanning.
3245 It causes similar hang as CD on at least the qemu.
87d62d7d 3246
422889f9
CW
3247 configure: Add -msoft-float to CCASFLAGS
3248 Otherwise mismatch between API flags triggers linker failure
5460cfeb 3249
422889f9 3250 mips/startup_raw: Use more portable .asciz
5460cfeb 3251
422889f9
CW
3252 Provide __aeabi_mem{cpy,set}
3253 Fixes ARM compilation
89977306 3254
422889f9 3255 div_test: Don't try to divide by zero
89977306 3256
422889f9 3257 INSTALL: Fix names of host flags to match actual behaviour
3617c59b 3258
422889f9 3259 Strip .MIPS.abiflags which causes compile failure
3617c59b 3260
422889f9 32612015-02-20 Vladimir Serbinenko <phcoder@gmail.com>
881c6a10 3262
422889f9 3263 configure: Move adding of include options to the very end to avoid subshell.
881c6a10 3264
422889f9 3265 configure: Add missing comma.
2024ade2 3266
422889f9 32672015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
2024ade2 3268
422889f9
CW
3269 ext2: Ignore INCOMPAT_MMP.
3270 It's not really incompatible as long as driver never writes to FS.
2024ade2 3271
422889f9
CW
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.
674ad4f6 3275
422889f9 32762015-02-16 Andrei Borzenkov <arvidjaar@gmail.com>
674ad4f6 3277
422889f9
CW
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.
5b99970e 3281
422889f9 3282 build-sys: add syslinux test files to tarball
5b99970e 3283
422889f9 32842015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3c2304d5 3285
422889f9 3286 Add test for syslinux converter
3c2304d5 3287
422889f9 32882015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
80cfd940 3289
422889f9
CW
3290 Don't remove initrd= parameter.
3291 Based on simplified patch by Lunar.
80cfd940 3292
422889f9 3293 Reported by: Lunar
33690255 3294
422889f9 32952015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
33690255 3296
422889f9 3297 syslinux_parse: Always output comments even if no entries are found.
33690255 3298
422889f9 32992015-02-15 Andrei Borzenkov <arvidjaar@gmail.com>
c61471fc 3300
422889f9 3301 diskfilter_make_raid: more memory leaks in failure path
c61471fc 3302
422889f9 33032015-02-14 Vladimir Serbinenko <phcoder@gmail.com>
54da019f 3304
422889f9
CW
3305 disk/lvm: Use zalloc to ensure that segments are initialised to sane value.
3306 Reported by: EmanueL Czirai.
54da019f 3307
422889f9 33082015-02-14 Daniel Kiper <daniel.kiper@oracle.com>
28668d80 3309
422889f9 3310 multiboot2: Fix information request tag size calculation
28668d80 3311
422889f9 33122015-02-14 Andrei Borzenkov <arvidjaar@gmail.com>
28668d80 3313
422889f9
CW
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.
9612ebc0 3318
422889f9 3319 Also fix memory leak in failure case in grub_diskfilter_make_raid.
9612ebc0 3320
422889f9 3321 Closes: 41582
1a46a3a4 3322
422889f9 33232015-02-14 Andrei Borzenkov <arvidjaar@gmail.com>
1a46a3a4 3324
422889f9
CW
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.
2df12551 3330
422889f9
CW
3331 Also fix segment validation in validate_lv; it became obvious when crash
3332 was fixed.
2df12551 3333
422889f9 3334 Closes: 44199
3c980381 3335
422889f9 33362015-02-12 Jiri Slaby <jslaby@suse.cz>
3c980381 3337
422889f9
CW
3338 util: mkimage, fix gcc5 build failure
3339 gcc5 reports:
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++)
3343 ^
3344 ../util/mkimage.c:953:39: note: possible undefined statement is here
3345 for (j = 0; image_targets[i].names[j]
3346 ^
3c980381 3347
422889f9
CW
3348 Well, let's move the index 'j' test before accesing the array to:
3349 1) make the loop obvious
3350 2) make gcc happy
800f63d3 3351
422889f9 33522015-02-03 Leif Lindholm <leif.lindholm@linaro.org>
800f63d3 3353
422889f9
CW
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.
9f8acdaa 3357
422889f9 33582015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
5620eb53 3359
422889f9
CW
3360 setup: fix blocklist size calculation
3361 Found by: Coverity scan.
5620eb53 3362
422889f9
CW
3363 grub-fstest: fix descriptor leak
3364 Found by: Coverity scan.
9f8acdaa 3365
422889f9 33662015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
2dc1eb6c 3367
422889f9
CW
3368 net/pxe: fix error condition
3369 Test return value of grub_netbuff_reserve(), buf itself cannot be
3370 NULL here.
2dc1eb6c 3371
422889f9 3372 Found by: Coverity scan.
b9563c94 3373
422889f9 33742015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
b9563c94 3375
422889f9
CW
3376 grub-mkimage: fix potential NULL pointer dereference
3377 Move fatal check whether symtab_section is NULL before first reference.
d6d8e9a9 3378
422889f9 3379 Found by: Coverity scan.
d6d8e9a9 3380
422889f9 33812015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
d06de6c8 3382
422889f9
CW
3383 net/ip: check result of grub_netbuff_push
3384 Found by: Coverity scan.
d06de6c8 3385
422889f9
CW
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
3389 more easy.
6af7d49b 3390
422889f9 3391 test: consistently use TMPDIR and same name pattern for temp files
6af7d49b 3392
422889f9
CW
3393 test: fix previous commit - we need to return from subexpression
3394 ( ... ) was processed recursively, we need to return from it. Revert
3395 this change.
bcfa6d72 3396
422889f9
CW
3397 test: do not stop after first file test or closing bracket
3398 Closes: 44115
bcfa6d72 3399
422889f9 34002015-01-28 Leif Lindholm <leif.lindholm@linaro.org>
dd7f792c 3401
422889f9
CW
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.
dd7f792c 3405
422889f9 3406 Reported-by: Ryan Harkin <ryan.harkin@linaro.org>
d061fda7 3407
422889f9 34082015-01-28 Andrei Borzenkov <arvidjaar@gmail.com>
d061fda7 3409
422889f9
CW
3410 script/execute.c: fix memory leak.
3411 Make sure to continue loop over array after failure to free
3412 allocated strings.
4db22500 3413
422889f9 3414 Found by: Coverity scan.
4db22500 3415
422889f9 34162015-01-28 Andrei Borzenkov <arvidjaar@gmail.com>
c6b755df 3417
422889f9
CW
3418 syslinux_parse: fix memory leak.
3419 Found by: Coverity scan.
c6b755df 3420
422889f9 34212015-01-27 Andrei Borzenkov <arvidjaar@gmail.com>
e2a68100 3422
422889f9 3423 Change quotes to match overall style in NEWS
e2a68100 3424
422889f9
CW
3425 loader/xnu: fix memory leak.
3426 Foound by: Coverity scan.
c4f11a2a 3427
422889f9
CW
3428 util/grub-probe: fix memory leaks.
3429 Found by: Coverity scan.
c4f11a2a 3430
422889f9
CW
3431 fs/hfsplus: fix memory leak.
3432 Found by: Coverity scan.
e0a7bffa 3433
422889f9 3434 fs/zfs/zfscrypt.c: fix indentation.
e0a7bffa 3435
422889f9
CW
3436 fs/zfs/zfscrypt.c: fix memory leaks.
3437 Found by: Coverity scan.
38b864ea 3438
422889f9
CW
3439 commands/parttool: fix memory leak.
3440 Found by: Coverity scan.
38b864ea 3441
422889f9
CW
3442 fs/zfs/zfs.c: fix memory leak.
3443 Found by: Coverity scan.
12359faf 3444
422889f9
CW
3445 linux/ofpath: fix descriptor leak
3446 Found by: Coverity scan
12359faf 3447
422889f9
CW
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.
9fdc64a9 3452
422889f9 34532015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9fdc64a9 3454
422889f9
CW
3455 Document intentional fallthroughs.
3456 Found by: Coverity scan.
665c575b 3457
422889f9
CW
3458 linux/ofpath: Fix error handling.
3459 Found by: Coverity Scan.
665c575b 3460
422889f9
CW
3461 linux/hostdisk: Limit strcpy size to buffer size.
3462 Found by: Coverity scan.
47dcf7b1 3463
422889f9
CW
3464 fs/zfscrypt: Add missing explicit cast.
3465 Found by: Coverity scan.
47dcf7b1 3466
422889f9
CW
3467 fs/zfs: Fix error handling.
3468 Found by: Coverity Scan.
d59849b2 3469
422889f9 34702015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
d59849b2 3471
422889f9
CW
3472 fs/{cbfs,cpio}: Remove useless check if mode is NULL.
3473 Callers already ensure that it's not null.
7a3f4a18 3474
422889f9 3475 Found by: Coverity Scan.
7a3f4a18 3476
422889f9 34772015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7f084087 3478
422889f9
CW
3479 commands/acpi: Use ALIGN_UP rather than manual expression.
3480 Improves readability and hopefully automatic scanning.
7f084087 3481
422889f9 3482 Found by: Coverity Scan.
d5524ca8 3483
422889f9 34842015-01-26 Andrei Borzenkov <arvidjaar@gmail.com>
d5524ca8 3485
422889f9
CW
3486 util/setup: fix memory leak.
3487 Found by: Coverity scan.
390cd7ca 3488
422889f9
CW
3489 util/mkimage: fix memory leaks.
3490 Found by: Coverity scan.
390cd7ca 3491
422889f9
CW
3492 util/grub-mount: fix descriptor leak.
3493 Found by: Coverity scan.
60375a88 3494
422889f9
CW
3495 util/grub-mkstandalone: fix memory leak.
3496 Found by: Coverity scan.
60375a88 3497
422889f9
CW
3498 util/grub-install: rearrange code to avoid memory leak.
3499 Found by: Coverity scan.
60375a88 3500
422889f9
CW
3501 linux/getroot: fix memory leak.
3502 Found by: Coverity scan.
dd07e0c4 3503
422889f9
CW
3504 util/install: fix memory leak.
3505 Found by: Coverity scan.
dd07e0c4 3506
422889f9
CW
3507 util/setup: fix memory leak.
3508 Found by: Coverity scan.
9d3ae8ec 3509
422889f9
CW
3510 linux/ofpath: fix various memory leaks.
3511 Found by: Coverity scan.
9d3ae8ec 3512
422889f9
CW
3513 linux/getroot: fix descriptor leak.
3514 Found by: Coverity scan.
c12936c5 3515
422889f9 35162015-01-26 Vladimir Serbinenko <phcoder@gmail.com>
c12936c5 3517
422889f9
CW
3518 util/misc.c: Check ftello return value.
3519 Found by: Coverity scan.
cdc17f60 3520
422889f9
CW
3521 grub-macbless: Fix resource leak.
3522 Found by: Coverity scan.
cdc17f60 3523
422889f9
CW
3524 grub-install: Fix memory leak.
3525 Found by: Coverity scan.
b35ec299 3526
422889f9
CW
3527 grub-install-common: Fix sizeof usage.
3528 Found by: Coverity scan.
b35ec299 3529
422889f9
CW
3530 util/getroot: Add missing grub_disk_close.
3531 Found by: Coverity scan.
05f3a0d7 3532
422889f9
CW
3533 vbe: Fix incorrect register usage.
3534 Found by: Coverity scan.
05f3a0d7 3535
422889f9
CW
3536 unix/password: Fix file descriptor leak.
3537 Found by: Coverity scan.
c966a489 3538
422889f9
CW
3539 linux/getroot: Fix error handling.
3540 Found by: Coverity scan.
c966a489 3541
422889f9
CW
3542 linux/blocklist: Fix memory leak.
3543 Found by: Coverity scan.
8de3495c 3544
422889f9
CW
3545 devmapper/getroot: Fix memory leak.
3546 Found by: Coverity scan.
e85e144b 3547
422889f9
CW
3548 normal/misc: Close device on all pathes.
3549 Found by: Coverity scan.
e85e144b 3550
422889f9
CW
3551 normal/main: Fix error handling.
3552 Found by: Coverity scan.
c46153d2 3553
422889f9
CW
3554 xnu: Add missing error check.
3555 Found by: Coveriy scan.
c46153d2 3556
422889f9
CW
3557 plan9: Add missing grub_device_close.
3558 Found by: Coverity scan.
0cb90c45 3559
422889f9
CW
3560 multiboot: Simplify to avoid confusing assignment.
3561 Found by: Coverity scan.
0cb90c45 3562
422889f9
CW
3563 bsd: Add missing null-pointer check.
3564 Found by: Coverity scan.
a19fb360 3565
422889f9
CW
3566 lib/syslinux_parse: Add missing error check.
3567 Found by: Coverity scan.
a19fb360 3568
422889f9
CW
3569 lib/syslinux_parse: Fix memory leak.
3570 Found by: Coveriy scan.
4ac9bd04 3571
422889f9
CW
3572 lib/syslinux_parse: Add missing alloc check.
3573 Found by: Coverity scan.
4ac9bd04 3574
422889f9
CW
3575 i386/pc/mmap: Fix memset size.
3576 Found by: Coverity scan.
4ac9bd04 3577
422889f9
CW
3578 gfxmenu/theme_loader: Add missing allos error check.
3579 Found by: Coverity scan.
4ac9bd04 3580
422889f9
CW
3581 gfxmenu/icon_manager: Fix null pointer dereference.
3582 Found by: Coverity scan.
4ac9bd04 3583
422889f9
CW
3584 fs/ufs: Add missing error check.
3585 Found by: Coverity scan.
4ac9bd04 3586
422889f9 3587 configure.ac: Always add -D_FILE_OFFSET_BITS=64.
4ac9bd04 3588
422889f9 35892015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
f4917dfd 3590
422889f9
CW
3591 fs/sfs: Fix error check and add sanity check.
3592 Found by: Coverity scan.
f4917dfd 3593
422889f9
CW
3594 fs/reiserfs: Fix sector count overflow.
3595 Found by: Coverity scan.
f806d18e 3596
422889f9
CW
3597 fs/ntfs: Add sizes sanity checks.
3598 Found by: Coverity scan.
f806d18e 3599
422889f9
CW
3600 fs/ntfs: Add missing free.
3601 Found by: Coverity scan.
f806d18e 3602
422889f9 36032015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
e293232b 3604
422889f9
CW
3605 fs/minix: Fix sector promotion to 64-bit.
3606 While on it make GRUB_MINIX_ZONE2SECT into function.
e293232b 3607
422889f9 3608 Found by: Coverity scan
ebedfd00 3609
422889f9 36102015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
ebedfd00 3611
422889f9
CW
3612 grub_iso9660_read: Explicitly check read_node return value.
3613 Not really needed as grub_errno is already checked but is nicer.
ebedfd00 3614
422889f9 3615 Found by: Coverity scan.
ebedfd00 3616
422889f9 36172015-01-25 Andrei Borzenkov <arvidjaar@gmail.com>
654fc59f 3618
422889f9
CW
3619 commands/fileXX: Fix remaining memory leak.
3620 Found by: Coverity Scan.
654fc59f 3621
422889f9 36222015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
654fc59f 3623
422889f9
CW
3624 fs/hfs: Add pointer sanity checks.
3625 Found by: Coverity scan.
09f9923f 3626
422889f9
CW
3627 fs/hfs/hfs_open: Check that mount succeeded.
3628 Found by: Coverity scan.
09f9923f 3629
422889f9
CW
3630 fs/fat: Fix codepath to properly free on error.
3631 Found by: Coverity scan.
7ef504d8 3632
422889f9
CW
3633 fs/cpio_common: Add a sanity check on namesize.
3634 Found by: Coverity scan.
7ef504d8 3635
422889f9
CW
3636 fs/cbfs: Add missing free.
3637 Found by: Coverity scan.
e0f050c2 3638
422889f9 36392015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
e0f050c2 3640
422889f9
CW
3641 font: Add missing free.
3642 Found by: Coverity Scan.
e0f050c2 3643
422889f9
CW
3644 biosdisk: Add missing cast.
3645 Found by: Coverity scan.
e0f050c2 3646
422889f9
CW
3647 disk/geli: Add missing free.
3648 Found by: Coverity scan.
7224189a 3649
422889f9
CW
3650 disk/geli: Add missing seek success check.
3651 Found by: Coverity scan.
7224189a 3652
422889f9
CW
3653 disk/diskfilter: Add missing lv presence check.
3654 Found by: Coverity scan.
68c864eb 3655
422889f9
CW
3656 disk/cryptodisk: Add missing error check.
3657 Found by: Coverity scan.
68c864eb 3658
422889f9 36592015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
e6f3e614 3660
422889f9
CW
3661 disk/ahci: Fix device_map_range argument.
3662 Argument is not used on x86, hence it's gone unnoticed.
e6f3e614 3663
422889f9 3664 Found by: Coverity scan.
f8f1559a 3665
422889f9 36662015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
f8f1559a 3667
422889f9
CW
3668 disk/AFsplitter: check argument validity before doing any allocs.
3669 This avoids possible memory leaks.
39c9d41d 3670
422889f9 3671 Found by: Coverity scan.
39c9d41d 3672
422889f9 36732015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
39c9d41d 3674
422889f9
CW
3675 commands/wildcard: Add missing free.
3676 Found by: Coverity scan.
39c9d41d 3677
422889f9
CW
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.
39c9d41d 3681
422889f9
CW
3682 commands/tr: Simplify and fix missing parameter test.
3683 Found by: Coverity scan
39c9d41d 3684
422889f9
CW
3685 commands/syslinux: Add missing free.
3686 Found by: Coverity scan.
f19dbdb7 3687
422889f9
CW
3688 commands/parttool: Add missing device close.
3689 Found by: Coverity scan.
3c52136a 3690
422889f9
CW
3691 commands/nativedisk: Add missing device_close.
3692 Found by: Coverity scan.
3c52136a 3693
422889f9 36942015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3c52136a 3695
422889f9
CW
3696 commands/macbless: Handle device opening errors correctly.
3697 Wrong variable was checked for errors.
3c52136a 3698
422889f9 3699 Found by: Coverity scan.
3c52136a 3700
422889f9 37012015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3c52136a 3702
422889f9
CW
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.
3c52136a 3706
422889f9 3707 Found by: Coverity scan.
aa033560 3708
422889f9 37092015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
aa033560 3710
422889f9
CW
3711 commands/macbless: Remove incorrect grub_free.
3712 Found by: Coverity Scan
97543f08 3713
422889f9 3714 commands/legacycfg: Fix resource leaks.
97543f08 3715
422889f9
CW
3716 zfs: Fix disk-matching logic.
3717 Reported by: Tim Chase <dweeezil>
97543f08 3718
422889f9
CW
3719 commands/hdparm: Add missing grub_disk_close.
3720 Found by: Coverity scan.
97543f08 3721
422889f9
CW
3722 gptsync: Add missing device_close.
3723 Found by: Coverity scan
97543f08 3724
422889f9
CW
3725 commands/fileXX: Fix memory leak.
3726 Found by: Coverity Scan.
64372eb4 3727
422889f9 37282015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
64372eb4 3729
422889f9
CW
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.
64372eb4 3733
422889f9 3734 Found by: Coverity Scan.
cc61b58f 3735
422889f9 37362015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
cc61b58f 3737
422889f9
CW
3738 commands/acpi: Use ALIGN_UP rather than manual expression.
3739 Improves readability and hopefully automatic scanning.
0ef123f6 3740
422889f9 3741 Found by: Coverity Scan.
1cc73a62 3742
422889f9 37432015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1cc73a62 3744
422889f9
CW
3745 uhci: Fix null pointer dereference.
3746 Found by: Coverity scan.
1cc73a62 3747
422889f9 3748 Always add -msoft-float to avoid compiler generating float arithmetics.
1cc73a62 3749
422889f9 37502015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
08b70fe8 3751
422889f9
CW
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.
08b70fe8 3756
422889f9 3757 Reported by: Andrei Borzenkov <arvidjaar@gmail.com>
62ddcc8f 3758
422889f9 37592015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
f19dbdb7 3760
422889f9
CW
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.
62ddcc8f 3764
422889f9 3765 efidisk: Return the determined root disk even if partition is unknown.
62ddcc8f 3766
422889f9
CW
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.
62ddcc8f 3772
422889f9 3773 conf/Makefile.common: Remove unused {LD,C}FLAGS_CPU.
62ddcc8f 3774
422889f9
CW
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.
9962ed99 3779
422889f9 37802015-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9962ed99 3781
422889f9 3782 * tests/file_filter/file: Really add missing file.
f19dbdb7 3783
422889f9 37842015-01-23 Andrei Borzenkov <arvidjaar@gmail.com>
abdfc3c5 3785
422889f9 3786 Mention platform "none" in NEWS
abdfc3c5 3787
422889f9 37882015-01-23 Andrey Borzenkov <arvidjaar@gmail.com>
6a161fa9 3789
422889f9
CW
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.
6a161fa9 3793
422889f9
CW
3794 Suggested-By: Michael Chang <mchang@suse.com>
3795 Closes: 44026