Heap allocation for libbsd overwrites IMFS

Joel Sherrill joel at rtems.org
Wed Jun 23 12:37:51 UTC 2021


On Wed, Jun 23, 2021, 4:47 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

>
>
> On 23/06/2021 10:32, Jan.Sommer at dlr.de wrote:
> > One of our applications for the Zedboard fails with fatal error after
> the setup of the network stack in libbsd.
> > So far I traced it down to the point that the memory allocation for
> libbsd overwrites parts of the IMFS of rtems.
> > When opening device files later this will lead to the crash.
> > The backtrace looks like this for the bad allocation looks like this:
> > _Heap_Block_split
>  ../../../../../c/src/../../cpukit/score/src/heap.c:313  0x10dd58
> > _Heap_Block_allocate_from_begin
>  ../../../../../c/src/../../cpukit/score/src/heap.c:378  0x10dfd6
> > _Heap_Block_allocate
> ../../../../../c/src/../../cpukit/score/src/heap.c:465  0x10dfd6
> > _Heap_Allocate_aligned_with_boundary
> ../../../../../c/src/../../cpukit/score/src/heapallocate.c:265  0x10e19c
>
> > rtems_heap_allocate_aligned_with_boundary
>  ../../../../../c/src/../../cpukit/libcsupport/src/malloc_deferred.c:92
> 0x10962e
> > malloc
> ../../../../../c/src/../../cpukit/libcsupport/src/malloc.c:39   0x10950e
>
> > _bsd_malloc   ../../rtemsbsd/rtems/rtems-kernel-malloc.c:80   0x170048
>
> > [more libbsd]
> > ifconfig      ../../freebsd/sbin/ifconfig/ifconfig.c:1024     0x1724fa
> >
>
> You probably have a general memory corruption issue. As a first step I
> would enable RTEMS_DEBUG = True to enable the heap protection. This
> could help to debug the issue.
>
> > With 1 GiB of RAM, available memory shouldn't be a problem.
> > At the moment we have configured the system with
> CONFIGURE_UNLIMITED_OBJECTS and CONFIGURE_UNIFIED_WORK_AREAS.
>
> This is fine.
>
> > Maybe that is not right in this case. Are there any suggestions how to
> better configure the system?
> > I found CONFIGURE_MEMORY_OVERHEAD in the docs, but I am not so sure how
> to use it or if it would help.
>
> No, it would not help.
>

It should only be used when the confdefs calculations appear to have a bug
and under allocate. This was added long ago to provide a quick workaround
for users. Usually an error in confdefs takes a bit to debug

--joel

>
> --
> embedded brains GmbH
> Herr Sebastian HUBER
> Dornierstr. 4
> 82178 Puchheim
> Germany
> email: sebastian.huber at embedded-brains.de
> phone: +49-89-18 94 741 - 16
> fax:   +49-89-18 94 741 - 08
>
> Registergericht: Amtsgericht München
> Registernummer: HRB 157899
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
> Unsere Datenschutzerklärung finden Sie hier:
> https://embedded-brains.de/datenschutzerklaerung/
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20210623/16ef84aa/attachment.html>


More information about the users mailing list