netfilter: Only allow sane values in nf_register_net_hook
This commit adds an upfront check for sane values to be passed when registering a netfilter hook. This will be used in a future patch for a simplified hook list traversal. Signed-off-by: Aaron Conole <aconole@bytheb.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
e2361cb90a
commit
d4bb5caa9c
|
@ -89,6 +89,11 @@ int nf_register_net_hook(struct net *net, const struct nf_hook_ops *reg)
|
||||||
struct nf_hook_entry *entry;
|
struct nf_hook_entry *entry;
|
||||||
struct nf_hook_ops *elem;
|
struct nf_hook_ops *elem;
|
||||||
|
|
||||||
|
if (reg->pf == NFPROTO_NETDEV &&
|
||||||
|
(reg->hooknum != NF_NETDEV_INGRESS ||
|
||||||
|
!reg->dev || dev_net(reg->dev) != net))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
|
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
|
||||||
if (!entry)
|
if (!entry)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue