4.19 queue: netfilter: conntrack: unregister ipv4 sockopts on error unwind

From: Pavel Machek
Date: Mon Jun 07 2021 - 18:38:57 EST


Hi!

That patch is wrong for 4.19. Wrong version is 066585c43 in stable
queue.

netfilter: conntrack: unregister ipv4 sockopts on error unwind

[ Upstream commit 22cbdbcfb61acc78d5fc21ebb13ccc0d7e29f793 ]

When ipv6 sockopt register fails, the ipv4 one needs to be
removed.

...

+++ b/net/netfilter/nf_conntrack_proto.c
@@ -962,7 +962,7 @@ int nf_conntrack_proto_init(void)
nf_unregister_sockopt(&so_getorigdst);
#if IS_ENABLED(CONFIG_IPV6)
cleanup_sockopt:
- nf_unregister_sockopt(&so_getorigdst6);
+ nf_unregister_sockopt(&so_getorigdst);
#endif
return ret;

Note the context. cleanup_sockopt2: needs to do
nf_unregister_sockopt(&so_getorigdst6);, otherwise we end up
unregistering the same pointer twice.

(AFAICT it is ok in mainline and 5.10).

Best regards,
Pavel

--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: Digital signature