Andrei Borzenkov
ebb3d958aa
fix memory corruption in pubkey filter over network
...
grub_pubkey_open closed original file after it was read; it set
io->device to NULL to prevent grub_file_close from trying to close device.
But network device itself is stacked (net -> bufio); and bufio preserved
original netfs file which hold reference to device. grub_file_close(io)
called grub_bufio_close which called grub_file_close for original file.
grub_file_close(netfs-file) now also called grub_device_close which
freed file->device->net. So file structure returned by grub_pubkey_open
now had device->net pointed to freed memory. When later file was closed,
it was attempted to be freed again.
Change grub_pubkey_open to behave like other filters - preserve original
parent file and pass grub_file_close down to parent. In this way only the
original file will close device. We really need to move this logic into
core instead.
Also plug memory leaks in error paths on the way.
Reported-By: Robert Kliewer <robert.kliewer@gmail.com>
Closes: bug #43601
2014-12-05 21:17:08 +03:00
Andrey Borzenkov
954fe77163
cleanup: grub_cpu_to_XXX_compile_time for constants
...
This tries to catch all cases where grub_cpu_to_XXX was used for constant
expressions (including sizeof).
2014-09-22 20:47:10 +04:00
Valentin Dornauer
0f1f95c7b7
ACPIhalt: Add more ACPI opcodes.
...
The AML parser implements only a small subset of possible AML
opcodes. On the Fujitsu Lifebook E744 this and another bug in
the parser (incorrect handling of TermArg data types) would lead
to the laptop not turning off (_S5 not found).
* grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
aren't always simply strings!); Add function to skip TermArgs
* include/grub/acpi.h: Add new opcodes
2014-09-21 18:58:14 +02:00
Vladimir Serbinenko
7c378c3964
* grub-core/commands/keylayouts.c: Ignore unknown keys.
2014-09-21 18:49:49 +02:00
Vladimir Serbinenko
5e42618e00
Fix wrong commit
2014-09-21 18:18:03 +02:00
Michael Chang
0aece00c54
* grub-core/osdep/unix/config.c: Remove extraneous comma.
2014-09-21 17:49:13 +02:00
Роман Пехов
1f6af2a9f8
* grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
2014-06-22 03:51:50 +04:00
Stephane Rochoy
3f3ec8ef44
* grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
...
EFI system table physical address.
2014-06-22 01:34:57 +02:00
Vladimir Serbinenko
2c2c5c720d
* grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
2014-06-21 20:11:08 +02:00
Vladimir Serbinenko
480c89858e
* grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
...
check.
2014-06-21 20:10:48 +02:00
Vladimir Serbinenko
8063ce197f
Replace few instances of memcmp/memcpy in the code that should be grub_memcmp/grub_memcpy.
2014-04-04 07:58:42 +02:00
Vladimir Serbinenko
61c8482b20
Fix several translatable strings.
...
Suggested by: D. Prévot.
2014-01-24 18:20:27 +01:00
Vladimir Serbinenko
6c519b5c6c
* grub-core/commands/macbless.c: Rename FILE and DIR to avoid
...
conflicts.
Reported by: Andrey Borzenkov.
2014-01-18 19:26:40 +01:00
Andrey Borzenkov
f371dd5da8
fix include loop on MinGW due to libintl.h pulling stdio.h
...
In file included from ./include/grub/dl.h:23:0,
from grub-core/lib/libgcrypt-grub/cipher/rfc2268.c:3:
./include/grub/list.h:34:18: warning: conflicting types for 'grub_list_push' [en
abled by default]
void EXPORT_FUNC(grub_list_push) (grub_list_t *head, grub_list_t item);
^
./include/grub/symbol.h:68:25: note: in definition of macro 'EXPORT_FUNC'
# define EXPORT_FUNC(x) x
^
In file included from ./include/grub/fs.h:30:0,
from ./include/grub/file.h:25,
from ./grub-core/lib/posix_wrap/stdio.h:23,
from c:\mingw\include\libintl.h:314,
from ./include/grub/i18n.h:33,
from ./include/grub/misc.h:27,
from ./include/grub/list.h:25,
from ./include/grub/dl.h:28,
from grub-core/lib/libgcrypt-grub/cipher/rfc2268.c:3:
./include/grub/partition.h:106:3: note: previous implicit declaration of 'grub_l
ist_push' was here
grub_list_push (GRUB_AS_LIST_P (&grub_partition_map_list),
^
list.h needs just ATTRIBUTE_ERROR from misc.h; split compiler features
into separate file grub/compiler.h and include it instead.
2014-01-18 21:22:57 +04:00
Vladimir Serbinenko
72f099578e
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-12-23 18:17:29 +01:00
Vladimir Serbinenko
a4d610026f
ARM64 grub-file and grub-mkconfig support.
2013-12-23 18:17:09 +01:00
Colin Watson
16f7455b04
* configure.ac: Fix spelling.
...
* grub-core/commands/parttool.c: Fix grammar.
* grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
Embedding Partition".
2013-12-23 13:32:35 +00:00
Vladimir Serbinenko
260632161f
Add arm64-efi recognition to grub-file.
2013-12-23 05:33:44 +01:00
Vladimir Serbinenko
4cd0b55fd0
Fix ia64-efi recognition in grub-file.
2013-12-23 05:27:04 +01:00
Vladimir Serbinenko
95b56e3a97
Recognize raspberry pi kernel in grub-file.
2013-12-23 05:19:42 +01:00
Vladimir Serbinenko
ab216512d7
* grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as u32
...
as both HFS and HFS+ have 32-bit inodes.
2013-12-21 14:40:53 +01:00
Vladimir Serbinenko
065adc346c
Clarify several translatable messages.
2013-12-21 03:21:45 +01:00
David Prévot
496a6b3024
Correct some translatable strings.
2013-12-21 03:03:31 +01:00
Vladimir Serbinenko
bfdfeb2508
Clarify several translatable messages.
2013-12-21 01:41:16 +01:00
Vladimir Serbinenko
64dd5fdc00
Add missing license section in macbless.mod and macho.mod.
2013-12-18 17:11:11 +01:00
Vladimir Serbinenko
9246d5c8a4
* grub-core/commands/fileXX.c: Silence cast-align.
...
* grub-core/loader/i386/xen_fileXX.c: Likewise.
2013-12-18 07:40:43 +01:00
Vladimir Serbinenko
57a691b7e7
Decrease number of strings to translate.
2013-12-18 07:26:13 +01:00
Vladimir Serbinenko
636977b089
Mark strings for translation and add remaining ones to exclude list.
2013-12-18 06:50:24 +01:00
Vladimir Serbinenko
81294aff98
Remove check_nt_hiberfil as it's been superseeded by file command.
2013-12-18 06:03:23 +01:00
Vladimir Serbinenko
8f5add13ff
Implement syslinux parser.
2013-12-18 05:28:05 +01:00
Vladimir Serbinenko
8ff35d0a1b
* grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
2013-12-18 05:21:06 +01:00
Vladimir Serbinenko
ba14476051
Support cpuid --pae.
2013-12-17 23:40:49 +01:00
Jon McCune
24d5934daa
Fix double-free introduced by commit 33d02a42d6
...
To reproduce the problem, make sure you have a GPG public key available, build and install GRUB:
grub-install --debug --debug-image="all" --pubkey=/boot/pubkey.gpg --modules="serial terminfo gzio search search_label search_fs_uuid search_fs_file linux vbe video_fb video mmap relocator verify gcry_rsa gcry_dsa gcry_sha256 hashsum gcry_sha1 mpi echo loadenv boottime" /dev/sda
Sign all the files in /boot/grub/* and reboot.
'make check' results identical before and after this change.
TESTED: In a QEMU VM using an i386 target.
2013-12-17 07:32:07 -08:00
Vladimir Serbinenko
b8765fa082
Implement better integration with Mac firmware.
2013-12-17 15:21:02 +01:00
Vladimir Serbinenko
ec824e0f2a
Implement grub_file tool and use it to implement generating of config
...
in separate root.
2013-12-17 14:39:48 +01:00
Vladimir Serbinenko
a82010503e
Update exclude.pot and mark few strings for translation.
2013-12-17 01:18:09 +01:00
Vladimir Serbinenko
66a07ce2f8
* grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
2013-12-16 15:28:07 +01:00
Vladimir Serbinenko
d99af4f0e8
* grub-core/commands/efi/lsefisystab.c: Use %lld to show num_table_entries.
2013-12-15 14:42:19 +01:00
Vladimir Serbinenko
ed55931073
* grub-core/commands/acpi.c: Use grub_addr_t rather than long when
...
appropriate.
2013-12-15 14:27:04 +01:00
Vladimir Serbinenko
7e47e27bd8
Add gcc_struct to all packed structures when compiling with mingw.
...
Just "packed" doesn't always pack the way we expect.
2013-12-15 14:14:30 +01:00
Vladimir Serbinenko
44bbfa33b8
Propagate the EFI commits to x86-efi specific parts.
2013-12-11 16:11:17 +01:00
Vladimir Serbinenko
3e3dff249f
* grub-core/commands/efi/lssal.c: Fix terminating condition.
2013-12-11 15:59:12 +01:00
Vladimir Serbinenko
316dda716c
Introduce grub_efi_packed_guid and use it where alignment is not
...
guaranteed.
2013-12-11 15:57:08 +01:00
Vladimir Serbinenko
7bbb60cfbd
* grub-core/commands/verify.c (free_pk): Plug memory leak.
...
(grub_load_public_key): Likewise.
(grub_verify_signature_real): Likewise.
(grub_cmd_verify_signature): Likewise.
2013-11-18 02:40:17 +01:00
Vladimir Serbinenko
da93d6753b
* grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
...
memory leak.
2013-11-18 02:37:46 +01:00
Vladimir Serbinenko
4f84ae0ec8
Decrease stack usage in signature verification.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
rather than stack.
(grub_verify_signature_real): Likewise.
2013-11-16 16:34:51 +01:00
Vladimir Serbinenko
1dcb27157d
* grub-core/commands/verify.c: Remove variable length arrays.
...
Load gcry_dsa/gcry_rsa automatically.
2013-11-12 16:07:30 +01:00
Vladimir Serbinenko
15decd26cc
* grub-core/tests/legacy_password_test.c: New test.
...
* grub-core/commands/legacycfg.c: Remove variable length arrays.
2013-11-12 02:38:33 +01:00
Vladimir Serbinenko
44a387e0ea
* grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2013-11-12 01:19:34 +01:00
Vladimir Serbinenko
a1ef7718c9
* grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
...
covers it).
2013-11-12 00:58:46 +01:00
Vladimir Serbinenko
65ddb30016
* grub-core/commands/hashsum.c: Remove variable length arrays.
2013-11-12 00:52:54 +01:00
Vladimir Serbinenko
9612ebc00e
Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
...
XEN PV environment and load kernels.
2013-11-09 21:29:11 +01:00
Vladimir Serbinenko
3c98038174
* grub-core/commands/i386/cmostest.c: Add new command "cmosset".
...
Tested by: Denis 'GNUtoo' Carikli.
2013-11-09 17:27:49 +01:00
Vladimir Serbinenko
ec0ebb3fc2
Remove vestiges of -Wunsafe-loop-optimisations.
...
* conf/Makefile.common (CFLAGS_GNULIB): Remove
-Wno-unsafe-loop-optimisations.
* grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
pragma.
* grub-core/io/gzio.c: Likewise.
* grub-core/script/parser.y: Likewise.
* grub-core/script/yylex.l: Likewise.
* util/grub-mkfont.c: Likewise.
2013-11-07 02:25:31 +01:00
Vladimir Serbinenko
c7f34744c6
* grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
...
BIOS disk check.
2013-11-07 00:46:44 +01:00
Vladimir Serbinenko
46522fb7bd
* grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
...
name.
2013-11-04 14:27:09 +01:00
Peter Lustig
9b5d4eed31
* grub-core/commands/i386/nthibr.c: New command.
2013-11-04 01:47:37 +01:00
Vladimir Serbinenko
1106c3f072
* grub-core/commands/verify.c: Add RSA support.
2013-11-03 18:50:01 +01:00
Vladimir Serbinenko
5ade4a4248
* grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
...
variables.
2013-11-03 06:17:31 +01:00
Vladimir Serbinenko
cb72aa1809
Rewrite blocklist functions in order to get progress when
...
reading large extents and decrease amount of blocklist hook calls.
2013-11-01 23:28:03 +01:00
Vladimir Serbinenko
c1bee64676
Move cpuid code to cpuid.h and TSC code to tsc.c.
2013-10-26 23:39:10 +02:00
Vladimir Serbinenko
a105d3755b
* grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
...
than int.
2013-10-25 18:02:40 +02:00
Vladimir Serbinenko
af81ed880d
* conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
...
* include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
functions when compiling for kernel.
2013-10-25 16:07:01 +02:00
Vladimir 'phcoder' Serbinenko
0d711431c7
Verify signatures of signatures unless --skip-sig is specified.
2013-10-22 00:24:19 +02:00
Vladimir 'phcoder' Serbinenko
e89c2d48a9
Lift 255x255 erminal sie restriction to 65535x65535. Also change from
...
bitmasks to small structures of size chosen to fit in registers.
2013-10-19 23:59:32 +02:00
BVK Chaitanya
3d46c22f5b
Added `tr' command support.
...
* grub-core/commands/tr.c: New file.
* grub-core/Makefile.core.def: Build rules for new module.
* tests/grub_cmd_tr.in: New test.
* Makefile.util.def: Build rules for new test.
2013-10-17 19:06:29 +02:00
Vladimir 'phcoder' Serbinenko
6de9ee86bf
Pass-through unknown E820 types. It required reorganisation of mmap
...
module.
2013-10-14 16:33:44 +02:00
Vladimir 'phcoder' Serbinenko
bb338aaf24
Add a wrapper for fopen. On unix-like systems just pass-through. On
...
windows use unicode version.
2013-10-13 20:36:28 +02:00
Jon McCune
0340bdbc22
* grub-core/commands/loadenv.c: Support skipping signature check
...
and variable names filtering.
2013-09-27 02:08:32 +02:00
Vladimir 'phcoder' Serbinenko
d65be02b89
* grub-core/commands/nativedisk.c (get_uuid): Handle
...
GRUB_DISK_DEVICE_UBOOTDISK_ID.
2013-07-25 16:31:18 +02:00
Vladimir 'phcoder' Serbinenko
139072b83a
* grub-core/commands/pcidump.c: Remove static variables.
2013-07-11 16:11:03 +02:00
Vladimir 'phcoder' Serbinenko
c6a61bda9b
* grub-core/commands/sleep.c: Refresh screen before sleeping.
2013-07-11 16:02:22 +02:00
Vladimir 'phcoder' Serbinenko
4aa237c8a4
Fix casts when compiling coreboot-specific code for 64-bit EFI.
2013-06-16 04:19:38 +02:00
Vladimir 'phcoder' Serbinenko
5027af38cf
Support for cbfs. Also factor out the part which is common
...
for all archives to a separate module. This splits tar from cpio
as they are very different but keeps cpio, cpio_be, odc and newc
together since they're very similar.
2013-06-16 00:06:13 +02:00
Andrey Borzenkov
356670f1f2
* grub-core/script/execute.c (grub_script_execute_sourcecode): Split
...
off new function grub_script_execute_new_scope. Change callers to use
either of them as appropriate.
* grub-core/commands/eval.c: New command eval.
* docs/grub.texi (Commands): Document it.
2013-06-07 18:40:37 +02:00
Vladimir 'phcoder' Serbinenko
4fd42c53f3
* grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
...
SSDT.
2013-05-30 21:32:01 +02:00
Vladimir 'phcoder' Serbinenko
0dc11c08d7
* grub-core/commands/testspeed.c: Reuse formatting string to decrease
...
new strings to translate.
2013-05-10 16:25:36 +02:00
Vladimir 'phcoder' Serbinenko
16f7c8f6d3
* grub-core/commands/cat.c: Show UTF-8 characters.
2013-05-08 11:09:08 +02:00
Vladimir 'phcoder' Serbinenko
16940e077c
* grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
...
pixel".
2013-05-07 14:44:05 +02:00
Vladimir 'phcoder' Serbinenko
d22840ec12
Mark few forgotten strings for translation.
2013-05-07 11:41:47 +02:00
Bean
fa2923436b
* grub-core/commands/testspeed.c: New command testspeed.
2013-05-05 18:16:48 +02:00
Vladimir 'phcoder' Serbinenko
310d42144b
Factor-out human-size printing.
2013-05-05 11:31:53 +02:00
Vladimir 'phcoder' Serbinenko
daf01d61ff
Fix test -a and -o precedence.
...
Reported by: adrian15.
2013-05-04 13:38:59 +02:00
Vladimir 'phcoder' Serbinenko
cd0f6eec7b
* grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
...
instead of 2 to have full RGB/CMY test pattern.
2013-05-02 14:34:13 +02:00
Vladimir 'phcoder' Serbinenko
ef9d8cd510
* grub-core/commands/nativedisk.c: Customize the list of modules on
...
platform. Don't try to search for disks already using native drivers.
2013-04-29 12:14:57 +02:00
Vladimir 'phcoder' Serbinenko
adb7d667fc
* grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2013-04-28 18:52:53 +02:00
Vladimir 'phcoder' Serbinenko
7cd0df84f1
New command `nativedisk'.
2013-04-28 15:31:33 +02:00
Vladimir 'phcoder' Serbinenko
eadfad244e
* grub-core/commands/probe.c: Add missing grub_device_close.
2013-04-28 13:54:32 +02:00
Vladimir 'phcoder' Serbinenko
a6393224c4
Make 'make check' work on emu.
2013-04-27 02:00:16 +02:00
Vladimir 'phcoder' Serbinenko
d178788e71
Support coreboot framebuffer.
...
* grub-core/video/i386/coreboot/cbfb.c: New file.
2013-04-21 13:02:10 +02:00
Vladimir 'phcoder' Serbinenko
386497990a
* grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
...
handling when creating text_layer failed.
* grub-core/video/video.c (grub_video_create_render_target):
Set result to 0 on error.
(grub_video_delete_render_target): Do not dereference NULL.
2013-04-19 15:09:15 +02:00
Vladimir 'phcoder' Serbinenko
bbdd6305db
Handle Japanese special keys.
...
Reported by: Hiroyuki YAMAMORI.
Codes supplied by: Hiroyuki YAMAMORI.
2013-04-12 22:26:38 +02:00
Vladimir 'phcoder' Serbinenko
de73de1748
* grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2013-04-05 11:01:19 +02:00
Vladimir 'phcoder' Serbinenko
ce7d92a9f2
Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2013-04-05 10:56:43 +02:00
Vladimir 'phcoder' Serbinenko
52eab6562d
* grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2013-04-05 10:52:13 +02:00
Vladimir 'phcoder' Serbinenko
1a78d573c7
* grub-core/commands/verify.c: Save verified file to avoid it being
...
tampered with after verification was done.
2013-04-03 17:32:33 +02:00
Andrey Borzenkov
40f1c0007c
* grub-core/commands/verify.c: Fix hash algorithms values for
...
the first three hashes - they start with 1, not with 0.
2013-04-01 01:43:04 +02:00
Colin Watson
33028f4c0b
* grub-core/commands/acpihalt.c (skip_ext_op): Add support for
...
skipping Event, Device, Processor, PowerRes, ThermalZone, and
BankField extended opcodes.
(get_sleep_type): Add minimal scope handling (just enough to
handle setting the scope to the root path).
(grub_acpi_halt): Parse any SSDTs as well as the DSDT.
* include/grub/acpi.h: Add enumeration values for Event, Device,
Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2013-03-26 11:29:52 +01:00
Vladimir 'phcoder' Serbinenko
6a7fb94bfb
Replace the region at 0 from coreboot tables to available in BSD
...
memory map.
2013-03-25 10:23:04 +01:00
Vladimir 'phcoder' Serbinenko
0ec45a682c
* grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
...
description.
2013-03-22 14:06:48 +01:00