1. 27 2月, 2018 1 次提交
  2. 27 1月, 2018 2 次提交
  3. 26 1月, 2018 1 次提交
  4. 24 1月, 2018 7 次提交
  5. 13 1月, 2018 8 次提交
  6. 10 1月, 2018 11 次提交
  7. 06 1月, 2018 1 次提交
  8. 07 12月, 2017 1 次提交
  9. 22 11月, 2017 1 次提交
    • B
      ixgbe: Fix skb list corruption on Power systems · 0a9a17e3
      Brian King 提交于
      This patch fixes an issue seen on Power systems with ixgbe which results
      in skb list corruption and an eventual kernel oops. The following is what
      was observed:
      
      CPU 1                                   CPU2
      ============================            ============================
      1: ixgbe_xmit_frame_ring                ixgbe_clean_tx_irq
      2:  first->skb = skb                     eop_desc = tx_buffer->next_to_watch
      3:  ixgbe_tx_map                         read_barrier_depends()
      4:   wmb                                 check adapter written status bit
      5:   first->next_to_watch = tx_desc      napi_consume_skb(tx_buffer->skb ..);
      6:   writel(i, tx_ring->tail);
      
      The read_barrier_depends is insufficient to ensure that tx_buffer->skb does not
      get loaded prior to tx_buffer->next_to_watch, which then results in loading
      a stale skb pointer. This patch replaces the read_barrier_depends with
      smp_rmb to ensure loads are ordered with respect to the load of
      tx_buffer->next_to_watch.
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Acked-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      0a9a17e3
  10. 08 11月, 2017 1 次提交
  11. 05 11月, 2017 1 次提交
  12. 02 11月, 2017 1 次提交
  13. 26 10月, 2017 1 次提交
  14. 25 10月, 2017 1 次提交
    • M
      locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns... · 6aa7de05
      Mark Rutland 提交于
      locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE()
      
      Please do not apply this to mainline directly, instead please re-run the
      coccinelle script shown below and apply its output.
      
      For several reasons, it is desirable to use {READ,WRITE}_ONCE() in
      preference to ACCESS_ONCE(), and new code is expected to use one of the
      former. So far, there's been no reason to change most existing uses of
      ACCESS_ONCE(), as these aren't harmful, and changing them results in
      churn.
      
      However, for some features, the read/write distinction is critical to
      correct operation. To distinguish these cases, separate read/write
      accessors must be used. This patch migrates (most) remaining
      ACCESS_ONCE() instances to {READ,WRITE}_ONCE(), using the following
      coccinelle script:
      
      ----
      // Convert trivial ACCESS_ONCE() uses to equivalent READ_ONCE() and
      // WRITE_ONCE()
      
      // $ make coccicheck COCCI=/home/mark/once.cocci SPFLAGS="--include-headers" MODE=patch
      
      virtual patch
      
      @ depends on patch @
      expression E1, E2;
      @@
      
      - ACCESS_ONCE(E1) = E2
      + WRITE_ONCE(E1, E2)
      
      @ depends on patch @
      expression E;
      @@
      
      - ACCESS_ONCE(E)
      + READ_ONCE(E)
      ----
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: davem@davemloft.net
      Cc: linux-arch@vger.kernel.org
      Cc: mpe@ellerman.id.au
      Cc: shuah@kernel.org
      Cc: snitzer@redhat.com
      Cc: thor.thayer@linux.intel.com
      Cc: tj@kernel.org
      Cc: viro@zeniv.linux.org.uk
      Cc: will.deacon@arm.com
      Link: http://lkml.kernel.org/r/1508792849-3115-19-git-send-email-paulmck@linux.vnet.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      6aa7de05
  15. 21 10月, 2017 2 次提交