mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 01:22:07 +00:00
netfilter: nfnetlink_cthelper: unbreak userspace helper support
Restore helper data size initialization and fix memcopy of the helper
data size.
Fixes: 157ffffeb5
("netfilter: nfnetlink_cthelper: reject too large userspace allocation requests")
Reviewed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
ee04805ff5
commit
703acd70f2
@ -103,7 +103,7 @@ nfnl_cthelper_from_nlattr(struct nlattr *attr, struct nf_conn *ct)
|
|||||||
if (help->helper->data_len == 0)
|
if (help->helper->data_len == 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
nla_memcpy(help->data, nla_data(attr), sizeof(help->data));
|
nla_memcpy(help->data, attr, sizeof(help->data));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,6 +240,7 @@ nfnl_cthelper_create(const struct nlattr * const tb[],
|
|||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto err2;
|
goto err2;
|
||||||
}
|
}
|
||||||
|
helper->data_len = size;
|
||||||
|
|
||||||
helper->flags |= NF_CT_HELPER_F_USERSPACE;
|
helper->flags |= NF_CT_HELPER_F_USERSPACE;
|
||||||
memcpy(&helper->tuple, tuple, sizeof(struct nf_conntrack_tuple));
|
memcpy(&helper->tuple, tuple, sizeof(struct nf_conntrack_tuple));
|
||||||
|
Loading…
Reference in New Issue
Block a user