diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs
index e011a6a9da0629eb104d432b81cef9a291c19fc4..be99dc3d66cc905831b276602e7359f5df097330 100644
--- a/src/ld_so/linker.rs
+++ b/src/ld_so/linker.rs
@@ -53,7 +53,7 @@ unsafe fn allocate_tls(size: usize) -> Result<&'static mut [u8]> {
 // On Redox, reuse the current TCB
 // TODO: Consider adopting Linux behavior
 #[cfg(target_os = "redox")]
-unsafe fn allocate_tls(size: usize) -> Result<&'static [u8]> {
+unsafe fn allocate_tls(size: usize) -> Result<&'static mut [u8]> {
     let ptr = sys_mman::mmap(
         ptr::null_mut(),
         size,