]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
selinux: add proper NULL termination to the secclass_map permissions
authorPaul Moore <paul@paul-moore.com>
Thu, 22 Apr 2021 01:15:36 +0000 (21:15 -0400)
committerKelsey Skunberg <kelsey.skunberg@canonical.com>
Mon, 24 May 2021 23:46:12 +0000 (17:46 -0600)
BugLink: https://bugs.launchpad.net/bugs/1929455
commit e4c82eafb609c2badc56f4e11bc50fcf44b8e9eb upstream.

This patch adds the missing NULL termination to the "bpf" and
"perf_event" object class permission lists.

This missing NULL termination should really only affect the tools
under scripts/selinux, with the most important being genheaders.c,
although in practice this has not been an issue on any of my dev/test
systems.  If the problem were to manifest itself it would likely
result in bogus permissions added to the end of the object class;
thankfully with no access control checks using these bogus
permissions and no policies defining these permissions the impact
would likely be limited to some noise about undefined permissions
during policy load.

Cc: stable@vger.kernel.org
Fixes: ec27c3568a34 ("selinux: bpf: Add selinux check for eBPF syscall operations")
Fixes: da97e18458fb ("perf_event: Add support for LSM and SELinux checks")
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
security/selinux/include/classmap.h

index 1858aa47b32a9526cc12efabfc02ee63cf211a24..35025b03c1a9176f3cd8024f1d6d972c8e48dd0a 100644 (file)
@@ -242,11 +242,12 @@ struct security_class_mapping secclass_map[] = {
        { "infiniband_endport",
          { "manage_subnet", NULL } },
        { "bpf",
-         {"map_create", "map_read", "map_write", "prog_load", "prog_run"} },
+         { "map_create", "map_read", "map_write", "prog_load", "prog_run",
+           NULL } },
        { "xdp_socket",
          { COMMON_SOCK_PERMS, NULL } },
        { "perf_event",
-         {"open", "cpu", "kernel", "tracepoint", "read", "write"} },
+         { "open", "cpu", "kernel", "tracepoint", "read", "write", NULL } },
        { "lockdown",
          { "integrity", "confidentiality", NULL } },
        { NULL }