Re: [RFC 00/19] Kernel API Specification Framework
From: Sasha Levin <sashal@kernel.org>
Date: 2025-06-19 00:22:28
Also in:
lkml, tools, workflows
On Wed, Jun 18, 2025 at 02:29:37PM -0700, Kees Cook wrote:
On Sat, Jun 14, 2025 at 09:48:39AM -0400, Sasha Levin wrote:quoted
This patch series introduces a framework for formally specifying kernel APIs, addressing the long-standing challenge of maintaining stable interfaces between the kernel and user-space programs. As outlined in previous discussions about kernel ABI stability, the lack of machine-readable API specifications has led to inadvertent breakages and inconsistent validation across system calls and IOCTLs.I'd much prefer this be more attached to the code in question, otherwise we've go two things to update when changes happen. (Well, 3, since kern-doc already needs updating too.) Can't we collect error codes programmatically through control flow analysis? Argument mapping is already present in the SYSCALL macros,
I'm not sure what you meant with in the control flow analysis part: we have code to verify that the return value from the macro matches one of the ones defined in the spec.
etc. Let's not repeat this info.
I tried to come up with a way to get rid of the SYSCALL_DEFINEx() macro right after the spec. I agree that it's duplication, but my macro-foo is too weak to get rid of that SYSCALL_DEFINE() call. Suggestions more than welcome here: I suspect that this might require a bigger change in the code, but I'm still trying to figure it out. -- Thanks, Sasha