Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ipv6: fix exthdrs offload registration in out_rt path

We previously register IPPROTO_ROUTING offload under inet6_add_offload(),
but in error path, we try to unregister it with inet_del_offload(). This
doesn't seem correct, it should actually be inet6_del_offload(), also
ipv6_exthdrs_offload_exit() from that commit seems rather incorrect (it
also uses rthdr_offload twice), but it got removed entirely later on.

Fixes: 3336288a9fea ("ipv6: Switch to using new offload infrastructure.")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Daniel Borkmann and committed by
David S. Miller
e41b0bed 210c34dc

+1 -1
+1 -1
net/ipv6/exthdrs_offload.c
··· 36 36 return ret; 37 37 38 38 out_rt: 39 - inet_del_offload(&rthdr_offload, IPPROTO_ROUTING); 39 + inet6_del_offload(&rthdr_offload, IPPROTO_ROUTING); 40 40 goto out; 41 41 }