lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 17 Jan 2011 18:29:14 +0100 From: Eric Dumazet <eric.dumazet@...il.com> To: Po-Yu Chuang <ratbert.chuang@...il.com> Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org, ratbert@...aday-tech.com, bhutchings@...arflare.com, joe@...ches.com, dilinger@...ued.net Subject: Re: [PATCH v2] net: add Faraday FTMAC100 10/100 Ethernet driver Le lundi 17 janvier 2011 à 17:21 +0800, Po-Yu Chuang a écrit : > +static int ftmac100_rx_packet(struct ftmac100 *priv, int *processed) > +{ > + struct net_device *netdev = priv->netdev; > + struct ftmac100_rxdes *rxdes; > + struct sk_buff *skb; > + int length; > + int copied = 0; > + int done = 0; > + > + rxdes = ftmac100_rx_locate_first_segment(priv); > + if (!rxdes) > + return 0; > + > + length = ftmac100_rxdes_frame_length(rxdes); > + > + netdev->stats.rx_packets++; > + netdev->stats.rx_bytes += length; > + > + if (unlikely(ftmac100_rx_packet_error(priv, rxdes))) { > + ftmac100_rx_drop_packet(priv); > + return 1; > + } > + > + /* start processing */ > + skb = netdev_alloc_skb_ip_align(netdev, length); > + if (unlikely(!skb)) { > + if (net_ratelimit()) > + netdev_err(netdev, "rx skb alloc failed\n"); > + > + ftmac100_rx_drop_packet(priv); > + return 1; > + } > + Please dont increase rx_packets/rx_bytes before the netdev_alloc_skb_ip_align(). In case of mem allocation failure, it would be better not pretending we handled a packet. drivers/net/r8169.c for example does the rx_packets/rx_bytes only if packet is delivered to upper stack. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists