Commit eb58bbf2 authored by Alan Maguire's avatar Alan Maguire Committed by Alexei Starovoitov

selftests/bpf: Fix overflow tests to reflect iter size increase

bpf iter size increase to PAGE_SIZE << 3 means overflow tests assuming
page size need to be bumped also.
Signed-off-by: default avatarAlan Maguire <alan.maguire@oracle.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/1601292670-1616-7-git-send-email-alan.maguire@oracle.com
parent af653209
...@@ -352,7 +352,7 @@ static void test_overflow(bool test_e2big_overflow, bool ret1) ...@@ -352,7 +352,7 @@ static void test_overflow(bool test_e2big_overflow, bool ret1)
struct bpf_map_info map_info = {}; struct bpf_map_info map_info = {};
struct bpf_iter_test_kern4 *skel; struct bpf_iter_test_kern4 *skel;
struct bpf_link *link; struct bpf_link *link;
__u32 page_size; __u32 iter_size;
char *buf; char *buf;
skel = bpf_iter_test_kern4__open(); skel = bpf_iter_test_kern4__open();
...@@ -374,19 +374,19 @@ static void test_overflow(bool test_e2big_overflow, bool ret1) ...@@ -374,19 +374,19 @@ static void test_overflow(bool test_e2big_overflow, bool ret1)
"map_creation failed: %s\n", strerror(errno))) "map_creation failed: %s\n", strerror(errno)))
goto free_map1; goto free_map1;
/* bpf_seq_printf kernel buffer is one page, so one map /* bpf_seq_printf kernel buffer is 8 pages, so one map
* bpf_seq_write will mostly fill it, and the other map * bpf_seq_write will mostly fill it, and the other map
* will partially fill and then trigger overflow and need * will partially fill and then trigger overflow and need
* bpf_seq_read restart. * bpf_seq_read restart.
*/ */
page_size = sysconf(_SC_PAGE_SIZE); iter_size = sysconf(_SC_PAGE_SIZE) << 3;
if (test_e2big_overflow) { if (test_e2big_overflow) {
skel->rodata->print_len = (page_size + 8) / 8; skel->rodata->print_len = (iter_size + 8) / 8;
expected_read_len = 2 * (page_size + 8); expected_read_len = 2 * (iter_size + 8);
} else if (!ret1) { } else if (!ret1) {
skel->rodata->print_len = (page_size - 8) / 8; skel->rodata->print_len = (iter_size - 8) / 8;
expected_read_len = 2 * (page_size - 8); expected_read_len = 2 * (iter_size - 8);
} else { } else {
skel->rodata->print_len = 1; skel->rodata->print_len = 1;
expected_read_len = 2 * 8; expected_read_len = 2 * 8;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment