Subject: Re: [PATCH] xfrm: kconfig: Fix XFRM_OFFLOAD dependency on XFRM

From: Leon Romanovsky <[email-masked]>
Date: Tue, 25 Jul 2023 13:27:02 +0300

On Tue, Jul 25, 2023 at 01:15:12PM +0300, Ilia Lin wrote:
> On Tue, Jul 25, 2023 at 12:38 PM Leon Romanovsky <[email-masked]> 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 <[email-masked]> 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