1. 15 Sep, 2016 1 commit
    • Paolo Bonzini's avatar
      kvm: x86: correctly reset dest_map->vector when restoring LAPIC state · b0eaf450
      Paolo Bonzini authored
      When userspace sends KVM_SET_LAPIC, KVM schedules a check between
      the vCPU's IRR and ISR and the IOAPIC redirection table, in order
      to re-establish the IOAPIC's dest_map (the list of CPUs servicing
      the real-time clock interrupt with the corresponding vectors).
      
      However, __rtc_irq_eoi_tracking_restore_one was forgetting to
      set dest_map->vectors.  Because of this, the IOAPIC did not process
      the real-time clock interrupt EOI, ioapic->rtc_status.pending_eoi
      got stuck at a non-zero value, and further RTC interrupts were
      reported to userspace as coalesced.
      
      Fixes: 9e4aabe2
      Fixes: 4d99ba89
      Cc: stable@vger.kernel.org
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: David Gilbert <dgilbert@redhat.com>
      Reviewed-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      b0eaf450
  2. 14 Sep, 2016 3 commits
    • Linus Torvalds's avatar
      Merge branch 'uaccess-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 77e5bdf9
      Linus Torvalds authored
      Pull uaccess fixes from Al Viro:
       "Fixes for broken uaccess primitives - mostly lack of proper zeroing
        in copy_from_user()/get_user()/__get_user(), but for several
        architectures there's more (broken clear_user() on frv and
        strncpy_from_user() on hexagon)"
      
      * 'uaccess-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (28 commits)
        avr32: fix copy_from_user()
        microblaze: fix __get_user()
        microblaze: fix copy_from_user()
        m32r: fix __get_user()
        blackfin: fix copy_from_user()
        sparc32: fix copy_from_user()
        sh: fix copy_from_user()
        sh64: failing __get_user() should zero
        score: fix copy_from_user() and friends
        score: fix __get_user/get_user
        s390: get_user() should zero on failure
        ppc32: fix copy_from_user()
        parisc: fix copy_from_user()
        openrisc: fix copy_from_user()
        nios2: fix __get_user()
        nios2: copy_from_user() should zero the tail of destination
        mn10300: copy_from_user() should zero on access_ok() failure...
        mn10300: failing __get_user() and get_user() should zero
        mips: copy_from_user() must zero the destination on access_ok() failure
        ARC: uaccess: get_user to zero out dest in cause of fault
        ...
      77e5bdf9
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.8b-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · b8f26e88
      Linus Torvalds authored
      Pull xen regression fix from David Vrabel:
       "Fix SMP boot in arm guests"
      
      * tag 'for-linus-4.8b-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        arm/xen: fix SMP guests boot
      b8f26e88
    • Vitaly Kuznetsov's avatar
      arm/xen: fix SMP guests boot · de75abbe
      Vitaly Kuznetsov authored
      Commit 88e957d6 ("xen: introduce xen_vcpu_id mapping") broke SMP
      ARM guests on Xen. When FIFO-based event channels are in use (this is
      the default), evtchn_fifo_alloc_control_block() is called on
      CPU_UP_PREPARE event and this happens before we set up xen_vcpu_id
      mapping in xen_starting_cpu. Temporary fix the issue by setting direct
      Linux CPU id <-> Xen vCPU id mapping for all possible CPUs at boot. We
      don't currently support kexec/kdump on Xen/ARM so these ids always
      match.
      
      In future, we have several ways to solve the issue, e.g.:
      
      - Eliminate all hypercalls from CPU_UP_PREPARE, do them from the
        starting CPU. This can probably be done for both x86 and ARM and, if
        done, will allow us to get Xen's idea of vCPU id from CPUID/MPIDR on
        the starting CPU directly, no messing with ACPI/device tree
        required.
      
      - Save vCPU id information from ACPI/device tree on ARM and use it to
        initialize xen_vcpu_id mapping. This is the same trick we currently
        do on x86.
      Reported-by: default avatarJulien Grall <julien.grall@arm.com>
      Tested-by: default avatarWei Chen <Wei.Chen@arm.com>
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Acked-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      de75abbe
  3. 13 Sep, 2016 33 commits
  4. 12 Sep, 2016 3 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · e8988e05
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "Some small fixes for the new sunxi clk driver introduced this merge
        window"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: sunxi-ng: Fix wrong reset register offsets
        clk: sunxi-ng: nk: Make ccu_nk_find_best static
        clk: sunxi-ng: Fix inverted test condition in ccu_helper_wait_for_lock
        clk: sunxi: Fix return value check in sun8i_a23_mbus_setup()
        clk: sunxi: pll2: Fix return value check in sun4i_pll2_setup()
      e8988e05
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · ac059c4f
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       - s390: nested virt fixes (new 4.8 feature)
       - x86: fixes for 4.8 regressions
       - ARM: two small bugfixes
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm-arm: Unmap shadow pagetables properly
        x86, clock: Fix kvm guest tsc initialization
        arm: KVM: Fix idmap overlap detection when the kernel is idmap'ed
        KVM: lapic: adjust preemption timer correctly when goes TSC backward
        KVM: s390: vsie: fix riccbd
        KVM: s390: don't use current->thread.fpu.* when accessing registers
      ac059c4f
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.8-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 2c937eb4
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
        Stable patches:
         - We must serialise LAYOUTGET and LAYOUTRETURN to ensure correct
           state accounting
         - Fix the CREATE_SESSION slot number
      
        Bugfixes:
         - sunrpc: fix a UDP memory accounting regression
         - NFS: Fix an error reporting regression in nfs_file_write()
         - pNFS: Fix further layout stateid issues
         - RPC/rdma: Revert 3d4cf35b ("xprtrdma: Reply buffer
           exhaustion...")
         - RPC/rdma: Fix receive buffer accounting"
      
      * tag 'nfs-for-4.8-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFSv4.1: Fix the CREATE_SESSION slot number accounting
        xprtrdma: Fix receive buffer accounting
        xprtrdma: Revert 3d4cf35b ("xprtrdma: Reply buffer exhaustion...")
        pNFS: Don't forget the layout stateid if there are outstanding LAYOUTGETs
        pNFS: Clear out all layout segments if the server unsets lrp->res.lrs_present
        pNFS: Fix pnfs_set_layout_stateid() to clear NFS_LAYOUT_INVALID_STID
        pNFS: Ensure LAYOUTGET and LAYOUTRETURN are properly serialised
        NFS: Fix error reporting in nfs_file_write()
        sunrpc: fix UDP memory accounting
      2c937eb4