You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When attempting to telemeter Memory Pool stats, CFE ES calls CFE_PSP_MemValidateRange() on the address of the pool data. However on 64 bit Linux this function ends up always returning an error, because the internal table is not set up for 64 bit address
To Reproduce
Run CFE on a 64-bit pc-linux platform, then issue CFE ES command code CFE_ES_SEND_MEM_POOL_STATS_CC (22) with a valid Pool ID.
This always fails and says invalid handle, even though the handle is actually fine, because it is not passing the CFE_PSP_MemValidateRange() check.
Expected behavior
Check should pass.
Code snips
If applicable, add references to the software.
System observed on:
Ubuntu 20.04 (64-bit)
Additional context
This table is still using uint32 sizes. It must have been missed in the previous updates that changed much of this to size_t.
Reporter Info
Joseph Hickey, Vantage Systems, Inc.
The text was updated successfully, but these errors were encountered:
A number of cleanup items related to the PSP memory range API
- Make the table itself an internal object - should only be accessed
via the PSP API.
- Update to use size_t instead of uint32
- Update the Linux/RTEMS implementation to use full range (SIZE_MAX).
A number of cleanup items related to the PSP memory range API
- Make the table itself an internal object - should only be accessed
via the PSP API.
- Update to use size_t instead of uint32
- Update the Linux/RTEMS implementation to use full range (SIZE_MAX).
A number of cleanup items related to the PSP memory range API
- Make the table itself an internal object - should only be accessed
via the PSP API.
- Update to use size_t instead of uint32
- Update the Linux/RTEMS implementation to use full range (SIZE_MAX).
A number of cleanup items related to the PSP memory range API
- Make the table itself an internal object - should only be accessed
via the PSP API.
- Update to use size_t instead of uint32
- Update the Linux/RTEMS implementation to use full range (SIZE_MAX).
Describe the bug
When attempting to telemeter Memory Pool stats, CFE ES calls
CFE_PSP_MemValidateRange()
on the address of the pool data. However on 64 bit Linux this function ends up always returning an error, because the internal table is not set up for 64 bit addressTo Reproduce
Run CFE on a 64-bit pc-linux platform, then issue CFE ES command code
CFE_ES_SEND_MEM_POOL_STATS_CC
(22) with a valid Pool ID.This always fails and says invalid handle, even though the handle is actually fine, because it is not passing the
CFE_PSP_MemValidateRange()
check.Expected behavior
Check should pass.
Code snips
If applicable, add references to the software.
System observed on:
Ubuntu 20.04 (64-bit)
Additional context
This table is still using
uint32
sizes. It must have been missed in the previous updates that changed much of this tosize_t
.Reporter Info
Joseph Hickey, Vantage Systems, Inc.
The text was updated successfully, but these errors were encountered: