--- ./drivers/net/open_vznet.c.skipcheck 2006-10-25 14:43:37.000000000 +0400 +++ ./drivers/net/open_vznet.c 2006-11-22 12:53:52.000000000 +0300 @@ -130,15 +130,9 @@ int venet_change_skb_owner(struct sk_buf iph = skb->nh.iph; read_lock(&veip_hash_lock); - if (!ve_is_super(ve_old)) { - /* from VE to host */ - ve = venet_find_ve(iph->saddr); - if (ve == NULL) - goto out_drop; - if (!ve_accessible_strict(ve, ve_old)) - goto out_source; + if (!ve_is_super(ve_old)) skb->owner_env = get_ve0(); - } else { + else { /* from host to VE */ ve = venet_find_ve(iph->daddr); if (ve == NULL) @@ -152,18 +146,6 @@ int venet_change_skb_owner(struct sk_buf out_drop: read_unlock(&veip_hash_lock); return -ESRCH; - -out_source: - read_unlock(&veip_hash_lock); - if (net_ratelimit()) { - printk(KERN_WARNING "Dropped packet, source wrong " - "veid=%u src-IP=%u.%u.%u.%u " - "dst-IP=%u.%u.%u.%u\n", - skb->owner_env->veid, - NIPQUAD(skb->nh.iph->saddr), - NIPQUAD(skb->nh.iph->daddr)); - } - return -EACCES; } #ifdef CONFIG_PROC_FS