mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-18 02:38:56 +00:00
67bf2c8ded
Binman can embed a copy of the image description into the images it builds as a fdtmap entry, but it omits the /binman/<image-name> prefix from the node paths while doing so. When reading an already-built image file, entries are reconstructed using this fdtmap and their associated nodes still lack that prefix. Some entries like fit and vblock create intermediate files whose names are based on an entry unique name. This name is constructed from their node's path by concatenating the parents with dots up to the binman node, e.g. /binman/image/foo/bar becomes 'image.foo.bar'. However, we don't have this /binman/image prefix when replacing entries in such an image. The /foo/bar entry we read when doing so erroneously has the unique name of '/.foo.bar', causing permission errors when the entry attempts to create files based on that. Fix the unique-name generation by stopping at the '/' node like how it stops at the binman node. As the unique names are used as filenames, add tests that check if they're safe to use as filenames. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
38 lines
375 B
Text
38 lines
375 B
Text
// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
/dts-v1/;
|
|
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
binman {
|
|
multiple-images;
|
|
|
|
image {
|
|
size = <0xc00>;
|
|
allow-repack;
|
|
|
|
u-boot {
|
|
};
|
|
|
|
fdtmap {
|
|
};
|
|
|
|
u-boot2 {
|
|
type = "u-boot";
|
|
};
|
|
|
|
text {
|
|
text = "some text";
|
|
};
|
|
|
|
u-boot-dtb {
|
|
};
|
|
|
|
image-header {
|
|
location = "end";
|
|
};
|
|
};
|
|
};
|
|
};
|