]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
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 8b13230b4c468f1e4f26d87899f8081acf980158..9db949290a78181c63007a6099d1ed5431bcc52d 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 5734cfdaaacb8215b7c8fab2c60eaba0f0951619..73a986876c1aaf821ac4b0180fff7d735b24b822 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 af925a5afd1da7edceb49e6801d2d2e59610a91e..bafa567b840cff5144eed2992bee61a7c198c299 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 7793f6a6ae7ecbf3e480c1d34e637258497dfeb5..6ae99ecc766ca3cc029a878896e6829549a2c168 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 f090d0dc60d62d7bf3f0c46a171c62975531a974..0d7e1e5a8658180c149a3f66b0f184592c7d7fda 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 76a1d00128fb20571711a262eb9c14b13838a5d3..a0ebf1833ed37c929e14d6cd6bac8af189a8039e 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 f6b772faa3480f35b2965c4a1831a122436e93c1..a78025b0026b94f0e18825c187de8da63cef6e7b 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 b313dba4111b496f97f1db4d382906e8556c9b42..c92c5c06b9657a15d1068e666c5b57a6cc396eeb 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 98656de56b833068da1470d5609508f373ed08cb..472d65c703540ad6134074092202f795f2d7488e 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 819a6fe86f89f8eb37040faf924e3a8716dc0835..4821f9d99c1f997a69f42cbacbe57a811dc3dfd3 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 ac1ba368195cb42474859d60c386366c9c812b45..9664749bf61812a54ba4ae6c2ee6879073d6ec51 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 3d6eab711d23e11158855ea9c6074ad184a916ef..1626d51dfffd785027c114ac79fec72ea02b5f56 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 83e0fecbb01ace489ba038522fd1b8c3d695301d..33e16ba39f254785c20e8c0288aaf4072729a605 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 e8faf8f184ae1a64f5d7fb39139079934fcf976d..cea399424bca9ee020605429f814d59a9c2bf7b8 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 c17d3fb5fd6443346deab9a691e1c7a580384dc1..08dfdc77ad2aebb2e89bef8c37151f5d036f53ee 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 33df9784775db0c82e050f66dd3b3dac2291d170..28296f40c1336bced14cc78e97c7603afb746473 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 c447ad9e3a1d4f8c11c4ad7cbd0de1819abb4153..116e39f6b66662193cc461bd226345701ba90ff0 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 ba482dc3da3368e83e7fa10c30ff4e5ab7cc0fa7..a70b094c8ec57e0937def9965a1c3140e169fd4c 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 03d0a182913f04342ffa9ee8d7b8a75b522a23ee..49ebc49aefc3dfe3e885e7db18cb5161c735fdd8 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 f78cb18319aaf9d17346c0d8906de761ea27787a..5764116125237df44c10e8f40d6ed143ec147a31 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 35e16dee613ec703936e1de024a18dff2368bbd9..31131b6e7782ff690166b346976cabbfba61f17a 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 9ca2bf457cdaefe387e49b458e05defed7d9ba37..41d705c3a1f7f25c10953876934fda2416ffbdb0 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 c2da1b51ff950ec8e41c4feff3634e39d38ecfcc..b5f03cb17a3c043ff45d64e6a552a801028f51e5 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 93fa1bc54f131eb5c441e0899fec3c53ea0f9a1c..74a2926eba08d81ea89fc2041e40d3d34b56df0e 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 4b2a300c750ceac32a4eb68b5fc3498eb36f292c..706475e004cb5100ea64596a6c6165cee4813664 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 a419bee151a85c60ded0a55943a2a6da43f38080..1d4f305d02aadc9d508313ba75586ed2df82b016 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 036bd019e400a6da54f91e7a72cb3ba81950701b..909f77647deb63df56566c1c6673ea5deb3af82f 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);