2019-03-04 20:41:30

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] netfilter: nf_conntrack_sip: fix IPV6 dependency

With CONFIG_IPV6=m and CONFIG_NF_CONNTRACK_SIP=y, we now get a link failure:

net/netfilter/nf_conntrack_sip.o: In function `process_sdp':
nf_conntrack_sip.c:(.text+0x4344): undefined reference to `ip6_route_output_flags'

Fix this by adding a dependency that forces CONFIG_NF_CONNTRACK_SIP to be =m
when CONFIG_IPV6=m, as we already do for several other drivers with a similar
requirement.

Fixes: a3419ce3356c ("netfilter: nf_conntrack_sip: add sip_external_media logic")
Signed-off-by: Arnd Bergmann <[email protected]>
---
net/netfilter/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
index d43ffb09939b..964bc317ad0a 100644
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -333,6 +333,7 @@ config NF_CONNTRACK_SANE

config NF_CONNTRACK_SIP
tristate "SIP protocol support"
+ depends on IPV6 || IPV6=n
default m if NETFILTER_ADVANCED=n
help
SIP is an application-layer control protocol that can establish,
--
2.20.0



2019-03-08 16:07:08

by Pablo Neira Ayuso

[permalink] [raw]
Subject: Re: [PATCH] netfilter: nf_conntrack_sip: fix IPV6 dependency

hi Arnd,

Cc'ing Alin Nastac.

On Mon, Mar 04, 2019 at 09:40:12PM +0100, Arnd Bergmann wrote:
> With CONFIG_IPV6=m and CONFIG_NF_CONNTRACK_SIP=y, we now get a link failure:
>
> net/netfilter/nf_conntrack_sip.o: In function `process_sdp':
> nf_conntrack_sip.c:(.text+0x4344): undefined reference to `ip6_route_output_flags'

I see. We can probably use nf_route() instead.

Or if needed, use struct nf_ipv6_ops for this.

if (v6ops)
ret = v6ops->route_xyz(...);

@Alin: Would you send us a patch to do so to fix a3419ce3356cf1f
netfilter: nf_conntrack_sip: add sip_external_media logic".

This direct dependency with IPv6 is superfluous, it should not happen.

Thanks!

2019-03-08 16:23:25

by Alin Năstac

[permalink] [raw]
Subject: Re: [PATCH] netfilter: nf_conntrack_sip: fix IPV6 dependency

Hi Pablo,
On Fri, Mar 8, 2019 at 5:04 PM Pablo Neira Ayuso <[email protected]> wrote:
>
> hi Arnd,
>
> Cc'ing Alin Nastac.
>
> On Mon, Mar 04, 2019 at 09:40:12PM +0100, Arnd Bergmann wrote:
> > With CONFIG_IPV6=m and CONFIG_NF_CONNTRACK_SIP=y, we now get a link failure:
> >
> > net/netfilter/nf_conntrack_sip.o: In function `process_sdp':
> > nf_conntrack_sip.c:(.text+0x4344): undefined reference to `ip6_route_output_flags'
>
> I see. We can probably use nf_route() instead.
>
> Or if needed, use struct nf_ipv6_ops for this.
>
> if (v6ops)
> ret = v6ops->route_xyz(...);
>
> @Alin: Would you send us a patch to do so to fix a3419ce3356cf1f
> netfilter: nf_conntrack_sip: add sip_external_media logic".

nf_ip6_route(net, &dst, &fl6, false) seems to be appropriate.
I'll send the patch Monday.

2019-06-18 18:11:30

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] netfilter: nf_conntrack_sip: fix IPV6 dependency

On Fri, Mar 8, 2019 at 5:23 PM Alin Năstac <[email protected]> wrote:

> On Fri, Mar 8, 2019 at 5:04 PM Pablo Neira Ayuso <[email protected]> wrote:
> > On Mon, Mar 04, 2019 at 09:40:12PM +0100, Arnd Bergmann wrote:
> > > With CONFIG_IPV6=m and CONFIG_NF_CONNTRACK_SIP=y, we now get a link failure:
> > >
> > > net/netfilter/nf_conntrack_sip.o: In function `process_sdp':
> > > nf_conntrack_sip.c:(.text+0x4344): undefined reference to `ip6_route_output_flags'
> >
> > I see. We can probably use nf_route() instead.
> >
> > Or if needed, use struct nf_ipv6_ops for this.
> >
> > if (v6ops)
> > ret = v6ops->route_xyz(...);
> >
> > @Alin: Would you send us a patch to do so to fix a3419ce3356cf1f
> > netfilter: nf_conntrack_sip: add sip_external_media logic".
>
> nf_ip6_route(net, &dst, &fl6, false) seems to be appropriate.
> I'll send the patch Monday.

I see the original bug I reported is still there. Can you send that patch
you had planned to do?

Arnd

2019-06-18 18:15:25

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] netfilter: nf_conntrack_sip: fix IPV6 dependency

On Tue, Jun 18, 2019 at 8:09 PM Arnd Bergmann <[email protected]> wrote:
> On Fri, Mar 8, 2019 at 5:23 PM Alin Năstac <[email protected]> wrote:
> > On Fri, Mar 8, 2019 at 5:04 PM Pablo Neira Ayuso <[email protected]> wrote:
> > > On Mon, Mar 04, 2019 at 09:40:12PM +0100, Arnd Bergmann wrote:
> > > > With CONFIG_IPV6=m and CONFIG_NF_CONNTRACK_SIP=y, we now get a link failure:
> > > >
> > > > net/netfilter/nf_conntrack_sip.o: In function `process_sdp':
> > > > nf_conntrack_sip.c:(.text+0x4344): undefined reference to `ip6_route_output_flags'
> > >
> > > I see. We can probably use nf_route() instead.
> > >
> > > Or if needed, use struct nf_ipv6_ops for this.
> > >
> > > if (v6ops)
> > > ret = v6ops->route_xyz(...);
> > >
> > > @Alin: Would you send us a patch to do so to fix a3419ce3356cf1f
> > > netfilter: nf_conntrack_sip: add sip_external_media logic".
> >
> > nf_ip6_route(net, &dst, &fl6, false) seems to be appropriate.
> > I'll send the patch Monday.
>
> I see the original bug I reported is still there. Can you send that patch
> you had planned to do?

Hmm, I think I mixed up this patch with a different one that is missing.
Please ignore my reply above.

Arnd