
[ Upstream commit 65881e1db4e948614d9eb195b8e1197339822949 ] These ioctls are equivalent to fcntl(fd, F_SETFD, flags), which SELinux always allows too. Furthermore, a failed FIOCLEX could result in a file descriptor being leaked to a process that should not have access to it. As this patch removes access controls, a policy capability needs to be enabled in policy to always allow these ioctls. Based-on-patch-by: Demi Marie Obenour <demiobenour@gmail.com> Signed-off-by: Richard Haines <richard_c_haines@btinternet.com> [PM: subject line tweak] Signed-off-by: Paul Moore <paul@paul-moore.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
22 lines
635 B
C
22 lines
635 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _SELINUX_POLICYCAP_H_
|
|
#define _SELINUX_POLICYCAP_H_
|
|
|
|
/* Policy capabilities */
|
|
enum {
|
|
POLICYDB_CAPABILITY_NETPEER,
|
|
POLICYDB_CAPABILITY_OPENPERM,
|
|
POLICYDB_CAPABILITY_EXTSOCKCLASS,
|
|
POLICYDB_CAPABILITY_ALWAYSNETWORK,
|
|
POLICYDB_CAPABILITY_CGROUPSECLABEL,
|
|
POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION,
|
|
POLICYDB_CAPABILITY_GENFS_SECLABEL_SYMLINKS,
|
|
POLICYDB_CAPABILITY_IOCTL_SKIP_CLOEXEC,
|
|
__POLICYDB_CAPABILITY_MAX
|
|
};
|
|
#define POLICYDB_CAPABILITY_MAX (__POLICYDB_CAPABILITY_MAX - 1)
|
|
|
|
extern const char *selinux_policycap_names[__POLICYDB_CAPABILITY_MAX];
|
|
|
|
#endif /* _SELINUX_POLICYCAP_H_ */
|