4 ms·
I don't understand your point. If you haven't got all the source code (e.g. random drivers), you're unlikely to have any say in the language that the binary cod
by joosters 9y ago
I don't understand your point. If you haven't got all the source code (e.g. random drivers), you're unlikely to have any say in the language that the binary code blobs were written in either.
- pjmlp 9y agoLanguages like Ada just forbid many of the errors that lead to memory corruption in C, by default. So it would only happen with a binary Ada library in two ways: - the binary was manipulated and thus does not map to the original source code - the code was compiled with permission for Uncheked packages enabled In C, 100% of the source code is unsafe, specially when compiled with -O3.
- joosters 9y agoI was referring to your original comment: 'they only work properly if 100% of the source code is available.' This project is adding protection to the linux kernel. Now, this bounds checking could be added to a kernel build with 100% of the source code available, in which case all is good. Or, it could be added to a kernel build where some of the drivers are available only in a 'binary blob' form. In which case, rewriting the kernel in Ada (or whatever) would not help you with the binary blobs, since they are out of your control. So, as I understand it, your point of 'only working properly if 100% of the source code is available' would seem to be just as true for a code rewrite as it is for the paper's approach to the problem.