1. 04 Jul, 2009 4 commits
    • Ron Mercer's avatar
      qlge: Expand coverage of hw lock for config register. · 4322c5be
      Ron Mercer authored
      The hardware semaphore covers the configuration register as well as the
      ICB registers.  The ICB high and low regs contain the address of the
      initialization control block and the config register is used to signal
      the hardware that a block is ready to be downloaded.  Currently we were
      only protecting the ICB regs.  This changes expands to cover the config
      register as well.
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4322c5be
    • Brian Haley's avatar
      IPv6: preferred lifetime of address not getting updated · a1ed0526
      Brian Haley authored
      There's a bug in addrconf_prefix_rcv() where it won't update the
      preferred lifetime of an IPv6 address if the current valid lifetime
      of the address is less than 2 hours (the minimum value in the RA).
      
      For example, If I send a router advertisement with a prefix that
      has valid lifetime = preferred lifetime = 2 hours we'll build
      this address:
      
      3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
          inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic
             valid_lft 7175sec preferred_lft 7175sec
      
      If I then send the same prefix with valid lifetime = preferred
      lifetime = 0 it will be ignored since the minimum valid lifetime
      is 2 hours:
      
      3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
          inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic
             valid_lft 7161sec preferred_lft 7161sec
      
      But according to RFC 4862 we should always reset the preferred lifetime
      even if the valid lifetime is invalid, which would cause the address
      to immediately get deprecated.  So with this patch we'd see this:
      
      5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
          inet6 2001:1890:1109:a20:21f:29ff:fe5a:ef04/64 scope global deprecated dynamic
             valid_lft 7163sec preferred_lft 0sec
      
      The comment winds-up being 5x the size of the code to fix the problem.
      
      Update the preferred lifetime of IPv6 addresses derived from a prefix
      info option in a router advertisement even if the valid lifetime in
      the option is invalid, as specified in RFC 4862 Section 5.5.3e.  Fixes
      an issue where an address will not immediately become deprecated.
      Reported by Jens Rosenboom.
      Signed-off-by: default avatarBrian Haley <brian.haley@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a1ed0526
    • Wei Yongjun's avatar
      xfrm6: fix the proto and ports decode of sctp protocol · 59cae009
      Wei Yongjun authored
      The SCTP pushed the skb above the sctp chunk header, so the
      check of pskb_may_pull(skb, nh + offset + 1 - skb->data) in
      _decode_session6() will never return 0 and the ports decode
      of sctp will always fail. (nh + offset + 1 - skb->data < 0)
      Signed-off-by: default avatarWei Yongjun <yjwei@cn.fujitsu.com>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59cae009
    • Wei Yongjun's avatar
      xfrm4: fix the ports decode of sctp protocol · c615c9f3
      Wei Yongjun authored
      The SCTP pushed the skb data above the sctp chunk header, so the check
      of pskb_may_pull(skb, xprth + 4 - skb->data) in _decode_session4() will
      never return 0 because xprth + 4 - skb->data < 0, the ports decode of
      sctp will always fail.
      Signed-off-by: default avatarWei Yongjun <yjwei@cn.fujitsu.com>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c615c9f3
  2. 02 Jul, 2009 7 commits
  3. 01 Jul, 2009 17 commits
  4. 30 Jun, 2009 9 commits
  5. 29 Jun, 2009 3 commits