|
|
|
|
|
by aidenn0
664 days ago
|
|
I'm not sure if we are talking past each other or what. 1. Non-unsafe rust is memory-safe because otherwise unsafe operations (e.g. out-of-bounds accesses on arrays) are guaranteed to trap. 2. A typical C implementation on typical non-CHERI hardware is not safe because various invalid memory operations (e.g. out-of-bounds, use after free) may fail to trap. 3. A typical C implementation on CHERI hardware guarantees that all otherwise memory-unsafe operations trap. I think we both agree on #1 and #2. Am I wrong about #3? If I'm not wrong about #3, then what makes you say that #3 is not memory-safe? |
|