1. 01 7月, 2015 1 次提交
  2. 29 6月, 2015 1 次提交
  3. 22 6月, 2015 5 次提交
  4. 19 6月, 2015 1 次提交
  5. 17 6月, 2015 1 次提交
  6. 13 6月, 2015 1 次提交
  7. 12 6月, 2015 1 次提交
    • D
      iommu/vt-d: Only enable extended context tables if PASID is supported · c83b2f20
      David Woodhouse 提交于
      Although the extended tables are theoretically a completely orthogonal
      feature to PASID and anything else that *uses* the newly-available bits,
      some of the early hardware has problems even when all we do is enable
      them and use only the same bits that were in the old context tables.
      
      For now, there's no motivation to support extended tables unless we're
      going to use PASID support to do SVM. So just don't use them unless
      PASID support is advertised too. Also add a command-line bailout just in
      case later chips also have issues.
      
      The equivalent problem for PASID support has already been fixed with the
      upcoming VT-d spec update and commit bd00c606 ("iommu/vt-d: Change
      PASID support to bit 40 of Extended Capability Register"), because the
      problematic platforms use the old definition of the PASID-capable bit,
      which is now marked as reserved and meaningless.
      
      So with this change, we'll magically start using ECS again only when we
      see the new hardware advertising "hey, we have PASID support and we
      actually tested it this time" on bit 40.
      
      The VT-d hardware architect has promised that we are not going to have
      any reason to support ECS *without* PASID any time soon, and he'll make
      sure he checks with us before changing that.
      
      In the future, if hypothetical new features also use new bits in the
      context tables and can be seen on implementations *without* PASID support,
      we might need to add their feature bits to the ecs_enabled() macro.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      c83b2f20
  8. 31 5月, 2015 2 次提交
  9. 30 5月, 2015 2 次提交
  10. 26 5月, 2015 1 次提交
  11. 23 5月, 2015 1 次提交
  12. 18 5月, 2015 1 次提交
  13. 16 5月, 2015 1 次提交
  14. 11 5月, 2015 2 次提交
    • X
      KVM: MMU: fix SMAP virtualization · 0be0226f
      Xiao Guangrong 提交于
      KVM may turn a user page to a kernel page when kernel writes a readonly
      user page if CR0.WP = 1. This shadow page entry will be reused after
      SMAP is enabled so that kernel is allowed to access this user page
      
      Fix it by setting SMAP && !CR0.WP into shadow page's role and reset mmu
      once CR4.SMAP is updated
      Signed-off-by: NXiao Guangrong <guangrong.xiao@linux.intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0be0226f
    • P
      pty: Fix input race when closing · 1a48632f
      Peter Hurley 提交于
      A read() from a pty master may mistakenly indicate EOF (errno == -EIO)
      after the pty slave has closed, even though input data remains to be read.
      For example,
      
             pty slave       |        input worker        |    pty master
                             |                            |
                             |                            |   n_tty_read()
      pty_write()            |                            |     input avail? no
        add data             |                            |     sleep
        schedule worker  --->|                            |     .
                             |---> flush_to_ldisc()       |     .
      pty_close()            |       fill read buffer     |     .
        wait for worker      |       wakeup reader    --->|     .
                             |       read buffer full?    |---> input avail ? yes
                             |<---   yes - exit worker    |     copy 4096 bytes to user
        TTY_OTHER_CLOSED <---|                            |<--- kick worker
                             |                            |
      
      		                **** New read() before worker starts ****
      
                             |                            |   n_tty_read()
                             |                            |     input avail? no
                             |                            |     TTY_OTHER_CLOSED? yes
                             |                            |     return -EIO
      
      Several conditions are required to trigger this race:
      1. the ldisc read buffer must become full so the input worker exits
      2. the read() count parameter must be >= 4096 so the ldisc read buffer
         is empty
      3. the subsequent read() occurs before the kicked worker has processed
         more input
      
      However, the underlying cause of the race is that data is pipelined, while
      tty state is not; ie., data already written by the pty slave end is not
      yet visible to the pty master end, but state changes by the pty slave end
      are visible to the pty master end immediately.
      
      Pipeline the TTY_OTHER_CLOSED state through input worker to the reader.
      1. Introduce TTY_OTHER_DONE which is set by the input worker when
         TTY_OTHER_CLOSED is set and either the input buffers are flushed or
         input processing has completed. Readers/polls are woken when
         TTY_OTHER_DONE is set.
      2. Reader/poll checks TTY_OTHER_DONE instead of TTY_OTHER_CLOSED.
      3. A new input worker is started from pty_close() after setting
         TTY_OTHER_CLOSED, which ensures the TTY_OTHER_DONE state will be
         set if the last input worker is already finished (or just about to
         exit).
      
      Remove tty_flush_to_ldisc(); no in-tree callers.
      
      Fixes: 52bce7f8 ("pty, n_tty: Simplify input processing on final close")
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96311
      BugLink: http://bugs.launchpad.net/bugs/1429756
      Cc: <stable@vger.kernel.org> # 3.19+
      Reported-by: NAndy Whitcroft <apw@canonical.com>
      Reported-by: NH.J. Lu <hjl.tools@gmail.com>
      Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1a48632f
  15. 09 5月, 2015 1 次提交
  16. 06 5月, 2015 3 次提交
  17. 05 5月, 2015 1 次提交
    • S
      bus: omap_l3_noc: Fix master id address decoding for OMAP5 · e7309c26
      Suman Anna 提交于
      The L3 Error handling on OMAP5 for the most part is very similar
      to that of OMAP4, and had leveraged common data structures and
      register layout definitions so far. Upon closer inspection, there
      are a few minor differences causing an incorrect decoding and
      reporting of the master NIU upon an error:
      
        1. The L3_TARG_STDERRLOG_MSTADDR.STDERRLOG_MSTADDR occupies
           11 bits on OMAP5 as against 8 bits on OMAP4, with the master
           NIU connID encoded in the 6 MSBs of the STDERRLOG_MSTADDR
           field.
        2. The CLK3 FlagMux component has 1 input source on OMAP4 and 3
           input sources on OMAP5. The common DEBUGSS source is at a
           different input on each SoC.
      
      Fix the above issues by using a OMAP5-specific compatible property
      and using SoC-specific data where there are differences.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Acked-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e7309c26
  18. 04 5月, 2015 1 次提交
  19. 03 5月, 2015 1 次提交
    • A
      target/user: Disallow full passthrough (pass_level=0) · 8ee83a74
      Andy Grover 提交于
      TCMU requires more work to correctly handle both user handlers that want
      all SCSI commands (pass_level=0) for a se_device, and also handlers that
      just want I/O commands and let the others be emulated by the kernel
      (pass_level=1). Only support the latter for now.
      
      For full passthrough, we will need to support a second se_subsystem_api
      template, due to configfs attributes being different between the two modes.
      Thus pass_level is extraneous, and we can remove it.
      
      The ABI break for TCMU v2 is already applied for this release, so it's
      best to do this now to avoid another ABI break in the future.
      Signed-off-by: NAndy Grover <agrover@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      8ee83a74
  20. 01 5月, 2015 2 次提交
  21. 30 4月, 2015 1 次提交
    • M
      Revert "powerpc/tm: Abort syscalls in active transactions" · 68fc378c
      Michael Ellerman 提交于
      This reverts commit feba4036.
      
      Although the principle of this change is good, the implementation has a
      few issues.
      
      Firstly we can sometimes fail to abort a syscall because r12 may have
      been clobbered by C code if we went down the virtual CPU accounting
      path, or if syscall tracing was enabled.
      
      Secondly we have decided that it is safer to abort the syscall even
      earlier in the syscall entry path, so that we avoid the syscall tracing
      path when we are transactional.
      
      So that we have time to thoroughly test those changes we have decided to
      revert this for this merge window and will merge the fixed version in
      the next window.
      
      NB. Rather than reverting the selftest we just drop tm-syscall from
      TEST_PROGS so that it's not run by default.
      
      Fixes: feba4036 ("powerpc/tm: Abort syscalls in active transactions")
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      68fc378c
  22. 28 4月, 2015 1 次提交
  23. 27 4月, 2015 2 次提交
    • M
      ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name · 4ada77e3
      Marek Vasut 提交于
      Fix a typo in the TX DMA interrupt name for AUART4.
      This patch makes AUART4 operational again.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Fixes: f30fb03d ("ARM: dts: add generic DMA device tree binding for mxs-dma")
      Cc: stable@vger.kernel.org
      Acked-by: NStefan Wahren <stefan.wahren@i2se.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      4ada77e3
    • E
      net: rfs: fix crash in get_rps_cpus() · a31196b0
      Eric Dumazet 提交于
      Commit 567e4b79 ("net: rfs: add hash collision detection") had one
      mistake :
      
      RPS_NO_CPU is no longer the marker for invalid cpu in set_rps_cpu()
      and get_rps_cpu(), as @next_cpu was the result of an AND with
      rps_cpu_mask
      
      This bug showed up on a host with 72 cpus :
      next_cpu was 0x7f, and the code was trying to access percpu data of an
      non existent cpu.
      
      In a follow up patch, we might get rid of compares against nr_cpu_ids,
      if we init the tables with 0. This is silly to test for a very unlikely
      condition that exists only shortly after table initialization, as
      we got rid of rps_reset_sock_flow() and similar functions that were
      writing this RPS_NO_CPU magic value at flow dismantle : When table is
      old enough, it never contains this value anymore.
      
      Fixes: 567e4b79 ("net: rfs: add hash collision detection")
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Tom Herbert <tom@herbertland.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a31196b0
  24. 23 4月, 2015 2 次提交
  25. 22 4月, 2015 1 次提交
  26. 21 4月, 2015 2 次提交
  27. 20 4月, 2015 1 次提交