Loading net/ipv4/ipmr.c +4 −6 Original line number Diff line number Diff line Loading @@ -1805,6 +1805,7 @@ int ip_mr_input(struct sk_buff *skb) } #ifdef CONFIG_IP_PIMSM /* called with rcu_read_lock() */ static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, unsigned int pimlen) { Loading @@ -1826,8 +1827,6 @@ static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, read_lock(&mrt_lock); if (mrt->mroute_reg_vif_num >= 0) reg_dev = mrt->vif_table[mrt->mroute_reg_vif_num].dev; if (reg_dev) dev_hold(reg_dev); read_unlock(&mrt_lock); if (reg_dev == NULL) Loading @@ -1837,15 +1836,14 @@ static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, skb_pull(skb, (u8 *)encap - skb->data); skb_reset_network_header(skb); skb->protocol = htons(ETH_P_IP); skb->ip_summed = 0; skb->ip_summed = CHECKSUM_NONE; skb->pkt_type = PACKET_HOST; skb_tunnel_rx(skb, reg_dev); netif_rx(skb); dev_put(reg_dev); return 0; return NET_RX_SUCCESS; } #endif Loading Loading
net/ipv4/ipmr.c +4 −6 Original line number Diff line number Diff line Loading @@ -1805,6 +1805,7 @@ int ip_mr_input(struct sk_buff *skb) } #ifdef CONFIG_IP_PIMSM /* called with rcu_read_lock() */ static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, unsigned int pimlen) { Loading @@ -1826,8 +1827,6 @@ static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, read_lock(&mrt_lock); if (mrt->mroute_reg_vif_num >= 0) reg_dev = mrt->vif_table[mrt->mroute_reg_vif_num].dev; if (reg_dev) dev_hold(reg_dev); read_unlock(&mrt_lock); if (reg_dev == NULL) Loading @@ -1837,15 +1836,14 @@ static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, skb_pull(skb, (u8 *)encap - skb->data); skb_reset_network_header(skb); skb->protocol = htons(ETH_P_IP); skb->ip_summed = 0; skb->ip_summed = CHECKSUM_NONE; skb->pkt_type = PACKET_HOST; skb_tunnel_rx(skb, reg_dev); netif_rx(skb); dev_put(reg_dev); return 0; return NET_RX_SUCCESS; } #endif Loading