Thread (49 messages) 49 messages, 3 authors, 2025-11-26

Re: [PATCH net-next v3 11/11] wireguard: netlink: generate netlink code

From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: 2025-11-20 00:54:56
Also in: lkml

On Tue, Nov 18, 2025 at 05:00:45PM -0800, Jakub Kicinski wrote:
On Tue, 18 Nov 2025 23:51:37 +0100 Jason A. Donenfeld wrote:
quoted
I mean, there is *tons* of generated code in the kernel. This is how it
works. And you *want the output to change when the tool changes*. That's
literally the point. It would be like if you wanted to check in all the
.o files, in case the compiler started generating different output, or
if you wanted the objtool output or anything else to be checked in. And
sheerly from a git perspective, it seems outrageous to touch a zillion
files every time the ynl code changes. Rather, the fact that it's
generated on the fly ensures that the ynl generator stays correctly
implemented. It's the best way to keep that code from rotting.
CI checks validate that the files are up to date.
There has been no churn to the kernel side of the generated code.
Let's be practical.
Okay, it sounds like neither of you want to do this. Darn. I really hate
having generated artifacts laying around that can be created efficiently
at compile time. But okay, so it goes. I guess we'll do that.

I would like to ask two things, then, which may or may not be possible:

1) Can we put this in drivers/net/wireguard/generated/netlink.{c.h}
   And then in the Makefile, do `wireguard-y += netlink.o generated/netlink.o`
   on one line like that. I prefer this to keeping it in the same
   directory with the awkward -gen suffix.

2) In the header of each generated file, automatically write out the
   command that was used to generate it. Here's an example of this good
   habit from Go: https://github.com/golang/go/blob/master/src/syscall/zsyscall_linux_amd64.go

Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help