Subject: Re: Some sort of netlink RTM_GET(ROUTE|RULE|NEIGH) regression(?) in 6.10-rc3 vs 6.9

From: Jakub Kicinski <[email-masked]>
Date: Thu, 13 Jun 2024 06:29:27 -0700

On Thu, 13 Jun 2024 14:18:41 +0200 Maciej Żenczykowski wrote:
> The Android net tests
> (available at https://cs.android.com/android/platform/superproject/main/+/main:kernel/tests/net/test/
> more specifically multinetwork_test.py & neighbour_test.py)
> run via:
>   /...aosp-tests.../net/test/run_net_test.sh --builder
> from within a 6.10-rc3 kernel tree are falling over due to a *plethora* of:
>   TypeError: NLMsgHdr requires a bytes object of length 16, got 4
> 
> The problems might be limited to RTM_GETROUTE and RTM_GETRULE and RTM_GETNEIGH,
> as various other netlink using xfrm tests appear to be okay...
> 
> (note: 6.10-rc3 also fails to build for UML due to a buggy bpf change,
> but I sent out a 1-line fix for that already:
> https://patchwork.kernel.org/project/netdevbpf/patch/[email-masked]/
> )
> 
> It is of course entirely possible the test code is buggy in how it
> parses netlink, but it has worked for years and years...
> 
> Before I go trying to bisect this... anyone have any idea what might
> be the cause?
> Perhaps some sort of change to how these dumps work? Some sort of new
> netlink extended errors?

Take a look at commit 5b4b62a169e1 ("rtnetlink: make the "split"
NLM_DONE handling generic"), there may be more such workarounds missing.