1. 08 Oct, 2015 7 commits
    • Eric W. Biederman's avatar
      dst: Pass a sk into .local_out · 4ebdfba7
      Eric W. Biederman authored
      For consistency with the other similar methods in the kernel pass a
      struct sock into the dst_ops .local_out method.
      
      Simplifying the socket passing case is needed a prequel to passing a
      struct net reference into .local_out.
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4ebdfba7
    • Eric W. Biederman's avatar
      net: Pass net into dst_output and remove dst_output_okfn · 13206b6b
      Eric W. Biederman authored
      Replace dst_output_okfn with dst_output
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      13206b6b
    • Eric W. Biederman's avatar
    • Eric W. Biederman's avatar
      ipv4: Fix ip_queue_xmit to pass sk into ip_local_out_sk · 850dcc4d
      Eric W. Biederman authored
      After a packet has been encapsulated by a tunnel we should use the
      tunnel sockets local multicast loopback flag to control if the
      encapsulated packet should be locally loopback back.
      
      Pass sk into ip_local_out_sk so that in the rare case we are dealing
      with a tunneled packet whose tunnel destination address is a multicast
      address the kernel properly decides to loopback this packet.
      
      In practice I don't think this matters as ip_queue_xmit is used by
      tcp, l2tp and sctp none of which I am aware of uses ip level
      multicasting as they are all point to point communications protocols.
      Let's fix this before someone uses ip_queue_xmit for a tunnel protocol
      that does use multicast.
      
      Fixes: aad88724 ("ipv4: add a sock pointer to dst->output() path.")
      Fixes: b0270e91 ("ipv4: add a sock pointer to ip_queue_xmit()")
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      850dcc4d
    • Eric W. Biederman's avatar
      ipv4: Fix ip_local_out_sk by passing the sk into __ip_local_out_sk · fd2874b3
      Eric W. Biederman authored
      In the rare case where sk != skb->sk ip_local_out_sk arranges
      to call dst->output differently if the skb is queued or not.
      This is a bug.
      
      Fix this bug by passing the sk parameter of ip_local_out_sk through
      from ip_local_out_sk to __ip_local_out_sk (skipping __ip_local_out).
      
      Fixes: 7026b1dd ("netfilter: Pass socket pointer down through okfn().")
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd2874b3
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · e28383dd
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2015-10-07
      
      This series contains updates to i40e and i40evf only.
      
      Paul updates i40e to simply increase the amount of time we wait for a
      reset to complete since we have seen in some rare occasions the reset
      can take longer to complete.
      
      Shannon updates the driver to turn on Wake-on-LAN by default if it is
      enabled in the hardware config to begin with, rather than always disable
      it and wait for the user to expressly turn it on.  Added new device id's
      and support for future devices.  Fixed a possible type compare problem
      between a size and possible negative number.  Also fixed a shift value
      that was wrong, which ended up with a bad bitmask.  Did general house
      cleaning of the driver to cleanup several low lying fruit in the
      driver.  Fixed an issue where new unicast address's would be added to
      the VSI list and then immediately removed and would never actually
      make it down to the hardware.  Resolved the issue by removing the
      separation from unicast and multicast in the search for filters to be
      deleted.
      
      Mitch fixes an issue where the hardware would continue to access the
      memory formerly used by the rings for a VF which have been removed,
      causing memory corruption or DMAR errors.  To relieve this condition,
      explicitly stop all rings associated with each VF before releasing its
      resources.  Also fixed a panic if the driver is unable to enable MSI-X
      or its unable to acquire enough vectors, so propagate interrupt
      allocation failure information to the calling function.  Cleaned up
      opcode that is not required.
      
      Carolyn extends the size of the test available for the interrupt names
      so that all the descriptive data available for the Flow Director
      interrupts is not truncated.
      
      Catherine fixes an issue where there was a possibility of speed getting
      set to 0 if advertised is set to 0 (which is the case when autoneg is
      disabled).
      
      Jesse fixes the checksum on big endian machines, so added code to swap
      it correctly.  Also fixed a bug in the return from get_link_status()
      where only true or false was being returned, but false could mean
      multiple things.  So allow the caller to get all the return values
      in the call chain bubbled back to the source so that the reason for
      the failure does not get lost.
      
      Anjali adds statistics to keep track of how many times we ask the stack
      to linearize the SKB because the hardware cannot handle SKBs with more
      than 8 frags per segment/single packet.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e28383dd
    • David S. Miller's avatar
      Merge tag 'regmap-offload-update-bits' of... · 61d03720
      David S. Miller authored
      Merge tag 'regmap-offload-update-bits' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
      
      regmap: Allow buses to provide a custom update_bits() operation
      
      Some buses provide a native _update_bits() operation which for uncached
      registers is faster than doing a read/modify/write cycle as it is a
      single bus transaction.  Add support for implementing this to regmap.
      61d03720
  2. 07 Oct, 2015 33 commits