Skip to content

Commit c3e53fa

Browse files
committed
Rename Phil's post.
1 parent 456fdd8 commit c3e53fa

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

_posts/2025-01-09-exploiting_capabilities.markdown renamed to _posts/2025-01-09-capabilities-not-trust-third-party.markdown

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
---
22
layout: post
3-
title: "Exploiting Capabilities"
4-
date: 2025-01-09
3+
title: "Using capabilities instead of trusting 3rd party code"
4+
date: 2025-01-08
55
categories: rtos cheri
66
author: Phil Day
77
---
8+
89
When getting started with CHERI it's easy to think of capabilities as just a better form of pointer that the compiler will set up and manage on your behalf.
910
And of course there are a lot of memory safety benefits that come for free from that, but the real value is unlocked when you start to manipulate capabilities directly to capture intent.
1011
Let me illustrate with a simple example.
@@ -73,9 +74,11 @@ void publish(SObj mqtt,
7374
}
7475
}
7576
```
77+
7678
Note that when setting the bounds of a capability there may be rounding considerations to account for alignment.
77-
Using set_inexact() will return a valid capability that will be rounded up as needed.
78-
Using the following would instead return an invalid capability if statusLength could not be exactly represented in the bounds of a capability.
79+
Using `set_inexact()` will return a valid capability that will be rounded up as needed.
80+
Using the following would instead return an invalid capability if `statusLength` could not be exactly represented in the bounds of a capability.
81+
7982
```c++
8083
...
8184
roStatus.bounds() = statusLength;

0 commit comments

Comments
 (0)