Skip to content

Commit d644f18

Browse files
committed
llext_manager: minor preparatory refactors
This commit does some minor preparatory refactors in the llext_manager module in preparation for the upcoming change to use the new LLEXT inspection API. Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
1 parent 281f409 commit d644f18

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

src/library_manager/llext_manager.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,10 @@ static int llext_manager_load_data_from_storage(const struct llext *ext,
7575
size_t size, uint32_t flags)
7676
{
7777
unsigned int i;
78-
int ret = llext_manager_align_map(vma, size, SYS_MM_MEM_PERM_RW);
78+
int ret;
7979
const elf_shdr_t *shdr;
8080

81+
ret = llext_manager_align_map(vma, size, SYS_MM_MEM_PERM_RW);
8182
if (ret < 0) {
8283
tr_err(&lib_manager_tr, "cannot map %u of %p", size, (__sparse_force void *)vma);
8384
return ret;
@@ -240,8 +241,9 @@ static int llext_manager_link(struct llext_buf_loader *ebl, const char *name,
240241
.pre_located = true,
241242
.section_detached = llext_manager_section_detached,
242243
};
243-
int ret = llext_load(&ebl->loader, name, &md->llext, &ldr_parm);
244+
int ret;
244245

246+
ret = llext_load(&ebl->loader, name, &md->llext, &ldr_parm);
245247
if (ret)
246248
return ret;
247249

@@ -270,17 +272,19 @@ static int llext_manager_link(struct llext_buf_loader *ebl, const char *name,
270272
mctx->segment[LIB_MANAGER_DATA].addr,
271273
mctx->segment[LIB_MANAGER_DATA].size);
272274

275+
*buildinfo = NULL;
273276
ssize_t binfo_o = llext_find_section(&ebl->loader, ".mod_buildinfo");
274277

275278
if (binfo_o >= 0)
276279
*buildinfo = llext_peek(&ebl->loader, binfo_o);
277280

281+
*mod_manifest = NULL;
278282
ssize_t mod_o = llext_find_section(&ebl->loader, ".module");
279283

280284
if (mod_o >= 0)
281285
*mod_manifest = llext_peek(&ebl->loader, mod_o);
282286

283-
return binfo_o >= 0 && mod_o >= 0 ? 0 : -EPROTO;
287+
return *buildinfo && *mod_manifest ? 0 : -EPROTO;
284288
}
285289

286290
static int llext_manager_mod_init(struct lib_manager_mod_ctx *ctx,

0 commit comments

Comments
 (0)