1. 29 5月, 2009 2 次提交
    • D
      cxgb3: link fault fixes · c22c8149
      Divy Le Ray 提交于
      Do not call t3_link_fault() under spinlock, as it calls msleep().
      Besides, only the access to pi->link_fault needs to be serialized.
      
      Also initialize local variables before checking the link status,
      link state fields might otherwise end up containing garbage.
      Signed-off-by: NDivy Le Ray <divy@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c22c8149
    • D
      cxgb3: fix dma mapping regression · 10b6d956
      Divy Le Ray 提交于
      Commit 5e68b772
        cxgb3: map entire Rx page, feed map+offset to Rx ring.
      
      introduced a regression on platforms defining DECLARE_PCI_UNMAP_ADDR()
      and related macros as no-ops.
      
      Rx descriptors are fed with the a page buffer bus address + page chunk offset.
      The page buffer bus address is set and retrieved through
      pci_unamp_addr_set(), pci_unmap_addr().
      These functions being meaningless on x86 (if CONFIG_DMA_API_DEBUG is not set).
      The HW ends up with a bogus bus address.
      
      This patch saves the page buffer bus address for all plaftorms.
      Signed-off-by: NDivy Le Ray <divy@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      10b6d956
  2. 28 5月, 2009 1 次提交
  3. 27 5月, 2009 6 次提交
  4. 26 5月, 2009 4 次提交
  5. 25 5月, 2009 3 次提交
    • P
      netfilter: nf_ct_dccp: add missing DCCP protocol changes in event cache · b38b1f61
      Pablo Neira Ayuso 提交于
      This patch adds the missing protocol state-change event reporting
      for DCCP.
      
      $ sudo conntrack -E
          [NEW] dccp     33 240 src=192.168.0.2 dst=192.168.1.2 sport=57040 dport=5001 [UNREPLIED] src=192.168.1.2 dst=192.168.1.100 sport=5001 dport=57040
      
      With this patch:
      
      $ sudo conntrack -E
          [NEW] dccp     33 240 REQUEST src=192.168.0.2 dst=192.168.1.2 sport=57040 dport=5001 [UNREPLIED] src=192.168.1.2 dst=192.168.1.100 sport=5001 dport=57040
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      b38b1f61
    • J
      netfilter: nf_ct_tcp: fix accepting invalid RST segments · bfcaa502
      Jozsef Kadlecsik 提交于
      Robert L Mathews discovered that some clients send evil TCP RST segments,
      which are accepted by netfilter conntrack but discarded by the
      destination. Thus the conntrack entry is destroyed but the destination
      retransmits data until timeout.
      
      The same technique, i.e. sending properly crafted RST segments, can easily
      be used to bypass connlimit/connbytes based restrictions (the sample
      script written by Robert can be found in the netfilter mailing list
      archives).
      
      The patch below adds a new flag and new field to struct ip_ct_tcp_state so
      that checking RST segments can be made more strict and thus TCP conntrack
      can catch the invalid ones: the RST segment is accepted only if its
      sequence number higher than or equal to the highest ack we seen from the
      other direction. (The last_ack field cannot be reused because it is used
      to catch resent packets.)
      Signed-off-by: NJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      bfcaa502
    • L
      gianfar: fix BUG under load after introduction of skb recycling · 4e2fd555
      Lennert Buytenhek 提交于
      Since commit 0fd56bb5 ("gianfar:
      Add support for skb recycling"), gianfar puts skbuffs that are in
      the rx ring back onto the recycle list as-is in case there was a
      receive error, but this breaks the following invariant: that all
      skbuffs on the recycle list have skb->data = skb->head + NET_SKB_PAD.
      
      The RXBUF_ALIGNMENT realignment done in gfar_new_skb() will be done
      twice on skbuffs recycled in this way, causing there not to be enough
      room in the skb anymore to receive a full packet, eventually leading
      to an skb_over_panic from gfar_clean_rx_ring() -> skb_put().
      
      Resetting the skb->data pointer to skb->head + NET_SKB_PAD before
      putting the skb back onto the recycle list restores the mentioned
      invariant, and should fix this issue.
      Reported-by: NMichael Guntsche <mike@it-loops.com>
      Tested-by: NMichael Guntsche <mike@it-loops.com>
      Signed-off-by: NLennert Buytenhek <buytenh@wantstofly.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4e2fd555
  6. 22 5月, 2009 5 次提交
  7. 21 5月, 2009 13 次提交
  8. 19 5月, 2009 6 次提交