From 8ca343624da596313f566147f54d206a24994aae Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 9 Oct 2018 20:36:36 +0200 Subject: extensions: cgroup: fix option parsing for v2 Structure layout is different, therefore a new struct xt_option_entry is needed. Fixes: f9efc8cb79c0 ("extensions: add cgroup revision 2") Signed-off-by: Pablo Neira Ayuso --- extensions/libxt_cgroup.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'extensions') diff --git a/extensions/libxt_cgroup.c b/extensions/libxt_cgroup.c index d4a29092..327032ea 100644 --- a/extensions/libxt_cgroup.c +++ b/extensions/libxt_cgroup.c @@ -51,6 +51,24 @@ static const struct xt_option_entry cgroup_opts_v1[] = { XTOPT_TABLEEND, }; +static const struct xt_option_entry cgroup_opts_v2[] = { + { + .name = "path", + .id = O_PATH, + .type = XTTYPE_STRING, + .flags = XTOPT_INVERT | XTOPT_PUT, + XTOPT_POINTER(struct xt_cgroup_info_v2, path) + }, + { + .name = "cgroup", + .id = O_CLASSID, + .type = XTTYPE_UINT32, + .flags = XTOPT_INVERT | XTOPT_PUT, + XTOPT_POINTER(struct xt_cgroup_info_v2, classid) + }, + XTOPT_TABLEEND, +}; + static void cgroup_parse_v0(struct xt_option_call *cb) { struct xt_cgroup_info_v0 *cgroupinfo = cb->data; @@ -249,7 +267,7 @@ static struct xtables_match cgroup_match[] = { .print = cgroup_print_v2, .save = cgroup_save_v2, .x6_parse = cgroup_parse_v2, - .x6_options = cgroup_opts_v1, + .x6_options = cgroup_opts_v2, .xlate = cgroup_xlate_v2, }, }; -- cgit v1.2.3