Skip to content
Permalink
Branch: clang-scs
Commits on Nov 22, 2019
  1. arm64: scs: add separate shadow stacks for SDEI

    samitolvanen committed Nov 16, 2019
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
  2. arm64: implement Shadow Call Stack

    samitolvanen committed May 2, 2018
    This change implements shadow stack switching, initial SCS set-up,
    and interrupt shadow stacks for arm64.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
  3. arm64: disable SCS for hypervisor code

    samitolvanen committed Aug 16, 2019
    Filter out CC_FLAGS_SCS for code that runs at a different exception
    level.
    
    Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
  4. arm64: vdso: disable Shadow Call Stack

    samitolvanen committed May 2, 2018
    Shadow stacks are only available in the kernel, so disable SCS
    instrumentation for the vDSO.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
  5. arm64: efi: restore x18 if it was corrupted

    samitolvanen committed Oct 2, 2019
    If we detect a corrupted x18 and SCS is enabled, restore the register
    before jumping back to instrumented code. This is safe, because the
    wrapper is called with preemption disabled and a separate shadow stack
    is used for interrupt handling.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
  6. arm64: preserve x18 when CPU is suspended

    samitolvanen committed May 2, 2018
    Don't lose the current task's shadow stack when the CPU is suspended.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
  7. arm64: reserve x18 from general allocation with SCS

    samitolvanen committed May 2, 2018
    Reserve the x18 register from general allocation when SCS is enabled,
    because the compiler uses the register to store the current task's
    shadow stack pointer. Note that all external kernel modules must also be
    compiled with -ffixed-x18 if the kernel has SCS enabled.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
  8. arm64: disable function graph tracing with SCS

    samitolvanen committed Sep 5, 2018
    The graph tracer hooks returns by modifying frame records on the
    (regular) stack, but with SCS the return address is taken from the
    shadow stack, and the value in the frame record has no effect. As we
    don't currently have a mechanism to determine the corresponding slot
    on the shadow stack (and to pass this through the ftrace
    infrastructure), for now let's disable the graph tracer when SCS is
    enabled.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
  9. scs: add support for stack usage debugging

    samitolvanen committed Sep 6, 2018
    Implements CONFIG_DEBUG_STACK_USAGE for shadow stacks. When enabled,
    also prints out the highest shadow stack usage per process.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
  10. scs: add accounting

    samitolvanen committed May 23, 2018
    This change adds accounting for the memory allocated for shadow stacks.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
  11. add support for Clang's Shadow Call Stack (SCS)

    samitolvanen committed May 2, 2018
    This change adds generic support for Clang's Shadow Call Stack,
    which uses a shadow stack to protect return addresses from being
    overwritten by an attacker. Details are available here:
    
      https://clang.llvm.org/docs/ShadowCallStack.html
    
    Note that security guarantees in the kernel differ from the
    ones documented for user space. The kernel must store addresses
    of shadow stacks used by other tasks and interrupt handlers in
    memory, which means an attacker capable reading and writing
    arbitrary memory may be able to locate them and hijack control
    flow by modifying shadow stacks that are not currently in use.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
  12. arm64: kernel: avoid x18 in __cpu_soft_restart

    ardbiesheuvel authored and samitolvanen committed Apr 3, 2018
    The code in __cpu_soft_restart() uses x18 as an arbitrary temp register,
    which will shortly be disallowed. So use x8 instead.
    
    Link: https://patchwork.kernel.org/patch/9836877/
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    [Sami: updated commit message]
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
  13. arm64: kvm: stop treating register x18 as caller save

    ardbiesheuvel authored and samitolvanen committed Apr 3, 2018
    In preparation of reserving x18, stop treating it as caller save in
    the KVM guest entry/exit code. Currently, the code assumes there is
    no need to preserve it for the host, given that it would have been
    assumed clobbered anyway by the function call to __guest_enter().
    Instead, preserve its value and restore it upon return.
    
    Link: https://patchwork.kernel.org/patch/9836891/
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    [Sami: updated commit message, switched from x18 to x29 for the guest context]
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Marc Zyngier <maz@kernel.org>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
  14. arm64/lib: copy_page: avoid x18 register in assembler code

    ardbiesheuvel authored and samitolvanen committed Apr 3, 2018
    Register x18 will no longer be used as a caller save register in the
    future, so stop using it in the copy_page() code.
    
    Link: https://patchwork.kernel.org/patch/9836869/
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    [Sami: changed the offset and bias to be explicit]
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
  15. arm64: mm: avoid x18 in idmap_kpti_install_ng_mappings

    samitolvanen committed Oct 17, 2019
    idmap_kpti_install_ng_mappings uses x18 as a temporary register, which
    will result in a conflict when x18 is reserved. Use x16 and x17 instead
    where needed.
    
    Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
  16. Merge branch 'akpm' (patches from Andrew)

    torvalds committed Nov 22, 2019
    Merge misc fixes from Andrew Morton:
     "Three fixes"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()
      mm/memory_hotplug: don't access uninitialized memmaps in shrink_zone_span()
      Revert "fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()"
  17. Merge tag 'pm-5.4-final' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Nov 22, 2019
    …/git/rafael/linux-pm
    
    Pull power management regression fix from Rafael Wysocki:
     "Fix problems with switching cpufreq drivers on some x86 systems with
      ACPI (and with changing the operation modes of the intel_pstate driver
      on those systems) introduced by recent changes related to the
      management of frequency limits in cpufreq"
    
    * tag 'pm-5.4-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      PM: QoS: Invalidate frequency QoS requests after removal
  18. Merge tag 'drm-fixes-2019-11-22' of git://anongit.freedesktop.org/drm…

    torvalds committed Nov 22, 2019
    …/drm
    
    Pull drm fixes from Dave Airlie:
     "Two sets of fixes in here, one for amdgpu, and one for i915.
    
      The amdgpu ones are pretty small, i915's CI system seems to have a few
      problems in the last week or so, there is one major regression fix for
      fb_mmap, but there are a bunch of other issues fixed in there as well,
      oops, screen flashes and rcu related.
    
      amdgpu:
       - Remove experimental flag for navi14
       - Fix confusing power message failures on older VI parts
       - Hang fix for gfxoff when using the read register interface
       - Two stability regression fixes for Raven
    
      i915:
       - Fix kernel oops on dumb_create ioctl on no crtc situation
       - Fix bad ugly colored flash on VLV/CHV related to gamma LUT update
       - Fix unity of the frequencies reported on PMU
       - Fix kernel oops on set_page_dirty using better locks around it
       - Protect the request pointer with RCU to prevent it being freed
         while we might need still
       - Make pool objects read-only
       - Restore physical addresses for fb_map to avoid corrupted page
         table"
    
    * tag 'drm-fixes-2019-11-22' of git://anongit.freedesktop.org/drm/drm:
      drm/i915/fbdev: Restore physical addresses for fb_mmap()
      Revert "drm/amd/display: enable S/G for RAVEN chip"
      drm/amdgpu: disable gfxoff on original raven
      drm/amdgpu: disable gfxoff when using register read interface
      drm/amd/powerplay: correct fine grained dpm force level setting
      drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs
      drm/amdgpu: remove experimental flag for Navi14
      drm/i915: make pool objects read-only
      drm/i915: Protect request peeking with RCU
      drm/i915/userptr: Try to acquire the page lock around set_page_dirty()
      drm/i915/pmu: "Frequency" is reported as accumulated cycles
      drm/i915: Preload LUTs if the hw isn't currently using them
      drm/i915: Don't oops in dumb_create ioctl if we have no crtcs
  19. mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()

    aryabinin authored and torvalds committed Nov 22, 2019
    It's possible to hit the WARN_ON_ONCE(page_mapped(page)) in
    remove_stable_node() when it races with __mmput() and squeezes in
    between ksm_exit() and exit_mmap().
    
      WARNING: CPU: 0 PID: 3295 at mm/ksm.c:888 remove_stable_node+0x10c/0x150
    
      Call Trace:
       remove_all_stable_nodes+0x12b/0x330
       run_store+0x4ef/0x7b0
       kernfs_fop_write+0x200/0x420
       vfs_write+0x154/0x450
       ksys_write+0xf9/0x1d0
       do_syscall_64+0x99/0x510
       entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Remove the warning as there is nothing scary going on.
    
    Link: http://lkml.kernel.org/r/20191119131850.5675-1-aryabinin@virtuozzo.com
    Fixes: cbf86cf ("ksm: remove old stable nodes more thoroughly")
    Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  20. mm/memory_hotplug: don't access uninitialized memmaps in shrink_zone_…

    davidhildenbrand authored and torvalds committed Nov 22, 2019
    …span()
    
    Let's limit shrinking to !ZONE_DEVICE so we can fix the current code.
    We should never try to touch the memmap of offline sections where we
    could have uninitialized memmaps and could trigger BUGs when calling
    page_to_nid() on poisoned pages.
    
    There is no reliable way to distinguish an uninitialized memmap from an
    initialized memmap that belongs to ZONE_DEVICE, as we don't have
    anything like SECTION_IS_ONLINE we can use similar to
    pfn_to_online_section() for !ZONE_DEVICE memory.
    
    E.g., set_zone_contiguous() similarly relies on pfn_to_online_section()
    and will therefore never set a ZONE_DEVICE zone consecutive.  Stopping
    to shrink the ZONE_DEVICE therefore results in no observable changes,
    besides /proc/zoneinfo indicating different boundaries - something we
    can totally live with.
    
    Before commit d0dc12e ("mm/memory_hotplug: optimize memory
    hotplug"), the memmap was initialized with 0 and the node with the right
    value.  So the zone might be wrong but not garbage.  After that commit,
    both the zone and the node will be garbage when touching uninitialized
    memmaps.
    
    Toshiki reported a BUG (race between delayed initialization of
    ZONE_DEVICE memmaps without holding the memory hotplug lock and
    concurrent zone shrinking).
    
      https://lkml.org/lkml/2019/11/14/1040
    
    "Iteration of create and destroy namespace causes the panic as below:
    
          kernel BUG at mm/page_alloc.c:535!
          CPU: 7 PID: 2766 Comm: ndctl Not tainted 5.4.0-rc4 torvalds#6
          Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014
          RIP: 0010:set_pfnblock_flags_mask+0x95/0xf0
          Call Trace:
           memmap_init_zone_device+0x165/0x17c
           memremap_pages+0x4c1/0x540
           devm_memremap_pages+0x1d/0x60
           pmem_attach_disk+0x16b/0x600 [nd_pmem]
           nvdimm_bus_probe+0x69/0x1c0
           really_probe+0x1c2/0x3e0
           driver_probe_device+0xb4/0x100
           device_driver_attach+0x4f/0x60
           bind_store+0xc9/0x110
           kernfs_fop_write+0x116/0x190
           vfs_write+0xa5/0x1a0
           ksys_write+0x59/0xd0
           do_syscall_64+0x5b/0x180
           entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
      While creating a namespace and initializing memmap, if you destroy the
      namespace and shrink the zone, it will initialize the memmap outside
      the zone and trigger VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page),
      pfn), page) in set_pfnblock_flags_mask()."
    
    This BUG is also mitigated by this commit, where we for now stop to
    shrink the ZONE_DEVICE zone until we can do it in a safe and clean way.
    
    Link: http://lkml.kernel.org/r/20191006085646.5768-5-david@redhat.com
    Fixes: f1dd2cd ("mm, memory_hotplug: do not associate hotadded memory to zones until online")	[visible after d0dc12e]
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Reported-by: Toshiki Fukasawa <t-fukasawa@vx.jp.nec.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Alexander Duyck <alexander.h.duyck@linux.intel.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Damian Tometzki <damian.tometzki@gmail.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Halil Pasic <pasic@linux.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Ira Weiny <ira.weiny@intel.com>
    Cc: Jason Gunthorpe <jgg@ziepe.ca>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Pankaj Gupta <pagupta@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pavel.tatashin@microsoft.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Steve Capper <steve.capper@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Cc: <stable@vger.kernel.org>	[4.13+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  21. Revert "fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa…

    josephhz authored and torvalds committed Nov 22, 2019
    …_prepare_entry()"
    
    This reverts commit 56e94ea.
    
    Commit 56e94ea ("fs: ocfs2: fix possible null-pointer dereferences
    in ocfs2_xa_prepare_entry()") introduces a regression that fail to
    create directory with mount option user_xattr and acl.  Actually the
    reported NULL pointer dereference case can be correctly handled by
    loc->xl_ops->xlo_add_entry(), so revert it.
    
    Link: http://lkml.kernel.org/r/1573624916-83825-1-git-send-email-joseph.qi@linux.alibaba.com
    Fixes: 56e94ea ("fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()")
    Signed-off-by: Joseph Qi <joseph.qi@linux.alibaba.com>
    Reported-by: Thomas Voegtle <tv@lio96.de>
    Acked-by: Changwei Ge <gechangwei@live.cn>
    Cc: Jia-Ju Bai <baijiaju1990@gmail.com>
    Cc: Mark Fasheh <mark@fasheh.com>
    Cc: Joel Becker <jlbec@evilplan.org>
    Cc: Junxiao Bi <junxiao.bi@oracle.com>
    Cc: Gang He <ghe@suse.com>
    Cc: Jun Piao <piaojun@huawei.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  22. Merge tag 'drm-intel-fixes-2019-11-21' of git://anongit.freedesktop.o…

    airlied committed Nov 22, 2019
    …rg/drm/drm-intel into drm-fixes
    
    - Fix kernel oops on dumb_create ioctl on no crtc situation
    - Fix bad ugly colored flash on VLV/CHV related to gamma LUT update
    - Fix unity of the frequencies reported on PMU
    - Fix kernel oops on set_page_dirty using better locks around it
    - Protect the request pointer with RCU to prevent it being freed while we might need still
    - Make pool objects read-only
    - Restore physical addresses for fb_map to avoid corrupted page table
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191121165339.GA23920@intel.com
Commits on Nov 21, 2019
  1. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    torvalds committed Nov 21, 2019
    …git/arm64/linux
    
    Pull arm64 fix from Will Deacon:
     "Ensure PAN is re-enabled following user fault in uaccess routines.
    
      After I thought we were done for 5.4, we had a report this week of a
      nasty issue that has been shown to leak data between different user
      address spaces thanks to corruption of entries in the TLB. In
      hindsight, we should have spotted this in review when the PAN code was
      merged back in v4.3, but hindsight is 20/20 and I'm trying not to beat
      myself up too much about it despite being fairly miserable.
    
      Anyway, the fix is "obvious" but the actual failure is more more
      subtle, and is described in the commit message. I've included a fairly
      mechanical follow-up patch here as well, which moves this checking out
      into the C wrappers which is what we do for {get,put}_user() already
      and allows us to remove these bloody assembly macros entirely. The
      patches have passed kernelci [1] [2] [3] and CKI [4] tests over night,
      as well as some targetted testing [5] for this particular issue.
    
      The first patch is tagged for stable and should be applied to 4.14,
      4.19 and 5.3. I have separate backports for 4.4 and 4.9, which I'll
      send out once this has landed in your tree (although the original
      patch applies cleanly, it won't build for those two trees).
    
      Thanks to Pavel Tatashin for reporting this and Mark Rutland for
      helping to diagnose the issue and review/test the solution"
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: uaccess: Remove uaccess_*_not_uao asm macros
      arm64: uaccess: Ensure PAN is re-enabled after unhandled uaccess fault
  2. Merge tag 'for-linus-20191121' of git://git.kernel.dk/linux-block

    torvalds committed Nov 21, 2019
    Pull block fix from Jens Axboe:
     "Just a single fix for an issue in nbd introduced in this cycle"
    
    * tag 'for-linus-20191121' of git://git.kernel.dk/linux-block:
      nbd:fix memory leak in nbd_get_socket()
  3. Merge tag 'gpio-v5.4-5' of git://git.kernel.org/pub/scm/linux/kernel/…

    torvalds committed Nov 21, 2019
    …git/linusw/linux-gpio
    
    Pull GPIO fixes from Linus Walleij:
     "A last set of small fixes for GPIO, this cycle was quite busy.
    
       - Fix debounce delays on the MAX77620 GPIO expander
    
       - Use the correct unit for debounce times on the BD70528 GPIO expander
    
       - Get proper deps for parallel builds of the GPIO tools
    
       - Add a specific ACPI quirk for the Terra Pad 1061"
    
    * tag 'gpio-v5.4-5' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
      gpiolib: acpi: Add Terra Pad 1061 to the run_edge_events_on_boot_blacklist
      tools: gpio: Correctly add make dependencies for gpio_utils
      gpio: bd70528: Use correct unit for debounce times
      gpio: max77620: Fixup debounce delays
  4. Merge tag 'for-linus-2019-11-21' of git://git.kernel.org/pub/scm/linu…

    torvalds committed Nov 21, 2019
    …x/kernel/git/brauner/linux
    
    Pull pidfd fixlet from Christian Brauner:
     "This contains a simple fix for the pidfd poll method. In the original
      patchset pidfd_poll() was made to return an unsigned int. However, the
      poll method is defined to return a __poll_t. While the unsigned int is
      not a huge deal it's just nicer to return a __poll_t.
    
      I've decided to send it right before the 5.4 release mainly so that
      stable doesn't need to backport it to both 5.4 and 5.3"
    
    * tag 'for-linus-2019-11-21' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
      fork: fix pidfd_poll()'s return type
  5. drm/i915/fbdev: Restore physical addresses for fb_mmap()

    ickle authored and vivijim committed Nov 13, 2019
    fbdev uses the physical address of our framebuffer for its fb_mmap()
    routine. While we need to adapt this address for the new io BAR, we have
    to fix v5.4 first! The simplest fix is to restore the smem back to v5.3
    and we will then probably have to implement our fbops->fb_mmap() callback
    to handle local memory.
    
    Reported-by: Neil MacLeod <freedesktop@nmacleod.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=112256
    Fixes: 5f889b9 ("drm/i915: Disregard drm_mode_config.fb_base")
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Tested-by: Neil MacLeod <freedesktop@nmacleod.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191113180633.3947-1-chris@chris-wilson.co.uk
    (cherry picked from commit abc5520704ab438099fe352636b30b05c1253bea)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    (cherry picked from commit 9faf5fa)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
  6. Merge tag 'drm-fixes-5.4-2019-11-20' of git://people.freedesktop.org/…

    airlied committed Nov 21, 2019
    …~agd5f/linux into drm-fixes
    
    drm-fixes-5.4-2019-11-20:
    
    amdgpu:
    - Remove experimental flag for navi14
    - Fix confusing power message failures on older VI parts
    - Hang fix for gfxoff when using the read register interface
    - Two stability regression fixes for Raven
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Alex Deucher <alexdeucher@gmail.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191120235130.23755-1-alexander.deucher@amd.com
Commits on Nov 20, 2019
  1. Revert "drm/amd/display: enable S/G for RAVEN chip"

    Alex Deucher
    Alex Deucher committed Nov 15, 2019
    This reverts commit 1c42591.
    
    S/G display is not stable with the IOMMU enabled on some
    platforms.
    
    Bug: https://bugzilla.kernel.org/show_bug.cgi?id=205523
    Acked-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
  2. drm/amdgpu: disable gfxoff on original raven

    Alex Deucher
    Alex Deucher committed Nov 15, 2019
    There are still combinations of sbios and firmware that
    are not stable.
    
    Bug: https://bugzilla.kernel.org/show_bug.cgi?id=204689
    Acked-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
  3. drm/amdgpu: disable gfxoff when using register read interface

    Alex Deucher
    Alex Deucher committed Nov 14, 2019
    When gfxoff is enabled, accessing gfx registers via MMIO
    can lead to a hang.
    
    Bug: https://bugzilla.kernel.org/show_bug.cgi?id=205497
    Acked-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
    Reviewed-by: Evan Quan <evan.quan@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
  4. drm/amd/powerplay: correct fine grained dpm force level setting

    Evan Quan Alex Deucher
    Evan Quan authored and Alex Deucher committed Nov 14, 2019
    For fine grained dpm, there is only two levels supported. However
    to reflect correctly the current clock frequency, there is an
    intermediate level faked. Thus on forcing level setting, we
    need to treat level 2 correctly as level 1.
    
    Signed-off-by: Evan Quan <evan.quan@amd.com>
    Reviewed-by: Kevin Wang <kevin1.wang@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  5. drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs

    Evan Quan Alex Deucher
    Evan Quan authored and Alex Deucher committed Nov 14, 2019
    Otherwise, the error message prompted will confuse user.
    
    Signed-off-by: Evan Quan <evan.quan@amd.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
  6. drm/amdgpu: remove experimental flag for Navi14

    Alex Deucher
    Alex Deucher committed Nov 15, 2019
    5.4 and newer works fine with navi14.
    
    Reviewed-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  7. arm64: uaccess: Remove uaccess_*_not_uao asm macros

    Pavel Tatashin Will Deacon
    Pavel Tatashin authored and Will Deacon committed Nov 20, 2019
    It is safer and simpler to drop the uaccess assembly macros in favour of
    inline C functions. Although this bloats the Image size slightly, it
    aligns our user copy routines with '{get,put}_user()' and generally
    makes the code a lot easier to reason about.
    
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
    Tested-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    [will: tweaked commit message and changed temporary variable names]
    Signed-off-by: Will Deacon <will@kernel.org>
Older
You can’t perform that action at this time.