New Coverity Scan Results for RTEMS Available

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Sep 27 07:00:35 UTC 2018



On 26/09/2018 15:42, Joel Sherrill wrote:
>
>
> On Wed, Sep 26, 2018 at 7:04 AM Sebastian Huber 
> <sebastian.huber at embedded-brains.de 
> <mailto:sebastian.huber at embedded-brains.de>> wrote:
>
>     On 26/09/2018 14:02, Sebastian Huber wrote:
>     > void rtems_task_delete_self() RTEMS_NORETURN;
>
>     Alternative would be
>
>     void rtems_task_exit(void) RTEMS_NORETURN;
>
>
> I don't want to change APIs to make any static analysis tool happy.

Yes, just adding APIs to make a static analysis tool happy is not that 
great, however, we have to consider also the compiler which has a 
similar problem with the rtems_task_delete(RTEMS_SELF) function. We 
already tell the compiler that some functions do not return and I think 
an rtems_task_exit() would make sense too. For example we have in Newlib:

void    pthread_exit (void *__value_ptr) __dead2;

> I used
> Grammatech CodeSonar on RTEMS a few years ago and if we made it
> happy, we would be very unhappy.
>
> The best solution would be to figure out the Coverity modeling and 
> annotation.
> Then we could teach it our memory allocators, internal locks, etc..  I 
> have a model
> uploaded in our configuration but I admit to not having any confidence 
> in making
> Scan do anything with it. I found this:
>
> https://stackoverflow.com/questions/42197018/how-do-i-use-coverity-modelling-to-mark-a-method-as-non-returning
>
> But that looks to modify the source. I don't want to do more than 
> simple annotation.
> I don't want hacks like that in the real source.
>
> I have an attempt at a model here 
> (https://git.rtems.org/rtems-testing/tree/coverity)
> and have uploaded it.

Maybe Coverity understands the clang thread safety annotations and the 
GCC attributes

__attribute__((__malloc__))
__attribute__((__alloc_size__(n, x)))

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list