mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
ipc: Store ipc sysctls in the ipc namespace
The ipc sysctls are not available for modification inside the user namespace. Following the mqueue sysctls, we changed the implementation to be more userns friendly. So far, the changes do not provide additional access to files. This will be done in a future patch. Signed-off-by: Alexey Gladkov <legion@kernel.org> Link: https://lkml.kernel.org/r/be6f9d014276f4dddd0c3aa05a86052856c1c555.1644862280.git.legion@kernel.org Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
committed by
Eric W. Biederman
parent
dc55e35f9e
commit
1f5c135ee5
@@ -67,6 +67,9 @@ struct ipc_namespace {
|
||||
struct ctl_table_set mq_set;
|
||||
struct ctl_table_header *mq_sysctls;
|
||||
|
||||
struct ctl_table_set ipc_set;
|
||||
struct ctl_table_header *ipc_sysctls;
|
||||
|
||||
/* user_ns which owns the ipc ns */
|
||||
struct user_namespace *user_ns;
|
||||
struct ucounts *ucounts;
|
||||
@@ -188,4 +191,22 @@ static inline bool setup_mq_sysctls(struct ipc_namespace *ns)
|
||||
}
|
||||
|
||||
#endif /* CONFIG_POSIX_MQUEUE_SYSCTL */
|
||||
|
||||
#ifdef CONFIG_SYSVIPC_SYSCTL
|
||||
|
||||
bool setup_ipc_sysctls(struct ipc_namespace *ns);
|
||||
void retire_ipc_sysctls(struct ipc_namespace *ns);
|
||||
|
||||
#else /* CONFIG_SYSVIPC_SYSCTL */
|
||||
|
||||
static inline void retire_ipc_sysctls(struct ipc_namespace *ns)
|
||||
{
|
||||
}
|
||||
|
||||
static inline bool setup_ipc_sysctls(struct ipc_namespace *ns)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_SYSVIPC_SYSCTL */
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user