From: Christian Brauner Date: Thu, 18 Feb 2021 15:13:45 +0000 (+0100) Subject: bpf: prevent double-close X-Git-Tag: lxc-5.0.0~278^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da03dc28e1fed8571b4de6c262a5f127dfb1fe10;p=thirdparty%2Flxc.git bpf: prevent double-close Signed-off-by: Christian Brauner --- diff --git a/src/lxc/cgroups/cgroup2_devices.c b/src/lxc/cgroups/cgroup2_devices.c index c22f88049..37fd4c688 100644 --- a/src/lxc/cgroups/cgroup2_devices.c +++ b/src/lxc/cgroups/cgroup2_devices.c @@ -67,10 +67,7 @@ void bpf_program_free(struct bpf_program *prog) (void)bpf_program_cgroup_detach(prog); - if (prog->kernel_fd >= 0) - close(prog->kernel_fd); free(prog->instructions); - close_prot_errno_disarm(prog->fd_cgroup); free(prog); } @@ -437,8 +434,8 @@ int bpf_program_cgroup_detach(struct bpf_program *prog) return 0; /* Ensure that these fds are wiped. */ - fd_cgroup = prog->fd_cgroup; - fd_kernel = prog->kernel_fd; + fd_cgroup = move_fd(prog->fd_cgroup); + fd_kernel = move_fd(prog->kernel_fd); if (fd_cgroup < 0 || fd_kernel < 0) return 0;