mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 18:19:28 +09:00
Revert "sysctl: treewide: drop unused argument ctl_table_root::set_ownership(table)"
This reverts commit cf3a73eeb5 which is
commit 520713a93d550406dae14d49cdb8778d70cecdfd upstream.
It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.
Bug: 161946584
Change-Id: I53affa8f6283544467f3335459862a5a5c04e500
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -486,7 +486,7 @@ static struct inode *proc_sys_make_inode(struct super_block *sb,
|
||||
inode->i_uid = GLOBAL_ROOT_UID;
|
||||
inode->i_gid = GLOBAL_ROOT_GID;
|
||||
if (root->set_ownership)
|
||||
root->set_ownership(head, &inode->i_uid, &inode->i_gid);
|
||||
root->set_ownership(head, table, &inode->i_uid, &inode->i_gid);
|
||||
|
||||
return inode;
|
||||
}
|
||||
|
||||
@@ -185,6 +185,7 @@ struct ctl_table_root {
|
||||
struct ctl_table_set default_set;
|
||||
struct ctl_table_set *(*lookup)(struct ctl_table_root *root);
|
||||
void (*set_ownership)(struct ctl_table_header *head,
|
||||
struct ctl_table *table,
|
||||
kuid_t *uid, kgid_t *gid);
|
||||
int (*permissions)(struct ctl_table_header *head, struct ctl_table *table);
|
||||
};
|
||||
|
||||
@@ -192,6 +192,7 @@ static int set_is_seen(struct ctl_table_set *set)
|
||||
}
|
||||
|
||||
static void ipc_set_ownership(struct ctl_table_header *head,
|
||||
struct ctl_table *table,
|
||||
kuid_t *uid, kgid_t *gid)
|
||||
{
|
||||
struct ipc_namespace *ns =
|
||||
@@ -223,7 +224,7 @@ static int ipc_permissions(struct ctl_table_header *head, struct ctl_table *tabl
|
||||
kuid_t ns_root_uid;
|
||||
kgid_t ns_root_gid;
|
||||
|
||||
ipc_set_ownership(head, &ns_root_uid, &ns_root_gid);
|
||||
ipc_set_ownership(head, table, &ns_root_uid, &ns_root_gid);
|
||||
|
||||
if (uid_eq(current_euid(), ns_root_uid))
|
||||
mode >>= 6;
|
||||
|
||||
@@ -78,6 +78,7 @@ static int set_is_seen(struct ctl_table_set *set)
|
||||
}
|
||||
|
||||
static void mq_set_ownership(struct ctl_table_header *head,
|
||||
struct ctl_table *table,
|
||||
kuid_t *uid, kgid_t *gid)
|
||||
{
|
||||
struct ipc_namespace *ns =
|
||||
@@ -96,7 +97,7 @@ static int mq_permissions(struct ctl_table_header *head, struct ctl_table *table
|
||||
kuid_t ns_root_uid;
|
||||
kgid_t ns_root_gid;
|
||||
|
||||
mq_set_ownership(head, &ns_root_uid, &ns_root_gid);
|
||||
mq_set_ownership(head, table, &ns_root_uid, &ns_root_gid);
|
||||
|
||||
if (uid_eq(current_euid(), ns_root_uid))
|
||||
mode >>= 6;
|
||||
|
||||
@@ -54,6 +54,7 @@ static int net_ctl_permissions(struct ctl_table_header *head,
|
||||
}
|
||||
|
||||
static void net_ctl_set_ownership(struct ctl_table_header *head,
|
||||
struct ctl_table *table,
|
||||
kuid_t *uid, kgid_t *gid)
|
||||
{
|
||||
struct net *net = container_of(head->set, struct net, sysctls);
|
||||
|
||||
Reference in New Issue
Block a user