bpf: Check the validity of max_rdwr_access for sock local storage map iterator

commit 52bd05eb7c88e1ad8541a48873188ccebca9da26 upstream.

The value of sock local storage map is writable in map iterator, so check
max_rdwr_access instead of max_rdonly_access.

Fixes: 5ce6e77c7e ("bpf: Implement bpf iterator for sock local storage map")
Signed-off-by: Hou Tao <houtao1@huawei.com>
Acked-by: Yonghong Song <yhs@fb.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/r/20220810080538.1845898-6-houtao@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Hou Tao
2022-08-10 16:05:34 +08:00
committed by Greg Kroah-Hartman
parent f7d844df5e
commit b9d9cf88c8

View File

@@ -823,7 +823,7 @@ static int bpf_iter_attach_map(struct bpf_prog *prog,
if (map->map_type != BPF_MAP_TYPE_SK_STORAGE) if (map->map_type != BPF_MAP_TYPE_SK_STORAGE)
goto put_map; goto put_map;
if (prog->aux->max_rdonly_access > map->value_size) { if (prog->aux->max_rdwr_access > map->value_size) {
err = -EACCES; err = -EACCES;
goto put_map; goto put_map;
} }