TLSF memory corruption detection
Ruben Smits <[email protected]> Tue, 15 Sep 2015 11:53:26 +0000
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAN8PhbkoFrXnbPT3K9vhi3Aib0GtB541x-uYOtLNfKU-LhBx3A@mail.gmail.com> |
--===============2058895022== Content-Type: multipart/alternative; boundary=089e0158c3b2fb6c0c051fc7d4d0 --089e0158c3b2fb6c0c051fc7d4d0 Content-Type: text/plain; charset=UTF-8 Hi all, There is currently a PR waiting for merge: https://github.com/orocos-toolchain/rtt/pull/77 The PR adds functionality to the TLSF memory pool to detect memory corruption, which can happen due to double frees or non-thread safe handling of rt allocated variables. Previously applications would just continue to work with a corrupted TLSF pool resulting in undefined behaviour. With these patches the application would abort, since the TLSF memory pool is corrupted (we cannot detect it beforehand, only after the corruption has taken place) there is no real sane thing to do from that point and the abort is similar to a segfault. Before we merge this PR I would like everyone to fully understand the consequences of it as it might surface tlsf memory corruption issues with your applications that were undetected before. If you have big objections please speak up. Regards, Ruben -- Ruben Smits, Roboticist - Founder +32 479 511 786 Intermodalics - Kapeldreef 60, 3001 Heverlee - BELGIUM www.intermodalics.eu --089e0158c3b2fb6c0c051fc7d4d0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi all,<div><br></div><div>There is currently a PR waiting= for merge:=C2=A0<a href=3D"https://github.com/orocos-toolchain/rtt/pull/77= ">https://github.com/orocos-toolchain/rtt/pull/77</a></div><div>The PR adds= functionality to the TLSF memory pool to detect memory corruption, which c= an happen due to double frees or non-thread safe handling of rt allocated v= ariables.</div><div><br></div><div>Previously applications would just conti= nue to work with a corrupted TLSF pool resulting in undefined behaviour.=C2= =A0 With these patches the application would abort, =C2=A0since the TLSF me= mory pool is corrupted (we cannot detect it beforehand, only after the corr= uption has taken place) there is no real sane thing to do from that point a= nd the abort is similar to a segfault.</div><div><br></div><div>Before we m= erge this PR I would like everyone to fully understand the consequences of = it as it might surface tlsf memory corruption issues with your applications= that were undetected before.</div><div><br></div><div>If you have big obje= ctions please speak up.</div><div><br></div><div>Regards,</div><div><br></d= iv><div>Ruben</div></div><div dir=3D"ltr">-- <br></div><div dir=3D"ltr"><di= v><div>Ruben Smits, Roboticist - Founder</div><div>+32 479 511 786</div><di= v>Intermodalics - Kapeldreef 60, 3001 Heverlee - BELGIUM</div><div><a href= =3D"http://www.intermodalics.eu">www.intermodalics.eu</a></div></div></div> --089e0158c3b2fb6c0c051fc7d4d0-- --===============2058895022== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev --===============2058895022==--