1. 04 Oct, 2019 10 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · b145b0eb
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "ARM and x86 bugfixes of all kinds.
        The most visible one is that migrating a nested hypervisor has always
        been busted on Broadwell and newer processors, and that has finally
        been fixed"
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (22 commits)
        KVM: x86: omit "impossible" pmu MSRs from MSR list
        KVM: nVMX: Fix consistency check on injected exception error code
        KVM: x86: omit absent pmu MSRs from MSR list
        selftests: kvm: Fix libkvm build error
        kvm: vmx: Limit guest PMCs to those supported on the host
        kvm: x86, powerpc: do not allow clearing largepages debugfs entry
        KVM: selftests: x86: clarify what is reported on KVM_GET_MSRS failure
        selftests: kvm: add test for dirty logging inside nested guests
        KVM: x86: fix nested guest live migration with PML
        KVM: x86: assign two bits to track SPTE kinds
        KVM: x86: Expose XSAVEERPTR to the guest
        kvm: x86: Enumerate support for CLZERO instruction
        kvm: x86: Use AMD CPUID semantics for AMD vCPUs
        kvm: x86: Improve emulation of CPUID leaves 0BH and 1FH
        KVM: X86: Fix userspace set invalid CR4
        kvm: x86: Fix a spurious -E2BIG in __do_cpuid_func
        KVM: LAPIC: Loosen filter for adaptive tuning of lapic_timer_advance_ns
        KVM: arm/arm64: vgic: Use the appropriate TRACE_INCLUDE_PATH
        arm64: KVM: Kill hyp_alternate_select()
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.4-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 50dfd03d
      Linus Torvalds authored
      Pull xen fixes and cleanups from Juergen Gross:
       - a fix in the Xen balloon driver avoiding hitting a BUG_ON() in some
         cases, plus a follow-on cleanup series for that driver
       - a patch for introducing non-blocking EFI callbacks in Xen's EFI
         driver, plu a cleanup patch for Xen EFI handling merging the x86 and
         ARM arch specific initialization into the Xen EFI driver
       - a fix of the Xen xenbus driver avoiding a self-deadlock when cleaning
         up after a user process has died
       - a fix for Xen on ARM after removal of ZONE_DMA
       - a cleanup patch for avoiding build warnings for Xen on ARM
      * tag 'for-linus-5.4-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/xenbus: fix self-deadlock after killing user process
        xen/efi: have a common runtime setup function
        arm: xen: mm: use __GPF_DMA32 for arm64
        xen/balloon: Clear PG_offline in balloon_retrieve()
        xen/balloon: Mark pages PG_offline in balloon_append()
        xen/balloon: Drop __balloon_append()
        xen/balloon: Set pages PageOffline() in balloon_add_region()
        ARM: xen: unexport HYPERVISOR_platform_op function
        xen/efi: Set nonblocking callbacks
    • Linus Torvalds's avatar
      Merge tag 'copy-struct-from-user-v5.4-rc2' of... · e524d16e
      Linus Torvalds authored
      Merge tag 'copy-struct-from-user-v5.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
      Pull copy_struct_from_user() helper from Christian Brauner:
       "This contains the copy_struct_from_user() helper which got split out
        from the openat2() patchset. It is a generic interface designed to
        copy a struct from userspace.
        The helper will be especially useful for structs versioned by size of
        which we have quite a few. This allows for backwards compatibility,
        i.e. an extended struct can be passed to an older kernel, or a legacy
        struct can be passed to a newer kernel. For the first case (extended
        struct, older kernel) the new fields in an extended struct can be set
        to zero and the struct safely passed to an older kernel.
        The most obvious benefit is that this helper lets us get rid of
        duplicate code present in at least sched_setattr(), perf_event_open(),
        and clone3(). More importantly it will also help to ensure that users
        implementing versioning-by-size end up with the same core semantics.
        This point is especially crucial since we have at least one case where
        versioning-by-size is used but with slighly different semantics:
        sched_setattr(), perf_event_open(), and clone3() all do do similar
        checks to copy_struct_from_user() while rt_sigprocmask(2) always
        rejects differently-sized struct arguments.
        With this pull request we also switch over sched_setattr(),
        perf_event_open(), and clone3() to use the new helper"
      * tag 'copy-struct-from-user-v5.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        usercopy: Add parentheses around assignment in test_copy_struct_from_user
        perf_event_open: switch to copy_struct_from_user()
        sched_setattr: switch to copy_struct_from_user()
        clone3: switch to copy_struct_from_user()
        lib: introduce copy_struct_from_user() helper
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20191003' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · af0622f6
      Linus Torvalds authored
      Pull clone3/pidfd fixes from Christian Brauner:
       "This contains a couple of fixes:
         - Fix pidfd selftest compilation (Shuah Kahn)
           Due to a false linking instruction in the Makefile compilation for
           the pidfd selftests would fail on some systems.
         - Fix compilation for glibc on RISC-V systems (Seth Forshee)
           In some scenarios linux/uapi/linux/sched.h is included where
           __ASSEMBLY__ is defined causing a build failure because struct
           clone_args was not guarded by an #ifndef __ASSEMBLY__.
         - Add missing clone3() and struct clone_args kernel-doc (Christian Brauner)
           clone3() and struct clone_args were missing kernel-docs. (The goal
           is to use kernel-doc for any function or type where it's worth it.)
           For struct clone_args this also contains a comment about the fact
           that it's versioned by size"
      * tag 'for-linus-20191003' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        sched: add kernel-doc for struct clone_args
        fork: add kernel-doc for clone3
        selftests: pidfd: Fix undefined reference to pthread_create()
        sched: Add __ASSEMBLY__ guards around struct clone_args
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2019-10-04' of git://anongit.freedesktop.org/drm/drm · 768b47b7
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Been offline for 3 days, got back and had some fixes queued up.
        Nothing too major, the i915 dp-mst fix is important, and amdgpu has a
        bulk move speedup fix and some regressions, but nothing too insane for
        an rc2 pull. The intel fixes are also 2 weeks worth, they missed the
        boat last week.
         - writeback fixes
         - Fix DP-MST crtc_mask
         - Fix dsc dpp calculations
         - Fix g4x sprite scaling stride check with GTT remapping
         - Fix concurrence on cases where requests where getting retired at
           same time as resubmitted to HW
         - Fix gen9 display resolutions by setting the right max plane width
         - Fix GPU hang on preemption
         - Mark contents as dirty on a write fault. This was breaking cursor
           sprite with dumb buffers.
         - memory leak fix
         - include fix
         - Enable bulk moves
         - Power metrics fixes for Navi
         - Fix S4 regression
         - Add query for tcc disabled mask
         - Fix several leaks in error paths
         - randconfig fixes
         - clang fixes"
      * tag 'drm-fixes-2019-10-04' of git://anongit.freedesktop.org/drm/drm: (21 commits)
        Revert "drm/i915: Fix DP-MST crtc_mask"
        drm/omap: fix max fclk divider for omap36xx
        drm/i915: Fix g4x sprite scaling stride check with GTT remapping
        drm/i915/dp: Fix dsc bpp calculations, v5.
        drm/amd/display: fix dcn21 Makefile for clang
        drm/amd/display: hide an unused variable
        drm/amdgpu: display_mode_vba_21: remove uint typedef
        drm/amdgpu: hide another #warning
        drm/amdgpu: make pmu support optional, again
        drm/amd/display: memory leak
        drm/amdgpu: fix multiple memory leaks in acp_hw_init
        drm/amdgpu: return tcc_disabled_mask to userspace
        drm/amdgpu: don't increment vram lost if we are in hibernation
        Revert "drm/amdgpu: disable stutter mode for renoir"
        drm/amd/powerplay: add sensor lock support for smu
        drm/amd/powerplay: change metrics update period from 1ms to 100ms
        drm/amdgpu: revert "disable bulk moves for now"
        drm/tilcdc: include linux/pinctrl/consumer.h again
        drm/komeda: prevent memory leak in komeda_wb_connector_add
        drm: Clear the fence pointer when writeback job signaled
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2019-10-03' of git://git.kernel.dk/linux-block · c4bd70e8
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       - Mandate timespec64 for the io_uring timeout ABI (Arnd)
       - Set of NVMe changes via Sagi:
           - controller removal race fix from Balbir
           - quirk additions from Gabriel and Jian-Hong
           - nvme-pci power state save fix from Mario
           - Add 64bit user commands (for 64bit registers) from Marta
           - nvme-rdma/nvme-tcp fixes from Max, Mark and Me
           - Minor cleanups and nits from James, Dan and John
       - Two s390 dasd fixes (Jan, Stefan)
       - Have loop change block size in DIO mode (Martijn)
       - paride pg header ifdef guard (Masahiro)
       - Two blk-mq queue scheduler tweaks, fixing an ordering issue on zoned
         devices and suboptimal performance on others (Ming)
      * tag 'for-linus-2019-10-03' of git://git.kernel.dk/linux-block: (22 commits)
        block: sed-opal: fix sparse warning: convert __be64 data
        block: sed-opal: fix sparse warning: obsolete array init.
        block: pg: add header include guard
        Revert "s390/dasd: Add discard support for ESE volumes"
        s390/dasd: Fix error handling during online processing
        io_uring: use __kernel_timespec in timeout ABI
        loop: change queue block size to match when using DIO
        blk-mq: apply normal plugging for HDD
        blk-mq: honor IO scheduler for multiqueue devices
        nvme-rdma: fix possible use-after-free in connect timeout
        nvme: Move ctrl sqsize to generic space
        nvme: Add ctrl attributes for queue_count and sqsize
        nvme: allow 64-bit results in passthru commands
        nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T
        nvmet-tcp: remove superflous check on request sgl
        Added QUIRKs for ADATA XPG SX8200 Pro 512GB
        nvme-rdma: Fix max_hw_sectors calculation
        nvme: fix an error code in nvme_init_subsystem()
        nvme-pci: Save PCI state before putting drive into deepest state
        nvme-tcp: fix wrong stop condition in io_work
    • Paolo Bonzini's avatar
      KVM: x86: omit "impossible" pmu MSRs from MSR list · cf05a67b
      Paolo Bonzini authored
      INTEL_PMC_MAX_GENERIC is currently 32, which exceeds the 18
      contiguous MSR indices reserved by Intel for event selectors.
      Since some machines actually have MSRs past the reserved range,
      filtering them against x86_pmu.num_counters_gp may have false
      positives.  Cut the list to 18 entries to avoid this.
      Reported-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Suggested-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Cc: Jim Mattson <jamttson@google.com>
      Fixes: e2ada66e
       ("kvm: x86: Add Intel PMU MSRs to msrs_to_save[]", 2019-08-21)
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2019-10-03-1' of... · 07bba341
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2019-10-03-1' of git://anongit.freedesktop.org/drm/drm-intel
       into drm-fixes
      - Fix DP-MST crtc_mask
      - Fix dsc dpp calculations
      - Fix g4x sprite scaling stride check with GTT remapping
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191003193051.GA26421@intel.com
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2019-10-03' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · 63c4cec7
      Dave Airlie authored
       - One include fix for tilcdc
       - A clock fix for OMAP
       - A memory leak fix for Komeda
       - Some fixes for resources cleanups with writeback
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Maxime Ripard <mripard@kernel.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191003081031.oykms5fg4tijvdri@gilmour
    • Dave Airlie's avatar
      Merge tag 'drm-fixes-5.4-2019-10-02' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 0f83eb88
      Dave Airlie authored
      - Enable bulk moves
      - Power metrics fixes for Navi
      - Fix S4 regression
      - Add query for tcc disabled mask
      - Fix several leaks in error paths
      - randconfig fixes
      - clang fixes
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191002204909.3519-1-alexander.deucher@amd.com
  2. 03 Oct, 2019 19 commits
  3. 02 Oct, 2019 11 commits
    • Linus Torvalds's avatar
      timer-of: don't use conditional expression with mixed 'void' types · 0f1a7b3f
      Linus Torvalds authored
      Randy Dunlap reports on the sparse list that sparse warns about this
              of_irq->percpu ? free_percpu_irq(of_irq->irq, clkevt) :
                      free_irq(of_irq->irq, clkevt);
      and honestly, sparse is correct to warn.  The return type of
      free_percpu_irq() is 'void', while free_irq() returns a 'const void *'
      that is the devname argument passed in to the request_irq().
      You can't mix a void type with a non-void types in a conditional
      expression according to the C standard.  It so happens that gcc seems to
      accept it - and the resulting type of the expression is void - but
      there's really no reason for the kernel to have this kind of
      non-standard expression with no real upside.
      The natural way to write that expression is with an if-statement:
              if (of_irq->percpu)
                      free_percpu_irq(of_irq->irq, clkevt);
                      free_irq(of_irq->irq, clkevt);
      which is more legible anyway.
      I'm not sure why that timer-of code seems to have this odd pattern.  It
      does the same at allocation time, but at least there the types match,
      and it makes sense as an expression.
      Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5021b918
      Linus Torvalds authored
      Pull timer fix from Ingo Molnar:
       "Fix a broadcast-timer handling race that can result in spuriously and
        indefinitely delayed hrtimers and even RCU stalls if the system is
        otherwise quiet"
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick: broadcast-hrtimer: Fix a race in bc_set_next
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 714366f8
      Linus Torvalds authored
      Pull membarrier fix from Ingo Molnar:
       "Fix broken locking within membarrier_private_expedited()"
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        membarrier: Fix RCU locking bug caused by faulty merge
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.4-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · 65aa35c9
      Linus Torvalds authored
      Pull erofs fixes from Gao Xiang:
       "Three patches to address regressions due to recent cleanups, mainly
        found by stress test on latest mainline kernel (no more regression out
        compared with older kernels for more than a week)
        One additional patch updates sub-entries in MAINTAINERS.
         - Fix error handling in erofs_read_superblock
         - Fix locking in erofs_get_meta_page
         - Fix inplace behavior due to decompression frontend cleanup
         - Update sub-entries in MAINTAINERS in order to better blame"
      * tag 'erofs-for-5.4-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: fix mis-inplace determination related with noio chain
        erofs: fix erofs_get_meta_page locking due to a cleanup
        MAINTAINERS: erofs: complete sub-entries for erofs
        erofs: fix return value check in erofs_read_superblock()
    • Borislav Petkov's avatar
      char/random: Add a newline at the end of the file · 3fd57e7a
      Borislav Petkov authored
      On Tue, Oct 01, 2019 at 10:14:40AM -0700, Linus Torvalds wrote:
      > The previous state of the file didn't have that 0xa at the end, so you get that
      >   -EXPORT_SYMBOL_GPL(add_bootloader_randomness);
      >   \ No newline at end of file
      >   +EXPORT_SYMBOL_GPL(add_bootloader_randomness);
      > which is "the '-' line doesn't have a newline, the '+' line does" marker.
      Aaha, that makes total sense, thanks for explaining. Oh well, let's fix
      it then so that people don't scratch heads like me.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Juergen Gross's avatar
      xen/xenbus: fix self-deadlock after killing user process · a8fabb38
      Juergen Gross authored
      In case a user process using xenbus has open transactions and is killed
      e.g. via ctrl-C the following cleanup of the allocated resources might
      result in a deadlock due to trying to end a transaction in the xenbus
      worker thread:
      [ 2551.474706] INFO: task xenbus:37 blocked for more than 120 seconds.
      [ 2551.492215]       Tainted: P           OE     5.0.0-29-generic #5
      [ 2551.510263] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      [ 2551.528585] xenbus          D    0    37      2 0x80000080
      [ 2551.528590] Call Trace:
      [ 2551.528603]  __schedule+0x2c0/0x870
      [ 2551.528606]  ? _cond_resched+0x19/0x40
      [ 2551.528632]  schedule+0x2c/0x70
      [ 2551.528637]  xs_talkv+0x1ec/0x2b0
      [ 2551.528642]  ? wait_woken+0x80/0x80
      [ 2551.528645]  xs_single+0x53/0x80
      [ 2551.528648]  xenbus_transaction_end+0x3b/0x70
      [ 2551.528651]  xenbus_file_free+0x5a/0x160
      [ 2551.528654]  xenbus_dev_queue_reply+0xc4/0x220
      [ 2551.528657]  xenbus_thread+0x7de/0x880
      [ 2551.528660]  ? wait_woken+0x80/0x80
      [ 2551.528665]  kthread+0x121/0x140
      [ 2551.528667]  ? xb_read+0x1d0/0x1d0
      [ 2551.528670]  ? kthread_park+0x90/0x90
      [ 2551.528673]  ret_from_fork+0x35/0x40
      Fix this by doing the cleanup via a workqueue instead.
      Reported-by: default avatarJames Dingwall <james@dingwall.me.uk>
      Fixes: fd8aa909
       ("xen: optimize xenbus driver for multiple concurrent xenstore accesses")
      Cc: <stable@vger.kernel.org> # 4.11
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
    • Arnd Bergmann's avatar
      drm/amd/display: fix dcn21 Makefile for clang · c0e70e10
      Arnd Bergmann authored
      Just like all the other variants, this one passes invalid
      compile-time options with clang after the new code got
      clang: error: unknown argument: '-mpreferred-stack-boundary=4'
      scripts/Makefile.build:265: recipe for target 'drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.o' failed
      Use the same variant that we have for dcn20 to fix compilation.
      Fixes: eced51f9
       ("drm/amd/display: Add hubp block for Renoir (v2)")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    • Arnd Bergmann's avatar
      drm/amd/display: hide an unused variable · 148d31e3
      Arnd Bergmann authored
      Without CONFIG_DEBUG_FS, we get a warning for an unused
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:6020:33: error: unused variable 'source' [-Werror,-Wunused-variable]
      Hide the variable in an #ifdef like its only users.
      Fixes: 14b25846
       ("drm/amd/display: add functionality to grab DPRX CRC entries.")
      Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    • Arnd Bergmann's avatar
      drm/amdgpu: display_mode_vba_21: remove uint typedef · beda921d
      Arnd Bergmann authored
      The type definition for 'uint' clashes with the generic kernel
      drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.c:43:22: error: redefinition of typedef 'uint' is a C11 feature [-Werror,-Wtypedef-redefinition]
      include/linux/types.h:92:23: note: previous definition is here
      Just remove this type and use plain 'unsigned int' consistently,
      as it is already use almost everywhere in this file.
      Fixes: b04641a3
       ("drm/amd/display: Add Renoir DML")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    • Arnd Bergmann's avatar
      drm/amdgpu: hide another #warning · 29174a43
      Arnd Bergmann authored
      An earlier patch of mine disabled some #warning statements
      that get in the way of build testing, but then another
      instance was added around the same time.
      Remove that as well.
      Fixes: b5203d16 ("drm/amd/amdgpu: hide #warning for missing DC config")
      Fixes: e1c14c43
       ("drm/amdgpu: Enable DC on Renoir")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    • Arnd Bergmann's avatar
      drm/amdgpu: make pmu support optional, again · ec3e5c0f
      Arnd Bergmann authored
      When CONFIG_PERF_EVENTS is disabled, we cannot compile the pmu
      portion of the amdgpu driver:
      drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c:48:38: error: no member named 'hw' in 'struct perf_event'
              struct hw_perf_event *hwc = &event->hw;
                                           ~~~~~  ^
      drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c:51:13: error: no member named 'attr' in 'struct perf_event'
              if (event->attr.type != event->pmu->type)
                  ~~~~~  ^
      The same bug was already fixed by commit d155bef0 ("amdgpu: make pmu
      support optional") but broken again by what looks like an incorrectly
      rebased patch.
      Fixes: 64f55e62
       ("drm/amdgpu: Add RAS EEPROM table.")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>