ARMmbed / ARMmbed/uvisor

Box 0 can't receive RPC

Open
#539 1 comment 0 reactions 0 assignees View on GitHub
mirrored
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.