openwrt/package/boot/tfa-layerscape/patches/010-gcc11.patch

21 lines
655 B
Diff
Raw Normal View History

--- a/common/runtime_svc.c
+++ b/common/runtime_svc.c
@@ -38,7 +38,7 @@ uintptr_t handle_runtime_svc(uint32_t smc_fid,
u_register_t x1, x2, x3, x4;
int index;
unsigned int idx;
- const rt_svc_desc_t *rt_svc_descs;
+ rt_svc_desc_t *rt_svc_descs = NULL;
assert(handle);
idx = get_unique_oen_from_smc_fid(smc_fid);
@@ -48,7 +48,7 @@ uintptr_t handle_runtime_svc(uint32_t smc_fid,
if (index < 0 || index >= (int)RT_SVC_DECS_NUM)
SMC_RET1(handle, SMC_UNK);
- rt_svc_descs = (rt_svc_desc_t *) RT_SVC_DESCS_START;
+ memcpy(rt_svc_descs, (rt_svc_desc_t *)RT_SVC_DESCS_START, MAX_RT_SVCS);
get_smc_params_from_ctx(handle, x1, x2, x3, x4);