Programming Programming
-
LWN ☛ The challenge of compiling for verified architectures
On its surface, the BPF virtual machine resembles many other computer architectures; it has registers and instructions to perform the usual operations. But there is a key difference: BPF programs must pass the kernel's verifier before they can be run. The verifier imposes a long list of additional restrictions so that it can prove to itself that any given program is safe to run; getting past those checks can be a source of frustration for BPF developers. At the 2023 GNU Tools Cauldron, José Marchesi looked at the problem of compiling for verified architectures and how the compiler can generate code that will pass verification.
Marchesi, who has been working on a BPF backend for GCC, started by saying that the problem is inherently unsolvable. The BPF verifier is trying to do something that, in the theoretical sense, cannot be done; to make the problem tractable it imposes a number of restrictions on BPF programs, with the result that many correct programs still fail to pass verification. The verifier is a moving target as it evolves with each kernel release, and it is not the only verifier out there (the Windows BPF implementation has its own verifier that imposes a different set of restrictions). It is a challenging task but, perhaps, something can be done in practice to at least improve the situation.
-
Qt ☛ Generative AI Rewrites the Rules on Coding Assistance for Qt Developers
In 2023, the way software is developed has changed. Forever. There is no turning back.
-
Medevel ☛ vMass Bot is a Free Vulnerability Scanner & Auto Exploiter Tool Written in Perl.
vMass Bot is an open-source project that automates the exploitation of remote hosts by searching for environment files (.env) and extracting tools and information. It can generate host lists, filter and test extracted tools, and use WordPress hosts for automatic upload.
-
LWN ☛ Progress on no-GIL CPython
Back at the end of July, the Python steering council announced its intention to approve the proposal to make the global interpreter lock (GIL) optional over the next few Python releases. The details of that acceptance are still being decided on, but work on the feature is proceeding—in discussion form at least. Beyond that, though, there are efforts underway to solve that hardest of problems in computer science, naming, for the no-GIL version.