diff options
author | Alex James <theracermaster@gmail.com> | 2022-01-08 01:29:29 -0600 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-01-12 16:15:09 +0000 |
commit | b3398ba562b3b340eadcb6859a20f2a05df48551 (patch) | |
tree | d5141e73fd98b4cb06cc09400083824ba48aaec5 /util | |
parent | 88e37c7affc33b7695918e7265f60fb0c5df1205 (diff) |
util/cbfstool: Do minor fixes
- Fix truncation of stage->loadaddr by replacing be32toh with be64toh
- Remove some redundant htobe32 calls
- Address checkpatch lints
Change-Id: I81b8cfd9eb0b2feffefaa9338bac9ae209e39a3c
Signed-off-by: Alex James <theracermaster@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/60933
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'util')
-rw-r--r-- | util/cbfstool/cbfs.h | 2 | ||||
-rw-r--r-- | util/cbfstool/cbfs_image.c | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/util/cbfstool/cbfs.h b/util/cbfstool/cbfs.h index b04dfeca6c..21a5d6f8c5 100644 --- a/util/cbfstool/cbfs.h +++ b/util/cbfstool/cbfs.h @@ -54,7 +54,7 @@ static struct typedesc_t filetypes[] unused = { {0, NULL} }; -#define CBFS_SUBHEADER(_p) ( (void *) ((((uint8_t *) (_p)) + be32toh((_p)->offset))) ) +#define CBFS_SUBHEADER(_p) ((void *) ((((uint8_t *) (_p)) + be32toh((_p)->offset)))) static inline size_t cbfs_file_attr_hash_size(enum vb2_hash_algorithm algo) { diff --git a/util/cbfstool/cbfs_image.c b/util/cbfstool/cbfs_image.c index ada59fe87e..5f30877df2 100644 --- a/util/cbfstool/cbfs_image.c +++ b/util/cbfstool/cbfs_image.c @@ -86,9 +86,8 @@ static int cbfs_fix_legacy_size(struct cbfs_image *image, char *hdr_loc) entry && cbfs_is_valid_entry(image, entry); entry = cbfs_find_next_entry(image, entry)) { /* Is the header guarded by a CBFS file entry? Then exit */ - if (((char *)entry) + be32toh(entry->offset) == hdr_loc) { + if (((char *)entry) + be32toh(entry->offset) == hdr_loc) return 0; - } last = entry; } if ((char *)first < (char *)hdr_loc && @@ -525,11 +524,9 @@ int cbfs_compact_instance(struct cbfs_image *image) size_t cur_size; size_t empty_metadata_size; size_t spill_size; - uint32_t type = htobe32(cur->type); /* Current entry is empty. Kepp track of it. */ - if ((type == htobe32(CBFS_TYPE_NULL)) || - (type == htobe32(CBFS_TYPE_DELETED))) { + if (cur->type == CBFS_TYPE_NULL || cur->type == CBFS_TYPE_DELETED) { prev = cur; continue; } @@ -1028,7 +1025,7 @@ static int cbfs_stage_make_elf(struct buffer *buff, uint32_t arch, memset(&shdr, 0, sizeof(shdr)); shdr.sh_type = SHT_NOBITS; shdr.sh_flags = SHF_WRITE | SHF_ALLOC; - shdr.sh_addr = be32toh(stage->loadaddr) + buffer_size(buff); + shdr.sh_addr = be64toh(stage->loadaddr) + buffer_size(buff); shdr.sh_size = empty_sz; if (elf_writer_add_section(ew, &shdr, &b, ".empty")) { ERROR("Unable to add ELF section: .empty\n"); |