Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Alexei Starovoitov says: ==================== pull-request: bpf 2019-07-18 The following pull-request contains BPF updates for your *net* tree. The main changes are: 1) verifier precision propagation fix, from Andrii. 2) BTF size fix for typedefs, from Andrii. 3) a bunch of big endian fixes, from Ilya. 4) wide load from bpf_sock_addr fixes, from Stanislav. 5) a bunch of misc fixes from a number of developers. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -6884,20 +6884,30 @@ static bool sock_addr_is_valid_access(int off, int size,
|
||||
case bpf_ctx_range(struct bpf_sock_addr, msg_src_ip4):
|
||||
case bpf_ctx_range_till(struct bpf_sock_addr, msg_src_ip6[0],
|
||||
msg_src_ip6[3]):
|
||||
/* Only narrow read access allowed for now. */
|
||||
if (type == BPF_READ) {
|
||||
bpf_ctx_record_field_size(info, size_default);
|
||||
|
||||
if (bpf_ctx_wide_access_ok(off, size,
|
||||
struct bpf_sock_addr,
|
||||
user_ip6))
|
||||
return true;
|
||||
|
||||
if (bpf_ctx_wide_access_ok(off, size,
|
||||
struct bpf_sock_addr,
|
||||
msg_src_ip6))
|
||||
return true;
|
||||
|
||||
if (!bpf_ctx_narrow_access_ok(off, size, size_default))
|
||||
return false;
|
||||
} else {
|
||||
if (bpf_ctx_wide_store_ok(off, size,
|
||||
struct bpf_sock_addr,
|
||||
user_ip6))
|
||||
if (bpf_ctx_wide_access_ok(off, size,
|
||||
struct bpf_sock_addr,
|
||||
user_ip6))
|
||||
return true;
|
||||
|
||||
if (bpf_ctx_wide_store_ok(off, size,
|
||||
struct bpf_sock_addr,
|
||||
msg_src_ip6))
|
||||
if (bpf_ctx_wide_access_ok(off, size,
|
||||
struct bpf_sock_addr,
|
||||
msg_src_ip6))
|
||||
return true;
|
||||
|
||||
if (size != size_default)
|
||||
|
Reference in New Issue
Block a user