On 09/17/2018 02:21 PM, Y Song wrote: > On Mon, Sep 17, 2018 at 10:33 AM John Fastabend > <john.fastab...@gmail.com> wrote: >> >> Ensure that sockets added to a sock{map|hash} that is not in the >> ESTABLISHED state is rejected. >> >> Fixes: 1aa12bdf1bfb ("bpf: sockmap, add sock close() hook to remove socks") >> Signed-off-by: John Fastabend <john.fastab...@gmail.com> >> --- >> tools/testing/selftests/bpf/test_maps.c | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/tools/testing/selftests/bpf/test_maps.c >> b/tools/testing/selftests/bpf/test_maps.c >> index 6f54f84..0f2090f 100644 >> --- a/tools/testing/selftests/bpf/test_maps.c >> +++ b/tools/testing/selftests/bpf/test_maps.c >> @@ -580,7 +580,11 @@ static void test_sockmap(int tasks, void *data) >> /* Test update without programs */ >> for (i = 0; i < 6; i++) { >> err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_ANY); >> - if (err) { >> + if (i < 2 && !err) { >> + printf("Allowed update sockmap '%i:%i' not in >> ESTABLISHED\n", >> + i, sfd[i]); >> + goto out_sockmap; >> + } else if (i > 1 && err) { > > Just a nit. Maybe "i >= 2" since it will be more clear since it is > opposite of "i < 2"? >
Seems reasonable changed in v3 to 'i >= 2'. Thanks.