bpf: samples: Do not touch RLIMIT_MEMLOCK
authorRoman Gushchin <guro@fb.com>
Tue, 1 Dec 2020 21:59:00 +0000 (13:59 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 3 Dec 2020 02:32:47 +0000 (18:32 -0800)
Since bpf is not using rlimit memlock for the memory accounting
and control, do not change the limit in sample applications.

Signed-off-by: Roman Gushchin <guro@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20201201215900.3569844-35-guro@fb.com
27 files changed:
samples/bpf/map_perf_test_user.c
samples/bpf/offwaketime_user.c
samples/bpf/sockex2_user.c
samples/bpf/sockex3_user.c
samples/bpf/spintest_user.c
samples/bpf/syscall_tp_user.c
samples/bpf/task_fd_query_user.c
samples/bpf/test_lru_dist.c
samples/bpf/test_map_in_map_user.c
samples/bpf/test_overhead_user.c
samples/bpf/trace_event_user.c
samples/bpf/tracex2_user.c
samples/bpf/tracex3_user.c
samples/bpf/tracex4_user.c
samples/bpf/tracex5_user.c
samples/bpf/tracex6_user.c
samples/bpf/xdp1_user.c
samples/bpf/xdp_adjust_tail_user.c
samples/bpf/xdp_monitor_user.c
samples/bpf/xdp_redirect_cpu_user.c
samples/bpf/xdp_redirect_map_user.c
samples/bpf/xdp_redirect_user.c
samples/bpf/xdp_router_ipv4_user.c
samples/bpf/xdp_rxq_info_user.c
samples/bpf/xdp_sample_pkts_user.c
samples/bpf/xdp_tx_iptunnel_user.c
samples/bpf/xdpsock_user.c

index 8b13230..9db9492 100644 (file)
@@ -421,7 +421,6 @@ static void fixup_map(struct bpf_object *obj)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        int nr_cpus = sysconf(_SC_NPROCESSORS_ONLN);
        struct bpf_link *links[8];
        struct bpf_program *prog;
@@ -430,11 +429,6 @@ int main(int argc, char **argv)
        char filename[256];
        int i = 0;
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        if (argc > 1)
                test_flags = atoi(argv[1]) ? : test_flags;
 
index 5734cfd..73a9868 100644 (file)
@@ -95,18 +95,12 @@ static void int_exit(int sig)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_object *obj = NULL;
        struct bpf_link *links[2];
        struct bpf_program *prog;
        int delay = 1, i = 0;
        char filename[256];
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        if (load_kallsyms()) {
                printf("failed to process /proc/kallsyms\n");
                return 2;
index af925a5..bafa567 100644 (file)
@@ -16,7 +16,6 @@ struct pair {
 
 int main(int ac, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_object *obj;
        int map_fd, prog_fd;
        char filename[256];
@@ -24,7 +23,6 @@ int main(int ac, char **argv)
        FILE *f;
 
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
-       setrlimit(RLIMIT_MEMLOCK, &r);
 
        if (bpf_prog_load(filename, BPF_PROG_TYPE_SOCKET_FILTER,
                          &obj, &prog_fd))
index 7793f6a..6ae99ec 100644 (file)
@@ -26,7 +26,6 @@ struct pair {
 int main(int argc, char **argv)
 {
        int i, sock, key, fd, main_prog_fd, jmp_table_fd, hash_map_fd;
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_program *prog;
        struct bpf_object *obj;
        const char *section;
@@ -34,7 +33,6 @@ int main(int argc, char **argv)
        FILE *f;
 
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
-       setrlimit(RLIMIT_MEMLOCK, &r);
 
        obj = bpf_object__open_file(filename, NULL);
        if (libbpf_get_error(obj)) {
index f090d0d..0d7e1e5 100644 (file)
@@ -10,7 +10,6 @@
 
 int main(int ac, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        char filename[256], symbol[256];
        struct bpf_object *obj = NULL;
        struct bpf_link *links[20];
@@ -20,11 +19,6 @@ int main(int ac, char **argv)
        const char *section;
        struct ksym *sym;
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        if (load_kallsyms()) {
                printf("failed to process /proc/kallsyms\n");
                return 2;
index 76a1d00..a0ebf18 100644 (file)
@@ -115,7 +115,6 @@ cleanup:
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        int opt, num_progs = 1;
        char filename[256];
 
@@ -131,7 +130,6 @@ int main(int argc, char **argv)
                }
        }
 
-       setrlimit(RLIMIT_MEMLOCK, &r);
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
 
        return test(filename, num_progs);
index f6b772f..a78025b 100644 (file)
@@ -310,7 +310,6 @@ cleanup:
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        extern char __executable_start;
        char filename[256], buf[256];
        __u64 uprobe_file_offset;
@@ -318,11 +317,6 @@ int main(int argc, char **argv)
        struct bpf_object *obj;
        int i = 0, err = -1;
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return err;
-       }
-
        if (load_kallsyms()) {
                printf("failed to process /proc/kallsyms\n");
                return err;
index b313dba..c92c5c0 100644 (file)
@@ -489,7 +489,6 @@ static void test_parallel_lru_loss(int map_type, int map_flags, int nr_tasks)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        int map_flags[] = {0, BPF_F_NO_COMMON_LRU};
        const char *dist_file;
        int nr_tasks = 1;
@@ -508,8 +507,6 @@ int main(int argc, char **argv)
 
        setbuf(stdout, NULL);
 
-       assert(!setrlimit(RLIMIT_MEMLOCK, &r));
-
        srand(time(NULL));
 
        nr_cpus = bpf_num_possible_cpus();
index 98656de..472d65c 100644 (file)
@@ -114,17 +114,11 @@ static void test_map_in_map(void)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_link *link = NULL;
        struct bpf_program *prog;
        struct bpf_object *obj;
        char filename[256];
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        obj = bpf_object__open_file(filename, NULL);
        if (libbpf_get_error(obj)) {
index 819a6fe..4821f9d 100644 (file)
@@ -162,13 +162,11 @@ static void unload_progs(void)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        int num_cpu = sysconf(_SC_NPROCESSORS_ONLN);
        int test_flags = ~0;
        char filename[256];
        int err = 0;
 
-       setrlimit(RLIMIT_MEMLOCK, &r);
 
        if (argc > 1)
                test_flags = atoi(argv[1]) ? : test_flags;
index ac1ba36..9664749 100644 (file)
@@ -294,13 +294,11 @@ static void test_bpf_perf_event(void)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_object *obj = NULL;
        char filename[256];
        int error = 1;
 
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
-       setrlimit(RLIMIT_MEMLOCK, &r);
 
        signal(SIGINT, err_exit);
        signal(SIGTERM, err_exit);
index 3d6eab7..1626d51 100644 (file)
@@ -116,7 +116,6 @@ static void int_exit(int sig)
 
 int main(int ac, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        long key, next_key, value;
        struct bpf_link *links[2];
        struct bpf_program *prog;
@@ -125,11 +124,6 @@ int main(int ac, char **argv)
        int i, j = 0;
        FILE *f;
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        obj = bpf_object__open_file(filename, NULL);
        if (libbpf_get_error(obj)) {
index 83e0fec..33e16ba 100644 (file)
@@ -107,7 +107,6 @@ static void print_hist(int fd)
 
 int main(int ac, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_link *links[2];
        struct bpf_program *prog;
        struct bpf_object *obj;
@@ -127,11 +126,6 @@ int main(int ac, char **argv)
                }
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        obj = bpf_object__open_file(filename, NULL);
        if (libbpf_get_error(obj)) {
index e8faf8f..cea3994 100644 (file)
@@ -48,18 +48,12 @@ static void print_old_objects(int fd)
 
 int main(int ac, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_link *links[2];
        struct bpf_program *prog;
        struct bpf_object *obj;
        char filename[256];
        int map_fd, i, j = 0;
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK, RLIM_INFINITY)");
-               return 1;
-       }
-
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        obj = bpf_object__open_file(filename, NULL);
        if (libbpf_get_error(obj)) {
index c17d3fb..08dfdc7 100644 (file)
@@ -34,7 +34,6 @@ static void install_accept_all_seccomp(void)
 
 int main(int ac, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_link *link = NULL;
        struct bpf_program *prog;
        struct bpf_object *obj;
@@ -43,8 +42,6 @@ int main(int ac, char **argv)
        char filename[256];
        FILE *f;
 
-       setrlimit(RLIMIT_MEMLOCK, &r);
-
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        obj = bpf_object__open_file(filename, NULL);
        if (libbpf_get_error(obj)) {
index 33df978..28296f4 100644 (file)
@@ -175,15 +175,12 @@ static void test_bpf_perf_event(void)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_link *links[2];
        struct bpf_program *prog;
        struct bpf_object *obj;
        char filename[256];
        int i = 0;
 
-       setrlimit(RLIMIT_MEMLOCK, &r);
-
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        obj = bpf_object__open_file(filename, NULL);
        if (libbpf_get_error(obj)) {
index c447ad9..116e39f 100644 (file)
@@ -79,7 +79,6 @@ static void usage(const char *prog)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
@@ -117,11 +116,6 @@ int main(int argc, char **argv)
                return 1;
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        ifindex = if_nametoindex(argv[optind]);
        if (!ifindex) {
                perror("if_nametoindex");
index ba482dc..a70b094 100644 (file)
@@ -82,7 +82,6 @@ static void usage(const char *cmd)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
@@ -143,11 +142,6 @@ int main(int argc, char **argv)
                }
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK, RLIM_INFINITY)");
-               return 1;
-       }
-
        if (!ifindex) {
                fprintf(stderr, "Invalid ifname\n");
                return 1;
index 03d0a18..49ebc49 100644 (file)
@@ -687,7 +687,6 @@ static void print_bpf_prog_info(void)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_program *prog;
        int longindex = 0, opt;
        int ret = EXIT_FAILURE;
@@ -719,10 +718,6 @@ int main(int argc, char **argv)
        }
 
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return ret;
-       }
 
        /* Remove tracepoint program when program is interrupted or killed */
        signal(SIGINT, int_exit);
index f78cb18..5764116 100644 (file)
@@ -765,7 +765,6 @@ static int load_cpumap_prog(char *file_name, char *prog_name,
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        char *prog_name = "xdp_cpu_map5_lb_hash_ip_pairs";
        char *mprog_filename = "xdp_redirect_kern.o";
        char *redir_interface = NULL, *redir_map = NULL;
@@ -804,11 +803,6 @@ int main(int argc, char **argv)
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        prog_load_attr.file = filename;
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        if (bpf_prog_load_xattr(&prog_load_attr, &obj, &prog_fd))
                return err;
 
index 35e16de..31131b6 100644 (file)
@@ -96,7 +96,6 @@ static void usage(const char *prog)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
@@ -135,11 +134,6 @@ int main(int argc, char **argv)
                return 1;
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        ifindex_in = if_nametoindex(argv[optind]);
        if (!ifindex_in)
                ifindex_in = strtoul(argv[optind], NULL, 0);
index 9ca2bf4..41d705c 100644 (file)
@@ -97,7 +97,6 @@ static void usage(const char *prog)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
@@ -136,11 +135,6 @@ int main(int argc, char **argv)
                return 1;
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        ifindex_in = if_nametoindex(argv[optind]);
        if (!ifindex_in)
                ifindex_in = strtoul(argv[optind], NULL, 0);
index c2da1b5..b5f03cb 100644 (file)
@@ -625,7 +625,6 @@ static void usage(const char *prog)
 
 int main(int ac, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
@@ -670,11 +669,6 @@ int main(int ac, char **argv)
                return 1;
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        if (bpf_prog_load_xattr(&prog_load_attr, &obj, &prog_fd))
                return 1;
 
index 93fa1bc..74a2926 100644 (file)
@@ -450,7 +450,6 @@ static void stats_poll(int interval, int action, __u32 cfg_opt)
 int main(int argc, char **argv)
 {
        __u32 cfg_options= NO_TOUCH ; /* Default: Don't touch packet memory */
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
@@ -474,11 +473,6 @@ int main(int argc, char **argv)
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        prog_load_attr.file = filename;
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        if (bpf_prog_load_xattr(&prog_load_attr, &obj, &prog_fd))
                return EXIT_FAIL;
 
index 4b2a300..706475e 100644 (file)
@@ -109,7 +109,6 @@ static void usage(const char *prog)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
@@ -143,11 +142,6 @@ int main(int argc, char **argv)
                return 1;
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK)");
-               return 1;
-       }
-
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
        prog_load_attr.file = filename;
 
index a419bee..1d4f305 100644 (file)
@@ -155,7 +155,6 @@ int main(int argc, char **argv)
        struct bpf_prog_load_attr prog_load_attr = {
                .prog_type      = BPF_PROG_TYPE_XDP,
        };
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        int min_port = 0, max_port = 0, vip2tnl_map_fd;
        const char *optstr = "i:a:p:s:d:m:T:P:FSNh";
        unsigned char opt_flags[256] = {};
@@ -254,11 +253,6 @@ int main(int argc, char **argv)
                }
        }
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               perror("setrlimit(RLIMIT_MEMLOCK, RLIM_INFINITY)");
-               return 1;
-       }
-
        if (!ifindex) {
                fprintf(stderr, "Invalid ifname\n");
                return 1;
index 036bd01..909f776 100644 (file)
@@ -1489,7 +1489,6 @@ static void apply_setsockopt(struct xsk_socket_info *xsk)
 
 int main(int argc, char **argv)
 {
-       struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
        bool rx = false, tx = false;
        struct xsk_umem_info *umem;
        struct bpf_object *obj;
@@ -1499,12 +1498,6 @@ int main(int argc, char **argv)
 
        parse_command_line(argc, argv);
 
-       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
-               fprintf(stderr, "ERROR: setrlimit(RLIMIT_MEMLOCK) \"%s\"\n",
-                       strerror(errno));
-               exit(EXIT_FAILURE);
-       }
-
        if (opt_num_xsks > 1)
                load_xdp_program(argv, &obj);