diff mbox series

ipset: Modify pernet_operations check

Message ID 20250523172732.59179-1-mpagano@gentoo.org
State New
Delegated to: Jozsef Kadlecsik
Headers show
Series ipset: Modify pernet_operations check | expand

Commit Message

Mike Pagano May 23, 2025, 5:26 p.m. UTC
Check for 'int \*id' in the pernet_operations struct
fails for some later versions of kernels as the declaration
is now 'int * const id'.

Kernel Commit 768e4bb6a75e3c6a034df7c67edac20bd222857e changed
the variable declaration that ipset uses to ensure presence
of the pernet ops id.

Modify the pattern match to include both the newer change while
still supporting the original declaration.

Signed-off-by: Mike Pagano <mpagano@gentoo.org>
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jeremy Sowden May 24, 2025, 12:57 p.m. UTC | #1
On 2025-05-23, at 13:26:51 -0400, Mike Pagano wrote:
>Check for 'int \*id' in the pernet_operations struct
>fails for some later versions of kernels as the declaration
>is now 'int * const id'.
>
>Kernel Commit 768e4bb6a75e3c6a034df7c67edac20bd222857e changed
>the variable declaration that ipset uses to ensure presence
>of the pernet ops id.
>
>Modify the pattern match to include both the newer change while
>still supporting the original declaration.
>
>Signed-off-by: Mike Pagano <mpagano@gentoo.org>
>---
> configure.ac | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/configure.ac b/configure.ac
>index b8e9433..faf570b 100644
>--- a/configure.ac
>+++ b/configure.ac
>@@ -401,7 +401,7 @@ fi
>
> AC_MSG_CHECKING([kernel source for id in struct pernet_operations])
> if test -f $ksourcedir/include/net/net_namespace.h && \
>-   $AWK '/^struct pernet_operations /,/^}/' $ksourcedir/include/net/net_namespace.h | $GREP -q 'int \*id;'; then
>+   $AWK '/^struct pernet_operations /,/^}/' $ksourcedir/include/net/net_namespace.h | $GREP -qE 'int \*id;|int \* const id'; then

Or:

      $AWK '/^struct pernet_operations /,/^}/' $ksourcedir/include/net/net_namespace.h | $GREP -qE 'int \*( const )?id;'; then

> 	AC_MSG_RESULT(yes)
> 	AC_SUBST(HAVE_NET_OPS_ID, define)
> else
>-- 
>2.49.0
>
>

J.
diff mbox series

Patch

diff --git a/configure.ac b/configure.ac
index b8e9433..faf570b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -401,7 +401,7 @@  fi
 
 AC_MSG_CHECKING([kernel source for id in struct pernet_operations])
 if test -f $ksourcedir/include/net/net_namespace.h && \
-   $AWK '/^struct pernet_operations /,/^}/' $ksourcedir/include/net/net_namespace.h | $GREP -q 'int \*id;'; then
+   $AWK '/^struct pernet_operations /,/^}/' $ksourcedir/include/net/net_namespace.h | $GREP -qE 'int \*id;|int \* const id'; then
 	AC_MSG_RESULT(yes)
 	AC_SUBST(HAVE_NET_OPS_ID, define)
 else