]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Import grub2_2.02.orig.tar.xz
[grub2.git] / ChangeLog
1 2017-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Increase version to 2.02.
4
5 2017-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
10 2017-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
16 2017-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
37 2017-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
45 2017-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
53 2017-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
60 2017-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
75 2017-03-05 phcoder <phcoder@gmail.com>
76
77 xen: Fix wrong register in relocator.
78 This fixes chainloading of some GRUB variants.
79
80 2017-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
87 2017-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
95 2017-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
113 2017-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
128 2017-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
133 2017-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
141 2017-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
147 2017-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
157 2017-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
163 2017-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
174 2017-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
190 2017-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
199 2017-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
208 2017-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
216 2017-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
235 2017-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
258 2017-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
277 2017-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
295 2017-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
302 2017-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
307 2017-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
315 2017-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
342 2017-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
360 2017-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
367 2016-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
383 2016-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
404 2016-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
415 2016-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
431 2016-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
448 2016-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
463 2016-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
473 2016-11-22 Andrei Borzenkov <arvidjaar@gmail.com>
474
475 NEWS updates
476
477 2016-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
496 2016-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
501 2016-11-14 Dirk Mueller <dmueller@suse.com>
502
503 grub-mknetdir: Add support for ARM64 EFI
504
505 2016-11-12 Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
506
507 .gitignore: Add grub-core/build-grub-module-verifier
508
509 2016-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
517 2016-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
525 2016-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
541 2016-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
557 2016-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
572 2016-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
585 2016-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
594 2016-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
604 2016-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
618 2016-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
626 2016-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
638 2016-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
647 2016-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
654 2016-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
665 2016-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
710 2016-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
724 2016-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
733 2016-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
747 2016-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
756 2016-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
773 2016-08-13 Pete Batard <pete@akeo.ie>
774
775 Add missing va_end() to xasprintf() in grub-emu.
776
777 2016-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
783 2016-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
798 2016-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
810 2016-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
816 2016-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
823 2016-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
829 2016-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
844 2016-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
851 2016-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
866 2016-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
872 2016-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
873
874 bootp: fix memory leak in grub_cmd_dhcpopt
875
876 2016-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
886 2016-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
893 2016-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
901 2016-03-11 Michael Chang <mchang@suse.com>
902
903 xen_file: Fix invalid payload size
904
905 2016-03-10 Vladimir Serbinenko <phcoder@gmail.com>
906
907 multiboot2: Remove useless GRUB_PACKED
908 Reported by: Daniel Kiper
909
910 2016-03-06 Andrei Borzenkov <arvidjaar@gmail.com>
911
912 20_linux_xen: fix test for GRUB_DEVICE
913 Same fix as in 082bc9f.
914
915 2016-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
921 2016-02-28 Andrei Borzenkov <arvidjaar@gmail.com>
922
923 NEWS update
924
925 2016-02-28 Vladimir Serbinenko <phcoder@gmail.com>
926
927 Release 2.02~beta3
928
929 grub_arch_sync_dma_caches: Accept volatile address
930
931 2016-02-27 Leif Lindholm <leif.lindholm@linaro.org>
932
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.
937
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.
941
942 Also sanity check the io_align field in grub_efidisk_open() for
943 power-of-two-ness and bail if invalid.
944
945 2016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
946
947 usbtrans: Fix memory coherence and use-after-free.
948
949 ehci: Fix memory coherence
950 This is a no-op on x86 but necessarry on ARM and may be necessarry on MIPS.
951
952 arm-uboot: Make self-relocatable to allow loading at any address
953
954 Allow _start == 0 with relocatable images
955
956 2016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
957
958 Provide __bss_start and _end symbols in grub-mkimage.
959 For this ensure that all bss sections are merged.
960
961 We need this to correctly prelink non-PE relocatable images.
962
963 2016-02-27 Vladimir Serbinenko <phcoder@gmail.com>
964
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.
968
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.
972
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
978
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.
982
983 cat: Don't switch terminal mode when there is nothing to highlight.
984 This just pollutes serial console.
985
986 Use console rather than serial_efi0 on arm64-efi in tests
987
988 2016-02-27 Andrei Borzenkov <arvidjaar@gmail.com>
989
990 efidisk: fix misplaced parenthesis in b00e4c2
991
992 2016-02-26 Andrei Borzenkov <arvidjaar@gmail.com>
993
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.
998
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.
1002
1003 Reported and tested by Andreas Loew <Andreas.Loew@gmx.net>
1004
1005 2016-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 Regenerate checksums
1008
1009 Makefile: Don't delete default_payload.elf if it doesn't exist.
1010
1011 2016-02-25 Josef Bacik <jbacik@fb.com>
1012
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
1017
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.
1020
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.
1031
1032 With this patch I can now talk to ipv6 addresses outside of my local network.
1033 Thanks,
1034
1035 2016-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 ieee1275: fix signed comparison
1038
1039 2016-02-23 Andrei Borzenkov <arvidjaar@gmail.com>
1040
1041 search: actually skip floppy with --no-floppy
1042 grub_device_iterate() ignores device when iterator returns 1, not 0.
1043
1044 Reported by Carlos E. R. <robin.listas@telefonica.net>
1045
1046 2016-02-23 Andrei Borzenkov <arvidjaar@gmail.com>
1047
1048 multiboot2: zero reserved field in memory map
1049 Documentation says, bootloader should set reserved field to zero.
1050
1051 Reported by Wink Saville <wink@saville.com>
1052
1053 2016-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 Improve EHCI logging
1056 Add dprintf's on common error paths and remove some entries which are too
1057 noisy.
1058
1059 usb_keyboard: Remove useless include
1060 This prevents non-PCI machines from having USB.
1061
1062 Refresh before abort
1063 This ensures that abort message is actually visible to the user.
1064
1065 2016-02-22 Eric Snowberg <eric.snowberg@oracle.com>
1066
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.
1073
1074 Newer SPARC systems contain more than 8 available memory entries.
1075
1076 For example on a T5-8 with 2TB of memory, the memory layout could
1077 look like this:
1078
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
1099
1100 2016-02-22 Thomas Huth <thuth@redhat.com>
1101
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().
1111
1112 2016-02-17 Vladimir Serbinenko <phcoder@gmail.com>
1113
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.
1117
1118 default_payload.elf: Include password_pbkdf2.
1119 Withoout this module we may end up in a system where no password is
1120 accepted.
1121
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.
1125
1126 mm: Avoid integer overflow.
1127
1128 Remove -Wno-maybe-uninitialized as it may not be present.
1129
1130 Fix warnings when compiling with -O3
1131
1132 2016-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1133
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.
1137
1138 2016-02-12 Eric Snowberg <eric.snowberg@oracle.com>
1139
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.
1144
1145 2016-02-12 Andreas Freimuth <andreas_freimuth@web.de>
1146
1147 Add Thinkpad T410s button cmos address.
1148
1149 2016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 TODO: Remove obsolete link
1152
1153 2016-02-12 Toomas Soome <tsoome@me.com>
1154
1155 lz4: Fix pointer overflow
1156
1157 2016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 grub-shell: Update 32-bit OVMF binary name.
1160
1161 2016-02-12 Daniel Kiper <daniel.kiper@oracle.com>
1162
1163 relocator: Fix integer underflow.
1164
1165 2016-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Change -v to -V for version of shell utils.
1168
1169 xnu: Add new kernel path to autoconfig.
1170
1171 arm64: Use cpu timer for timekeeping.
1172
1173 powerpc: Trim header in tests.
1174
1175 default_payload: Include syslinuxcfg, all filesystems and xnu.
1176
1177 xnu: Supply random seed.
1178 Now we're able to load kernels up to El Capitan.
1179
1180 Add RNG module.
1181
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.
1186
1187 printf: Fix and test %% behaviour in presence of subsequenbt args.
1188
1189 Split pmtimer wait and tsc measurement from pmtimer tsc calibration.
1190
1191 Make grub_cpu_is_tsc_supported generally available.
1192
1193 Make grub_acpi_find_fadt accessible generically
1194
1195 Make unaligned types public.
1196 This simplifies code which has to handle those types.
1197
1198 Fix emu compilation error on arm.
1199
1200 2016-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 xnu: Include relocated EFI in heap size.
1203
1204 xnu: supply ramsize to the kernel.
1205 Without this info recent kernels crash as they allocate no heap.
1206
1207 2016-02-03 Andrei Borzenkov <arvidjaar@gmail.com>
1208
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.
1212
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.
1218
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.
1222
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
1225
1226 a) have non-empty .moddeps section. Without either externally visible symbols
1227 or .moddeps modules are completely useless and should not be built.
1228
1229 b) do not have any relocations.
1230
1231 Closes: 46986
1232
1233 v2: add run-time check for empty symbol table if relocations are present as
1234 suggested by Vladimir.
1235
1236 2016-02-01 Andrei Borzenkov <arvidjaar@gmail.com>
1237
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.
1244
1245 This still respects user settings GRUB_DISABLE_LINUX_UUID. Not sure what we
1246 should do in this case.
1247
1248 Closes: 45709
1249
1250 2016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Error out if mtools invocation fails.
1253
1254 arm64: Add support for relocations needed for linaro gcc
1255
1256 efiemu: Fix compilation failure
1257
1258 Document cpuid -p
1259
1260 2016-01-22 Robert Elliott <elliott@hpe.com>
1261
1262 efiemu: Handle persistent RAM and unknown possible future additions.
1263
1264 2016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Document expr1 expr2 syntax for test command
1267
1268 2016-01-22 Michael Chang <mchang@suse.com>
1269
1270 Restore terminal settings on grub-emu exit.
1271
1272 2016-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 xen_boot: Remove obsolete module type distinctions.
1275
1276 arm: Ignore qemu clock bug
1277
1278 i386-ieee1275: Increase maximum heap size to accomodate highres graphi tests
1279
1280 2016-01-20 Colin Watson <cjwatson@ubuntu.com>
1281
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.
1286
1287 Fixes Debian bug #812047.
1288
1289 2016-01-16 Colin Watson <cjwatson@ubuntu.com>
1290
1291 loader/bsd: Fix signed/unsigned comparison
1292
1293 ahci, ehci: Fix typos
1294
1295 2016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
1296
1297 grub-probe: fix memory leak
1298 Found by: Coverity scan.
1299 CID: 73783
1300
1301 2016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
1302
1303 tftp: fix memory leaks in open
1304 If protocol open fails, file is immediately freed, so data was leaked.
1305
1306 Found by: Coverity scan.
1307 CID: 96659
1308
1309 2016-01-16 Andrei Borzenkov <arvidjaar@gmail.com>
1310
1311 tcp: fix memory leaks
1312 Found by: Coverity scan.
1313 CID: 96639, 96647
1314
1315 net: fix memory leaks
1316 Found by: Coverity scan.
1317 CID: 96638, 96648
1318
1319 legacycfg: fix memory leaks and add NULL check
1320 Memory leaks found by Coverity scan.
1321 CID: 96642, 96645
1322
1323 2016-01-15 Andrei Borzenkov <arvidjaar@gmail.com>
1324
1325 loader: Unintended sign extension
1326 CID: 96707, 96699, 96693, 96691, 96711, 96709, 96708, 96703, 96702,
1327 96700, 96698, 96696, 96695, 96692, 96710, 96705
1328
1329 2016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
1330
1331 script: fix memory leak
1332 Found by: Coverity scan.
1333 CID: 96637
1334
1335 normal: fix memory leak
1336 Found by: Coverity scan.
1337 CID: 96641, 96670, 96667
1338
1339 xnu: fix memory leak
1340 Found by: Coverity scan.
1341 CID: 96663
1342
1343 truecrypt: fix memory leak
1344 Found by: Coverity scan.
1345 CID: 156611
1346
1347 gfxmenu: fix memory leak
1348 Found by: Coverity scan.
1349 CID: 96657
1350
1351 efiemu: fix memory leak
1352 Found by: Coverity scan.
1353 CID: 156610
1354
1355 efidisk: fix memory leak
1356 Found by: Coverity scan.
1357 CID: 96644
1358
1359 verify: fix memory leak
1360 Found by: Coverity scan.
1361 CID: 96643
1362
1363 password_pbkdf2: fix memory leak
1364 Found by: Coverity scan.
1365 CID: 96656
1366
1367 parttool: fix memory leak
1368 Found by: Coverity scan.
1369 CID: 96652
1370
1371 2016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
1372
1373 nativedisk: fix memory leak
1374 Based on Coverity scan.
1375 CID: 96660
1376
1377 Extended to also cover other error return places.
1378
1379 2016-01-12 Andrei Borzenkov <arvidjaar@gmail.com>
1380
1381 acpi: fix memory leak
1382 Found by: Coverity scan.
1383 CID: 96673
1384
1385 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1386
1387 grub-install: include ehci in list of native modules
1388 This matches behavior of "nativedisk" command.
1389
1390 Reported and tested by Smith Henry <sh37092@gmail.com>
1391
1392 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1393
1394 grub-mkimage: remove redundant NULL check
1395 Found by: Coverity scan.
1396 CID: 73737
1397
1398 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1399
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.
1404
1405 Found by: Coverity scan.
1406 CID: 73837
1407
1408 2016-01-10 Andrei Borzenkov <arvidjaar@gmail.com>
1409
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
1414
1415 - failure to validate blocklist install (read content did not match
1416 just written)
1417
1418 - failure to detect Linux MD on disk after online hot addition
1419 (GRUB got stale superblock)
1420
1421 Closes: 46691
1422
1423 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1424
1425 setup: fix NULL pointer dereference
1426 Check return value of grub_guess_root_devices
1427
1428 Found by: Coverity scan.
1429 CID: 73638, 73751
1430
1431 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1432
1433 mkimage: fix unintended sign extension
1434 Found by: Coverity scan.
1435 CID: 73691, 73717
1436
1437 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1438
1439 util/getroot: delete dead code
1440 is_part cannot be non-zero at this point.
1441
1442 Found by: Coveruty scan.
1443 CID: 73838
1444
1445 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1446
1447 loader/multiboot: fix unintended sign extension
1448 Found by: Coveruty scan.
1449 CID: 73700, 73763
1450
1451 kern/elf: fix unintended sign extension
1452 Found by: Coverity scan.
1453 CID: 73729, 73735, 73758, 73760
1454
1455 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1456
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.
1462
1463 CID: 86724
1464
1465 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1466
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.
1472
1473 CID: 86725
1474
1475 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1476
1477 grub-mklayout: check subscript bounds
1478 Found by: Coverity scan.
1479 CID: 73686
1480
1481 grub-probe: fix memory leak
1482 Found by: Coverity scan.
1483 CID: 73783
1484
1485 gfxmenu: fix memory leak
1486 Found by: Coverity scan.
1487 CID: 73766
1488
1489 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1490
1491 util/setup: fix grub_util_path_list leak
1492 Add helper grub_util_free_path_list and use it where appropriate.
1493
1494 Found by: Coverity scan.
1495 CID: 73727
1496
1497 2016-01-09 Andrei Borzenkov <arvidjaar@gmail.com>
1498
1499 setup: fix memory leak
1500 Found by: Coverity scan.
1501 CID: 73680, 73715
1502
1503 efiemu: check return value of grub_efiemu_write_value
1504 Found by: Coverity scan.
1505 CID: 73590
1506
1507 efiemu: change code to avoid Coverity false positive
1508 CID: 73623
1509
1510 efiemu: fix unintended sign extension
1511 Found by: Coverity scan.
1512 CID: 73883, 73637
1513
1514 hfs: fix memory leak
1515 Found by: Coverity scan.
1516 CID: 156531
1517
1518 grub-module-verifier: fix unintended sign extension
1519 Found by: Coverity scan.
1520 CID: 156533, 156532
1521
1522 2016-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Tests: Support arm-efi
1525
1526 2016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 arm64/setjmp: Add missing move for arg1 == 0 case.
1529
1530 grub-shell: Support arm64-efi
1531
1532 2016-01-07 Mark Salter <msalter@redhat.com>
1533
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.
1539
1540 2016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 x86_64-efi: Automatically add -bios OVMF.fd to qemu in tests.
1543
1544 Allow GRUB_QEMU_OPTS to override machine.
1545
1546 arm64: Disable tests that need native drivers.
1547
1548 Disable NetBSD bootcheck on EFI until it supports ACPI on EFI.
1549
1550 grub-shell: Use new cbfstool syntax.
1551
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.
1555
1556 hddboot_test: reenable on OVMF
1557 OVMF now supports booting from disks.
1558
1559 iee1275/datetime: Fix off-by-1 error.
1560
1561 2016-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1562
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.
1566
1567 On coreboot boot all *BSD except 32-bit NetBSD which apparently does some
1568 early BIOS calls.
1569
1570 2016-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 minixfs_test: Check if mkfs.minixfs supports -B option.
1573
1574 Add memdisk support to grub-emu.
1575 Use it to add custom files, so that tests which need them work.
1576
1577 Move file loading functions to grub-emu.
1578 So that we can use it in grub-emu as well as utils.
1579
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.
1583
1584 Update checksums
1585
1586 2016-01-02 Andrei Borzenkov <arvidjaar@gmail.com>
1587
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
1591
1592 Reported-By: Goh Lip <g.lip@gmx.com>
1593
1594 2016-01-02 Andrei Borzenkov <arvidjaar@gmail.com>
1595
1596 acpihalt: fix GRUB_DSDT_TEST compilation
1597
1598 2016-01-01 Andrei Borzenkov <arvidjaar@gmail.com>
1599
1600 Add missing BUILD_EXEEXT
1601
1602 2015-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1603
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
1608
1609 2015-12-31 Andrey Borzenkov <arvidjaar@gmail.com>
1610
1611 remove temporary .bin files (kernel and modules)
1612
1613 add dejavu built fonts to cleanfiles
1614
1615 2015-12-31 Andrei Borzenkov <arvidjaar@gmail.com>
1616
1617 Add grub-module-verifier files to EXTRA_DIST
1618
1619 2015-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1620
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.
1624
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.
1628
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.
1634
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.
1638
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.
1645
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.
1650
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.
1654
1655 xen/relocator: Use local symbol to ensure that code is relocation-free.
1656
1657 backtrace: Fix register call syntax
1658
1659 Verify modules on build-time rather than failing in runtime.
1660
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.
1664
1665 2015-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
1666
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.
1671
1672 Also use it for Windows as well - chainloader prober may actually return
1673 different strings (Windows, MS-DOS, Windows9xME).
1674
1675 2015-12-30 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G
1678
1679 2015-12-30 Andrei Borzenkov <arvidjaar@gmail.com>
1680
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.
1684
1685 Reported by Michael Chang.
1686 Also-By: Michael Chang <mchang@suse.com>
1687
1688 2015-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
1699 2015-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
1715 2015-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
1725 2015-12-17 Robert Elliott <elliott@hpe.com>
1726
1727 lsefimmap: support persistent memory and other UEFI 2.5 features
1728 This should accompany
1729 76ce1de740 Translate UEFI persistent memory type
1730
1731 1. Add a string for the EfiPersistentMemory type 14 that was
1732 added in UEFI 2.5.
1733
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)
1739
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.)
1742
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.
1747
1748 5. In the lsefimmap command, rewrite the print statements to
1749 * avoid rounding
1750 * avoid a big nested if/else tree.
1751
1752 For example: In the sixth entry below, the value of 309MB implies
1753 316416KB but is really reporting 316436KB.
1754
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.
1758
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
1779
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
1800
1801 2015-12-16 Andrei Borzenkov <arvidjaar@gmail.com>
1802
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.
1806
1807 Closes: 46540
1808
1809 2015-12-16 Andrei Borzenkov <arvidjaar@gmail.com>
1810
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).
1814
1815 2015-12-16 Hector Marco-Gisbert <hecmargi@upv.es>
1816
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
1821
1822 CVE-2015-8370
1823
1824 Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
1825
1826 2015-12-15 Andrei Borzenkov <arvidjaar@gmail.com>
1827
1828 NEWS: more additions
1829 Also-By: Robert Elliott <elliott@hpe.com>
1830
1831 2015-12-15 Robert Elliott <elliott@hpe.com>
1832
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
1838
1839 and translate GRUB_EFI_PERSISTENT_MEMORY to GRUB_MEMORY_PERSISTENT in
1840 grub_efi_mmap_iterate().
1841
1842 Includes
1843 * adding the E820 names to lsmmap
1844 * handling the E820 types in make_efi_memtype()
1845
1846 Suggested-by: Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
1847 Suggested-by: Andrei Borzenkov <arvidjaar@gmail.com>
1848
1849 2015-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 Document bootlocation discovery limitations and xen platform limitations
1852
1853 2015-12-07 Josef Bacik <jbacik@fb.com>
1854
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,
1863
1864 2015-12-01 Michael Chang <mchang@suse.com>
1865
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.
1870
1871 Reported and tested by Vitaly Kuznetsov <vkuznets@redhat.com>
1872
1873 2015-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
1874
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).
1879
1880 2015-11-27 Andrei Borzenkov <arvidjaar@gmail.com>
1881
1882 Replace numbers with grub_memory_type_t enums
1883
1884 2015-11-27 Andrei Borzenkov <arvidjaar@gmail.com>
1885
1886 configure: fix macports flex version detection
1887 Macports add extra information after version itself:
1888
1889 $flex --version
1890 flex 2.5.35 Apple(flex-31)
1891
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.
1894
1895 Reported by Peter Cheung <mcheung63@hotmail.com>
1896
1897 2015-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1898
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.
1903
1904 Based on patch by Michael Chang.
1905
1906 2015-11-26 Andrei Borzenkov <arvidjaar@gmail.com>
1907
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.
1912
1913 Move default case into its own block and add explicit FALLTHROUGH
1914 annotation.
1915
1916 Reported by Elliott, Robert (Persistent Memory) <elliott@hpe.com>
1917
1918 2015-11-24 Josef Bacik <jbacik@fb.com>
1919
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,
1924
1925 2015-11-18 Andrei Borzenkov <arvidjaar@gmail.com>
1926
1927 unix: do not close stdin in grub_passwd_get
1928 This makes it impossible to read from stdin without controlling tty:
1929
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
1934
1935 2015-11-17 Andrei Borzenkov <arvidjaar@gmail.com>
1936
1937 lsefisystab: add missing comma after 7994077
1938
1939 2015-11-14 Pavel Bludov <pbludov@gmail.com>
1940
1941 Add some UUIDs found in the hardware
1942
1943 2015-11-13 Konstantin Vlasov <kvlasov@odin.com>
1944
1945 gfxterm: fix calculation of terminal-top and terminal-height
1946 They used screen width, not height.
1947
1948 2015-11-12 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
1949
1950 ofdisk: add sas disks to the device list
1951
1952 2015-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 multiboot: Don't rely on particular ordering of options.
1955
1956 multiboot_mbi: Fix handling of --quirk-bad-kludge.
1957
1958 2015-11-12 Fu Wei <fu.wei@linaro.org>
1959
1960 xen_boot: Remove useless file_name_index variable.
1961
1962 Document ARM64 xen commands
1963
1964 2015-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1965
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
1970
1971 2015-11-11 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
1972
1973 ofdisk: add a comment about vscsi method
1974
1975 2015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 fdt.mod: Move license tag to the right file.
1978
1979 2015-11-09 Fu Wei <fu.wei@linaro.org>
1980
1981 fdt.mod: Add missing license tag.
1982
1983 2015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 kern/elf: Ignore cast-align warnings
1986
1987 2015-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 cbfs: Fix corner case and compilation with recdent gcc
1990 Accept the header to touch the jump address at 0xfffffff0.
1991
1992 Fix compilation for 64-bit EFI with recent GCC.
1993
1994 2015-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 fstester: Enforce LC_ALL=C
1997
1998 Adapt build-system to use imported xen headers.
1999
2000 Import xen headers directly into GRUB
2001
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>
2005
2006 Remove reliance C.UTF-8
2007
2008 genmoddep.awk: Add a test that we have no circular dependencies
2009
2010 Makefile.core.def: Break circular dependency on arm64.
2011
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).
2016
2017 2015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
2018
2019 partmap_test: check that parted is available
2020 Skip test if parted is unavailable instead of returning false failure.
2021
2022 2015-11-07 grub-devel@iam.tj <grub-devel@iam.tj>
2023
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
2027
2028 disk/cryptodisk.c:978: already mounted as crypto0
2029
2030 Store partition offset in cryptomount descriptor to distinguish between them.
2031
2032 2015-11-07 Andrey Borzenkov <arvidjaar@gmail.com>
2033
2034 doc: document config_directory and config_file variables
2035
2036 2015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
2037
2038 unix/getroot: remove unused MAJOR definition
2039 We use major() everywhere, these definitions just add to confusion.
2040
2041 Add comments to code for commit d313218
2042
2043 2015-11-07 Andrei Borzenkov <arvidjaar@gmail.com>
2044
2045 devmapper/getroot: use makedev instead of direct shift
2046 Fixes device detection with large number of devices.
2047
2048 Reported by Tim Wallberg <twalberg@comcast.net>
2049
2050 2015-11-06 Andrei Borzenkov <arvidjaar@gmail.com>
2051
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.
2056
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.
2060
2061 Also remove redundant zeroing code where we fill in the whole memory block
2062 anyway.
2063
2064 2015-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 configure.ac: Explicitly add -mno-sse3 on x86.
2067
2068 README: Remove dead link to the wiki
2069
2070 2015-10-29 Andrei Borzenkov <arvidjaar@gmail.com>
2071
2072 NEWS: mention powerpc64le support
2073
2074 2015-10-29 Ignat Korchagin <ignat>
2075
2076 tcp: Fix uninited mac address when accepting connection.
2077
2078 2015-10-29 Fu Wei <fu.wei@linaro.org>
2079
2080 arm64: Add support for xen boot protocol.
2081
2082 2015-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 arm64: Move FDT functions to separate module
2085
2086 2015-10-27 Andrei Borzenkov <arvidjaar@gmail.com>
2087
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
2091
2092 2015-10-26 Eric Snowberg <eric.snowberg@oracle.com>
2093
2094 ofdisk: Fix devpath freeing logic.
2095
2096 2015-10-26 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
2097
2098 Implement cross-endian ELF load for powerpc
2099
2100 2015-10-25 Peter Jones <pjones@redhat.com>
2101
2102 Use EFI_SIMPLE_TEXT_INPUT_EX to support key combinations.
2103
2104 2015-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
2105
2106 configure: find options to force endian on MIPS
2107
2108 2015-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
2109
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.
2114
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".
2118
2119 Reported-By: Mark H Weaver <mhw@netris.org>
2120 Also-By: Mark H Weaver <mhw@netris.org>
2121
2122 2015-10-12 Andrei Borzenkov <arvidjaar@gmail.com>
2123
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.
2127
2128 Reported-By: Josef Bacik <jbacik@fb.com>
2129
2130 2015-10-11 Andrei Borzenkov <arvidjaar@gmail.com>
2131
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.
2135
2136 2015-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 mips: Make setjmp code N32-compliant.
2139
2140 mips: Make the assembly-code N32-compatible.
2141 There are no $t4 or $t5 in N32 but there are $a4 and $a5.
2142
2143 2015-10-10 Andrei Borzenkov <arvidjaar@gmail.com>
2144
2145 progress: avoid NULL dereference for net files
2146 From original patch by dann frazier <dann.frazier@canonical.com>:
2147
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.
2155
2156 grub_net_fs_open() already saved copy of file name as ->net->name, so change
2157 progress module to use it.
2158
2159 Also, grub_file_open may leave file->name as NULL if grub_strdup fails. Check
2160 for it.
2161
2162 Also-By: dann frazier <dann.frazier@canonical.com>
2163
2164 2015-10-10 Andrei Borzenkov <arvidjaar@gmail.com>
2165
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).
2170
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.
2173
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.
2176
2177 Reported-By: Arch Stack <archstacker@gmail.com>
2178 Also-By: Arch Stack <archstacker@gmail.com>
2179
2180 2015-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 mips/dl: Handle addend in RELA entries.
2183
2184 gfxmenu/model: Delete empty file.
2185
2186 2015-10-09 Alexander Bluhm <bluhm@genua.de>
2187
2188 ufs: Fix parameters to grub_memset.
2189 len = 0 made simply no sense. Fix parameters to be in line with read.
2190
2191 2015-10-07 Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
2192
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:
2197
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
2203
2204 Can't open device
2205 ok
2206
2207 Therefore, let's not set SUFFIX for such devices.
2208
2209 2015-10-07 Eric Snowberg <eric.snowberg@oracle.com>
2210
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.
2214
2215 2015-09-13 Andrei Borzenkov <arvidjaar@gmail.com>
2216
2217 cryptodisk: strip parenthesis from backing device name
2218 Otherwise subsequent disk open fails.
2219
2220 Reported-By: Klemens Nanni <contact@autoboot.org>
2221
2222 2015-08-22 Felix Zielcke <fzielcke@z-51.de>
2223
2224 disk/ldm, partmap/msdos.c: fix spelling error
2225
2226 2015-08-13 Andrei Borzenkov <arvidjaar@gmail.com>
2227
2228 net: do not try to load protocol module via itself
2229 Otherwise we get infinite recursion.
2230
2231 Closes: 45729
2232
2233 2015-08-09 Josef Bacik <jbacik@fb.com>
2234
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,
2243
2244 cc: Peter Jones <pjones@redhat.com>
2245
2246 2015-08-09 Andrei Borzenkov <arvidjaar@gmail.com>
2247
2248 linguas.sh: fix error when removing non-existing autogenerated files
2249
2250 2015-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 ahci: Ensure that bus mastering is set.
2253 Fixes ahci_test failing on several platforms.
2254
2255 2015-07-27 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 archelp: Never pass NULL as mtime.
2258 Moves complexity from fs code (NULL check) to common code (passing non-NULL).
2259
2260 HFS: Convert to fshelp.
2261 HFS doesn't handle "." and ".." properly. Convert it to fshelp to reuse the
2262 logic.
2263
2264 FAT: Convert to fshelp.
2265 exFAT doesn't handle "." and ".." correctly, convert it to fshelp to
2266 reuse the same logic.
2267
2268 BFS: Convert to fshelp.
2269 BFS doesn't handle ".." correctly, so convert it to fshelp to reuse the logic.
2270
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.
2277
2278 Switch procfs to use archelp.
2279 This fixes handling of "." and "..".
2280
2281 grub-install: Use a+ in fopen rather than r+.
2282 r+ does not create a file if none exists.
2283
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'
2287
2288 2015-07-24 Ignat Korchagin <ignat@cloudflare.com>
2289
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.
2293
2294 2015-07-24 Vladimir Serbinenko <phcoder@gmail.com>
2295
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
2299
2300 xfs_test: Test both crc and non-crc filesystems.
2301
2302 xfs: Fix handling of symlink with crc-enabled filesystem.
2303
2304 reiserfs: Fix handling of first entry in the directory.
2305 Fixes garbage being added to "." filename.
2306
2307 2015-07-23 Ignat Korchagin <ignat@cloudflare.com>
2308
2309 efi: fix memory leak in variable handling
2310
2311 2015-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 exclude.pot: Add missing blacklisted strings.
2314
2315 archelp: Fix handling of dot and dotdot at the end of the name.
2316 Fixes cpio_test and tar_test.
2317
2318 arm-emu: Add __aeabi_memcpy* and __aeabi_memclr* symbols.
2319 Fixes compilation with clang.
2320
2321 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 fwstart: Fix loading of address of read_spd_fail.
2324
2325 fwstart: Add missing argument to p2align.
2326 Resulting binary is unchanged as it happens we were already aligned
2327 by chance.
2328
2329 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2330
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.
2334
2335 Resulting binary is unchanged.
2336
2337 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2338
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.
2343
2344 Revert "mips: Fix soft-float handling."
2345
2346 This partially reverts commit 6a4ecd276ed39f66be0ad6ff0f8ff67598098605.
2347
2348 2015-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 ARM: provide __aeabi_memclr* and __aeabi_memcpy* symbols
2351 Fixes compilation with recent clang.
2352
2353 diskfilter: Make name a const char to fix compilation error.
2354
2355 dmraid_nvidia: Set a name to usable value to avoid null dereference.
2356 Reported by: Andrei Borzenkov
2357
2358 configure.ac: Handle powerpc64le compiler
2359 Also-by: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
2360
2361 2015-07-20 Bernhard Übelacker <bernhardu@vr-web.de>
2362
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
2367
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.
2372
2373 2015-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 XFS: Fix wrong alignment treatment.
2376
2377 grub_ext2_read_block: Fix return type on error.
2378
2379 2015-07-05 Andrei Borzenkov <arvidjaar@gmail.com>
2380
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).
2384
2385 2015-06-26 Michael Chang <mchang@suse.com>
2386
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.
2391
2392 2015-06-26 Andrei Borzenkov <arvidjaar@gmail.com>
2393
2394 chainloader: fix resoource leak
2395 Found by: Coverity scan.
2396 CID: 96651
2397
2398 loader/bsd: fix memory leak
2399 Found by: Coverity scan.
2400 CID: 96662, 96665
2401
2402 2015-06-20 Andrei Borzenkov <arvidjaar@gmail.com>
2403
2404 loader/bsd: free memory leaks
2405 Found by: Coverity scan.
2406 CID: 96671, 96658, 96653
2407
2408 search_wrap: fix memory leak
2409 Found by: Coverity scan.
2410 CID: 96675
2411
2412 password_pbkdf2: fix memory leak
2413 Found by: Coverity scan.
2414 CID: 96676
2415
2416 normal: fix memory leak
2417 Found by: Coverity scan.
2418 CID: 96677
2419
2420 efi/serial: fix memory leak
2421 Found by: Coverity scan.
2422 CID: 96678
2423
2424 ohci: fix memory leak
2425 Found by: Coverity scan.
2426 CID: 96679
2427
2428 loader/bsd: free memory leaks
2429 Found by: Coverity scan.
2430 CID: 96682
2431
2432 multiboot: fix memory leak
2433 Found by: Coverity scan.
2434 CID: 96684
2435
2436 normal: fix memory leak
2437 Found by: Coverity scan.
2438 CID: 96685
2439
2440 loader/bsd: fix memory leak
2441 Found by: Coverity scan.
2442 CID: 96686
2443
2444 reed_solomon: fix memory leak
2445 Found by: Coverity scan.
2446 CID: 96688
2447
2448 usb: fix use after free
2449 Found by: Coverity scan.
2450 CID: 96704
2451
2452 xnu: fix use after free
2453 Found by: Coverity scan.
2454 CID: 96706
2455
2456 disk/scsi: fix use after free
2457 Found by: Coverity scan.
2458 CID: 96713
2459
2460 efi/chainloader: fix use after free
2461 Found by: Coverity scan.
2462 CID: 96714
2463
2464 search: fix use after free
2465 Found by: Coverity scan.
2466 CID: 96715
2467
2468 NEWS: emu libusb support removed
2469
2470 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2471
2472 grub-probe: fix memory leak in probe (ofpath)
2473 Found by: Coverity scan.
2474 CID: 73772
2475
2476 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2477
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.
2482
2483 Calms down Coverity scan.
2484 CID: 73739
2485
2486 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2487
2488 zfs: fix memory leak
2489 Found by: Coverity scan.
2490 CID: 73647
2491
2492 xfs: silence Coverity overflow warning
2493 inode size cannot really overflow integer, but Coverity does not know it.
2494 CID: 96602
2495
2496 zfs: memory leak
2497 Found by Coverity scan.
2498 CID: 96603
2499
2500 unix/getroot: memory leak
2501 Found by Coverity scan.
2502 CID: 96605
2503
2504 unix/relpath: memory leak
2505 Found by Coverity scan.
2506 CID: 96606
2507
2508 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2509
2510 syslinux_parse: assorted issues found by Coverity
2511 1. Remove unneeded NULL check
2512 CID: 96607
2513
2514 2. Do not allocate storage for initrd, copy it directly from input
2515 buffer. Avoids memory leak in failure path.
2516 CID: 96604
2517
2518 3. Unchecked error return from print()
2519 CID: 96601, 73595
2520
2521 2015-06-19 Andrei Borzenkov <arvidjaar@gmail.com>
2522
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.
2526
2527 2015-06-18 Andrei Borzenkov <arvidjaar@gmail.com>
2528
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.
2532
2533 Closes: 45335
2534
2535 2015-06-18 Andrei Borzenkov <arvidjaar@gmail.com>
2536
2537 tests: regression tests for "." and ".." directory entries
2538
2539 2015-06-16 Andrei Borzenkov <arvidjaar@gmail.com>
2540
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.
2545
2546 Also follow UEFI specification recommendation and stop interfaces when
2547 closing them:
2548
2549 Unexpected system errors, reboots and hangs can occur if an OS is loaded
2550 and the network devices are not Shutdown() and Stopped().
2551
2552 Also by: Mark Salter <msalter@redhat.com>
2553 Closes: 45204
2554
2555 2015-06-16 Andrei Borzenkov <arvidjaar@gmail.com>
2556
2557 NEWS: mention libgcc removal
2558
2559 2015-06-15 Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
2560
2561 Add flag for powerpc ieee1275 to avoid unneeded optimizations
2562
2563 2015-06-12 Mark Salter <msalter@redhat.com>
2564
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().
2572
2573 2015-06-12 Paul Menzel <paulepanter@users.sourceforge.net>
2574
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.
2578
2579 2015-06-12 Andrei Borzenkov <arvidjaar@gmail.com>
2580
2581 NEWS: XFS v5 support
2582
2583 2015-06-12 Jan Kara <jack@suse.cz>
2584
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.
2589
2590 xfs: Add helpers for inode size
2591 Add helpers to return size of XFS inode on disk and when loaded in
2592 memory.
2593
2594 2015-06-04 Toomas Soome <tsoome@me.com>
2595
2596 multiboot_header_tag_module_align fix to confirm multiboot specification
2597
2598 2015-06-02 Leif Lindholm <leif.lindholm@linaro.org>
2599
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.
2603
2604 This also enables the removal of some further conditional build flag
2605 setting.
2606
2607 2015-06-01 dann frazier <dann.frazier@canonical.com>
2608
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.
2612
2613 The source file includes a GPLv3+ boilerplate, so fix this by declaring a
2614 GPLv3+ license using the GRUB_MOD_LICENSE macro.
2615
2616 2015-05-31 Paul Menzel <paulepanter@users.sourceforge.net>
2617
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.
2622
2623 2015-05-30 Andrei Borzenkov <arvidjaar@gmail.com>
2624
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.
2628
2629 "Access to menuentry" is a bit vague - change to "execute menuentry"
2630 to make it obvious, what access is granted.
2631
2632 2015-05-30 Paul Menzel <paulepanter@users.sourceforge.net>
2633
2634 Correct spelling of *scheduled*
2635 Run the command below
2636
2637 $ git grep -l schedulded | xargs sed -i 's/schedulded/scheduled/g'
2638
2639 and revert the change in `ChangeLog-2015`.
2640
2641 Including "miscellaneous" spelling fix noted by richardvoigt@gmail.com
2642
2643 2015-05-30 Toomas Soome <tsoome@me.com>
2644
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.
2650
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.
2654
2655 2015-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2656
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.
2662
2663 2015-05-24 Paul Menzel <paulepanter@users.sourceforge.net>
2664
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`.
2667
2668 2015-05-19 Paul Menzel <paulepanter@users.sourceforge.net>
2669
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].
2674
2675 Running `coreboot_boottime` in the GRUB command line interface now shows
2676 descriptions for all time stamps again on the ASRock E350M1.
2677
2678 [1] http://review.coreboot.org/9608
2679
2680 2015-05-17 Andrei Borzenkov <arvidjaar@gmail.com>
2681
2682 bootp: ignore gateway_ip (relay) field.
2683 From RFC1542:
2684
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.
2693
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.
2698
2699 Leave code ifdef'd out for the time being in case we see regression.
2700
2701 Suggested by: Rink Springer <rink@rink.nu>
2702 Closes: 43396
2703
2704 2015-05-17 Andrei Borzenkov <arvidjaar@gmail.com>
2705
2706 hostdisk: fix crash with NULL device.map
2707 grub-macbless calls grub_util_biosdisk_init with NULL device.map.
2708
2709 2015-05-14 Andrei Borzenkov <arvidjaar@gmail.com>
2710
2711 zfs: fix integer truncation in zap_lookup
2712 Size after shift could exceed 16 bits; use grub_unit32_t for result.
2713
2714 Reported and tested by: Kostya Berger <bergerkos@yahoo.co.uk>
2715 Closes: 44448
2716
2717 2015-05-13 Andrei Borzenkov <arvidjaar@gmail.com>
2718
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.
2722
2723 2015-05-12 Jan Kara <jack@suse.cz>
2724
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.
2730
2731 2015-05-11 Jan Kara <jack@suse.cz>
2732
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.
2738
2739 2015-05-08 Andrei Borzenkov <arvidjaar@gmail.com>
2740
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.
2745
2746 Closes: 45002
2747
2748 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2749
2750 Add asm-tests to tarball
2751
2752 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 util/grub-mkrescue: Fix compilation
2755
2756 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2757
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.
2763
2764 Open SNP device exclusively. This destroys all child MNP instances and
2765 stops background polling.
2766
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.
2771
2772 Based on patch from Mark Salter <msalter@redhat.com>
2773
2774 Also-By: Mark Salter <msalter@redhat.com>
2775 Closes: 41731
2776
2777 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2778
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.
2784
2785 Example of device hierarchy is
2786
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)
2791
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.
2795
2796 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2797
2798 efidisk: move device path helpers in core for efinet
2799
2800 convert to, not from, CPU byte order in DNS receive function
2801
2802 2015-05-07 Andrei Borzenkov <arvidjaar@gmail.com>
2803
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.
2809
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.
2813
2814 Reported-By: David Shaw <dshaw@jabberwocky.com>
2815
2816 2015-05-07 Daniel Kiper <daniel.kiper@oracle.com>
2817
2818 i386/relocator: Remove unused extern grub_relocator64_rip_addr
2819
2820 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 grub-install-common: Increase buf size to 8192 as modinfo.sh is bigger.
2823
2824 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 grub-mkrescue: Recognize -output as an alias of --output.
2827 This helps us to be in line with xorriso -as mkisofs.
2828
2829 Suggested by: Thomas Schmitt
2830
2831 2015-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 linux.c: Ensure that initrd is page-aligned.
2834
2835 Revert parts accidentally committed 2 commits ago.
2836
2837 2015-05-07 Fu Wei <fu.wei@linaro.org>
2838
2839 fdt.h: Add grub_fdt_set_reg64 macro
2840
2841 arm64: Export useful functions from linux.c
2842
2843 2015-05-04 Andrei Borzenkov <arvidjaar@gmail.com>
2844
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.
2850
2851 efinet: cannot free const char * pointer
2852
2853 efinet: memory leak on module removal
2854
2855 2015-05-03 Andrei Borzenkov <arvidjaar@gmail.com>
2856
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.
2862
2863 2015-05-03 Toomas Soome <tsoome@me.com>
2864
2865 zfs: com.delphix:embedded_data feature support
2866
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.
2871
2872 2015-04-29 Andrei Borzenkov <arvidjaar@gmail.com>
2873
2874 grub-mkconfig: use $pkgdatadir in scripts
2875 Otherwise scripts will source wrong grub-mkconfig_lib.
2876
2877 2015-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 Remove -V in grub-mkrescue.c
2880 It clashhes with -V which is alias to -volid.
2881
2882 2015-04-13 Toomas Soome <tsoome@me.com>
2883
2884 getroot: include sys/mkdev.h for makedev
2885 Solaris (like) systems need to include sys/mkdev.h for makedev() function.
2886
2887 2015-04-13 Toomas Soome <tsoome@me.com>
2888
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:
2892
2893 and therefore can not be used as name.
2894
2895 2015-04-12 Paul Menzel <paulepanter@users.sourceforge.net>
2896
2897 docs/grub.texi: Fix spelling of cbfstool
2898
2899 2015-04-06 Andrei Borzenkov <arvidjaar@gmail.com>
2900
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.
2904
2905 Reported-By: Michael Zimmermann <sigmaepsilon92@gmail.com>
2906
2907 2015-03-28 Andrei Borzenkov <arvidjaar@gmail.com>
2908
2909 do not emit cryptomount without crypto UUID
2910
2911 2015-03-28 Sarah Newman <srn@prgmr.com>
2912
2913 grub-core/loader/i386/xen.c: Initialized initrd_ctx so we don't free a random pointer from the stack.
2914
2915 2015-03-27 Andrei Borzenkov <arvidjaar@gmail.com>
2916
2917 net: trivial grub_cpu_to_XX_compile_time cleanup
2918
2919 2015-03-27 Lunar <lunar@torproject.org>
2920
2921 syslinux: Support {vesa,}menu.c32.
2922
2923 2015-03-27 Steve McIntyre <steve@einval.com>
2924
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.
2930
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.
2935
2936 2015-03-27 Michael Zimmermann <sigmaepsilon92@gmail.com>
2937
2938 Add missing initializers to silence suprious warnings.
2939
2940 2015-03-27 Leif Lindholm <leif.lindholm@linaro.org>
2941
2942 dl_helper: Cleanup
2943 Use the new thumb_get_instruction_word/thumb_set_instruction_word
2944 helpers throughout.
2945
2946 Style cleanup (missing spaces).
2947
2948 Move Thumb MOVW/MOVT handlers into Thumb relocation section of file.
2949
2950 2015-03-27 Martin Wilck <martin.wilck@ts.fujitsu.com>
2951
2952 efinet: Check for immediate completition.
2953 This both speeds GRUB up and workarounds unexpected EFI behaviour.
2954
2955 2015-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 Make Makefile.util.def independent of platform.
2958
2959 2015-03-27 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2960
2961 util/mkimage: Use stable timestamp when generating binaries.
2962
2963 2015-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 modinfo.sh.in: Add missing config variables.
2966
2967 Makefile.core.def: Remove obsolete LDADD_KERNEL
2968
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.
2973
2974 2015-03-23 Colin Watson <cjwatson@ubuntu.com>
2975
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.
2981
2982 2015-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 compiler-rt-emu: Add missing file.
2985
2986 emunet: Fix init error checking.
2987 Otherwise emunet doesn't expose any cards.
2988
2989 fddboot_test: Add -no-pad to xorriso.
2990
2991 grub-mkrescue: pass all unrecognized options unchanged to xorriso.
2992
2993 cacheinfo: Add missing license information.
2994
2995 2015-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
2996
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.
3000
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.
3003
3004 2015-03-19 Andrei Borzenkov <arvidjaar@gmail.com>
3005
3006 core: add LVM RAID1 support
3007 Closes 44534.
3008
3009 2015-03-16 Andrei Borzenkov <arvidjaar@gmail.com>
3010
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.
3014
3015 2015-03-15 Andrei Borzenkov <arvidjaar@gmail.com>
3016
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.
3022
3023 2015-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 hfsplus: Fix potential access to uninited memory on invalid FS
3026
3027 2015-03-06 Jon McCune <jonmccune@google.com>
3028
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.
3032
3033 2015-03-05 Andrei Borzenkov <arvidjaar@gmail.com>
3034
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
3038
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 ...
3044
3045 Update gnulib/argp-help.c to the current version which fixes this
3046 (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
3047
3048 2015-03-05 Andrey Borzenkov <arvidjaar@gmail.com>
3049
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
3056
3057 Update m4/extern-inline.m4 to current upstream gnulib version that
3058 contains fix for this (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
3059
3060 Reported-By: Beeblebrox <zaphod@berentweb.com>
3061
3062 2015-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 syslinux_parse: Fix the case of unknown localboot.
3065 Reported by: Jordan Uggla
3066
3067 configure.ac: Fix the name of pciaccess header.
3068
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.
3073
3074 2015-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3075
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.
3079
3080 configure.ac: Remove unused COND_clang
3081
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.
3091
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.
3095
3096 configure.ac: Set $CPPFLAGS when checking for no_app_regs.
3097 Fixes compilation for sparc64 with clang.
3098
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".
3101
3102 2015-02-28 Andrei Borzenkov <arvidjaar@gmail.com>
3103
3104 grub-probe: free temporary variable
3105
3106 2015-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 exclude.pot: Add new technical strings
3109
3110 grub-probe: Mark a "[default=]" for translation.
3111
3112 grub-shell: Add missing --locale-directory.
3113 Fixes the language tests is no make install was done.
3114
3115 ntfs_test: Skip is setfattr is unavailable.
3116
3117 2015-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 emu/cache: Change declaration of __clear_cache to match builtin declaration.
3120 Fixes compile of arm64-emu.
3121
3122 arm/dl: Fix handling of nonstandard relocation sizes
3123
3124 gzio: Optimize by removing division.
3125
3126 raid6: Optimize by removing division.
3127
3128 dmraid_nvidia: Fix division by 0 and missing byte-swap.
3129
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.
3134
3135 jpeg: Optimise by replacing division with shifts.
3136
3137 png: Optimize by avoiding divisions.
3138
3139 Add missing lib/division.c
3140
3141 fbblit: Optimize by replacing division with additions and shifts.
3142
3143 bitmap_scale: Optimize by moving division out of the loop.
3144
3145 minilzo: Skip parts tha we don't need.
3146
3147 2015-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3148
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.
3154
3155 Add missing grub_ prefix in memcpy invocation
3156
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.
3160
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.
3165
3166 Supply signed division to fix ARM compilation.
3167 Previously we supplied only unsigned divisions on platforms that need software
3168 division.
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.
3171
3172 2015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 acpi: Fix unused function warning.
3175
3176 configure.ac: Add ia64-specific way to disable floats.
3177
3178 i386/tsc: Fix unused function warning on xen.
3179
3180 2015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 Experimental support for clang for sparc64.
3183 Automatically discover command line options to make clang and
3184 gcc behave in same way.
3185
3186 Tested with qemu.
3187
3188 2015-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3189
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.
3193
3194 2015-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 mips: Switch to more portable .org
3197 Binary is unchanged.
3198
3199 sparc64: Switch to more portable .org.
3200 Binaries are unchanged.
3201
3202 kernel-8086: Switch to more portable .org.
3203
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.
3207
3208 qemu: Switch to more portable .org
3209 Binary is checked identical.
3210
3211 qemu: Fix GateA20 enabling.
3212 GateA20 code was inactive due to address error.
3213
3214 qemu: Fix compilation
3215
3216 Remove realmode.S from coreboot and qemu.
3217 It's not used there.
3218
3219 Remove obsolete ADDR32 and DATA32 checks.
3220
3221 i386: Remove needless ADDR32 prefixes when address is known and fixed.
3222 Shaves off 6 bytes in lzma_decompress.img.
3223
3224 i386-pc/boot: Explicitly mark kernel_address[_high] as local.
3225 Otherwise apple asm might try to make accesses relocatable.
3226
3227 Change dot assignmnet to more portable .org.
3228 Binary is unchanged (verified)
3229
3230 i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
3231 Is more portable.
3232 Binary is unchanged (verified).
3233
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.
3237
3238 INSTALL: clarify that clang support is experimental
3239
3240 zfs/mzap_lookup: Fix argument types
3241
3242 wildcard: Mark unused argument as such.
3243
3244 ofdisk: Exclude floppies from scanning.
3245 It causes similar hang as CD on at least the qemu.
3246
3247 configure: Add -msoft-float to CCASFLAGS
3248 Otherwise mismatch between API flags triggers linker failure
3249
3250 mips/startup_raw: Use more portable .asciz
3251
3252 Provide __aeabi_mem{cpy,set}
3253 Fixes ARM compilation
3254
3255 div_test: Don't try to divide by zero
3256
3257 INSTALL: Fix names of host flags to match actual behaviour
3258
3259 Strip .MIPS.abiflags which causes compile failure
3260
3261 2015-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 configure: Move adding of include options to the very end to avoid subshell.
3264
3265 configure: Add missing comma.
3266
3267 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 ext2: Ignore INCOMPAT_MMP.
3270 It's not really incompatible as long as driver never writes to FS.
3271
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.
3275
3276 2015-02-16 Andrei Borzenkov <arvidjaar@gmail.com>
3277
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.
3281
3282 build-sys: add syslinux test files to tarball
3283
3284 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 Add test for syslinux converter
3287
3288 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 Don't remove initrd= parameter.
3291 Based on simplified patch by Lunar.
3292
3293 Reported by: Lunar
3294
3295 2015-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 syslinux_parse: Always output comments even if no entries are found.
3298
3299 2015-02-15 Andrei Borzenkov <arvidjaar@gmail.com>
3300
3301 diskfilter_make_raid: more memory leaks in failure path
3302
3303 2015-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 disk/lvm: Use zalloc to ensure that segments are initialised to sane value.
3306 Reported by: EmanueL Czirai.
3307
3308 2015-02-14 Daniel Kiper <daniel.kiper@oracle.com>
3309
3310 multiboot2: Fix information request tag size calculation
3311
3312 2015-02-14 Andrei Borzenkov <arvidjaar@gmail.com>
3313
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.
3318
3319 Also fix memory leak in failure case in grub_diskfilter_make_raid.
3320
3321 Closes: 41582
3322
3323 2015-02-14 Andrei Borzenkov <arvidjaar@gmail.com>
3324
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.
3330
3331 Also fix segment validation in validate_lv; it became obvious when crash
3332 was fixed.
3333
3334 Closes: 44199
3335
3336 2015-02-12 Jiri Slaby <jslaby@suse.cz>
3337
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 ^
3347
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
3351
3352 2015-02-03 Leif Lindholm <leif.lindholm@linaro.org>
3353
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.
3357
3358 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3359
3360 setup: fix blocklist size calculation
3361 Found by: Coverity scan.
3362
3363 grub-fstest: fix descriptor leak
3364 Found by: Coverity scan.
3365
3366 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3367
3368 net/pxe: fix error condition
3369 Test return value of grub_netbuff_reserve(), buf itself cannot be
3370 NULL here.
3371
3372 Found by: Coverity scan.
3373
3374 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3375
3376 grub-mkimage: fix potential NULL pointer dereference
3377 Move fatal check whether symtab_section is NULL before first reference.
3378
3379 Found by: Coverity scan.
3380
3381 2015-01-30 Andrei Borzenkov <arvidjaar@gmail.com>
3382
3383 net/ip: check result of grub_netbuff_push
3384 Found by: Coverity scan.
3385
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.
3390
3391 test: consistently use TMPDIR and same name pattern for temp files
3392
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.
3396
3397 test: do not stop after first file test or closing bracket
3398 Closes: 44115
3399
3400 2015-01-28 Leif Lindholm <leif.lindholm@linaro.org>
3401
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.
3405
3406 Reported-by: Ryan Harkin <ryan.harkin@linaro.org>
3407
3408 2015-01-28 Andrei Borzenkov <arvidjaar@gmail.com>
3409
3410 script/execute.c: fix memory leak.
3411 Make sure to continue loop over array after failure to free
3412 allocated strings.
3413
3414 Found by: Coverity scan.
3415
3416 2015-01-28 Andrei Borzenkov <arvidjaar@gmail.com>
3417
3418 syslinux_parse: fix memory leak.
3419 Found by: Coverity scan.
3420
3421 2015-01-27 Andrei Borzenkov <arvidjaar@gmail.com>
3422
3423 Change quotes to match overall style in NEWS
3424
3425 loader/xnu: fix memory leak.
3426 Foound by: Coverity scan.
3427
3428 util/grub-probe: fix memory leaks.
3429 Found by: Coverity scan.
3430
3431 fs/hfsplus: fix memory leak.
3432 Found by: Coverity scan.
3433
3434 fs/zfs/zfscrypt.c: fix indentation.
3435
3436 fs/zfs/zfscrypt.c: fix memory leaks.
3437 Found by: Coverity scan.
3438
3439 commands/parttool: fix memory leak.
3440 Found by: Coverity scan.
3441
3442 fs/zfs/zfs.c: fix memory leak.
3443 Found by: Coverity scan.
3444
3445 linux/ofpath: fix descriptor leak
3446 Found by: Coverity scan
3447
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.
3452
3453 2015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 Document intentional fallthroughs.
3456 Found by: Coverity scan.
3457
3458 linux/ofpath: Fix error handling.
3459 Found by: Coverity Scan.
3460
3461 linux/hostdisk: Limit strcpy size to buffer size.
3462 Found by: Coverity scan.
3463
3464 fs/zfscrypt: Add missing explicit cast.
3465 Found by: Coverity scan.
3466
3467 fs/zfs: Fix error handling.
3468 Found by: Coverity Scan.
3469
3470 2015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 fs/{cbfs,cpio}: Remove useless check if mode is NULL.
3473 Callers already ensure that it's not null.
3474
3475 Found by: Coverity Scan.
3476
3477 2015-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 commands/acpi: Use ALIGN_UP rather than manual expression.
3480 Improves readability and hopefully automatic scanning.
3481
3482 Found by: Coverity Scan.
3483
3484 2015-01-26 Andrei Borzenkov <arvidjaar@gmail.com>
3485
3486 util/setup: fix memory leak.
3487 Found by: Coverity scan.
3488
3489 util/mkimage: fix memory leaks.
3490 Found by: Coverity scan.
3491
3492 util/grub-mount: fix descriptor leak.
3493 Found by: Coverity scan.
3494
3495 util/grub-mkstandalone: fix memory leak.
3496 Found by: Coverity scan.
3497
3498 util/grub-install: rearrange code to avoid memory leak.
3499 Found by: Coverity scan.
3500
3501 linux/getroot: fix memory leak.
3502 Found by: Coverity scan.
3503
3504 util/install: fix memory leak.
3505 Found by: Coverity scan.
3506
3507 util/setup: fix memory leak.
3508 Found by: Coverity scan.
3509
3510 linux/ofpath: fix various memory leaks.
3511 Found by: Coverity scan.
3512
3513 linux/getroot: fix descriptor leak.
3514 Found by: Coverity scan.
3515
3516 2015-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 util/misc.c: Check ftello return value.
3519 Found by: Coverity scan.
3520
3521 grub-macbless: Fix resource leak.
3522 Found by: Coverity scan.
3523
3524 grub-install: Fix memory leak.
3525 Found by: Coverity scan.
3526
3527 grub-install-common: Fix sizeof usage.
3528 Found by: Coverity scan.
3529
3530 util/getroot: Add missing grub_disk_close.
3531 Found by: Coverity scan.
3532
3533 vbe: Fix incorrect register usage.
3534 Found by: Coverity scan.
3535
3536 unix/password: Fix file descriptor leak.
3537 Found by: Coverity scan.
3538
3539 linux/getroot: Fix error handling.
3540 Found by: Coverity scan.
3541
3542 linux/blocklist: Fix memory leak.
3543 Found by: Coverity scan.
3544
3545 devmapper/getroot: Fix memory leak.
3546 Found by: Coverity scan.
3547
3548 normal/misc: Close device on all pathes.
3549 Found by: Coverity scan.
3550
3551 normal/main: Fix error handling.
3552 Found by: Coverity scan.
3553
3554 xnu: Add missing error check.
3555 Found by: Coveriy scan.
3556
3557 plan9: Add missing grub_device_close.
3558 Found by: Coverity scan.
3559
3560 multiboot: Simplify to avoid confusing assignment.
3561 Found by: Coverity scan.
3562
3563 bsd: Add missing null-pointer check.
3564 Found by: Coverity scan.
3565
3566 lib/syslinux_parse: Add missing error check.
3567 Found by: Coverity scan.
3568
3569 lib/syslinux_parse: Fix memory leak.
3570 Found by: Coveriy scan.
3571
3572 lib/syslinux_parse: Add missing alloc check.
3573 Found by: Coverity scan.
3574
3575 i386/pc/mmap: Fix memset size.
3576 Found by: Coverity scan.
3577
3578 gfxmenu/theme_loader: Add missing allos error check.
3579 Found by: Coverity scan.
3580
3581 gfxmenu/icon_manager: Fix null pointer dereference.
3582 Found by: Coverity scan.
3583
3584 fs/ufs: Add missing error check.
3585 Found by: Coverity scan.
3586
3587 configure.ac: Always add -D_FILE_OFFSET_BITS=64.
3588
3589 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 fs/sfs: Fix error check and add sanity check.
3592 Found by: Coverity scan.
3593
3594 fs/reiserfs: Fix sector count overflow.
3595 Found by: Coverity scan.
3596
3597 fs/ntfs: Add sizes sanity checks.
3598 Found by: Coverity scan.
3599
3600 fs/ntfs: Add missing free.
3601 Found by: Coverity scan.
3602
3603 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 fs/minix: Fix sector promotion to 64-bit.
3606 While on it make GRUB_MINIX_ZONE2SECT into function.
3607
3608 Found by: Coverity scan
3609
3610 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 grub_iso9660_read: Explicitly check read_node return value.
3613 Not really needed as grub_errno is already checked but is nicer.
3614
3615 Found by: Coverity scan.
3616
3617 2015-01-25 Andrei Borzenkov <arvidjaar@gmail.com>
3618
3619 commands/fileXX: Fix remaining memory leak.
3620 Found by: Coverity Scan.
3621
3622 2015-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 fs/hfs: Add pointer sanity checks.
3625 Found by: Coverity scan.
3626
3627 fs/hfs/hfs_open: Check that mount succeeded.
3628 Found by: Coverity scan.
3629
3630 fs/fat: Fix codepath to properly free on error.
3631 Found by: Coverity scan.
3632
3633 fs/cpio_common: Add a sanity check on namesize.
3634 Found by: Coverity scan.
3635
3636 fs/cbfs: Add missing free.
3637 Found by: Coverity scan.
3638
3639 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 font: Add missing free.
3642 Found by: Coverity Scan.
3643
3644 biosdisk: Add missing cast.
3645 Found by: Coverity scan.
3646
3647 disk/geli: Add missing free.
3648 Found by: Coverity scan.
3649
3650 disk/geli: Add missing seek success check.
3651 Found by: Coverity scan.
3652
3653 disk/diskfilter: Add missing lv presence check.
3654 Found by: Coverity scan.
3655
3656 disk/cryptodisk: Add missing error check.
3657 Found by: Coverity scan.
3658
3659 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 disk/ahci: Fix device_map_range argument.
3662 Argument is not used on x86, hence it's gone unnoticed.
3663
3664 Found by: Coverity scan.
3665
3666 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 disk/AFsplitter: check argument validity before doing any allocs.
3669 This avoids possible memory leaks.
3670
3671 Found by: Coverity scan.
3672
3673 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 commands/wildcard: Add missing free.
3676 Found by: Coverity scan.
3677
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.
3681
3682 commands/tr: Simplify and fix missing parameter test.
3683 Found by: Coverity scan
3684
3685 commands/syslinux: Add missing free.
3686 Found by: Coverity scan.
3687
3688 commands/parttool: Add missing device close.
3689 Found by: Coverity scan.
3690
3691 commands/nativedisk: Add missing device_close.
3692 Found by: Coverity scan.
3693
3694 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 commands/macbless: Handle device opening errors correctly.
3697 Wrong variable was checked for errors.
3698
3699 Found by: Coverity scan.
3700
3701 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3702
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.
3706
3707 Found by: Coverity scan.
3708
3709 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 commands/macbless: Remove incorrect grub_free.
3712 Found by: Coverity Scan
3713
3714 commands/legacycfg: Fix resource leaks.
3715
3716 zfs: Fix disk-matching logic.
3717 Reported by: Tim Chase <dweeezil>
3718
3719 commands/hdparm: Add missing grub_disk_close.
3720 Found by: Coverity scan.
3721
3722 gptsync: Add missing device_close.
3723 Found by: Coverity scan
3724
3725 commands/fileXX: Fix memory leak.
3726 Found by: Coverity Scan.
3727
3728 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3729
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.
3733
3734 Found by: Coverity Scan.
3735
3736 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 commands/acpi: Use ALIGN_UP rather than manual expression.
3739 Improves readability and hopefully automatic scanning.
3740
3741 Found by: Coverity Scan.
3742
3743 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 uhci: Fix null pointer dereference.
3746 Found by: Coverity scan.
3747
3748 Always add -msoft-float to avoid compiler generating float arithmetics.
3749
3750 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3751
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.
3756
3757 Reported by: Andrei Borzenkov <arvidjaar@gmail.com>
3758
3759 2015-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3760
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.
3764
3765 efidisk: Return the determined root disk even if partition is unknown.
3766
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.
3772
3773 conf/Makefile.common: Remove unused {LD,C}FLAGS_CPU.
3774
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.
3779
3780 2015-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * tests/file_filter/file: Really add missing file.
3783
3784 2015-01-23 Andrei Borzenkov <arvidjaar@gmail.com>
3785
3786 Mention platform "none" in NEWS
3787
3788 2015-01-23 Andrey Borzenkov <arvidjaar@gmail.com>
3789
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.
3793
3794 Suggested-By: Michael Chang <mchang@suse.com>
3795 Closes: 44026