|
@@ -5435,8 +5435,8 @@ static bool bpf_skb_is_valid_access(int off, int size, enum bpf_access_type type
|
|
|
if (size != size_default)
|
|
|
return false;
|
|
|
break;
|
|
|
- case bpf_ctx_range(struct __sk_buff, flow_keys):
|
|
|
- if (size != sizeof(struct bpf_flow_keys *))
|
|
|
+ case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
|
|
|
+ if (size != sizeof(__u64))
|
|
|
return false;
|
|
|
break;
|
|
|
default:
|
|
@@ -5464,7 +5464,7 @@ static bool sk_filter_is_valid_access(int off, int size,
|
|
|
case bpf_ctx_range(struct __sk_buff, data):
|
|
|
case bpf_ctx_range(struct __sk_buff, data_meta):
|
|
|
case bpf_ctx_range(struct __sk_buff, data_end):
|
|
|
- case bpf_ctx_range(struct __sk_buff, flow_keys):
|
|
|
+ case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
|
|
|
case bpf_ctx_range_till(struct __sk_buff, family, local_port):
|
|
|
return false;
|
|
|
}
|
|
@@ -5489,7 +5489,7 @@ static bool cg_skb_is_valid_access(int off, int size,
|
|
|
switch (off) {
|
|
|
case bpf_ctx_range(struct __sk_buff, tc_classid):
|
|
|
case bpf_ctx_range(struct __sk_buff, data_meta):
|
|
|
- case bpf_ctx_range(struct __sk_buff, flow_keys):
|
|
|
+ case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
|
|
|
return false;
|
|
|
case bpf_ctx_range(struct __sk_buff, data):
|
|
|
case bpf_ctx_range(struct __sk_buff, data_end):
|
|
@@ -5530,7 +5530,7 @@ static bool lwt_is_valid_access(int off, int size,
|
|
|
case bpf_ctx_range(struct __sk_buff, tc_classid):
|
|
|
case bpf_ctx_range_till(struct __sk_buff, family, local_port):
|
|
|
case bpf_ctx_range(struct __sk_buff, data_meta):
|
|
|
- case bpf_ctx_range(struct __sk_buff, flow_keys):
|
|
|
+ case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -5756,7 +5756,7 @@ static bool tc_cls_act_is_valid_access(int off, int size,
|
|
|
case bpf_ctx_range(struct __sk_buff, data_end):
|
|
|
info->reg_type = PTR_TO_PACKET_END;
|
|
|
break;
|
|
|
- case bpf_ctx_range(struct __sk_buff, flow_keys):
|
|
|
+ case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
|
|
|
case bpf_ctx_range_till(struct __sk_buff, family, local_port):
|
|
|
return false;
|
|
|
}
|
|
@@ -5958,7 +5958,7 @@ static bool sk_skb_is_valid_access(int off, int size,
|
|
|
switch (off) {
|
|
|
case bpf_ctx_range(struct __sk_buff, tc_classid):
|
|
|
case bpf_ctx_range(struct __sk_buff, data_meta):
|
|
|
- case bpf_ctx_range(struct __sk_buff, flow_keys):
|
|
|
+ case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -6039,7 +6039,7 @@ static bool flow_dissector_is_valid_access(int off, int size,
|
|
|
case bpf_ctx_range(struct __sk_buff, data_end):
|
|
|
info->reg_type = PTR_TO_PACKET_END;
|
|
|
break;
|
|
|
- case bpf_ctx_range(struct __sk_buff, flow_keys):
|
|
|
+ case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
|
|
|
info->reg_type = PTR_TO_FLOW_KEYS;
|
|
|
break;
|
|
|
case bpf_ctx_range(struct __sk_buff, tc_classid):
|