| From c31dbb1e41d1857b403f9bf58c87f5898519a0bc Mon Sep 17 00:00:00 2001 |
| From: Lorenz Bauer <lmb@cloudflare.com> |
| Date: Fri, 24 Jan 2020 11:27:51 +0000 |
| Subject: selftests: bpf: Use a temporary file in test_sockmap |
| |
| From: Lorenz Bauer <lmb@cloudflare.com> |
| |
| commit c31dbb1e41d1857b403f9bf58c87f5898519a0bc upstream. |
| |
| Use a proper temporary file for sendpage tests. This means that running |
| the tests doesn't clutter the working directory, and allows running the |
| test on read-only filesystems. |
| |
| Fixes: 16962b2404ac ("bpf: sockmap, add selftests") |
| Signed-off-by: Lorenz Bauer <lmb@cloudflare.com> |
| Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> |
| Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com> |
| Acked-by: Martin KaFai Lau <kafai@fb.com> |
| Acked-by: John Fastabend <john.fastabend@gmail.com> |
| Link: https://lore.kernel.org/bpf/20200124112754.19664-2-lmb@cloudflare.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| tools/testing/selftests/bpf/test_sockmap.c | 15 +++++---------- |
| 1 file changed, 5 insertions(+), 10 deletions(-) |
| |
| --- a/tools/testing/selftests/bpf/test_sockmap.c |
| +++ b/tools/testing/selftests/bpf/test_sockmap.c |
| @@ -331,7 +331,7 @@ static int msg_loop_sendpage(int fd, int |
| FILE *file; |
| int i, fp; |
| |
| - file = fopen(".sendpage_tst.tmp", "w+"); |
| + file = tmpfile(); |
| if (!file) { |
| perror("create file for sendpage"); |
| return 1; |
| @@ -340,13 +340,8 @@ static int msg_loop_sendpage(int fd, int |
| fwrite(&k, sizeof(char), 1, file); |
| fflush(file); |
| fseek(file, 0, SEEK_SET); |
| - fclose(file); |
| |
| - fp = open(".sendpage_tst.tmp", O_RDONLY); |
| - if (fp < 0) { |
| - perror("reopen file for sendpage"); |
| - return 1; |
| - } |
| + fp = fileno(file); |
| |
| clock_gettime(CLOCK_MONOTONIC, &s->start); |
| for (i = 0; i < cnt; i++) { |
| @@ -354,11 +349,11 @@ static int msg_loop_sendpage(int fd, int |
| |
| if (!drop && sent < 0) { |
| perror("send loop error"); |
| - close(fp); |
| + fclose(file); |
| return sent; |
| } else if (drop && sent >= 0) { |
| printf("sendpage loop error expected: %i\n", sent); |
| - close(fp); |
| + fclose(file); |
| return -EIO; |
| } |
| |
| @@ -366,7 +361,7 @@ static int msg_loop_sendpage(int fd, int |
| s->bytes_sent += sent; |
| } |
| clock_gettime(CLOCK_MONOTONIC, &s->end); |
| - close(fp); |
| + fclose(file); |
| return 0; |
| } |
| |