* [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM
@ 2023-07-24 9:00 Ilia Lin
2023-07-24 18:11 ` Leon Romanovsky
0 siblings, 1 reply; 8+ messages in thread
From: Ilia Lin @ 2023-07-24 9:00 UTC (permalink / raw)
To: steffen.klassert, herbert, davem, edumazet, kuba, pabeni
Cc: netdev, linux-kernel, jeffrey.t.kirsher
If XFRM_OFFLOAD is configured, but XFRM is not, it will cause
compilation error on include xfrm.h:
C 05:56:39 In file included from /src/linux/kernel_platform/msm-kernel/net/core/sock.c:127:
C 05:56:39 /src/linux/kernel_platform/msm-kernel/include/net/xfrm.h:1932:30: error: no member named 'xfrm' in 'struct dst_entry'
C 05:56:39 struct xfrm_state *x = dst->xfrm;
C 05:56:39 ~~~ ^
Making the XFRM_OFFLOAD select the XFRM.
Fixes: 48e01e001da31 ("ixgbe/ixgbevf: fix XFRM_ALGO dependency")
Reported-by: Ilia Lin <ilia.lin@kernel.org>
Signed-off-by: Ilia Lin <ilia.lin@kernel.org>
---
net/xfrm/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/xfrm/Kconfig b/net/xfrm/Kconfig
index 3adf31a83a79a..3fc2c1bcb5bbe 100644
--- a/net/xfrm/Kconfig
+++ b/net/xfrm/Kconfig
@@ -10,6 +10,7 @@ config XFRM
config XFRM_OFFLOAD
bool
+ select XFRM
config XFRM_ALGO
tristate
--
2.25.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM 2023-07-24 9:00 [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM Ilia Lin @ 2023-07-24 18:11 ` Leon Romanovsky 2023-07-25 4:41 ` Ilia Lin 0 siblings, 1 reply; 8+ messages in thread From: Leon Romanovsky @ 2023-07-24 18:11 UTC (permalink / raw) To: Ilia Lin Cc: steffen.klassert, herbert, davem, edumazet, kuba, pabeni, netdev, linux-kernel, jeffrey.t.kirsher On Mon, Jul 24, 2023 at 12:00:44PM +0300, Ilia Lin wrote: > If XFRM_OFFLOAD is configured, but XFRM is not How did you do it? >, it will cause > compilation error on include xfrm.h: > C 05:56:39 In file included from /src/linux/kernel_platform/msm-kernel/net/core/sock.c:127: > C 05:56:39 /src/linux/kernel_platform/msm-kernel/include/net/xfrm.h:1932:30: error: no member named 'xfrm' in 'struct dst_entry' > C 05:56:39 struct xfrm_state *x = dst->xfrm; > C 05:56:39 ~~~ ^ > > Making the XFRM_OFFLOAD select the XFRM. > > Fixes: 48e01e001da31 ("ixgbe/ixgbevf: fix XFRM_ALGO dependency") > Reported-by: Ilia Lin <ilia.lin@kernel.org> > Signed-off-by: Ilia Lin <ilia.lin@kernel.org> > --- > net/xfrm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/xfrm/Kconfig b/net/xfrm/Kconfig > index 3adf31a83a79a..3fc2c1bcb5bbe 100644 > --- a/net/xfrm/Kconfig > +++ b/net/xfrm/Kconfig > @@ -10,6 +10,7 @@ config XFRM > > config XFRM_OFFLOAD > bool > + select XFRM struct dst_entry depends on CONFIG_XFRM and not on CONFIG_XFRM_OFFLOAD, so it is unclear to me why do you need to add new "select XFRM" line. 26 struct dst_entry { 27 struct net_device *dev; 28 struct dst_ops *ops; 29 unsigned long _metrics; 30 unsigned long expires; 31 #ifdef CONFIG_XFRM 32 struct xfrm_state *xfrm; 33 #else 34 void *__pad1; 35 #endif 36 int Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM 2023-07-24 18:11 ` Leon Romanovsky @ 2023-07-25 4:41 ` Ilia Lin 2023-07-25 5:19 ` Leon Romanovsky 0 siblings, 1 reply; 8+ messages in thread From: Ilia Lin @ 2023-07-25 4:41 UTC (permalink / raw) To: Leon Romanovsky Cc: Ilia Lin, steffen.klassert, herbert, davem, edumazet, kuba, pabeni, netdev, linux-kernel, jeffrey.t.kirsher Hi Leon, This is exactly like I described: * xfrm.h is included from the net/core/sock.c unconditionally. * If CONFIG_XFRM_OFFLOAD is set, then the xfrm_dst_offload_ok() is being compiled. * If CONFIG_XFRM is not set, the struct dst_entry doesn't have the xfrm member. * xfrm_dst_offload_ok() tries to access the dst->xfrm and that fails to compile. Thanks, Ilia Lin On Mon, Jul 24, 2023 at 9:11 PM Leon Romanovsky <leon@kernel.org> wrote: > > On Mon, Jul 24, 2023 at 12:00:44PM +0300, Ilia Lin wrote: > > If XFRM_OFFLOAD is configured, but XFRM is not > > How did you do it? > > >, it will cause > > compilation error on include xfrm.h: > > C 05:56:39 In file included from /src/linux/kernel_platform/msm-kernel/net/core/sock.c:127: > > C 05:56:39 /src/linux/kernel_platform/msm-kernel/include/net/xfrm.h:1932:30: error: no member named 'xfrm' in 'struct dst_entry' > > C 05:56:39 struct xfrm_state *x = dst->xfrm; > > C 05:56:39 ~~~ ^ > > > > Making the XFRM_OFFLOAD select the XFRM. > > > > Fixes: 48e01e001da31 ("ixgbe/ixgbevf: fix XFRM_ALGO dependency") > > Reported-by: Ilia Lin <ilia.lin@kernel.org> > > Signed-off-by: Ilia Lin <ilia.lin@kernel.org> > > --- > > net/xfrm/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/net/xfrm/Kconfig b/net/xfrm/Kconfig > > index 3adf31a83a79a..3fc2c1bcb5bbe 100644 > > --- a/net/xfrm/Kconfig > > +++ b/net/xfrm/Kconfig > > @@ -10,6 +10,7 @@ config XFRM > > > > config XFRM_OFFLOAD > > bool > > + select XFRM > > struct dst_entry depends on CONFIG_XFRM and not on CONFIG_XFRM_OFFLOAD, > so it is unclear to me why do you need to add new "select XFRM" line. > > 26 struct dst_entry { > 27 struct net_device *dev; > 28 struct dst_ops *ops; > 29 unsigned long _metrics; > 30 unsigned long expires; > 31 #ifdef CONFIG_XFRM > 32 struct xfrm_state *xfrm; > 33 #else > 34 void *__pad1; > 35 #endif > 36 int > > Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM 2023-07-25 4:41 ` Ilia Lin @ 2023-07-25 5:19 ` Leon Romanovsky 2023-07-25 9:11 ` Ilia Lin 0 siblings, 1 reply; 8+ messages in thread From: Leon Romanovsky @ 2023-07-25 5:19 UTC (permalink / raw) To: Ilia Lin Cc: steffen.klassert, herbert, davem, edumazet, kuba, pabeni, netdev, linux-kernel, jeffrey.t.kirsher On Tue, Jul 25, 2023 at 07:41:49AM +0300, Ilia Lin wrote: > Hi Leon, You was already asked do not top-post. https://lore.kernel.org/netdev/20230718105446.GD8808@unreal/ Please stop it. > > This is exactly like I described: > * xfrm.h is included from the net/core/sock.c unconditionally. > * If CONFIG_XFRM_OFFLOAD is set, then the xfrm_dst_offload_ok() is > being compiled. > * If CONFIG_XFRM is not set, the struct dst_entry doesn't have the xfrm member. > * xfrm_dst_offload_ok() tries to access the dst->xfrm and that fails to compile. I asked two questions. First one was "How did you set XFRM_OFFLOAD without XFRM?". Thanks > > > Thanks, > Ilia Lin > > On Mon, Jul 24, 2023 at 9:11 PM Leon Romanovsky <leon@kernel.org> wrote: > > > > On Mon, Jul 24, 2023 at 12:00:44PM +0300, Ilia Lin wrote: > > > If XFRM_OFFLOAD is configured, but XFRM is not > > > > How did you do it? > > > > >, it will cause > > > compilation error on include xfrm.h: > > > C 05:56:39 In file included from /src/linux/kernel_platform/msm-kernel/net/core/sock.c:127: > > > C 05:56:39 /src/linux/kernel_platform/msm-kernel/include/net/xfrm.h:1932:30: error: no member named 'xfrm' in 'struct dst_entry' > > > C 05:56:39 struct xfrm_state *x = dst->xfrm; > > > C 05:56:39 ~~~ ^ > > > > > > Making the XFRM_OFFLOAD select the XFRM. > > > > > > Fixes: 48e01e001da31 ("ixgbe/ixgbevf: fix XFRM_ALGO dependency") > > > Reported-by: Ilia Lin <ilia.lin@kernel.org> > > > Signed-off-by: Ilia Lin <ilia.lin@kernel.org> > > > --- > > > net/xfrm/Kconfig | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/net/xfrm/Kconfig b/net/xfrm/Kconfig > > > index 3adf31a83a79a..3fc2c1bcb5bbe 100644 > > > --- a/net/xfrm/Kconfig > > > +++ b/net/xfrm/Kconfig > > > @@ -10,6 +10,7 @@ config XFRM > > > > > > config XFRM_OFFLOAD > > > bool > > > + select XFRM > > > > struct dst_entry depends on CONFIG_XFRM and not on CONFIG_XFRM_OFFLOAD, > > so it is unclear to me why do you need to add new "select XFRM" line. > > > > 26 struct dst_entry { > > 27 struct net_device *dev; > > 28 struct dst_ops *ops; > > 29 unsigned long _metrics; > > 30 unsigned long expires; > > 31 #ifdef CONFIG_XFRM > > 32 struct xfrm_state *xfrm; > > 33 #else > > 34 void *__pad1; > > 35 #endif > > 36 int > > > > Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM 2023-07-25 5:19 ` Leon Romanovsky @ 2023-07-25 9:11 ` Ilia Lin 2023-07-25 9:38 ` Leon Romanovsky 0 siblings, 1 reply; 8+ messages in thread From: Ilia Lin @ 2023-07-25 9:11 UTC (permalink / raw) To: Leon Romanovsky Cc: Ilia Lin, steffen.klassert, herbert, davem, edumazet, kuba, pabeni, netdev, linux-kernel, jeffrey.t.kirsher On Tue, Jul 25, 2023 at 8:19 AM Leon Romanovsky <leon@kernel.org> wrote: > > On Tue, Jul 25, 2023 at 07:41:49AM +0300, Ilia Lin wrote: > > Hi Leon, > > You was already asked do not top-post. > https://lore.kernel.org/netdev/20230718105446.GD8808@unreal/ > Please stop it. > > > > > This is exactly like I described: > > * xfrm.h is included from the net/core/sock.c unconditionally. > > * If CONFIG_XFRM_OFFLOAD is set, then the xfrm_dst_offload_ok() is > > being compiled. > > * If CONFIG_XFRM is not set, the struct dst_entry doesn't have the xfrm member. > > * xfrm_dst_offload_ok() tries to access the dst->xfrm and that fails to compile. > > I asked two questions. First one was "How did you set XFRM_OFFLOAD > without XFRM?". > > Thanks > In driver Kconfig: "select XFRM_OFFLOAD" > > > > > > > Thanks, > > Ilia Lin > > > > On Mon, Jul 24, 2023 at 9:11 PM Leon Romanovsky <leon@kernel.org> wrote: > > > > > > On Mon, Jul 24, 2023 at 12:00:44PM +0300, Ilia Lin wrote: > > > > If XFRM_OFFLOAD is configured, but XFRM is not > > > > > > How did you do it? > > > > > > >, it will cause > > > > compilation error on include xfrm.h: > > > > C 05:56:39 In file included from /src/linux/kernel_platform/msm-kernel/net/core/sock.c:127: > > > > C 05:56:39 /src/linux/kernel_platform/msm-kernel/include/net/xfrm.h:1932:30: error: no member named 'xfrm' in 'struct dst_entry' > > > > C 05:56:39 struct xfrm_state *x = dst->xfrm; > > > > C 05:56:39 ~~~ ^ > > > > > > > > Making the XFRM_OFFLOAD select the XFRM. > > > > > > > > Fixes: 48e01e001da31 ("ixgbe/ixgbevf: fix XFRM_ALGO dependency") > > > > Reported-by: Ilia Lin <ilia.lin@kernel.org> > > > > Signed-off-by: Ilia Lin <ilia.lin@kernel.org> > > > > --- > > > > net/xfrm/Kconfig | 1 + > > > > 1 file changed, 1 insertion(+) > > > > > > > > diff --git a/net/xfrm/Kconfig b/net/xfrm/Kconfig > > > > index 3adf31a83a79a..3fc2c1bcb5bbe 100644 > > > > --- a/net/xfrm/Kconfig > > > > +++ b/net/xfrm/Kconfig > > > > @@ -10,6 +10,7 @@ config XFRM > > > > > > > > config XFRM_OFFLOAD > > > > bool > > > > + select XFRM > > > > > > struct dst_entry depends on CONFIG_XFRM and not on CONFIG_XFRM_OFFLOAD, > > > so it is unclear to me why do you need to add new "select XFRM" line. > > > > > > 26 struct dst_entry { > > > 27 struct net_device *dev; > > > 28 struct dst_ops *ops; > > > 29 unsigned long _metrics; > > > 30 unsigned long expires; > > > 31 #ifdef CONFIG_XFRM > > > 32 struct xfrm_state *xfrm; > > > 33 #else > > > 34 void *__pad1; > > > 35 #endif > > > 36 int > > > > > > Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM 2023-07-25 9:11 ` Ilia Lin @ 2023-07-25 9:38 ` Leon Romanovsky 2023-07-25 10:15 ` Ilia Lin 0 siblings, 1 reply; 8+ messages in thread From: Leon Romanovsky @ 2023-07-25 9:38 UTC (permalink / raw) To: Ilia Lin Cc: Ilia Lin, steffen.klassert, herbert, davem, edumazet, kuba, pabeni, netdev, linux-kernel, jeffrey.t.kirsher On Tue, Jul 25, 2023 at 12:11:06PM +0300, Ilia Lin wrote: > On Tue, Jul 25, 2023 at 8:19 AM Leon Romanovsky <leon@kernel.org> wrote: > > > > On Tue, Jul 25, 2023 at 07:41:49AM +0300, Ilia Lin wrote: > > > Hi Leon, > > > > You was already asked do not top-post. > > https://lore.kernel.org/netdev/20230718105446.GD8808@unreal/ > > Please stop it. > > > > > > > > This is exactly like I described: > > > * xfrm.h is included from the net/core/sock.c unconditionally. > > > * If CONFIG_XFRM_OFFLOAD is set, then the xfrm_dst_offload_ok() is > > > being compiled. > > > * If CONFIG_XFRM is not set, the struct dst_entry doesn't have the xfrm member. > > > * xfrm_dst_offload_ok() tries to access the dst->xfrm and that fails to compile. > > > > I asked two questions. First one was "How did you set XFRM_OFFLOAD > > without XFRM?". > > > > Thanks > > > In driver Kconfig: "select XFRM_OFFLOAD" In driver Kconfig, one should use "depends on XFRM_OFFLOAD" and not "select XFRM_OFFLOAD". Drivers shouldn't enable XFRM_OFFLOAD directly and all upstream users are safe here. Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM 2023-07-25 9:38 ` Leon Romanovsky @ 2023-07-25 10:15 ` Ilia Lin 2023-07-25 10:27 ` Leon Romanovsky 0 siblings, 1 reply; 8+ messages in thread From: Ilia Lin @ 2023-07-25 10:15 UTC (permalink / raw) To: Leon Romanovsky Cc: Ilia Lin, steffen.klassert, herbert, davem, edumazet, kuba, pabeni, netdev, linux-kernel, jeffrey.t.kirsher On Tue, Jul 25, 2023 at 12:38 PM Leon Romanovsky <leon@kernel.org> wrote: > > On Tue, Jul 25, 2023 at 12:11:06PM +0300, Ilia Lin wrote: > > On Tue, Jul 25, 2023 at 8:19 AM Leon Romanovsky <leon@kernel.org> wrote: > > > > > > On Tue, Jul 25, 2023 at 07:41:49AM +0300, Ilia Lin wrote: > > > > Hi Leon, > > > > > > You was already asked do not top-post. > > > https://lore.kernel.org/netdev/20230718105446.GD8808@unreal/ > > > Please stop it. > > > > > > > > > > > This is exactly like I described: > > > > * xfrm.h is included from the net/core/sock.c unconditionally. > > > > * If CONFIG_XFRM_OFFLOAD is set, then the xfrm_dst_offload_ok() is > > > > being compiled. > > > > * If CONFIG_XFRM is not set, the struct dst_entry doesn't have the xfrm member. > > > > * xfrm_dst_offload_ok() tries to access the dst->xfrm and that fails to compile. > > > > > > I asked two questions. First one was "How did you set XFRM_OFFLOAD > > > without XFRM?". > > > > > > Thanks > > > > > In driver Kconfig: "select XFRM_OFFLOAD" > > In driver Kconfig, one should use "depends on XFRM_OFFLOAD" and not "select XFRM_OFFLOAD". > Drivers shouldn't enable XFRM_OFFLOAD directly and all upstream users are safe here. Thank you for that information, but the XFRM_OFFLOAD doesn't depend on XFRM either. > > Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM 2023-07-25 10:15 ` Ilia Lin @ 2023-07-25 10:27 ` Leon Romanovsky 0 siblings, 0 replies; 8+ messages in thread From: Leon Romanovsky @ 2023-07-25 10:27 UTC (permalink / raw) To: Ilia Lin Cc: steffen.klassert, herbert, davem, edumazet, kuba, pabeni, netdev, linux-kernel, jeffrey.t.kirsher On Tue, Jul 25, 2023 at 01:15:12PM +0300, Ilia Lin wrote: > On Tue, Jul 25, 2023 at 12:38 PM Leon Romanovsky <leon@kernel.org> wrote: > > > > On Tue, Jul 25, 2023 at 12:11:06PM +0300, Ilia Lin wrote: > > > On Tue, Jul 25, 2023 at 8:19 AM Leon Romanovsky <leon@kernel.org> wrote: > > > > > > > > On Tue, Jul 25, 2023 at 07:41:49AM +0300, Ilia Lin wrote: > > > > > Hi Leon, > > > > > > > > You was already asked do not top-post. > > > > https://lore.kernel.org/netdev/20230718105446.GD8808@unreal/ > > > > Please stop it. > > > > > > > > > > > > > > This is exactly like I described: > > > > > * xfrm.h is included from the net/core/sock.c unconditionally. > > > > > * If CONFIG_XFRM_OFFLOAD is set, then the xfrm_dst_offload_ok() is > > > > > being compiled. > > > > > * If CONFIG_XFRM is not set, the struct dst_entry doesn't have the xfrm member. > > > > > * xfrm_dst_offload_ok() tries to access the dst->xfrm and that fails to compile. > > > > > > > > I asked two questions. First one was "How did you set XFRM_OFFLOAD > > > > without XFRM?". > > > > > > > > Thanks > > > > > > > In driver Kconfig: "select XFRM_OFFLOAD" > > > > In driver Kconfig, one should use "depends on XFRM_OFFLOAD" and not "select XFRM_OFFLOAD". > > Drivers shouldn't enable XFRM_OFFLOAD directly and all upstream users are safe here. > > Thank you for that information, but the XFRM_OFFLOAD doesn't depend on > XFRM either. Indirectly, XFRM_OFFLOAD depends on XFRM. INET_ESP_OFFLOAD -> INET_ESP/XFRM_OFFLOAD -> XFRM_ESP -> XFRM_ALGO -> XFRM. Thanks > > > > > Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-07-25 10:27 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-07-24 9:00 [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM Ilia Lin 2023-07-24 18:11 ` Leon Romanovsky 2023-07-25 4:41 ` Ilia Lin 2023-07-25 5:19 ` Leon Romanovsky 2023-07-25 9:11 ` Ilia Lin 2023-07-25 9:38 ` Leon Romanovsky 2023-07-25 10:15 ` Ilia Lin 2023-07-25 10:27 ` Leon Romanovsky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).