xfrm: Fix transport mode skb control buffer usage.
[ Upstream commit 9a3fb9fb84cc30577c1b012a6a3efda944684291 ] A recent commit introduced a new struct xfrm_trans_cb that is used with the sk_buff control buffer. Unfortunately it placed the structure in front of the control buffer and overlooked that the IPv4/IPv6 control buffer is still needed for some layer 4 protocols. As a result the IPv4/IPv6 control buffer is overwritten with this structure. Fix this by setting a apropriate header in front of the structure. Fixes acf568ee859f ("xfrm: Reinject transport-mode packets ...") Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
49f4a8c52e
commit
58be6253b0
@ -26,6 +26,12 @@ struct xfrm_trans_tasklet {
|
||||
};
|
||||
|
||||
struct xfrm_trans_cb {
|
||||
union {
|
||||
struct inet_skb_parm h4;
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
struct inet6_skb_parm h6;
|
||||
#endif
|
||||
} header;
|
||||
int (*finish)(struct net *net, struct sock *sk, struct sk_buff *skb);
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user