Conversation

This Tweet was deleted by the Tweet author. Learn more
This Tweet was deleted by the Tweet author. Learn more
Separately from using a memory safe language for most of the code, device drivers usually do not need to run in a privileged context. They can be run in an isolated process with the IOMMU containing the hardware. Exploiting a network driver shouldn't compromise a whole system.
1
1
This Tweet was deleted by the Tweet author. Learn more
This Tweet was deleted by the Tweet author. Learn more
This Tweet was deleted by the Tweet author. Learn more
iOS implements TCP/IP in userspace and most operating systems have drivers at least partially implemented in userspace. Many of the secondary processors in a computer run a microkernel with isolated components. Most smartphones have *at least* one L4 implementation in them.
1
2
You talk about microkernels / isolated drivers and memory safe languages as if they're not already been broadly used in the wild. Most code is written in memory safe languages these days. Systems code is increasingly moving to them too. Kernels and drivers are *mostly* not yet.
1
1
This Tweet was deleted by the Tweet author. Learn more
Most languages are memory safe. That's not a unique thing about Rust. The unique aspect is that it's a memory safe low level language encoding ownership and lifetime concepts into the type system rather than relying on garbage collection or pervasive automatic reference counting.
1
1
Swift takes the approach of pervasive automatic (atomic) reference counting. Android heavily uses Java for much of the systems code on top of the kernel and drivers. iOS is increasingly using Swift for that. Most OS services above the kernel don't need a low-level language.
2
1
Show replies
This Tweet was deleted by the Tweet author. Learn more
You're proving my point by linking to a list of bugs that are mostly in C code. Nearly all the serious bugs involve both major issues that I have talked about: memory unsafety and dynamic code execution. Also once again with the misleading and now dishonest CVE counting.
1
Show replies