Message ID | 20220806074019.2756957-6-houtao@huaweicloud.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | BPF |
Headers | show |
Series | fixes for bpf map iterator | expand |
On 8/6/22 12:40 AM, Hou Tao wrote: > From: Hou Tao <houtao1@huawei.com> > > The value of sock map is writable in map iterator, so check > max_rdwr_access instead of max_rdonly_access. > > Fixes: 5ce6e77c7edf ("bpf: Implement bpf iterator for sock local storage map") > Signed-off-by: Hou Tao <houtao1@huawei.com> Acked-by: Yonghong Song <yhs@fb.com>
On Sat, Aug 06, 2022 at 03:40:15PM +0800, Hou Tao wrote: > From: Hou Tao <houtao1@huawei.com> > > The value of sock map is writable in map iterator, so check Not a sock map. It is a sk local storage map. > max_rdwr_access instead of max_rdonly_access. > > Fixes: 5ce6e77c7edf ("bpf: Implement bpf iterator for sock local storage map") > Signed-off-by: Hou Tao <houtao1@huawei.com> > --- > net/core/bpf_sk_storage.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/core/bpf_sk_storage.c b/net/core/bpf_sk_storage.c > index 83b89ba824d7..1b7f385643b4 100644 > --- a/net/core/bpf_sk_storage.c > +++ b/net/core/bpf_sk_storage.c > @@ -904,7 +904,7 @@ static int bpf_iter_attach_map(struct bpf_prog *prog, > if (map->map_type != BPF_MAP_TYPE_SK_STORAGE) > goto put_map; > > - if (prog->aux->max_rdonly_access > map->value_size) { > + if (prog->aux->max_rdwr_access > map->value_size) { > err = -EACCES; > goto put_map; > } > -- > 2.29.2 >
Hi, On 8/10/2022 2:46 AM, Martin KaFai Lau wrote: > On Sat, Aug 06, 2022 at 03:40:15PM +0800, Hou Tao wrote: >> From: Hou Tao <houtao1@huawei.com> >> >> The value of sock map is writable in map iterator, so check > Not a sock map. It is a sk local storage map. Will update in v2. Thanks. > >> max_rdwr_access instead of max_rdonly_access. >> >> Fixes: 5ce6e77c7edf ("bpf: Implement bpf iterator for sock local storage map") >> Signed-off-by: Hou Tao <houtao1@huawei.com> >> --- >> net/core/bpf_sk_storage.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/net/core/bpf_sk_storage.c b/net/core/bpf_sk_storage.c >> index 83b89ba824d7..1b7f385643b4 100644 >> --- a/net/core/bpf_sk_storage.c >> +++ b/net/core/bpf_sk_storage.c >> @@ -904,7 +904,7 @@ static int bpf_iter_attach_map(struct bpf_prog *prog, >> if (map->map_type != BPF_MAP_TYPE_SK_STORAGE) >> goto put_map; >> >> - if (prog->aux->max_rdonly_access > map->value_size) { >> + if (prog->aux->max_rdwr_access > map->value_size) { >> err = -EACCES; >> goto put_map; >> } >> -- >> 2.29.2 >>
diff --git a/net/core/bpf_sk_storage.c b/net/core/bpf_sk_storage.c index 83b89ba824d7..1b7f385643b4 100644 --- a/net/core/bpf_sk_storage.c +++ b/net/core/bpf_sk_storage.c @@ -904,7 +904,7 @@ static int bpf_iter_attach_map(struct bpf_prog *prog, if (map->map_type != BPF_MAP_TYPE_SK_STORAGE) goto put_map; - if (prog->aux->max_rdonly_access > map->value_size) { + if (prog->aux->max_rdwr_access > map->value_size) { err = -EACCES; goto put_map; }