1. 30 Apr, 2008 4 commits
    • Lachlan Andrew's avatar
      tcp: Overflow bug in Vegas · 15913114
      Lachlan Andrew authored
      From: Lachlan Andrew <lachlan.andrew@gmail.com>
      
      There is an overflow bug in net/ipv4/tcp_vegas.c for large BDPs
      (e.g. 400Mbit/s, 400ms).  The multiplication (old_wnd *
      vegas->baseRTT) << V_PARAM_SHIFT overflows a u32.
      
      [ Fix tcp_veno.c too, it has similar calculations. -DaveM ]
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      15913114
    • Kostya B's avatar
      [IPv4] UFO: prevent generation of chained skb destined to UFO device · be9164e7
      Kostya B authored
      Problem: ip_append_data() could wrongly generate a chained skb for
      devices which support UFO.  When sk_write_queue is not empty
      (e.g. MSG_MORE), __instead__ of appending data into the next nr_frag
      of the queued skb, a new chained skb is created.
      
      I would normally assume UFO device should get data in nr_frags and not
      in frag_list.  Later the udp4_hwcsum_outgoing() resets csum to NONE
      and skb_gso_segment() has oops.
      
      Proposal:
      1. Even length is less than mtu, employ ip_ufo_append_data()
      and append data to the __existed__ skb in the sk_write_queue.
      
      2. ip_ufo_append_data() is fixed due to a wrong manipulation of
      peek-ing and later enqueue-ing of the same skb.  Now, enqueuing is
      always performed, because on error the further
      ip_flush_pending_frames() would release the queued skb.
      Signed-off-by: default avatarKostya B <bkostya@hotmail.com>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be9164e7
    • Adrian Bunk's avatar
      iwlwifi: move the selects to the tristate drivers · 3a8209d1
      Adrian Bunk authored
      This patch moves the following select's:
      - RFKILL        : IWLWIFI_RFKILL -> IWLCORE
      - RFKILL_INPUT  : IWLWIFI_RFKILL -> IWLCORE
      - MAC80211_LEDS : IWL4965_LEDS   -> IWLCORE
      - LEDS_CLASS    : IWL4965_LEDS   -> IWLCORE
      - MAC80211_LEDS : IWL3945_LEDS   -> IWL3945
      - LEDS_CLASS    : IWL3945_LEDS   -> IWL3945
      
      The effects are:
      - with IWLCORE=m and/or IWL3945=m RFKILL/RFKILL_INPUT/MAC80211_LEDS/LEDS_CLASS
        are no longer wrongly forced to y
      - fixes a build error with IWLCORE=y, IWL4965=m
        might be a bug in kconfig causing it, but doing this change that is 
        anyway the right thing fixes it
      Reported-by: default avatarCarlos R. Mafra <crmafra2@gmail.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a8209d1
    • Sam Ravnborg's avatar
      ipv4: annotate a few functions __init in ipconfig.c · 45e741b8
      Sam Ravnborg authored
      A few functions are only used from __init context.
      So annotate these with __init for consistency and silence
      the following warnings:
      
      WARNING: net/ipv4/built-in.o(.text+0x2a876): Section mismatch
               in reference from the function ic_bootp_init() to
               the variable .init.data:bootp_packet_type
      WARNING: net/ipv4/built-in.o(.text+0x2a907): Section mismatch
               in reference from the function ic_bootp_cleanup() to
               the variable .init.data:bootp_packet_type
      
      Note: The warnings only appear with CONFIG_DEBUG_SECTION_MISMATCH=y
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      45e741b8
  2. 29 Apr, 2008 36 commits