mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-11 15:49:56 +00:00
netfilter: xt_TEE: add missing code to get interface index in checkentry.
checkentry(tee_tg_check) should initialize priv->oif from dev if possible. But only netdevice notifier handler can set that. Hence priv->oif is always -1 until notifier handler is called. Fixes: 9e2f6c5d78db ("netfilter: Rework xt_TEE netdevice notifier") Signed-off-by: Taehee Yoo <ap420073@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
f24d2d4f95
commit
18c0ab8736
@ -104,6 +104,8 @@ static int tee_tg_check(const struct xt_tgchk_param *par)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (info->oif[0]) {
|
if (info->oif[0]) {
|
||||||
|
struct net_device *dev;
|
||||||
|
|
||||||
if (info->oif[sizeof(info->oif)-1] != '\0')
|
if (info->oif[sizeof(info->oif)-1] != '\0')
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@ -115,6 +117,11 @@ static int tee_tg_check(const struct xt_tgchk_param *par)
|
|||||||
priv->oif = -1;
|
priv->oif = -1;
|
||||||
info->priv = priv;
|
info->priv = priv;
|
||||||
|
|
||||||
|
dev = dev_get_by_name(par->net, info->oif);
|
||||||
|
if (dev) {
|
||||||
|
priv->oif = dev->ifindex;
|
||||||
|
dev_put(dev);
|
||||||
|
}
|
||||||
mutex_lock(&tn->lock);
|
mutex_lock(&tn->lock);
|
||||||
list_add(&priv->list, &tn->priv_list);
|
list_add(&priv->list, &tn->priv_list);
|
||||||
mutex_unlock(&tn->lock);
|
mutex_unlock(&tn->lock);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user