Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4684391c authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Revert "drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group"



This reverts commit 4a341627 which is
commit e03781879a0d524ce3126678d50a80484a513c4b 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: Iecbd6b6537bd4cd2d178d0afbdc7557e521429c5
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 50aa4f43
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -11,12 +11,10 @@
/**
 * struct genl_multicast_group - generic netlink multicast group
 * @name: name of the multicast group, names are per-family
 * @cap_sys_admin: whether %CAP_SYS_ADMIN is required for binding
 */
struct genl_multicast_group {
	char			name[GENL_NAMSIZ];
	u8			flags;
	u8			cap_sys_admin:1;
};

struct genl_ops;
+1 −3
Original line number Diff line number Diff line
@@ -180,7 +180,7 @@ static struct sk_buff *reset_per_cpu_data(struct per_cpu_dm_data *data)
}

static const struct genl_multicast_group dropmon_mcgrps[] = {
	{ .name = "events", .cap_sys_admin = 1 },
	{ .name = "events", },
};

static void send_dm_alert(struct work_struct *work)
@@ -1539,13 +1539,11 @@ static const struct genl_ops dropmon_ops[] = {
		.cmd = NET_DM_CMD_START,
		.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
		.doit = net_dm_cmd_trace,
		.flags = GENL_ADMIN_PERM,
	},
	{
		.cmd = NET_DM_CMD_STOP,
		.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
		.doit = net_dm_cmd_trace,
		.flags = GENL_ADMIN_PERM,
	},
	{
		.cmd = NET_DM_CMD_CONFIG_GET,
+0 −3
Original line number Diff line number Diff line
@@ -1012,9 +1012,6 @@ static int genl_bind(struct net *net, int group)
		if ((grp->flags & GENL_UNS_ADMIN_PERM) &&
		    !ns_capable(net->user_ns, CAP_NET_ADMIN))
			ret = -EPERM;
		if (grp->cap_sys_admin &&
		    !ns_capable(net->user_ns, CAP_SYS_ADMIN))
			ret = -EPERM;

		break;
	}