On 25.01.24 16:00, Kinsey Moore wrote:
-void rtems_cache_coherent_add_area(
+rtems_status_code rtems_cache_coherent_add_area(
    void *area_begin,
    uintptr_t area_size
  )
  {
+  rtems_status_code sc;
+
    if ( _System_state_Is_up( _System_state_Get()) ) {
      _RTEMS_Lock_allocator();
+  }
- add_area( area_begin, area_size );
+  sc = add_area( area_begin, area_size );
+ if ( _System_state_Is_up( _System_state_Get()) ) {
      _RTEMS_Unlock_allocator();
-  } else {
-    add_area( area_begin, area_size );
    }
+
+  return sc;
  }

When I would be a static analyzer knowing that _RTEMS_Lock_allocator() acquires a mutex and _RTEMS_Unlock_allocator() releases a mutex, then I would complain about the changed code since a considerable amount of reasoning is required to proof that the second if will take the same branch as the first if.

--
embedded brains GmbH & Co. KG
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@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/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to