The Linux environment for all boards using the Canaan Kendryte K210 SoC
can be built with the same process, using configurations that differ
only by the device tree used for the build. This patch add the
shared configurations, rootfs overlay and scripts used for all
K210-based boards.
Since the K210 SoC only has 8 MB of SRAM, a special busybox
configuration and rootfs overlay are added to save memory at runtime:
* For configurations using direct kernel boot (no boot loader), the
default busybox configuration busybox-minimal.config is modified
using the fragment file board/canaan/k210-soc/busybox-tiny.config.
This reduces the size of the busybox executable to save memory when
executing shell commands.
* Busybox init system is not used and a special init scripts is provided
using the rootfs_overlay root file system overlay. This init script
simply mounts devtmpfs, /proc and /sys, and exec an interactive shell
after printing a logo. This avoids (1) boot failures due to large
memory allocations by the regular busybox init system (these
allocations fail on the K210 for lack of enough memory) and avoids
(2) keeping the init process sleeping in the background (wasted
memory).
The board/canaan/k210-soc/busybox-tiny.config and the rootfs overlay
files in board/canaan/k210-soc/rootfs_overlay are used for all Canaan
K210 SoC based boards.
For board configurations booting using the U-Boot boot loader, a common
set of linux kernel configuration parameters is provided by the file
board/canaan/k210-soc/linux-sdcard.config. In addition, the post build
script board/canaan/k210-soc/post-build.sh file and U-Boot image
generation configuration file board/canaan/k210-soc/genimage.cfg are
provided. The post-build script creates a generic "k210.dtb" symlink to
the compiled device tree file for the target board. This symlink is used
by the genimage.cfg configuration, making this file common for all
boards.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
There is no need to have configuration files direbtly set the
BR2_PACKAGE_HOST_ELF2FLT option. The need for the elf2flt utility is
automatically determined by gcc build in package/gcc/gcc.mk according to
the BR2_BINFMT_FLAT option.
Accordingly, we can remove the file package/elf2flt/Config.in.host to
get rid of the BR2_PACKAGE_HOST_ELF2FLT option. BR2_STRIP_strip
dependency on this option is replaced with a dependency on
BR2_BINFMT_ELF.
To stay consistent with the fact that elf2flt supports only the arm, sh,
sparc, xtensa and riscv-64 architectures, a dependency on these
architectures is added to the BR2_BINFMT_FLAT option in arch/Config.in.
Board configuration files setting the BR2_PACKAGE_HOST_ELF2FLT option
are also updated.
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add a runtime test in order to detect undesired changes in behavior of
the get-developers script.
The test uses a .patch file generated against the buildroot tree as a
fixture to check how get-developers operates when called to check it.
The test also overrides the DEVELOPERS file in order to be fully
reproducible and a -d option is added to get-developers in order to
allow this. Since get-developers only looks to already committed
files to compare against patch files, the fixture uses a package that
is very unlikely to be removed from buildroot tree: binutils.
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Thomas: extracted from a larger patch from Ricardo, submitted at
https://patchwork.ozlabs.org/project/buildroot/patch/20220528014832.289907-1-ricardo.martincoski@gmail.com/]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
In preparation to the introduction of test cases for the
get-developers script, make it possible to pass a custom DEVELOPERS
file. A normal user of get-developers will most likely never use this,
but the test suite will use it.
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Thomas: extracted from a larger patch from Ricardo, initially posted
at https://patchwork.ozlabs.org/project/buildroot/patch/20220528014832.289907-1-ricardo.martincoski@gmail.com/]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Now that we have a working mechanism to validate the DEVELOPERS file
with the get-developers -v option, let's use it.
This brings back proper validation of the DEVELOPERS file, as
get-developers without argument no longer did any validation following
commit 45aabcddc5 utils/get-developers: really make it callable from
elsewhere than the toplevel directory".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Commit "45aabcddc5 utils/get-developers: really make it callable from
elsewhere than the toplevel directory" had a unforeseen side-effect:
the fact that check-developers with no arguments used to validate the
syntax of the DEVELOPERS no longer works. Indeed, the
parse_developers() call was moved *after* the check that verifies if
at least one action is passed. Due to this, the check-DEVELOPERS
verification in Gitlab CI, which invokes get-developers without
argument to validate the DEVELOPERS file... no longer does anything
useful.
In order to fix this, we introduce an explicit action in
get-developers to request the validation of the DEVELOPERS file. The
implementation is trivial, as the validation is already done by
calling parse_developers(), but at least now we have an action that
does "nothing", except execute until the validation is done.
This is also much more explicit than "invoke get-developers without
arguments to just do validation".
The initial investigation of the issue was done by Ricardo Martincoski
<ricardo.martincoski@gmail.com> and reported at
https://patchwork.ozlabs.org/project/buildroot/patch/20220528014832.289907-1-ricardo.martincoski@gmail.com/,
but we have chosen to introduce a separate -v option rather than
making the validation part of the existing -c action, which serves a
different purpose.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
When BR2_TOOLCHAIN_HAS_LIBQUADMATH is set, --enable-libquadmath-support
option is missing. So the float128 support is not fully enabled in gcc.
This lead to a build issue with gcc 12 on PowerPC power8 due to missing
M_2_SQRTPIq definition (provided by libquadmath.h).
../../../libgfortran/intrinsics/erfc_scaled.c: In function ‘erfc_scaled_r17’:
../../../libgfortran/intrinsics/erfc_scaled.c:143:22: error: ‘M_2_SQRTPIq’ undeclared (first use in this function); did you mean ‘M_2_SQRTPIf’?
143 | # define _M_2_SQRTPI M_2_SQRTPIq
| ^~~~~~~~~~~
This is fixed by adding --enable-libquadmath-support (like crosstool-ng
handling [1]).
Fixes:
https://gitlab.com/kubu93/toolchains-builder/-/jobs/2510178766
[1] https://github.com/crosstool-ng/crosstool-ng/blob/crosstool-ng-1.25.0/scripts/build/cc/gcc.sh#L370
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
float128 is available on PowerPC with VSX [1] but it requires
libquadmath support.
[1] https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Floating-Types.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Cyril Bur <cyrilbur@gmail.com>
Cc: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The update is very straightforward, as no changes in grub2.mk are
needed beyond the version bump.
Spacing in the hash file is adjusted to the new Buildroot standard.
All patches are dropped as they have all been upstreamed between 2.04
and 2.06. Here is the full list of patches and their corresponding
upstream commit:
* 0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch
6643507ce30f775008e093580f0c9499dfb2c485 build: Fix GRUB i386-pc build with Ubuntu gcc
* 0002-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch
a4d3fbdff1e3ca8f87642af2ac8752c30c617a3e yylex: Make lexer fatal errors actually be fatal
* 0003-safemath-Add-some-arithmetic-primitives-that-check-f.patch
68708c4503018d61dbcce7ac11cbb511d6425f4d safemath: Add some arithmetic primitives that check for overflow
* 0004-calloc-Make-sure-we-always-have-an-overflow-checking.patch
64e26162ebfe68317c143ca5ec996c892019f8f8 calloc: Make sure we always have an overflow-checking calloc() available
* 0005-calloc-Use-calloc-at-most-places.patch
f725fa7cb2ece547c5af01eeeecfe8d95802ed41 calloc: Use calloc() at most places
* 0006-malloc-Use-overflow-checking-primitives-where-we-do-.patch
3f05d693d1274965ffbe4ba99080dc2c570944c6 malloc: Use overflow checking primitives where we do complex allocations
* 0007-iso9660-Don-t-leak-memory-on-realloc-failures.patch
2a1edcf2ede865b60604815d3bc5c01029379ca4 iso9660: Don't leak memory on realloc() failures
* 0008-font-Do-not-load-more-than-one-NAME-section.patch
89f3da1a3d14023eda182e075919dd584031ecad font: Do not load more than one NAME section
* 0009-gfxmenu-Fix-double-free-in-load_image.patch
26a8c19307f998f67dbfb784068e394c8e9c8478 gfxmenu: Fix double free in load_image()
* 0010-xnu-Fix-double-free-in-grub_xnu_devprop_add_property.patch
6d7a59a2a184f7af8a90a4c90d7c7b6482acc656 xnu: Fix double free in grub_xnu_devprop_add_property()
* 0011-lzma-Make-sure-we-don-t-dereference-past-array.patch
16c0dbf4bc6a953c41bc7a031b36dfa8e906afea lzma: Make sure we don't dereference past array
* 0012-term-Fix-overflow-on-user-inputs.patch
61b7ca08d173adf62facdd6a266cbd2471165e67 term: Fix overflow on user inputs
* 0013-udf-Fix-memory-leak.patch
d17770857e1c901a8167f63d6558856cfaf313ff udf: Fix memory leak
* 0014-multiboot2-Fix-memory-leak-if-grub_create_loader_cmd.patch
f8ad7a3dd8213f691b0f32d0e9eb656a70cefc13 multiboot2: Fix memory leak if grub_create_loader_cmdline() fails
* 0015-tftp-Do-not-use-priority-queue.patch
781b3e5efc35c17cbce95393aafd63a5b429f9e6 tftp: Do not use priority queue
* 0016-relocator-Protect-grub_relocator_alloc_chunk_addr-in.patch
caea56d1f8fa1ae298936f8d75b220e7f12b73d3 relocator: Protect grub_relocator_alloc_chunk_addr() input args against integer underflow/overflow
* 0017-relocator-Protect-grub_relocator_alloc_chunk_align-m.patch
61ff5602fe8f2a3446346795daebe4ec3b82c20f relocator: Protect grub_relocator_alloc_chunk_align() max_addr against integer underflow
* 0018-script-Remove-unused-fields-from-grub_script_functio.patch
1a8d9c9b4ab6df7669b5aa36a56477f297825b96 script: Remove unused fields from grub_script_function struct
* 0019-script-Avoid-a-use-after-free-when-redefining-a-func.patch
426f57383d647406ae9c628c472059c27cd6e040 script: Avoid a use-after-free when redefining a function during execution
* 0020-relocator-Fix-grub_relocator_alloc_chunk_align-top-m.patch
07e5b79e22fd58c5382323dd71d64aaa42f928ec relocator: Fix grub_relocator_alloc_chunk_align() top memory allocation
* 0021-hfsplus-Fix-two-more-overflows.patch
f5703eb0625b786f141d09be19b7af40b572a446 hfsplus: Fix two more overflows
* 0022-lvm-Fix-two-more-potential-data-dependent-alloc-over.patch
879c4a8342eacc0ba4b9dd11dc69d3ec3dbe73af lvm: Fix two more potential data-dependent alloc overflows
* 0023-emu-Make-grub_free-NULL-safe.patch
b73cee7f1f8287ed3af32fffe8aaf33cdff52f6b emu: Make grub_free(NULL) safe
* 0024-efi-Fix-some-malformed-device-path-arithmetic-errors.patch
d2cf823d0e31818d1b7a223daff6d5e006596543 efi: Fix some malformed device path arithmetic errors
* 0025-efi-chainloader-Propagate-errors-from-copy_file_path.patch
098058752e1cee7b457ff45562a81e756ab0b532 efi/chainloader: Propagate errors from copy_file_path()
* 0026-efi-Fix-use-after-free-in-halt-reboot-path.patch
f7bd9986f607a924bf23b813900a8595f2815f0c efi: Fix use-after-free in halt/reboot path
* 0027-loader-linux-Avoid-overflow-on-initrd-size-calculati.patch
0dcbf3652b6738971407dacc03fb685dfafc5ec5 loader/linux: Avoid overflow on initrd size calculation
* 0028-linux-Fix-integer-overflows-in-initrd-size-handling.patch
e7b8856f8be3292afdb38d2e8c70ad8d62a61e10 linux: Fix integer overflows in initrd size handling
* 0029-efi-Make-shim_lock-GUID-and-protocol-type-public.patch
f76a27996c34900f2c369a8a0d6ac72ae2faa988 efi: Make shim_lock GUID and protocol type public
* 0030-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch
04ae030d0eea8668d4417702d88bf2cf04713d80 efi: Return grub_efi_status_t from grub_efi_get_variable()
* 0031-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch
ac5c9367548750e75ed1e7fc4354a3d20186d733 efi: Add a function to read EFI variables with attributes
* 0032-efi-Add-secure-boot-detection.patch
d7e54b2e5feee95d2f83058ed30d883c450d1473 efi: Add secure boot detection
* 0033-verifiers-Move-verifiers-API-to-kernel-image.patch
9e95f45ceeef36fcf93cbfffcf004276883dbc99 verifiers: Move verifiers API to kernel image
* 0034-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch
5e280caa6530ed160dcf2920c94f1605fb1f1f7c efi: Move the shim_lock verifier to the GRUB core
* 0035-kern-Add-lockdown-support.patch
578c95298bcc46e0296f4c786db64c2ff26ce2cc kern: Add lockdown support
* 0036-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch
d90367471779c240e002e62edfb6b31fc85b4908 kern/lockdown: Set a variable if the GRUB is locked down
* 0037-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch
98b00a403cbf2ba6833d1ac0499871b27a08eb77 efi: Lockdown the GRUB when the UEFI Secure Boot is enabled
* 0038-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch
8f73052885892bc0dbc01e297f79d7cf4925e491 efi: Use grub_is_lockdown() instead of hardcoding a disabled modules list
* 0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch
3e8e4c0549240fa209acffceb473e1e509b50c95 acpi: Don't register the acpi command when locked down
* 0040-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch
d298b41f90cbf1f2e5a10e29daa1fc92ddee52c9 mmap: Don't register cutmem and badram commands when lockdown is enforced
* 0041-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch
468a5699b249fe6816b4e7e86c5dc9d325c9b09e commands: Restrict commands that can load BIOS or DT blobs when locked down
* 0042-commands-setpci-Restrict-setpci-command-when-locked-.patch
58b77d4069823b44c5fa916fa8ddfc9c4cd51e02 commands/setpci: Restrict setpci command when locked down
* 0043-commands-hdparm-Restrict-hdparm-command-when-locked-.patch
5c97492a29c6063567b65ed1a069f5e6f4e211f0 commands/hdparm: Restrict hdparm command when locked down
* 0044-gdb-Restrict-GDB-access-when-locked-down.patch
508270838998f151a82e9c13e7cb8a470a2dc23d gdb: Restrict GDB access when locked down
* 0045-loader-xnu-Don-t-allow-loading-extension-and-package.patch
9c5565135f12400a925ee901b25984e7af4442f5 loader/xnu: Don't allow loading extension and packages when locked down
* 0046-docs-Document-the-cutmem-command.patch
f05e79a0143beb2d9a482a3ebf4fe0ce76778122 docs: Document the cutmem command
* 0047-dl-Only-allow-unloading-modules-that-are-not-depende.patch
7630ec5397fe418276b360f9011934b8c034936c dl: Only allow unloading modules that are not dependencies
* 0048-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch
128c16a682034263eb519c89bc0934eeb6fa8cfa usb: Avoid possible out-of-bound accesses caused by malicious devices
* 0049-mmap-Fix-memory-leak-when-iterating-over-mapped-memo.patch
8cb2848f9699642a698af84b12ba187cab722031 mmap: Fix memory leak when iterating over mapped memory
* 0050-net-net-Fix-possible-dereference-to-of-a-NULL-pointe.patch
03f2515ae0c503406f1a99a2178405049c6555db net/net: Fix possible dereference to of a NULL pointer
* 0051-net-tftp-Fix-dangling-memory-pointer.patch
0cb838b281a68b536a09681f9557ea6a7ac5da7a net/tftp: Fix dangling memory pointer
* 0052-kern-parser-Fix-resource-leak-if-argc-0.patch
d06161b035dde4769199ad65aa0a587a5920012b kern/parser: Fix resource leak if argc == 0
* 0053-kern-efi-Fix-memory-leak-on-failure.patch
ed286ceba6015d37a9304f04602451c47bf195d7 kern/efi: Fix memory leak on failure
* 0054-kern-efi-mm-Fix-possible-NULL-pointer-dereference.patch
6aee4bfd6973c714056fb7b56890b8d524e94ee1 kern/efi/mm: Fix possible NULL pointer dereference
* 0055-gnulib-regexec-Resolve-unused-variable.patch
a983d36bd9178d377d2072fd4b11c635fdc404b4 gnulib/regexec: Resolve unused variable
* 0056-gnulib-regcomp-Fix-uninitialized-token-structure.patch
75c3d3cec4f408848f575d6d5e30a95bd6313db0 gnulib/regcomp: Fix uninitialized token structure
* 0057-gnulib-argp-help-Fix-dereference-of-a-possibly-NULL-.patch
3a37bf120a9194c373257c70175cdb5b337bc107 gnulib/argp-help: Fix dereference of a possibly NULL state
* 0058-gnulib-regexec-Fix-possible-null-dereference.patch
0b7f347638153e403ee2dd518af3ce26f4f99647 gnulib/regexec: Fix possible null-dereference
* 0059-gnulib-regcomp-Fix-uninitialized-re_token.patch
03477085f9a33789ba6cca7cd49ab9326a1baa0e gnulib/regcomp: Fix uninitialized re_token
* 0060-io-lzopio-Resolve-unnecessary-self-assignment-errors.patch
59666e520f44177c97b82a44c169b3b315d63b42 io/lzopio: Resolve unnecessary self-assignment errors
* 0061-zstd-Initialize-seq_t-structure-fully.patch
2777cf4466719921dbe4b30af358a75e7d76f217 zstd: Initialize seq_t structure fully
* 0062-kern-partition-Check-for-NULL-before-dereferencing-i.patch
bc9c468a2ce84bc767234eec888b71f1bc744fff kern/partition: Check for NULL before dereferencing input string
* 0063-disk-ldm-Make-sure-comp-data-is-freed-before-exiting.patch
23e39f50ca7a107f6b66396ed4d177a914dee035 disk/ldm: Make sure comp data is freed before exiting from make_vg()
* 0064-disk-ldm-If-failed-then-free-vg-variable-too.patch
e0b83df5da538d2a38f770e60817b3a4b9d5b4d7 disk/ldm: If failed then free vg variable too
* 0065-disk-ldm-Fix-memory-leak-on-uninserted-lv-references.patch
156c281a1625dc73fd350530630c6f2d5673d4f6 disk/ldm: Fix memory leak on uninserted lv references
* 0066-disk-cryptodisk-Fix-potential-integer-overflow.patch
a201ad17caa430aa710654fdf2e6ab4c8166f031 disk/cryptodisk: Fix potential integer overflow
* 0067-hfsplus-Check-that-the-volume-name-length-is-valid.patch
2298f6e0d951251bb9ca97d891d1bc8b74515f8c hfsplus: Check that the volume name length is valid
* 0068-zfs-Fix-possible-negative-shift-operation.patch
a02091834d3e167320d8a262ff04b8e83c5e616d zfs: Fix possible negative shift operation
* 0069-zfs-Fix-resource-leaks-while-constructing-path.patch
89bdab965805e8d54d7f75349024e1a11cbe2eb8 zfs: Fix resource leaks while constructing path
* 0070-zfs-Fix-possible-integer-overflows.patch
302c12ff5714bc455949117c1c9548ccb324d55b zfs: Fix possible integer overflows
* 0071-zfsinfo-Correct-a-check-for-error-allocating-memory.patch
7aab03418ec6a9b991aa44416cb2585aff4e7972 zfsinfo: Correct a check for error allocating memory
* 0072-affs-Fix-memory-leaks.patch
178ac5107389f8e5b32489d743d6824a5ebf342a affs: Fix memory leaks
* 0073-libgcrypt-mpi-Fix-possible-unintended-sign-extension.patch
e8814c811132a70f9b55418f7567378a34ad3883 libgcrypt/mpi: Fix possible unintended sign extension
* 0074-libgcrypt-mpi-Fix-possible-NULL-dereference.patch
ae0f3fabeba7b393113d5dc185b6aff9b728136d libgcrypt/mpi: Fix possible NULL dereference
* 0075-syslinux-Fix-memory-leak-while-parsing.patch
95bc016dba94cab3d398dd74160665915cd08ad6 syslinux: Fix memory leak while parsing
* 0076-normal-completion-Fix-leaking-of-memory-when-process.patch
9213575b7a95b514bce80be5964a28d407d7d56d normal/completion: Fix leaking of memory when processing a completion
* 0077-commands-hashsum-Fix-a-memory-leak.patch
8b6f528e52e18b7a69f90b8dc3671d7b1147d9f3 commands/hashsum: Fix a memory leak
* 0079-video-efi_gop-Remove-unnecessary-return-value-of-gru.patch
fc5951d3b1616055ef81a019a5affc09d13344d0 video/efi_gop: Remove unnecessary return value of grub_video_gop_fill_mode_info()
* 0080-video-fb-fbfill-Fix-potential-integer-overflow.patch
7ce3259f67ac2cd93acb0ec0080c24b3b69e66c6 video/fb/fbfill: Fix potential integer overflow
* 0081-video-fb-video_fb-Fix-multiple-integer-overflows.patch
08e098b1dbf01e96376f594b337491bc4cfa48dd video/fb/video_fb: Fix multiple integer overflows
* 0082-video-fb-video_fb-Fix-possible-integer-overflow.patch
08413f2f4edec0e2d9bf15f836f6ee5ca2e379cb video/fb/video_fb: Fix possible integer overflow
* 0083-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch
5f5eb7ca8e971227e95745abe541df3e1509360e video/readers/jpeg: Test for an invalid next marker reference from a jpeg file
* 0084-gfxmenu-gui_list-Remove-code-that-coverity-is-flaggi.patch
4a1aa5917595650efbd46b581368c470ebee42ab gfxmenu/gui_list: Remove code that coverity is flagging as dead
* 0085-loader-bsd-Check-for-NULL-arg-up-front.patch
5d5391b0a05abe76e04c1eb68dcc6cbef5326c4a loader/bsd: Check for NULL arg up-front
* 0086-loader-xnu-Fix-memory-leak.patch
bcb59ece3263d118510c4440c4da0950f224bb7f loader/xnu: Fix memory leak
* 0087-loader-xnu-Free-driverkey-data-when-an-error-is-dete.patch
4b4027b6b1c877d7ab467896b04c7bd1aadcfa15 loader/xnu: Free driverkey data when an error is detected in grub_xnu_writetree_toheap()
* 0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch
7c8a2b5d1421a0f2a33d33531f7561f3da93b844 loader/xnu: Check if pointer is NULL before using it
* 0089-util-grub-install-Fix-NULL-pointer-dereferences.patch
8b3a95655b4391122e7b0315d8cc6f876caf8183 util/grub-install: Fix NULL pointer dereferences
* 0090-util-grub-editenv-Fix-incorrect-casting-of-a-signed-.patch
5dc41edc4eba259c6043ae7698c245ec1baaacc6 util/grub-editenv: Fix incorrect casting of a signed value
* 0091-util-glue-efi-Fix-incorrect-use-of-a-possibly-negati.patch
1641d74e16f9d1ca35ba1a87ee4a0bf3afa48e72 util/glue-efi: Fix incorrect use of a possibly negative value
* 0092-script-execute-Fix-NULL-dereference-in-grub_script_e.patch
41ae93b2e6c75453514629bcfe684300e3aec0ce script/execute: Fix NULL dereference in grub_script_execute_cmdline()
* 0093-commands-ls-Require-device_name-is-not-NULL-before-p.patch
6afbe6063c95b827372f9ec310c9fc7461311eb1 commands/ls: Require device_name is not NULL before printing
* 0094-script-execute-Avoid-crash-when-using-outside-a-func.patch
fe0586347ee46f927ae27bb9673532da9f5dead5 script/execute: Avoid crash when using "$#" outside a function scope
* 0095-lib-arg-Block-repeated-short-options-that-require-an.patch
2a330dba93ff11bc00eda76e9419bc52b0c7ead6 lib/arg: Block repeated short options that require an argument
* 0096-script-execute-Don-t-crash-on-a-for-loop-with-no-ite.patch
0a05f88e2bb33ed2a0cfd93f481f471efb7791aa script/execute: Don't crash on a "for" loop with no items
* 0097-commands-menuentry-Fix-quoting-in-setparams_prefix.patch
2f533a89a8dfcacbf2c9dbc77d910f111f24bf33 commands/menuentry: Fix quoting in setparams_prefix()
* 0098-kern-misc-Always-set-end-in-grub_strtoull.patch
f41f0af48ab7f7c135aac17ac862c30bde0bbab7 kern/misc: Always set *end in grub_strtoull()
* 0099-video-readers-jpeg-Catch-files-with-unsupported-quan.patch
693989598fd38c3c0b2a928f4f64865b5681762f video/readers/jpeg: Catch files with unsupported quantization or Huffman tables
* 0100-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch
34b85a6e07014383ddcad09f99ff239ad752dd1a video/readers/jpeg: Catch OOB reads/writes in grub_jpeg_decode_du()
* 0101-video-readers-jpeg-Don-t-decode-data-before-start-of.patch
8338a8238f08d9f3ae4c2ddfff0603eff80af9e2 video/readers/jpeg: Don't decode data before start of stream
* 0102-term-gfxterm-Don-t-set-up-a-font-with-glyphs-that-ar.patch
829329bddb2c3e623270cc634cc9ab32e6455fe7 term/gfxterm: Don't set up a font with glyphs that are too big
* 0103-fs-fshelp-Catch-impermissibly-large-block-sizes-in-r.patch
b5bc456f664bc301ab4cd5a17d3d23c6661c259e fs/fshelp: Catch impermissibly large block sizes in read helper
* 0104-fs-hfsplus-Don-t-fetch-a-key-beyond-the-end-of-the-n.patch
58ea11d5b9ca0966bd9c68d8ba5240cf7dc3ba83 fs/hfsplus: Don't fetch a key beyond the end of the node
* 0105-fs-hfsplus-Don-t-use-uninitialized-data-on-corrupt-f.patch
2ca0e5dbcdcb6fc93ccae39a0f39d0dba4a7ff20 fs/hfsplus: Don't use uninitialized data on corrupt filesystems
* 0106-fs-hfs-Disable-under-lockdown.patch
1c15848838d924552611247110723e2a1c17a5a1 fs/hfs: Disable under lockdown
* 0107-fs-sfs-Fix-over-read-of-root-object-name.patch
8d3ae59dee2930d640add3bba983006e1f5dd1b6 fs/sfs: Fix over-read of root object name
* 0108-fs-jfs-Do-not-move-to-leaf-level-if-name-length-is-n.patch
ffd5a46f68710e2781899d0be4d701429a5a817d fs/jfs: Do not move to leaf level if name length is negative
* 0109-fs-jfs-Limit-the-extents-that-getblk-can-consider.patch
bd0cf8148ccf721f6e39ffbd70f8abad0c8897f0 fs/jfs: Limit the extents that getblk() can consider
* 0110-fs-jfs-Catch-infinite-recursion.patch
223120dd83745126cb232a0248c9a8901d7e350d fs/jfs: Catch infinite recursion
* 0111-fs-nilfs2-Reject-too-large-keys.patch
20ab8cb44bc140a1dedda82a3fccdd45e9bc6929 fs/nilfs2: Reject too-large keys
* 0112-fs-nilfs2-Don-t-search-children-if-provided-number-i.patch
37c0eb05cdcc64c28d31c4ebd300f14d5239d05e fs/nilfs2: Don't search children if provided number is too large
* 0113-fs-nilfs2-Properly-bail-on-errors-in-grub_nilfs2_btr.patch
ca5d9ac206043b1fb4cb06259272fb1c5946bb6d fs/nilfs2: Properly bail on errors in grub_nilfs2_btree_node_lookup()
* 0114-io-gzio-Bail-if-gzio-tl-td-is-NULL.patch
3334a5e6c86f10e715cca3bf66ce0fc2f164b61b io/gzio: Bail if gzio->tl/td is NULL
* 0115-io-gzio-Add-init_dynamic_block-clean-up-if-unpacking.patch
18490336d91da2b532277cba56473bfed1376fc4 io/gzio: Add init_dynamic_block() clean up if unpacking codes fails
* 0116-io-gzio-Catch-missing-values-in-huft_build-and-bail.patch
4e76b08f7171a8603d74fcafb27409a91f578647 io/gzio: Catch missing values in huft_build() and bail
* 0117-io-gzio-Zero-gzio-tl-td-in-init_dynamic_block-if-huf.patch
b5a2b59cc5b8f5ee7ba3b951e7693e402d5b3a6f io/gzio: Zero gzio->tl/td in init_dynamic_block() if huft_build() fails
* 0118-disk-lvm-Don-t-go-beyond-the-end-of-the-data-we-read.patch
a8cc95de74ccc3ad090e8062ac335c844f13c9f4 disk/lvm: Don't go beyond the end of the data we read from disk
* 0119-disk-lvm-Don-t-blast-past-the-end-of-the-circular-me.patch
27a79bf38e6d050e497eb96a3fdddce43af25577 disk/lvm: Don't blast past the end of the circular metadata buffer
* 0120-disk-lvm-Bail-on-missing-PV-list.patch
2958695c4cdc785de6ed708709af071a2d20afef disk/lvm: Bail on missing PV list
* 0121-disk-lvm-Do-not-crash-if-an-expected-string-is-not-f.patch
db29073fc7aec71a40dabfc722a96ea9f3280907 disk/lvm: Do not crash if an expected string is not found
* 0122-disk-lvm-Do-not-overread-metadata.patch
1155d7dffd3337942cb7583706b429d567d4db86 disk/lvm: Do not overread metadata
* 0123-disk-lvm-Sanitize-rlocn-offset-to-prevent-wild-read.patch
701293684742d00133b39bf957d3642c81dc83f4 disk/lvm: Sanitize rlocn->offset to prevent wild read
* 0124-disk-lvm-Do-not-allow-a-LV-to-be-it-s-own-segment-s-.patch
e18a00073890021362b4a48097672f1d4b340d3c disk/lvm: Do not allow a LV to be it's own segment's node's LV
* 0125-fs-btrfs-Validate-the-number-of-stripes-parities-in-.patch
b88a82e78cdd0ab8e0339c1c3f9564c4d8c0c969 fs/btrfs: Validate the number of stripes/parities in RAID5/6
* 0126-fs-btrfs-Squash-some-uninitialized-reads.patch
b911884dd707ba1e6f641eb17857df3155013a45 fs/btrfs: Squash some uninitialized reads
* 0127-kern-parser-Fix-a-memory-leak.patch
c6c426e5ab6ea715153b72584de6bd8c82f698ec kern/parser: Fix a memory leak
* 0128-kern-parser-Introduce-process_char-helper.patch
b1c9e9e889e4273fb15712051c887e6078511448 kern/parser: Introduce process_char() helper
* 0129-kern-parser-Introduce-terminate_arg-helper.patch
3d157bbd06506b170fde5ec23980c4bf9f7660e2 kern/parser: Introduce terminate_arg() helper
* 0130-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch
8bc817014ce3d7a498db44eae33c8b90e2430926 kern/parser: Refactor grub_parser_split_cmdline() cleanup
* 0131-kern-buffer-Add-variable-sized-heap-buffer.patch
030fb6c4fa354cdbd6a8d6903dfed5d36eaf3cb2 kern/buffer: Add variable sized heap buffer
* 0132-kern-parser-Fix-a-stack-buffer-overflow.patch
4ea7bae51f97e49c84dc67ea30b466ca8633b9f6 kern/parser: Fix a stack buffer overflow
* 0133-kern-efi-Add-initial-stack-protector-implementation.patch
133d73079c5771bbf3d8311281b6772846357ec1 kern/efi: Add initial stack protector implementation
* 0134-util-mkimage-Remove-unused-code-to-add-BSS-section.patch
d52f78def1b9c4f435fdbf6b24fd899208580c76 util/mkimage: Remove unused code to add BSS section
* 0135-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch
1710452aca05ccdd21e74390ec08c63fdf0ee10a util/mkimage: Use grub_host_to_target32() instead of grub_cpu_to_le32()
* 0136-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch
ae8936f9c375e1a38129e85a1b5d573fb451f288 util/mkimage: Always use grub_host_to_target32() to initialize PE stack and heap stuff
* 0137-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch
a4e8936f010a8e928e973b80390c8f83ad6b8000 util/mkimage: Unify more of the PE32 and PE32+ header set-up
* 0138-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch
ba44c87e56a8bccde235ebb7d41d5aa54604d241 util/mkimage: Reorder PE optional header fields set-up
* 0139-util-mkimage-Improve-data_size-value-calculation.patch
ff406eff25465932b97a2857ee5a75fd0957e9b9 util/mkimage: Improve data_size value calculation
* 0140-util-mkimage-Refactor-section-setup-to-use-a-helper.patch
f60ba9e5945892e835e53f0619406d96002f7f70 util/mkimage: Refactor section setup to use a helper
* 0141-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch
b11547137703bbc642114a816233a5b6fed61b06 util/mkimage: Add an option to import SBAT metadata into a .sbat section
* 0142-grub-install-common-Add-sbat-option.patch
bb51ee2b49fbda0f66c1fa580a33442ff578f110 grub-install-common: Add --sbat option
* 0143-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch
968de8c23c1cba0f18230f778ebcf6c412ec8ec5 shim_lock: Only skip loading shim_lock verifier with explicit consent
* 0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch
7f11bde3143b21b40d8225ea1d641e0f83b5a01e kern/misc: Split parse_printf_args() into format parsing and va_list handling
* 0145-kern-misc-Add-STRING-type-for-internal-printf-format.patch
1a2a5aff71e8edba436398492279de434abfe7a3 kern/misc: Add STRING type for internal printf() format handling
* 0146-kern-misc-Add-function-to-check-printf-format-agains.patch
83603bea6ce8fdff5ab3fbc4c9e592a8c71a8706 kern/misc: Add function to check printf() format against expected format
* 0147-gfxmenu-gui-Check-printf-format-in-the-gui_progress_.patch
42facd577231cf5ffe4c7128fed15b7e7d99cbca gfxmenu/gui: Check printf() format in the gui_progress_bar and gui_label
* 0148-templates-Disable-the-os-prober-by-default.patch
e346414725a70e5c74ee87ca14e580c66f517666 templates: Disable the os-prober by default
* 0149-kern-mm-Fix-grub_debug_calloc-compilation-error.patch
a9d8de960834f376087856f9d60a214b47c76f61 kern/mm: Fix grub_debug_calloc() compilation error
* 0150-Makefile-Make-libgrub.pp-depend-on-config-util.h.patch
42f4054faf3c7f2cd2cab5b43e63f9d97d81f7a1 Makefile: Make libgrub.pp depend on config-util.h
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: Yann E. MORIN <yann.morin@orange.com>
Reviewed-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The genimage.cfg modified by this commit used the partition-type-uuid
c12a7328-f81f-11d2-ba4b-00a0c93ec93b, which identifies the EFI System
Partition, for a partition that isn't the EFI System Partition, but
just a regular FAT partition, for which GUID
ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 is more appropriate.
So we switch these to use partition-type-uuid = F, as it makes more
sense.
Please note that this commit introduces a difference in the resulting
output, as those partitions will now have a different GUID.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This allows to match the recently written rules for
partition-type-uuid values.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit changes to use partition-type-uuid = U instead of
c12a7328-f81f-11d2-ba4b-00a0c93ec93b where relevant for the EFI System
Partition.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The boot partition is not an EFI System Partition, it is a normal FAT
formatted partition, so using type F instead of U makes more sense.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This allows to comply with the recently specified genimage.cfg writing
rules.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Whenever possible, we want to use the "shortcuts" provided by genimage
for the partition-type-uuid values:
- U for the EFI System Partition
- F for FAT32 partitions
- L for root filesystem partitions and other Linux filesystems
In follow-up commits, we will convert existing genimage.cfg to this
convention, except for the root filesystem, if the existing
genimage.cfg specifies a partition-type-uuid that doesn't match the
one that "L" would imply. In this case, we will keep things as-is to
not break existing setups. However, for all future genimage.cfg files,
we recommend to use "L" for the root filesystem.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The gpt = "true" form is deprecated in genimage, use
partition-table-type = "gpt" instead.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Like we do in all other genimage configuration files.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Add config option to set the board specific GLOBAL_PATCH_DIR.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/2750360083
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Bumps TF-A to version v2.7 and U-Boot to version v2022.04 for
Qemu vexpress/trustzone board config.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Through mstpd version 0.1.0, the bridge-stp script uses the '-c'
option to the pidof command. Busybox does not support this option, so
mstpd does not work.
This has been fixed in the main development branch of mstpd, but it is
unclear when the next release will be. In the meantime, apply the fix
here so that mstpd will be useable until the next version release.
Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Since v2.0 the sysklogd project has provided an interposing library
libsyslog.{a,so} with a syslog() replacement, including the NetBSD
syslogp() API for RFC5424 logging.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The option UA_ENABLE_SUBSCRIPTIONS_EVENTS is enabled by default,
but not compatible with UA_NAMESPACE_ZERO=MINIMAL resulting in
CMake Error at CMakeLists.txt:1120 (message):
Events require at least the reduced Namespace Zero
Fixes: http://autobuild.buildroot.net/results/d8e34b8bddf0f3568e64705c6618b17bce70d210/
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Backport various post 20220527 release runtime fixes:
* The concept of max runtime
* tst_test.sh: Cleanup getopts usage
* mountns0[1-3]: wait for umount completed in thread_b
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
- set 'CC="$(HOSTCC)"' to avoid cross-compile failure (see [1]):
/bin/sh: line 1: .../build/ntpsec-1_2_0/build/host/ntpd/keyword-gen: cannot execute binary file: Exec format error
Waf: Leaving directory `.../build/ntpsec-1_2_0/build/host'
Build failed
-> task in 'ntp_keyword.h' failed with exit status 126 (run with -v to display more information)
- set '-std=gnu99"' to avoid compile failure with old compilers
- explicitly set PYTHON_CONFIG
- add patch 001-ntptime-fix-jfmt5-ofmt5-jfmt6-ofmt6-related-compile-.patch to
fix ntptime jfmt5/ofmt5 jfmt6/ofmt6 related compile failure
- add patch 0002-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch to
fix host-compile failure in case target libbsd is detected
- add SYSV init file (S49ntp)
- add example ntpd.conf (with legacy option enabled and provide skeleton
for NTS configuration)
- add config option for NTS support
- add ntp user/group and run ntpd as restricted user
- add libcap dependency (compile time optional but needed for droproot
support)
[1] https://gitlab.com/NTPsec/ntpsec/-/issues/694
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Thomas: S49ntp -> S49ntpd]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bump to a tagged release, pulling in about 4 years of development.
Note that v1 encryption policies have been deprecated and removed in
this release. Since the previous version in Buildroot is old enough not
to have support for v2 policies, this is an incompatible update.
There are unlikely to be many v1 users and the format has some known
vulnerabilities so no compatibility option is included.
Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Bumps OP-TEE Client package version to OP-TEE release 3.18.0.
Removes patch that has been merged between OP-TEE tags 3.17.0 and 3.18.0.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
When building with the DRM support, it can happen that the libgbm library
is not yet built by the provider of this lib (specified by
BR2_PACKAGE_PROVIDES_LIBGBM).
The docs in cog `docs/platform-drm.md` specify this dep-list:
- **WPEBackend-fdo**:
- **Wayland**:
- **libdrm**:
- **libgbm**:
- **libinput**:
- **libudev**:
libgbm needs to be added.
Adding libegl as well.
Updated package/cog/Config.in to define the dependencies (for DRM)
according to libegl & libgbm.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Patch 0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch
is refreshed to accommodate with conflicting upstream changes.
Patch 0002-Revert-efilink-fix-build-with-gcc-4.8.patch is dropped as
it is upstream as of commit
8b2da2c2247af28bd681a9c8e3231559964c80a6 ("Revert "efilink: fix build
with gcc 4.8"").
A new patch is needed to fix the build on mips64.
While at it, fix the hash file to use the new spacing convention.
Fixes:
http://autobuild.buildroot.net/results/a9a7372615e3fbe4b8abda946706d1ccadf28931/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
While at it, remove the md5 hash as there is already a sha256 hash.
Changelog: https://github.com/jmespath/jmespath.py/blob/develop/CHANGELOG.rst
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add a new rudimentary test inspired by the examples from jmespath's
README file ([1]).
[1]: https://github.com/jmespath/jmespath.py/blob/develop/README.rst
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
[Thomas: add entry in DEVELOPERS file]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
While at it, update the indentation of the license hash (two spaces).
Changelog:
https://github.com/sybrenstuvel/python-rsa/blob/main/CHANGELOG.md
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add 2 patches from upstream which are required to fix compilation,
Remove patch accepted upstream.
Update list of broken tests under musl (confstr01.c was fixed).
Refresh 0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
(still carry it case there is somebody using old musl based toolchain).
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fix the following build failure with uclibc:
core/bootloader.c: In function 'register_bootloader':
core/bootloader.c:28:15: warning: implicit declaration of function 'reallocarray' [-Wimplicit-function-declaration]
28 | entry *tmp = reallocarray(available, num_available + 1, sizeof(entry));
| ^~~~~~~~~~~~
core/bootloader.c:28:15: warning: initialization of 'entry *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
[...]
.../arm-buildroot-linux-uclibcgnueabi/bin/ld: core/built-in.o: in function `register_bootloader':
(.text.register_bootloader+0x2c): undefined reference to `reallocarray'
Fixes:
http://autobuild.buildroot.net/results/46dc484759549162ec246e0bff2647995c307ab5/
Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fix the following build failure with uclibc on arm architectures (and
similar on powerpc):
/home/buildroot/autobuild/instance-2/output-1/build/zlib-ng-2.0.6/arch/arm/armfeature.c:4:12: fatal error: sys/auxv.h: No such file or directory
4 | # include <sys/auxv.h>
| ^~~~~~~~~~~~
compilation terminated.
Fixes:
http://autobuild.buildroot.net/results/1ac782825e897981d932b405ca60cd2ec4b3b8cb/
Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>