u-boot/tools/binman/test
Alper Nebi Yasak 82337bb6b6 binman: Refuse to replace sections for now
Binman interfaces allow attempts to replace any entry in the image with
arbitrary data. When trying to replace sections, the changes in the
section entry's data are not propagated to its child entries. This,
combined with how sections rebuild their contents from its children,
eventually causes the replaced contents to be silently overwritten by
rebuilt contents equivalent to the original data.

Add a simple test for replacing a section that is currently failing due
to this behaviour, and mark it as an expected failure. Also, raise an
error when replacing a section instead of silently pretending it was
replaced.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2022-04-25 10:11:05 -04:00
..
files
001_invalid.dts
002_missing_node.dts
003_empty.dts
004_invalid_entry.dts
005_simple.dts
006_dual_image.dts
007_bad_align.dts
008_pack.dts
009_pack_extra.dts
010_pack_align_power2.dts
011_pack_align_size_power2.dts
012_pack_inv_align.dts
013_pack_inv_size_align.dts
014_pack_overlap.dts
015_pack_overflow.dts
016_pack_image_overflow.dts
017_pack_image_size.dts
018_pack_image_align.dts
019_pack_inv_image_align.dts
020_pack_inv_image_align_power2.dts
021_image_pad.dts
022_image_name.dts
023_blob.dts
024_sorted.dts
025_pack_zero_size.dts
026_pack_u_boot_dtb.dts
027_pack_4gb_no_size.dts
028_pack_4gb_outside.dts
029_x86_rom.dts
030_x86_rom_me_no_desc.dts
031_x86_rom_me.dts
032_intel_vga.dts
033_x86_start16.dts
034_x86_ucode.dts
035_x86_single_ucode.dts
036_u_boot_img.dts
037_x86_no_ucode.dts
038_x86_ucode_missing_node.dts
039_x86_ucode_missing_node2.dts
040_x86_ucode_not_in_image.dts
041_unknown_pos_size.dts
042_intel_fsp.dts
043_intel_cmc.dts
044_x86_optional_ucode.dts
045_prop_test.dts
046_intel_vbt.dts
047_spl_bss_pad.dts
048_x86_start16_spl.dts
049_x86_ucode_spl.dts
050_intel_mrc.dts
051_u_boot_spl_dtb.dts
052_u_boot_spl_nodtb.dts
053_symbols.dts
054_unit_address.dts
055_sections.dts
056_name_prefix.dts
057_unknown_contents.dts
058_x86_ucode_spl_needs_retry.dts
059_change_size.dts
060_fdt_update.dts
061_fdt_update_bad.dts
062_entry_args.dts
063_entry_args_missing.dts
064_entry_args_required.dts
065_entry_args_unknown_datatype.dts
066_text.dts
067_fmap.dts
068_blob_named_by_arg.dts
069_fill.dts
070_fill_no_size.dts
071_gbb.dts
072_gbb_too_small.dts
073_gbb_no_size.dts
074_vblock.dts
075_vblock_no_content.dts
076_vblock_bad_phandle.dts
077_vblock_bad_entry.dts
078_u_boot_tpl.dts
079_uses_pos.dts
080_fill_empty.dts
081_x86_start16_tpl.dts
082_fdt_update_all.dts
083_compress.dts
084_files.dts
085_files_compress.dts
086_files_none.dts
087_files_no_pattern.dts
088_extend_size.dts binman: Rename ExpandToLimit to extend_to_limit 2022-03-18 19:24:25 -06:00
089_extend_size_bad.dts binman: Rename ExpandToLimit to extend_to_limit 2022-03-18 19:24:25 -06:00
090_hash.dts
091_hash_no_algo.dts
092_hash_bad_algo.dts
093_x86_tpl_ucode.dts
094_fmap_x86.dts
095_fmap_x86_section.dts
096_elf.dts
097_elf_strip.dts
098_4gb_and_skip_at_start_together.dts
099_hash_section.dts
100_intel_refcode.dts
101_sections_offset.dts
102_cbfs_raw.dts
103_cbfs_raw_ppc.dts
104_cbfs_stage.dts
105_cbfs_raw_compress.dts
106_cbfs_bad_arch.dts
107_cbfs_no_size.dts
108_cbfs_no_contents.dts
109_cbfs_bad_compress.dts
110_cbfs_name.dts
111_x86_rom_ifwi.dts
112_x86_rom_ifwi_nodesc.dts
113_x86_rom_ifwi_nodata.dts
114_cbfs_offset.dts
115_fdtmap.dts
116_fdtmap_hdr.dts
117_fdtmap_hdr_start.dts
118_fdtmap_hdr_pos.dts
119_fdtmap_hdr_missing.dts
120_hdr_no_location.dts
121_entry_extend.dts binman: Rename ExpandToLimit to extend_to_limit 2022-03-18 19:24:25 -06:00
122_entry_extend_twice.dts binman: Rename ExpandToLimit to extend_to_limit 2022-03-18 19:24:25 -06:00
123_entry_extend_section.dts binman: Rename ExpandToLimit to extend_to_limit 2022-03-18 19:24:25 -06:00
124_compress_dtb.dts
125_cbfs_update.dts
126_cbfs_bad_type.dts
127_list.dts
128_decode_image.dts
129_decode_image_nohdr.dts
130_list_fdtmap.dts
131_pack_align_section.dts
132_replace.dts
133_replace_multi.dts
134_fdt_update_all_repack.dts
135_fdtmap_hdr_middle.dts
136_fdtmap_hdr_startbad.dts
137_fdtmap_hdr_endbad.dts
138_fdtmap_hdr_nosize.dts
139_replace_repack.dts
140_entry_shrink.dts
141_descriptor_offset.dts
142_replace_cbfs.dts
143_replace_all.dts
144_x86_reset16.dts
145_x86_reset16_spl.dts
146_x86_reset16_tpl.dts
147_intel_fit.dts
148_intel_fit_missing.dts
149_symbols_tpl.dts
150_powerpc_mpc85xx_bootpg_resetvec.dts
151_x86_rom_ifwi_section.dts
152_intel_fsp_m.dts
153_intel_fsp_s.dts
154_intel_fsp_t.dts
155_symbols_tpl_x86.dts
156_mkimage.dts
157_blob_ext.dts
158_blob_ext_missing.dts
159_blob_ext_missing_sect.dts
160_pack_overlap_zero.dts
161_fit.dts
162_fit_external.dts binman: Expand the external FIT test a little 2022-01-25 12:36:10 -07:00
163_x86_rom_me_empty.dts
164_x86_rom_me_missing.dts
165_section_ignore_hash_signature.dts
166_pad_in_sections.dts
167_fit_image_subentry_alignment.dts
168_fit_missing_blob.dts
169_atf_bl31.dts
170_fit_fdt.dts binman: Include also subnodes in generator nodes 2022-03-18 19:24:24 -06:00
171_fit_fdt_missing_prop.dts
172_scp.dts
173_missing_blob.dts
174_env.dts
175_env_no_size.dts
176_env_too_small.dts
177_skip_at_start.dts
178_skip_at_start_pad.dts
179_skip_at_start_section_pad.dts
180_section_pad.dts
181_section_align.dts
182_compress_image.dts
183_compress_image_less.dts
184_compress_section_size.dts
185_compress_section.dts
186_compress_extra.dts
187_symbols_sub.dts
188_image_entryarg.dts
189_vblock_content.dts
190_files_align.dts
191_read_image_skip.dts
192_u_boot_tpl_nodtb.dts
193_tpl_bss_pad.dts
194_fdt_incl.dts
195_fdt_incl_tpl.dts
196_symbols_nodtb.dts
197_symbols_expand.dts
198_collection.dts
199_collection_section.dts
200_align_default.dts
201_opensbi.dts
202_section_timeout.dts
203_fip.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
204_fip_other.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
205_fip_no_type.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
206_fip_uuid.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
207_fip_ls.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
208_fip_replace.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
209_fip_missing.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
210_fip_size.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
211_fip_bad_align.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
212_fip_collection.dts binman: Add support for ATF FIP 2021-12-17 09:44:59 -07:00
213_fdtmap_alt_format.dts binman: Allow extracting a file in an alternative format 2021-12-05 09:22:41 -07:00
214_no_alt_format.dts binman: Allow extracting a file in an alternative format 2021-12-05 09:22:41 -07:00
215_blob_ext_list.dts binman: Support lists of external blobs 2021-12-05 09:23:15 -07:00
216_blob_ext_list_missing.dts binman: Support lists of external blobs 2021-12-05 09:23:15 -07:00
217_fake_blob.dts binman: Renumber the fake blob dts 2022-01-12 21:26:59 -05:00
218_blob_ext_list_fake.dts binman: Allow faked blobs in blob-ext-list 2022-01-25 12:36:11 -07:00
219_fit_gennode.dts binman: Skip node generation for images read from files 2022-01-30 20:40:58 -07:00
220_fit_subentry_bintool.dts binman: Register and check bintools from FIT subentries 2022-02-09 12:30:13 -07:00
221_fit_subentry_hash.dts binman: Skip processing "hash" subnodes of FIT subsections 2022-02-22 10:05:44 -07:00
222_tee_os.dts binman: Add support for TEE BL32 2022-02-22 10:05:44 -07:00
223_fit_fdt_oper.dts binman: Allow different operations in FIT generator nodes 2022-02-22 10:05:44 -07:00
224_fit_bad_oper.dts binman: Refactor fit to generate output at the end 2022-03-18 19:24:25 -06:00
225_dev.key tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
225_expand_size_bad.dts binman: Rename ExpandToLimit to extend_to_limit 2022-03-18 19:24:25 -06:00
225_pre_load.dts tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
226_fit_split_elf.dts binman: Support splitting an ELF file into multiple nodes 2022-03-18 19:24:25 -06:00
226_pre_load_pkcs.dts tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
227_fit_bad_dir.dts binman: Support splitting an ELF file into multiple nodes 2022-03-18 19:24:25 -06:00
227_pre_load_pss.dts tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
228_fit_bad_dir_config.dts binman: Support splitting an ELF file into multiple nodes 2022-03-18 19:24:25 -06:00
228_pre_load_invalid_padding.dts tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
229_mkimage_missing.dts binman: Allow mkimage to use a non-zero fake-blob size 2022-03-18 19:24:25 -06:00
229_pre_load_invalid_sha.dts tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
230_pre_load_invalid_algo.dts tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
230_unique_names.dts binman: Fix unique names having '/.' for images read from files 2022-04-25 10:10:41 -04:00
231_pre_load_invalid_key.dts tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
231_unique_names_multi.dts binman: Fix unique names having '/.' for images read from files 2022-04-25 10:10:41 -04:00
232_replace_with_bintool.dts binman: Collect bintools for images when replacing entries 2022-04-25 10:11:05 -04:00
233_fit_extract_replace.dts binman: Create FIT subentries in the FIT section, not its parent 2022-04-25 10:11:05 -04:00
234_replace_section_simple.dts binman: Refuse to replace sections for now 2022-04-25 10:11:05 -04:00
Makefile binman: Add a ELF test file with disjoint text sections 2022-02-22 10:05:44 -07:00
bss_data.c
bss_data.lds
descriptor.bin
elf_sections.c binman: Add a ELF test file with disjoint text sections 2022-02-22 10:05:44 -07:00
elf_sections.lds binman: Add a ELF test file with disjoint text sections 2022-02-22 10:05:44 -07:00
embed_data.c
embed_data.lds
fitimage.bin.gz
ifwi.bin.gz
u_boot_binman_embed.c
u_boot_binman_embed.lds
u_boot_binman_embed_sm.c
u_boot_binman_syms.c
u_boot_binman_syms.lds
u_boot_binman_syms_bad.c
u_boot_binman_syms_bad.lds
u_boot_binman_syms_size.c
u_boot_binman_syms_x86.c
u_boot_binman_syms_x86.lds
u_boot_no_ucode_ptr.c
u_boot_ucode_ptr.c
u_boot_ucode_ptr.lds