Box 0 can't receive RPC
- Dominant language
- C
- Stars
- 135
- Forks
- 72
- PR merge metrics
- No merged PRs in 30d
Description
Multiple mbedOS features don't work properly when uVisor is activated unless implemented in box 0 (Ethernet on a K64F board for instance).
However, exposing those features with a RPC will cause an assert when called because of [this code](https://github.com/ARMmbed/uvisor/blob/master/core/system/src/rpc.c#L79-L83).
The documentation doesn't mention creating RPCs from the public box but it appears possible and when `box_id < 1` is patched and replaced with `box_id < 0`, everything appears to work fine.
Is there a reason for this limitation? If not, would a PR for this patch be accepted?
Contributor guide
Research direction
Start in core/system/src/rpc.c at lines 79-83 and reproduce the assert when an RPC is called from box 0. Check the surrounding RPC and uVisor documentation to determine whether public-box RPCs are intentionally blocked; done means the limitation is explained or the behavior is changed without the reported assert.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100