1. 12 4月, 2015 11 次提交
  2. 07 4月, 2015 1 次提交
    • H
      ipv6: protect skb->sk accesses from recursive dereference inside the stack · f60e5990
      hannes@stressinduktion.org 提交于
      We should not consult skb->sk for output decisions in xmit recursion
      levels > 0 in the stack. Otherwise local socket settings could influence
      the result of e.g. tunnel encapsulation process.
      
      ipv6 does not conform with this in three places:
      
      1) ip6_fragment: we do consult ipv6_npinfo for frag_size
      
      2) sk_mc_loop in ipv6 uses skb->sk and checks if we should
         loop the packet back to the local socket
      
      3) ip6_skb_dst_mtu could query the settings from the user socket and
         force a wrong MTU
      
      Furthermore:
      In sk_mc_loop we could potentially land in WARN_ON(1) if we use a
      PF_PACKET socket ontop of an IPv6-backed vxlan device.
      
      Reuse xmit_recursion as we are currently only interested in protecting
      tunnel devices.
      
      Cc: Jiri Pirko <jiri@resnulli.us>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f60e5990
  3. 05 4月, 2015 5 次提交
  4. 04 4月, 2015 3 次提交
    • S
      add fixed_phy_update_state() - update state of fixed_phy · a3bebdce
      Stas Sergeev 提交于
      Currently fixed_phy uses a callback to periodically poll the link state.
      This patch adds the fixed_phy_update_state() API.
      It solves the following problems:
      - On link state interrupt, MAC driver can't update status.
      Instead it needs to provide the callback to periodically query
      the HW about the link state. It is more efficient to update status
      after interrupt.
      - The callback needs to be unregistered before phy_disconnect(),
      or otherwise it will be called with net_dev==NULL. phy_disconnect()
      does not have enough info to unregister the callback automatically.
      - The callback needs to be registered before of_phy_connect() to
      avoid running with outdated state, but of_phy_connect() returns the
      phy_device pointer, which is needed to register the callback. Registering
      it before of_phy_connect() will therefore require a hack to get the
      pointer earlier.
      
      Overall, this addition makes the subsequent patch that implements
      SGMII link status for mvneta, much cleaner.
      
      CC: Florian Fainelli <f.fainelli@gmail.com>
      CC: netdev@vger.kernel.org
      CC: linux-kernel@vger.kernel.org
      Signed-off-by: NStas Sergeev <stsp@users.sourceforge.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3bebdce
    • A
      jhash: Update jhash_[321]words functions to use correct initval · 2e7056c4
      Alexander Duyck 提交于
      Looking over the implementation for jhash2 and comparing it to jhash_3words
      I realized that the two hashes were in fact very different.  Doing a bit of
      digging led me to "The new jhash implementation" in which lookup2 was
      supposed to have been replaced with lookup3.
      
      In reviewing the patch I noticed that jhash2 had originally initialized a
      and b to JHASH_GOLDENRATIO and c to initval, but after the patch a, b, and
      c were initialized to initval + (length << 2) + JHASH_INITVAL.  However the
      changes in jhash_3words simply replaced the initialization of a and b with
      JHASH_INITVAL.
      
      This change corrects what I believe was an oversight so that a, b, and c in
      jhash_3words all have the same value added consisting of initval + (length
      << 2) + JHASH_INITVAL so that jhash2 and jhash_3words will now produce the
      same hash result given the same inputs.
      
      Fixes: 60d509c8 ("The new jhash implementation")
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2e7056c4
    • R
      netdevice: document NETDEV_TX_BUSY deprecation. · e79d8429
      Rusty Russell 提交于
      This paraphrases DaveM (and steals some of his words) explaining why
      a device shouldn't return NETDEV_TX_BUSY, even though it looks so inviting
      to driver authors.
      
      See http://www.spinics.net/lists/netdev/msg322350.htmlInspired-by: NDavid Miller <davem@davemloft.net>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e79d8429
  5. 03 4月, 2015 19 次提交
  6. 01 4月, 2015 1 次提交