Comments (3)
This seems right to me. In other words, the implementations of ReadProcessBuffer
has to be trusted even if it doesn't happen to require unsafe
to write. So marking the trait unsafe
would help ensure that only trusted code is allowed to write this trusted code.
from tock.
Note: #![forbid(unsafe_code)]
can generally interact with and use an unsafe trait
without issue; it primarily affects implementers of the trait itself.
from tock.
Yes, at the moment any implementer of ReadableProcessBuffer
could write fn ptr(&self) -> *const u8 { ptr::null() }
. Since there's no safety requirement for trait implementers, that implementation is fine according to soundness rules - thus it's not fine for unsafe
code to trust generic ReadableProcessBuffer::ptr
output to be a valid pointer.
from tock.
Related Issues (20)
- Move implementations of kernel configuration tools to capsules
- Kernel Unit Testing HOT 4
- tock_memory_usage: SyntaxWarning: invalid escape sequence '\S'
- AppID Roadmap HOT 1
- RFC: Expand Alarm Range HOT 8
- License checker incorrectly rejects `.txt` files HOT 1
- Tracking: Tockbot HOT 1
- IEEE 802.15.4: Receive Raw
- RFC: Flash Storage with Isolation HOT 9
- Tracking: Implement Configuration Boards
- Writing the Tock OS kernel to the stm32f303discovery development board failed. HOT 5
- 6LoWPAN Indexing Bug HOT 3
- Alarm: Change prescaler for NRF 5x boards HOT 2
- Tracking: WiFi Support
- Process loading: applications' FLASH order must be the same as RAM order; otherwise loading fails for some HOT 2
- Tockloader: erase does not erase all apps HOT 2
- CI-Nightly Syntax Error HOT 1
- stm32f4xx: clocks: enabling PLL fails at some target frequencies HOT 2
- LowRISC UART driver: `hil::uart::Configure::configure` can corrupt data
- LowRISC UART driver: enable_rx_timeout overwrites the timeout value
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tock.