Re: [PATCH v5 3/4] net: socket: simplify dev_ifconf handling
From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-07-21 09:21:59
On Wed, Jul 21, 2021 at 9:32 AM Christoph Hellwig [off-list ref] wrote:
quoted
The implementation can be simplified further, based on the knowledge that the dynamic registration is only ever usedquoted
for IPv4.I think dropping register_gifconf (which seems like a nice cleanup!) needs to be a separate prep patch to not make this too confusing.
Right, good idea.
quoted
index e6231837aff5..4727c7a3a988 100644--- a/include/linux/compat.h +++ b/include/linux/compat.h@@ -104,6 +104,11 @@ struct compat_ifmap { unsigned char port; }; +struct compat_ifconf { + compat_int_t ifc_len; /* size of buffer */ + compat_uptr_t ifcbuf; +}; + #ifdef CONFIG_COMPAT #ifndef compat_user_stack_pointer@@ -326,12 +331,6 @@ typedef struct compat_sigevent { } _sigev_un; } compat_sigevent_t; -struct compat_if_settings { - unsigned int type; /* Type of physical device or protocol */ - unsigned int size; /* Size of the data allocated by the caller */ - compat_uptr_t ifs_ifsu; /* union of pointers */ -};Does this actually compile as-is? It adds a second definition of compat_ifconf but removes the still used compat_if_settings?
Indeed it does not. I must have applied a hunk to the wrong patch in an earlier rebase, and the build bots never picked up on it because the series was fine in the end.
Maybe it would be a better idea to add a prep patch that makes as much as possible of compat.h available unconditionally instead of all these little moves.
Ok, I'll figure something out.
Arnd