Implements override for gBS->InstallMultipleProtocolInterfaces function,
to call Ext4OpenPartition routine from Ext4Dxe driver which should open
SuperBlock and allocates EXT4_PARTITION structure instead of doing it
manual in fuzzer itself. Also adds Ext4SuperblockCheckMagic call which
used in Ext4IsBindingSupported procedure
Trying to open file with different modes in loop (read, write, create).
Adds memory allocation mutations based on given allocation mask
to imitate allocation errors. This change should increase code coverage
by reaching branches with memory allocation error
The CpuBreakPoint in UserMisc normally shouldn't enter dead-loop
condition, instead it should break the program using abort signal. Also
sets DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit by default in
PcdDebugPropertyMask. As a background was a problem with fuzzing when
program process falls into dead-loop condition instead of just to exit
with crash
This is required to support Apple-made images that have .data with RWX
permissions. Found in EfiBoot, APFS, HFS, ExFat, etc.
closesacidanthera/bugtracker#2190
Updates build script according recent changes in efibuild. We need to
specify OpenCorePkg to be removed while build because currently this
package is present as submodule in audk and conflicts
This should fix a problem with Linux platform which uses ELF binaries
which doesn't support multiarchitecture format like FAT. First of
all it fixes DUET build on Apple Silicon platforms
Add missing packages check and assumes to run this script as root.
Also we need to create partition table on raw image image before
invoking disk mount using qemu-nbd tool.
This replaces OpenCore signature checking with .contentVisibility file
containing either `Disabled` or `Auxiliary` to hide entries from the
boot picker.
Docker allows to set up a portable development environment in a container. This
can be useful to test Linux toolchains on macOS. Introduce such environments
for EDK II and documentation development.
The current implementation supports both Dev Environments by Docker Desktop and
Dev Containers by Visual Studio Code. To reduce the maintenance burden, use
these environments for the Linux-based GitHub Actions as well. Non-x86 hosts,
including Apple Silicon, are supported via GCC cross-compilation.