1*c618db2aSJakub Kicinski // SPDX-License-Identifier: GPL-2.0-only 2*c618db2aSJakub Kicinski 3*c618db2aSJakub Kicinski #include <linux/skbuff.h> 4*c618db2aSJakub Kicinski 5*c618db2aSJakub Kicinski #include "tls.h" 6*c618db2aSJakub Kicinski 7*c618db2aSJakub Kicinski int tls_strp_msg_hold(struct sock *sk, struct sk_buff *skb, 8*c618db2aSJakub Kicinski struct sk_buff_head *dst) 9*c618db2aSJakub Kicinski { 10*c618db2aSJakub Kicinski struct sk_buff *clone; 11*c618db2aSJakub Kicinski 12*c618db2aSJakub Kicinski clone = skb_clone(skb, sk->sk_allocation); 13*c618db2aSJakub Kicinski if (!clone) 14*c618db2aSJakub Kicinski return -ENOMEM; 15*c618db2aSJakub Kicinski __skb_queue_tail(dst, clone); 16*c618db2aSJakub Kicinski return 0; 17*c618db2aSJakub Kicinski } 18