forked from len0rd/rockbox
Fix non aligned crashes with tlsf
When the starting address of the plugin buffer is not aligned to 8 bytes crashes occur in tlsf (on ARM atleast) Change-Id: I655500c25e1c8f84b4a2418e9ec5c5948e4bea82
This commit is contained in:
parent
321de68b21
commit
e1475a38ef
2 changed files with 4 additions and 2 deletions
|
@ -921,7 +921,8 @@ int plugin_load(const char* plugin, const void* parameter)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
|
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
|
||||||
plugin_size = hdr->end_addr - pluginbuf;
|
/* tlsf crashes observed on arm with 0x4 aligned addresses */
|
||||||
|
plugin_size = ALIGN_UP(hdr->end_addr - pluginbuf, 0x8);
|
||||||
#else
|
#else
|
||||||
plugin_size = 0;
|
plugin_size = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -508,7 +508,8 @@ size_t add_new_area(void *area, size_t area_size, void *mem_pool)
|
||||||
|
|
||||||
/* FW 28-10-17: disabled memset due to crashes on ARM. Functions
|
/* FW 28-10-17: disabled memset due to crashes on ARM. Functions
|
||||||
* fine without it. */
|
* fine without it. */
|
||||||
/* memset(area, 0, area_size); */
|
/* BILGUS 17-7-19 re-enabled after setting pluginbuf aligned to 8 bytes */
|
||||||
|
memset(area, 0, area_size);
|
||||||
ptr = tlsf->area_head;
|
ptr = tlsf->area_head;
|
||||||
ptr_prev = 0;
|
ptr_prev = 0;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue