Skip to content
  1. Oct 14, 2017
  2. Oct 13, 2017
    • Joerg Roedel's avatar
      iommu/amd: Finish TLB flush in amd_iommu_unmap() · ce76353f
      Joerg Roedel authored
      
      
      The function only sends the flush command to the IOMMU(s),
      but does not wait for its completion when it returns. Fix
      that.
      
      Fixes: 601367d7 ('x86/amd-iommu: Remove iommu_flush_domain function')
      Cc: stable@vger.kernel.org # >= 2.6.33
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      ce76353f
    • Anju T Sudhakar's avatar
      powerpc/perf: Fix IMC initialization crash · 0d8ba162
      Anju T Sudhakar authored
      
      
      Panic observed with latest firmware, and upstream kernel:
      
       NIP init_imc_pmu+0x8c/0xcf0
       LR  init_imc_pmu+0x2f8/0xcf0
       Call Trace:
         init_imc_pmu+0x2c8/0xcf0 (unreliable)
         opal_imc_counters_probe+0x300/0x400
         platform_drv_probe+0x64/0x110
         driver_probe_device+0x3d8/0x580
         __driver_attach+0x14c/0x1a0
         bus_for_each_dev+0x8c/0xf0
         driver_attach+0x34/0x50
         bus_add_driver+0x298/0x350
         driver_register+0x9c/0x180
         __platform_driver_register+0x5c/0x70
         opal_imc_driver_init+0x2c/0x40
         do_one_initcall+0x64/0x1d0
         kernel_init_freeable+0x280/0x374
         kernel_init+0x24/0x160
         ret_from_kernel_thread+0x5c/0x74
      
      While registering nest imc at init, cpu-hotplug callback
      nest_pmu_cpumask_init() makes an OPAL call to stop the engine. And if
      the OPAL call fails, imc_common_cpuhp_mem_free() is invoked to cleanup
      memory and cpuhotplug setup.
      
      But when cleaning up the attribute group, we are dereferencing the
      attribute element array without checking whether the backing element
      is not NULL. This causes the kernel panic.
      
      Add a check for the backing element prior to dereferencing the
      attribute element, to handle the failing case gracefully.
      
      Signed-off-by: default avatarAnju T Sudhakar <anju@linux.vnet.ibm.com>
      Reported-by: default avatarPridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>
      [mpe: Trim change log]
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      0d8ba162
    • Dave Airlie's avatar
      Merge tag 'imx-drm-fixes-2017-10-12' of git://git.pengutronix.de/git/pza/linux into drm-fixes · a6402e80
      Dave Airlie authored
      drm/imx: i.MX5 regression fix and i.MX6QP PRE/PRG stability fixes
      
      - Disable channel burst locking on IPUv3EX (i.MX51) and IPUv3M (i.MX53).
        This fixes a regression introduced by commit 790cb4c7 ("drm/imx: lock
        scanout transfers for consecutive bursts").
      - Give PRG a head start. Waiting for both double buffers to fill up before
        enabling the IPU improves startup reliability.
      - Avoid PRE control register updates during unsafe window, workaround for
        ERR009624.
      
      * tag 'imx-drm-fixes-2017-10-12' of git://git.pengutronix.de/git/pza/linux:
        gpu: ipu-v3: pre: implement workaround for ERR009624
        gpu: ipu-v3: prg: wait for double buffers to be filled on channel startup
        gpu: ipu-v3: Allow channel burst locking on i.MX6 only
      a6402e80
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-4.14' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 09980771
      Dave Airlie authored
      single amdgpu regression fix.
      
      * 'drm-fixes-4.14' of git://people.freedesktop.org/~agd5f/linux:
        drm/amdgpu: fix placement flags in amdgpu_ttm_bind
      09980771
    • Linus Torvalds's avatar
      Merge tag 'devprop-4.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3d788276
      Linus Torvalds authored
      Pull device properties framework fixes from Rafael Wysocki:
       "These fix an issue related to device removal introduced during the 4.9
        cycle and fix up new functionality added recently.
      
        Specifics:
      
         - Fix a device properties management issue, introduced during the 4.9
           cycle, that causes device properties associated with a parent
           device to go away on a removal of its child in some cases (Jarkko
           Nikula).
      
         - Fix inconsistencies in error codes returned by a new function
           helper in the device properties framework depending on the
           underlying low-level firmware interface, DT or ACPI, by making the
           meaning of error codes returned in the ACPI case agree with the
           meaning of DT error codes in analogous situations (Sakari Ailus)"
      
      * tag 'devprop-4.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: properties: Fix __acpi_node_get_property_reference() return codes
        ACPI: properties: Align return codes of __acpi_node_get_property_reference()
        device property: Track owner device of device property
      3d788276
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.14-fixes-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 8ff0b97c
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - Fix a stale kernel memory exposure when logging inodes.
      
       - Fix some build problems with CONFIG_XFS_RT=n
      
       - Don't change inode mode if the acl write fails, leaving the file
         totally inaccessible.
      
       - Fix a dangling pointer problem when removing an attr fork under
         memory pressure.
      
       - Don't crash while trying to invalidate a null buffer associated with
         a corrupt metadata pointer.
      
      * tag 'xfs-4.14-fixes-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: handle error if xfs_btree_get_bufs fails
        xfs: reinit btree pointer on attr tree inactivation walk
        xfs: Fix bool initialization/comparison
        xfs: don't change inode mode if ACL update fails
        xfs: move more RT specific code under CONFIG_XFS_RT
        xfs: Don't log uninitialised fields in inode structures
      8ff0b97c
    • NeilBrown's avatar
      scripts: fix faddr2line to work on last symbol · 2aab9c3c
      NeilBrown authored
      
      
      If faddr2line is given a function name which is the last one listed by
      "nm -n", it will fail because it never finds the next symbol.
      
      So teach the awk script to catch that possibility, and use 'size' to
      provide the end point of the last function.
      
      Signed-off-by: default avatarNeilBrown <neilb@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2aab9c3c
    • Rob Clark's avatar
      drm/msm: fix _NO_IMPLICIT fencing case · 06451a3d
      Rob Clark authored
      
      
      We need to call reservation_object_reserve_shared() in both cases, but
      this wasn't happening in the _NO_IMPLICIT submit case.
      
      Fixes: f0a42bb5 ("drm/msm: submit support for in-fences")
      Reported-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      06451a3d
    • Rob Clark's avatar
      drm/msm: fix error path cleanup · 6bd6ae2d
      Rob Clark authored
      
      
      If we fail to attach iommu, gpu->aspace could be IS_ERR()..
      
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      6bd6ae2d
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 3206e7d5
      Linus Torvalds authored
      Pull quota fix from Jan Kara:
       "A fix for a regression in handling of quota grace times and warnings"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: Generate warnings for DQUOT_SPACE_NOFAIL allocations
      3206e7d5
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · cbaff876
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "Another latent bug related to PCID, an out-of-bounds access, and a
        submaintainer change being finally made official"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        MAINTAINERS: Add Paul Mackerras as maintainer for KVM/powerpc
        KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
        KVM: MMU: always terminate page walks at level 1
        KVM: nVMX: update last_nonleaf_level when initializing nested EPT
      cbaff876
    • Niklas Söderlund's avatar
      device property: preserve usecount for node passed to of_fwnode_graph_get_port_parent() · 3314c6bd
      Niklas Söderlund authored
      
      
      Using CONFIG_OF_DYNAMIC=y uncovered an imbalance in the usecount of the
      node being passed to of_fwnode_graph_get_port_parent(). Preserve the
      usecount by using of_get_parent() instead of of_get_next_parent() which
      don't decrement the usecount of the node passed to it.
      
      Fixes: 3b27d00e ("device property: Move fwnode graph ops to firmware specific locations")
      Signed-off-by: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
      Acked-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      3314c6bd
    • Stewart Smith's avatar
      drivers: of: increase MAX_RESERVED_REGIONS to 32 · 22f8cc6e
      Stewart Smith authored
      
      
      There are two types of memory reservations firmware can ask the kernel
      to make in the device tree: static and dynamic.
      See Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
      
      If you have greater than 16 entries in /reserved-memory (as we do on
      POWER9 systems) you would get this scary looking error message:
       [    0.000000] OF: reserved mem: not enough space all defined regions.
      
      This is harmless if all your reservations are static (which with OPAL on
      POWER9, they are).
      
      It is not harmless if you have any dynamic reservations after the 16th.
      
      In the first pass over the fdt to find reservations, the child nodes of
      /reserved-memory are added to a static array in of_reserved_mem.c so that
      memory can be reserved in a 2nd pass. The array has 16 entries. This is why,
      on my dual socket POWER9 system, I get that error 4 times with 20 static
      reservations.
      
      We don't have a problem on ppc though, as in arch/powerpc/kernel/prom.c
      we look at the new style /reserved-ranges property to do reservations,
      and this logic was introduced in 0962e800 (well before any powernv
      system shipped).
      
      A Google search shows up no occurances of that exact error message, so we're
      probably safe in that no machine that people use has memory not being reserved
      when it should be.
      
      The simple fix is to bump the length of the array to 32 which "should be
      enough for everyone(TM)". The simple fix of not recording static allocations
      in the array would cause problems for devices with "memory-region" properties.
      A more future-proof fix is likely possible, although more invasive and this
      simple fix is perfectly suitable in the meantime while a more future-proof
      fix is developed.
      
      Signed-off-by: default avatarStewart Smith <stewart@linux.vnet.ibm.com>
      Tested-by: default avatarMauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      22f8cc6e