saved_syn
struct saved_syn *saved_syn;
tp->saved_syn = req->saved_syn;
req->saved_syn = NULL;
kfree(tp->saved_syn);
tp->saved_syn = NULL;
static inline u32 tcp_saved_syn_len(const struct saved_syn *saved_syn)
return saved_syn->mac_hdrlen + saved_syn->network_hdrlen +
saved_syn->tcp_hdrlen;
struct saved_syn *saved_syn;
if (!tp->saved_syn ||
*optlen > tcp_saved_syn_len(tp->saved_syn))
memcpy(optval, tp->saved_syn->data, *optlen);
struct saved_syn *saved_syn;
saved_syn = inet_reqsk(sk)->saved_syn;
saved_syn = tcp_sk(sk)->saved_syn;
if (!saved_syn)
hdr_start = saved_syn->data +
saved_syn->mac_hdrlen +
saved_syn->network_hdrlen;
ret = saved_syn->tcp_hdrlen;
hdr_start = saved_syn->data +
saved_syn->mac_hdrlen;
ret = saved_syn->network_hdrlen +
saved_syn->tcp_hdrlen;
if (!saved_syn->mac_hdrlen)
hdr_start = saved_syn->data;
ret = saved_syn->mac_hdrlen +
saved_syn->network_hdrlen +
saved_syn->tcp_hdrlen;
req->saved_syn = NULL;
kfree(req->saved_syn);
req->saved_syn = NULL;
if (tp->saved_syn) {
if (len < tcp_saved_syn_len(tp->saved_syn)) {
len = tcp_saved_syn_len(tp->saved_syn);
len = tcp_saved_syn_len(tp->saved_syn);
if (copy_to_sockptr(optval, tp->saved_syn->data, len)) {
struct saved_syn *saved_syn;
saved_syn = kmalloc_flex(*saved_syn, data, len, GFP_ATOMIC);
if (saved_syn) {
saved_syn->mac_hdrlen = mac_hdrlen;
saved_syn->network_hdrlen = skb_network_header_len(skb);
saved_syn->tcp_hdrlen = tcp_hdrlen(skb);
memcpy(saved_syn->data, base, len);
req->saved_syn = saved_syn;
__u8 saved_syn[20];
saved_syn, sizeof(saved_syn));
char saved_syn[60];
&saved_syn, sizeof(saved_syn));