Commit 08764531 authored by Michal Koutný's avatar Michal Koutný Committed by Pablo Neira Ayuso
Browse files

net: cgroup: Guard users of sock_cgroup_classid()



Exclude code that relies on sock_cgroup_classid() as preparation of
removal of the function.

Signed-off-by: default avatarMichal Koutný <mkoutny@suse.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 3ba0032a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ int inet_diag_msg_attrs_fill(struct sock *sk, struct sk_buff *skb,
	    ext & (1 << (INET_DIAG_TCLASS - 1))) {
		u32 classid = 0;

#ifdef CONFIG_SOCK_CGROUP_DATA
#ifdef CONFIG_CGROUP_NET_CLASSID
		classid = sock_cgroup_classid(&sk->sk_cgrp_data);
#endif
		/* Fallback to socket priority if class id isn't set.
+9 −0
Original line number Diff line number Diff line
@@ -117,6 +117,7 @@ static int cgroup_mt_check_v2(const struct xt_mtchk_param *par)
static bool
cgroup_mt_v0(const struct sk_buff *skb, struct xt_action_param *par)
{
#ifdef CONFIG_CGROUP_NET_CLASSID
	const struct xt_cgroup_info_v0 *info = par->matchinfo;
	struct sock *sk = skb->sk;

@@ -125,6 +126,8 @@ cgroup_mt_v0(const struct sk_buff *skb, struct xt_action_param *par)

	return (info->id == sock_cgroup_classid(&skb->sk->sk_cgrp_data)) ^
		info->invert;
#endif
	return false;
}

static bool cgroup_mt_v1(const struct sk_buff *skb, struct xt_action_param *par)
@@ -140,9 +143,12 @@ static bool cgroup_mt_v1(const struct sk_buff *skb, struct xt_action_param *par)
	if (ancestor)
		return cgroup_is_descendant(sock_cgroup_ptr(skcd), ancestor) ^
			info->invert_path;
#ifdef CONFIG_CGROUP_NET_CLASSID
	else
		return (info->classid == sock_cgroup_classid(skcd)) ^
			info->invert_classid;
#endif
	return false;
}

static bool cgroup_mt_v2(const struct sk_buff *skb, struct xt_action_param *par)
@@ -158,9 +164,12 @@ static bool cgroup_mt_v2(const struct sk_buff *skb, struct xt_action_param *par)
	if (ancestor)
		return cgroup_is_descendant(sock_cgroup_ptr(skcd), ancestor) ^
			info->invert_path;
#ifdef CONFIG_CGROUP_NET_CLASSID
	else
		return (info->classid == sock_cgroup_classid(skcd)) ^
			info->invert_classid;
#endif
	return false;
}

static void cgroup_mt_destroy_v1(const struct xt_mtdtor_param *par)