1. 28 1月, 2017 31 次提交
  2. 27 1月, 2017 2 次提交
    • C
      drm/sti: Fix compilation failure for drm_framebuffer.pixel_format · a5b2b6eb
      Chris Wilson 提交于
      drivers/gpu/drm/sti/sti_plane.c:76:33: error: ‘struct drm_framebuffer’
      has no member named ‘pixel_format’; did you mean ‘format’?
      
      I didn't look to hard at the casting to a char * and just did a
      mechanical transformation of s/pixel_format/format->format/ as given in
      commit 438b74a5 ("drm: Nuke fb->pixel_format").
      
      Fixes: 438b74a5 ("drm: Nuke fb->pixel_format")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Acked-by: NVincent Abriou <vincent.abriou@st.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      a5b2b6eb
    • D
      Reinstate "drm/probe-helpers: Drop locking from poll_enable"" · c4d79c22
      Dave Airlie 提交于
      This reverts commit 54a07c7b,
      and reinstates the original.
      
      [airlied: this might be a bad plan for git].
      
      commit 3846fd9b
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Wed Jan 11 10:01:17 2017 +0100
      
          drm/probe-helpers: Drop locking from poll_enable
      
          It was only needed to protect the connector_list walking, see
      
          commit 8c4ccc4a
          Author: Daniel Vetter <daniel.vetter@ffwll.ch>
          Date:   Thu Jul 9 23:44:26 2015 +0200
      
              drm/probe-helper: Grab mode_config.mutex in poll_init/enable
      
          Unfortunately the commit message of that patch fails to mention that
          the new locking check was for the connector_list.
      
          But that requirement disappeared in
      
          commit c36a3254
          Author: Daniel Vetter <daniel.vetter@ffwll.ch>
          Date:   Thu Dec 15 16:58:43 2016 +0100
      
              drm: Convert all helpers to drm_connector_list_iter
      
          and so we can drop this again.
      
          This fixes a locking inversion on nouveau, where the rpm code needs to
          re-enable. But in other places the rpm_get() calls are nested within
          the big modeset locks.
      
          While at it, also improve the kerneldoc for these two functions a
          notch.
      
          v2: Update the kerneldoc even more to explain that these functions
          can't be called concurrently, or bad things happen (Chris).
      c4d79c22
  3. 26 1月, 2017 1 次提交
  4. 25 1月, 2017 6 次提交
    • K
      fbdev: color map copying bounds checking · 2dc705a9
      Kees Cook 提交于
      Copying color maps to userspace doesn't check the value of to->start,
      which will cause kernel heap buffer OOB read due to signedness wraps.
      
      CVE-2016-8405
      
      Link: http://lkml.kernel.org/r/20170105224249.GA50925@beast
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Reported-by: Peter Pi (@heisecode) of Trend Micro
      Cc: Min Chong <mchong@google.com>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2dc705a9
    • A
      drivers/memstick/core/memstick.c: avoid -Wnonnull warning · de182cc8
      Arnd Bergmann 提交于
      gcc-7 produces a harmless false-postive warning about a possible NULL
      pointer access:
      
        drivers/memstick/core/memstick.c: In function 'h_memstick_read_dev_id':
        drivers/memstick/core/memstick.c:309:3: error: argument 2 null where non-null expected [-Werror=nonnull]
           memcpy(mrq->data, buf, mrq->data_len);
      
      This can't happen because the caller sets the command to 'MS_TPC_READ_REG',
      which causes the data direction to be 'READ' and the NULL pointer not
      accessed.
      
      As a simple workaround for the warning, we can pass a pointer to the
      data that we actually want to read into.  This is not needed here, but
      also harmless, and lets the compiler know that the access is ok.
      
      Link: http://lkml.kernel.org/r/20170111144143.548867-1-arnd@arndb.deSigned-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Alex Dubov <oakad@yahoo.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      de182cc8
    • Y
      memory_hotplug: make zone_can_shift() return a boolean value · 8a1f780e
      Yasuaki Ishimatsu 提交于
      online_{kernel|movable} is used to change the memory zone to
      ZONE_{NORMAL|MOVABLE} and online the memory.
      
      To check that memory zone can be changed, zone_can_shift() is used.
      Currently the function returns minus integer value, plus integer
      value and 0. When the function returns minus or plus integer value,
      it means that the memory zone can be changed to ZONE_{NORNAL|MOVABLE}.
      
      But when the function returns 0, there are two meanings.
      
      One of the meanings is that the memory zone does not need to be changed.
      For example, when memory is in ZONE_NORMAL and onlined by online_kernel
      the memory zone does not need to be changed.
      
      Another meaning is that the memory zone cannot be changed. When memory
      is in ZONE_NORMAL and onlined by online_movable, the memory zone may
      not be changed to ZONE_MOVALBE due to memory online limitation(see
      Documentation/memory-hotplug.txt). In this case, memory must not be
      onlined.
      
      The patch changes the return type of zone_can_shift() so that memory
      online operation fails when memory zone cannot be changed as follows:
      
      Before applying patch:
         # grep -A 35 "Node 2" /proc/zoneinfo
         Node 2, zone   Normal
         <snip>
            node_scanned  0
                 spanned  8388608
                 present  7864320
                 managed  7864320
         # echo online_movable > memory4097/state
         # grep -A 35 "Node 2" /proc/zoneinfo
         Node 2, zone   Normal
         <snip>
            node_scanned  0
                 spanned  8388608
                 present  8388608
                 managed  8388608
      
         online_movable operation succeeded. But memory is onlined as
         ZONE_NORMAL, not ZONE_MOVABLE.
      
      After applying patch:
         # grep -A 35 "Node 2" /proc/zoneinfo
         Node 2, zone   Normal
         <snip>
            node_scanned  0
                 spanned  8388608
                 present  7864320
                 managed  7864320
         # echo online_movable > memory4097/state
         bash: echo: write error: Invalid argument
         # grep -A 35 "Node 2" /proc/zoneinfo
         Node 2, zone   Normal
         <snip>
            node_scanned  0
                 spanned  8388608
                 present  7864320
                 managed  7864320
      
         online_movable operation failed because of failure of changing
         the memory zone from ZONE_NORMAL to ZONE_MOVABLE
      
      Fixes: df429ac0 ("memory-hotplug: more general validation of zone during online")
      Link: http://lkml.kernel.org/r/2f9c3837-33d7-b6e5-59c0-6ca4372b2d84@gmail.comSigned-off-by: NYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Reviewed-by: NReza Arbab <arbab@linux.vnet.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8a1f780e
    • W
      vring: Force use of DMA API for ARM-based systems with legacy devices · c7070619
      Will Deacon 提交于
      Booting Linux on an ARM fastmodel containing an SMMU emulation results
      in an unexpected I/O page fault from the legacy virtio-blk PCI device:
      
      [    1.211721] arm-smmu-v3 2b400000.smmu: event 0x10 received:
      [    1.211800] arm-smmu-v3 2b400000.smmu:	0x00000000fffff010
      [    1.211880] arm-smmu-v3 2b400000.smmu:	0x0000020800000000
      [    1.211959] arm-smmu-v3 2b400000.smmu:	0x00000008fa081002
      [    1.212075] arm-smmu-v3 2b400000.smmu:	0x0000000000000000
      [    1.212155] arm-smmu-v3 2b400000.smmu: event 0x10 received:
      [    1.212234] arm-smmu-v3 2b400000.smmu:	0x00000000fffff010
      [    1.212314] arm-smmu-v3 2b400000.smmu:	0x0000020800000000
      [    1.212394] arm-smmu-v3 2b400000.smmu:	0x00000008fa081000
      [    1.212471] arm-smmu-v3 2b400000.smmu:	0x0000000000000000
      
      <system hangs failing to read partition table>
      
      This is because the legacy virtio-blk device is behind an SMMU, so we
      have consequently swizzled its DMA ops and configured the SMMU to
      translate accesses. This then requires the vring code to use the DMA API
      to establish translations, otherwise all transactions will result in
      fatal faults and termination.
      
      Given that ARM-based systems only see an SMMU if one is really present
      (the topology is all described by firmware tables such as device-tree or
      IORT), then we can safely use the DMA API for all legacy virtio devices.
      Modern devices can advertise the prescense of an IOMMU using the
      VIRTIO_F_IOMMU_PLATFORM feature flag.
      
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: <stable@vger.kernel.org>
      Fixes: 876945db ("arm64: Hook up IOMMU dma_ops")
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      c7070619
    • R
      virtio_mmio: Set DMA masks appropriately · f7f6634d
      Robin Murphy 提交于
      Once DMA API usage is enabled, it becomes apparent that virtio-mmio is
      inadvertently relying on the default 32-bit DMA mask, which leads to
      problems like rapidly exhausting SWIOTLB bounce buffers.
      
      Ensure that we set the appropriate 64-bit DMA mask whenever possible,
      with the coherent mask suitably limited for the legacy vring as per
      a0be1db4 ("virtio_pci: Limit DMA mask to 44 bits for legacy virtio
      devices").
      
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Reported-by: NJean-Philippe Brucker <jean-philippe.brucker@arm.com>
      Fixes: b4211138 ("virtio_mmio: Use the DMA API if enabled")
      Signed-off-by: NRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      f7f6634d
    • S
      vhost/vsock: handle vhost_vq_init_access() error · 0516ffd8
      Stefan Hajnoczi 提交于
      Propagate the error when vhost_vq_init_access() fails and set
      vq->private_data to NULL.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      0516ffd8