| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Make sure all conditions to do a proper memory allocation are satisfied
before a zero size memory allocation is performed.
Update #4390.
|
|
|
|
|
|
|
|
|
|
| |
This patch adds asserts to fix coverity defects
1) CID 1474437 (Out-of-bounds access)
2) CID 1474436 (Out-of-bounds access)
From manual inspection, out of bounds access cannot occur due to
bounds checking but coverity fails to detect the checks.
We are adding asserts as a secondary check.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In POSIX, zero size memory allocations are implementation-defined
behaviour. The implementation has two options:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html
Linux and FreeBSD return a unique pointer for zero size memory
allocations. Return NULL on RTEMS to more likely catch the use of a
zero size memory area by erroneous applications.
Update #4390.
|
|
|
|
|
|
|
|
| |
Move all error checks into posix_memalign() so that the returned memory
pointer is set to NULL under all error conditions except
memptr == NULL.
Use parameter names of POSIX documentation.
|
|
|
|
|
|
|
|
|
| |
In case the processor set is not large enough to contain the processor
set owned by the scheduler return RTEMS_INVALID_SIZE instead of
RTEMS_INVALID_NUMBER. This is more in line with other directives since
the issue is related to the size of an object.
Close #4401.
|
|
|
|
| |
Check for a NULL processor set pointer.
|
|
|
|
|
| |
Added conditionals to ensure that long double function tests were only
built when newlib has long double math functions.
|
|
|
|
|
|
| |
Using 32bit types like uint32_t for pointers creates issues on 64 bit
architectures like AArch64. Replaced occurrences of these with uintptr_t,
which will work for both 32 and 64 bit architectures.
|
|
|
|
|
|
| |
Using 32bit types like uint32_t for pointers creates issues on 64 bit
architectures like AArch64. Replaced occurrences of these with uintptr_t,
which will work for both 32 and 64 bit architectures.
|
|
|
|
| |
These two functions are no longer used outside of _Once().
|
|
|
|
|
|
|
| |
The allocator mutex is recursive and already used for the task creation
in rtems_timer_initiate_server(). Just use this mutex instead of the
once mutex to serialize the initialization. This avoids a dependency on
condition variables which are not used here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The zero size allocations had no consistent behaviour in RTEMS. For
example, malloc( 0 ) returned NULL and posix_memalign( &p, align, 0 )
returned in p a unique pointer (or NULL if no memory is available). In
POSIX, zero size memory allocations are implementation-defined
behaviour. The implementation has two options:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html
Linux and FreeBSD return a unique pointer for zero size memory
allocations. Use this approach for RTEMS as well throughout the memory
allocation directives
Close #4390.
|
|
|
|
| |
Update #3866.
|
|
|
|
| |
Flexible array members must not appear in the middle of a structure.
|
|
|
|
|
|
|
|
|
|
| |
The __builtin_unreachable() cannot be used with current GCC versions to
tell the compiler that a function does not return to the caller, see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99151
Add a no return variant of _Thread_Dispatch_direct() to avoid generation
of dead code.
|
|
|
|
| |
Close #3866.
|
|
|
|
| |
Update #3866.
|
|
|
|
| |
Update #3866.
|
|
|
|
| |
This may reduce the code size a bit.
|
| |
|
|
|
|
| |
Replace copy and paste with a proper description.
|
|
|
|
|
|
| |
If only one constraint is present, then use a single sentence, otherwise
use a list for the constraints. Format the constraints so that the line
length limit is maintained.
|
| |
|
|
|
|
|
|
|
| |
CID 1399709: Dereference after null check in
rtems_trace_buffering_shell_save().
Closes #4329
|
|
|
|
|
|
| |
CID 26033: Dereference after null check in _Objects_Extend_information().
Closes #4326
|
|
|
|
|
|
|
| |
The 'sc' variable was originally storing the return value of mkdir().
This was causing an issue, so it was changed to make it to where we
ignored the return value with (void). The 'sc' variable was left in
by mistake.
|
|
|
|
|
|
|
| |
Change the ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX value to be in line
with the workspace entry in ARMV7_CP15_START_DEFAULT_SECTIONS.
Close #4395.
|
|
|
|
|
|
|
| |
Changed the way the tests were structured, added rtems_test_assert()'s,
updated psx13.scn and the license.
Update #3899
|
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
|
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
|
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
|
| |
|
| |
|
|
|
|
|
| |
When the PowerPC shared console baud rate starts at anything other than
9600 the termios code will set it to 9600 at the first open.
|
|
|
|
|
|
|
|
|
|
|
| |
The "powerpc/shared/console" code has the start-up console value fixed
at 9600 baud. This changes the hard-wired constant "9600" in the code
to the configuration setting "BSP_CONSOLE_BAUD" and adds configuration
support in both the "waf" and the legacy configuration systems.
Note that the VME BSPs beatnik, mvme3100, and mve5100 can be improved
by adding a "mvmexxxx" BSP family. This configuration change, as well
as future configuration changes, could then be made in a "grp.yml" file.
|
|
|
|
|
| |
This avoids having conditional statements to get the API-specific status
code.
|
|
|
|
|
| |
This avoids having conditional statements to get the API-specific status
code.
|
|
|
|
|
|
|
|
|
| |
In case the processor set is not large enough to contain the processor
affinity set of the task return RTEMS_INVALID_SIZE instead of
RTEMS_INVALID_NUMBER. This is more in line with other directives since
the issue is related to the size of an object.
Close #4393.
|
|
|
|
|
| |
There is no need to disable thread dispatching to get the affinity of a
task.
|
|
|
|
|
| |
This avoids having conditional statements to get the API-specific status
code.
|
|
|
|
| |
Close #4392.
|
| |
|
|
|
|
| |
Uses configured millisecond per ticks
|
|
|
|
| |
Now using default pins
|
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
|
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
|
|
|
|
|
|
|
| |
Since there are already excessive NULL pointer checks in the Classic
API, do this also in rtems_task_construct().
Update #3959.
|
|
|
|
|
|
|
| |
Since there are already excessive NULL pointer checks in the Classic
API, do this also in rtems_message_queue_construct().
Update #4007.
|
|
|
|
|
|
| |
Refactored the i2c driver to parse register values from the device
tree rather than hardcoding them. But still the clocks have to
initialized manually.
|
|
|
|
| |
A timer may be also reinitiated by the timer server fire directives.
|