Lines Matching refs:opt

1627 	unsigned char *opt = *option;  in cipso_v4_validate()  local
1637 opt_len = opt[1]; in cipso_v4_validate()
1644 doi_def = cipso_v4_doi_search(get_unaligned_be32(&opt[2])); in cipso_v4_validate()
1651 tag = opt + opt_iter; in cipso_v4_validate()
1760 *option = opt + err_offset; in cipso_v4_validate()
1892 struct ip_options_rcu *old, *opt = NULL; in cipso_v4_sock_setattr() local
1923 opt = kzalloc(sizeof(*opt) + opt_len, GFP_ATOMIC); in cipso_v4_sock_setattr()
1924 if (!opt) { in cipso_v4_sock_setattr()
1928 memcpy(opt->opt.__data, buf, buf_len); in cipso_v4_sock_setattr()
1929 opt->opt.optlen = opt_len; in cipso_v4_sock_setattr()
1930 opt->opt.cipso = sizeof(struct iphdr); in cipso_v4_sock_setattr()
1940 sk_conn->icsk_ext_hdr_len -= old->opt.optlen; in cipso_v4_sock_setattr()
1941 sk_conn->icsk_ext_hdr_len += opt->opt.optlen; in cipso_v4_sock_setattr()
1944 rcu_assign_pointer(sk_inet->inet_opt, opt); in cipso_v4_sock_setattr()
1952 kfree(opt); in cipso_v4_sock_setattr()
1976 struct ip_options_rcu *opt = NULL; in cipso_v4_req_setattr() local
1999 opt = kzalloc(sizeof(*opt) + opt_len, GFP_ATOMIC); in cipso_v4_req_setattr()
2000 if (!opt) { in cipso_v4_req_setattr()
2004 memcpy(opt->opt.__data, buf, buf_len); in cipso_v4_req_setattr()
2005 opt->opt.optlen = opt_len; in cipso_v4_req_setattr()
2006 opt->opt.cipso = sizeof(struct iphdr); in cipso_v4_req_setattr()
2011 opt = xchg(&req_inet->opt, opt); in cipso_v4_req_setattr()
2012 if (opt) in cipso_v4_req_setattr()
2013 kfree_rcu(opt, rcu); in cipso_v4_req_setattr()
2019 kfree(opt); in cipso_v4_req_setattr()
2036 struct ip_options_rcu *opt = *opt_ptr; in cipso_v4_delopt() local
2038 if (opt->opt.srr || opt->opt.rr || opt->opt.ts || opt->opt.router_alert) { in cipso_v4_delopt()
2045 cipso_off = opt->opt.cipso - sizeof(struct iphdr); in cipso_v4_delopt()
2046 cipso_ptr = &opt->opt.__data[cipso_off]; in cipso_v4_delopt()
2049 if (opt->opt.srr > opt->opt.cipso) in cipso_v4_delopt()
2050 opt->opt.srr -= cipso_len; in cipso_v4_delopt()
2051 if (opt->opt.rr > opt->opt.cipso) in cipso_v4_delopt()
2052 opt->opt.rr -= cipso_len; in cipso_v4_delopt()
2053 if (opt->opt.ts > opt->opt.cipso) in cipso_v4_delopt()
2054 opt->opt.ts -= cipso_len; in cipso_v4_delopt()
2055 if (opt->opt.router_alert > opt->opt.cipso) in cipso_v4_delopt()
2056 opt->opt.router_alert -= cipso_len; in cipso_v4_delopt()
2057 opt->opt.cipso = 0; in cipso_v4_delopt()
2060 opt->opt.optlen - cipso_off - cipso_len); in cipso_v4_delopt()
2069 while (iter < opt->opt.optlen) in cipso_v4_delopt()
2070 if (opt->opt.__data[iter] != IPOPT_NOP) { in cipso_v4_delopt()
2071 iter += opt->opt.__data[iter + 1]; in cipso_v4_delopt()
2075 hdr_delta = opt->opt.optlen; in cipso_v4_delopt()
2076 opt->opt.optlen = (optlen_new + 3) & ~3; in cipso_v4_delopt()
2077 hdr_delta -= opt->opt.optlen; in cipso_v4_delopt()
2082 hdr_delta = opt->opt.optlen; in cipso_v4_delopt()
2083 kfree_rcu(opt, rcu); in cipso_v4_delopt()
2100 struct ip_options_rcu *opt; in cipso_v4_sock_delattr() local
2104 opt = rcu_dereference_protected(sk_inet->inet_opt, 1); in cipso_v4_sock_delattr()
2105 if (!opt || opt->opt.cipso == 0) in cipso_v4_sock_delattr()
2126 struct ip_options_rcu *opt; in cipso_v4_req_delattr() local
2130 opt = req_inet->opt; in cipso_v4_req_delattr()
2131 if (!opt || opt->opt.cipso == 0) in cipso_v4_req_delattr()
2134 cipso_v4_delopt(&req_inet->opt); in cipso_v4_req_delattr()
2201 struct ip_options_rcu *opt; in cipso_v4_sock_getattr() local
2205 opt = rcu_dereference(inet_sk(sk)->inet_opt); in cipso_v4_sock_getattr()
2206 if (opt && opt->opt.cipso) in cipso_v4_sock_getattr()
2207 res = cipso_v4_getattr(opt->opt.__data + in cipso_v4_sock_getattr()
2208 opt->opt.cipso - in cipso_v4_sock_getattr()
2231 struct ip_options *opt = &IPCB(skb)->opt; in cipso_v4_skbuff_setattr() local
2249 len_delta = opt_len - opt->optlen; in cipso_v4_skbuff_setattr()
2267 memset(iph + 1, IPOPT_NOP, opt->optlen); in cipso_v4_skbuff_setattr()
2271 if (opt->optlen > 0) in cipso_v4_skbuff_setattr()
2272 memset(opt, 0, sizeof(*opt)); in cipso_v4_skbuff_setattr()
2273 opt->optlen = opt_len; in cipso_v4_skbuff_setattr()
2274 opt->cipso = sizeof(struct iphdr); in cipso_v4_skbuff_setattr()
2275 opt->is_changed = 1; in cipso_v4_skbuff_setattr()
2307 struct ip_options *opt = &IPCB(skb)->opt; in cipso_v4_skbuff_delattr() local
2310 if (opt->cipso == 0) in cipso_v4_skbuff_delattr()
2323 cipso_ptr = (unsigned char *)iph + opt->cipso; in cipso_v4_skbuff_delattr()
2325 opt->cipso = 0; in cipso_v4_skbuff_delattr()
2326 opt->is_changed = 1; in cipso_v4_skbuff_delattr()