22 Aug, 2015

1 commit


21 Aug, 2015

1 commit


20 Aug, 2015

1 commit

  • Since commit feb44f1f7a4ac299d1ab1c3606860e70b9b89d69 (x86/xen:
    Provide a "Xen PV" APIC driver to support >255 VCPUs) Xen guests need
    a full APIC driver and thus should depend on X86_LOCAL_APIC.

    This fixes an i386 build failure with !SMP && !CONFIG_X86_UP_APIC by
    disabling Xen support in this configuration.

    Users needing Xen support in a non-SMP i386 kernel will need to enable
    CONFIG_X86_UP_APIC.

    Signed-off-by: David Vrabel
    Cc:

    David Vrabel
     

17 Aug, 2015

5 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "A smallish batch of fixes, a little more than expected this late, but
    all fixes are contained to their platforms and seem reasonably low
    risk:

    - a somewhat large SMP fix for ux500 that still seemed warranted to
    include here
    - OMAP DT fixes for pbias regulator specification that broke due to
    some DT reshuffling
    - PCIe IRQ routing bugfix for i.MX
    - networking fixes for keystone
    - runtime PM for OMAP GPMC
    - a couple of error path bug fixes for exynos"

    * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: keystone: Fix the mdio bindings by moving it to soc specific file
    ARM: dts: keystone: fix the clock node for mdio
    memory: omap-gpmc: Don't try to save uninitialized GPMC context
    ARM: imx6: correct i.MX6 PCIe interrupt routing
    ARM: ux500: add an SMP enablement type and move cpu nodes
    ARM: dts: dra7: Fix broken pbias device creation
    ARM: dts: OMAP5: Fix broken pbias device creation
    ARM: dts: OMAP4: Fix broken pbias device creation
    ARM: dts: omap243x: Fix broken pbias device creation
    ARM: EXYNOS: fix double of_node_put() on error path
    ARM: EXYNOS: Fix potentian kfree() of ro memory

    Linus Torvalds
     
  • Pull MIPS bugfix from Ralf Baechle:
    "Only a single MIPS fix - the math when invoking syscall_trace_enter
    was wrong"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Fix seccomp syscall argument for MIPS64

    Linus Torvalds
     
  • Merge x86 fixes from Ingo Molnar:
    "Two followup fixes related to the previous LDT fix"

    Also applied a further FPU emulation fix from Andy Lutomirski to the
    branch before actually merging it.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    x86/ldt: Further fix FPU emulation
    x86/ldt: Correct FPU emulation access to LDT
    x86/ldt: Correct LDT access in single stepping logic

    Linus Torvalds
     
  • The previous fix confused a selector with a segment prefix. Fix it.

    Compile-tested only.

    Cc: stable@vger.kernel.org
    Cc: Juergen Gross
    Reported-by: Linus Torvalds
    Fixes: 4809146b86c3 ("x86/ldt: Correct FPU emulation access to LDT")
    Signed-off-by: Andy Lutomirski
    Signed-off-by: Linus Torvalds

    Andy Lutomirski
     
  • …nel/git/ssantosh/linux-keystone into fixes

    ARM: Couple of Keysyone MDIO DTS fixes for 4.2-rc6+

    These are necessary to get the NIC card working on all Keystone
    EVMs. Couple of boards are broken without these two fixes.

    * tag 'keystone-dts-late-fixes-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
    ARM: dts: keystone: Fix the mdio bindings by moving it to soc specific file
    ARM: dts: keystone: fix the clock node for mdio

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

16 Aug, 2015

1 commit

  • Commit 4c21b8fd8f14 ("MIPS: seccomp: Handle indirect system calls (o32)")
    fixed indirect system calls on O32 but it also introduced a bug for MIPS64
    where it erroneously modified the v0 (syscall) register with the assumption
    that the sycall offset hasn't been taken into consideration. This breaks
    seccomp on MIPS64 n64 and n32 ABIs. We fix this by replacing the addition
    with a move instruction.

    Fixes: 4c21b8fd8f14 ("MIPS: seccomp: Handle indirect system calls (o32)")
    Cc: # 3.15+
    Reviewed-by: James Hogan
    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10951/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

15 Aug, 2015

2 commits

  • Pull KVM fixes from Paolo Bonzini:
    "Just two very small & simple patches"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: x86: Use adjustment in guest cycles when handling MSR_IA32_TSC_ADJUST
    KVM: x86: zero IDT limit on entry to SMM

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Misc fixes: PMU driver corner cases, tooling fixes, and an 'AUX'
    (Intel PT) race related core fix"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/intel/cqm: Do not access cpu_data() from CPU_UP_PREPARE handler
    perf/x86/intel: Fix memory leak on hot-plug allocation fail
    perf: Fix PERF_EVENT_IOC_PERIOD migration race
    perf: Fix double-free of the AUX buffer
    perf: Fix fasync handling on inherited events
    perf tools: Fix test build error when bindir contains double slash
    perf stat: Fix transaction lenght metrics
    perf: Fix running time accounting

    Linus Torvalds
     

14 Aug, 2015

9 commits

  • CPSW driver has been updated with compatibles for enabling errata
    workarounds. So updating cpsw compatibles.

    Signed-off-by: Mugunthan V N
    Acked-by: Tony Lindgren
    Signed-off-by: David S. Miller

    Mugunthan V N
     
  • CPSW driver has been updated with compatibles for enabling errata
    workarounds. So updating cpsw compatibles.

    Signed-off-by: Mugunthan V N
    Acked-by: Tony Lindgren
    Signed-off-by: David S. Miller

    Mugunthan V N
     
  • Pull ARM fixes from Russell King:
    "Another few small ARM fixes, mostly addressing some VDSO issues"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8410/1: VDSO: fix coarse clock monotonicity regression
    ARM: 8409/1: Mark ret_fast_syscall as a function
    ARM: 8408/1: Fix the secondary_startup function in Big Endian case
    ARM: 8405/1: VDSO: fix regression with toolchains lacking ld.bfd executable

    Linus Torvalds
     
  • Conflicts:
    drivers/net/ethernet/cavium/Kconfig

    The cavium conflict was overlapping dependency
    changes.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Commit 3f5159a9221f ("x86/asm/entry/32: Update -ENOSYS handling to match
    the 64-bit logic") broke the ENOSYS handling for the 32-bit compat case.
    The proper error return value was never loaded into %rax, except if
    things just happened to go through the audit paths, which ended up
    reloading the return value.

    This moves the loading or %rax into the normal system call path, just to
    make sure the error case triggers it. It's kind of sad, since it adds a
    useless instruction to reload the register to the fast path, but it's
    not like that single load from the stack is going to be noticeable.

    Reported-by: David Drysdale
    Tested-by: Kees Cook
    Acked-by: Andy Lutomirski
    Cc: Denys Vlasenko
    Cc: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull xen bug fixes from David Vrabel:

    - revert a fix from 4.2-rc5 that was causing lots of WARNING spam.

    - fix a memory leak affecting backends in HVM guests.

    - fix PV domU hang with certain configurations.

    * tag 'for-linus-4.2-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/xenbus: Don't leak memory when unmapping the ring on HVM backend
    Revert "xen/events/fifo: Handle linked events when closing a port"
    x86/xen: build "Xen PV" APIC driver for domU as well

    Linus Torvalds
     
  • This reverts commits 9a036b93a344 ("x86/signal/64: Remove 'fs' and 'gs'
    from sigcontext") and c6f2062935c8 ("x86/signal/64: Fix SS handling for
    signals delivered to 64-bit programs").

    They were cleanups, but they break dosemu by changing the signal return
    behavior (and removing 'fs' and 'gs' from the sigcontext struct - while
    not actually changing any behavior - causes build problems).

    Reported-and-tested-by: Stas Sergeev
    Acked-by: Andy Lutomirski
    Cc: Ingo Molnar
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Currently mdio bindings are defined in keystone.dtsi and this results
    in incorrect unit address for the node on K2E and K2L SoCs. Fix this
    by moving them to SoC specific DTS file.

    Signed-off-by: Murali Karicheri
    Signed-off-by: Santosh Shilimkar

    Murali Karicheri
     
  • Currently the MDIO clock is pointing to clkpa instead of clkcpgmac.
    MDIO is part of the ethss and the clock should be clkcpgmac.

    Signed-off-by: Murali Karicheri
    Signed-off-by: Santosh Shilimkar

    Murali Karicheri
     

13 Aug, 2015

2 commits


12 Aug, 2015

3 commits

  • Tony reports that booting his 144-cpu machine with maxcpus=10 triggers
    the following WARN_ON():

    [ 21.045727] WARNING: CPU: 8 PID: 647 at arch/x86/kernel/cpu/perf_event_intel_cqm.c:1267 intel_cqm_cpu_prepare+0x75/0x90()
    [ 21.045744] CPU: 8 PID: 647 Comm: systemd-udevd Not tainted 4.2.0-rc4 #1
    [ 21.045745] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRHSXSD1.86B.0066.R00.1506021730 06/02/2015
    [ 21.045747] 0000000000000000 0000000082771b09 ffff880856333ba8 ffffffff81669b67
    [ 21.045748] 0000000000000000 0000000000000000 ffff880856333be8 ffffffff8107b02a
    [ 21.045750] ffff88085b789800 ffff88085f68a020 ffffffff819e2470 000000000000000a
    [ 21.045750] Call Trace:
    [ 21.045757] [] dump_stack+0x45/0x57
    [ 21.045759] [] warn_slowpath_common+0x8a/0xc0
    [ 21.045761] [] warn_slowpath_null+0x1a/0x20
    [ 21.045762] [] intel_cqm_cpu_prepare+0x75/0x90
    [ 21.045764] [] intel_cqm_cpu_notifier+0x42/0x160
    [ 21.045767] [] notifier_call_chain+0x4d/0x80
    [ 21.045769] [] __raw_notifier_call_chain+0xe/0x10
    [ 21.045770] [] _cpu_up+0xe8/0x190
    [ 21.045771] [] cpu_up+0x7a/0xa0
    [ 21.045774] [] cpu_subsys_online+0x40/0x90
    [ 21.045777] [] device_online+0x67/0x90
    [ 21.045778] [] online_store+0x8a/0xa0
    [ 21.045782] [] dev_attr_store+0x18/0x30
    [ 21.045785] [] sysfs_kf_write+0x3a/0x50
    [ 21.045786] [] kernfs_fop_write+0x120/0x170
    [ 21.045789] [] __vfs_write+0x37/0x100
    [ 21.045791] [] ? __sb_start_write+0x58/0x110
    [ 21.045795] [] ? security_file_permission+0x3d/0xc0
    [ 21.045796] [] vfs_write+0xa9/0x190
    [ 21.045797] [] SyS_write+0x55/0xc0
    [ 21.045800] [] ? do_page_fault+0x30/0x80
    [ 21.045804] [] entry_SYSCALL_64_fastpath+0x12/0x71
    [ 21.045805] ---[ end trace fe228b836d8af405 ]---

    The root cause is that CPU_UP_PREPARE is completely the wrong notifier
    action from which to access cpu_data(), because smp_store_cpu_info()
    won't have been executed by the target CPU at that point, which in turn
    means that ->x86_cache_max_rmid and ->x86_cache_occ_scale haven't been
    filled out.

    Instead let's invoke our handler from CPU_STARTING and rename it
    appropriately.

    Reported-by: Tony Luck
    Signed-off-by: Matt Fleming
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Ashok Raj
    Cc: Kanaka Juvva
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Vikas Shivappa
    Link: http://lkml.kernel.org/r/1438863163-14083-1-git-send-email-matt@codeblueprint.co.uk
    Signed-off-by: Ingo Molnar

    Matt Fleming
     
  • We fail to free the shared_regs allocation if the constraint_list
    allocation fails.

    Cure this and be more consistent in NULL-ing the pointers after free.

    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • There is a build error that "'struct bpf_array' has no member
    named 'prog'" on s390. In commit 2a36f0b92eb6 ("bpf: Make the
    bpf_prog_array_map more generic"), the member 'prog' of struct
    bpf_array is replaced by 'ptrs'. So this patch fixes it.

    Fixes: 2a36f0b92eb6 ("bpf: Make the bpf_prog_array_map more generic")
    Reported-by: Wu Fengguang
    Signed-off-by: Kaixu Xia
    Signed-off-by: David S. Miller

    Kaixu Xia
     

11 Aug, 2015

2 commits

  • …/git/tmlind/linux-omap into fixes

    Few trivial omap MMC regression fixes for card voltages where
    the syscon areas for PBIAS regulator were missing "simple-bus"
    that prevents probing of the children in the mapped region.

    This probably was not noticed earlier as the bootloader has
    already configured the regulator for the card in the slot.

    * tag 'omap-for-v4.2/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: dra7: Fix broken pbias device creation
    ARM: dts: OMAP5: Fix broken pbias device creation
    ARM: dts: OMAP4: Fix broken pbias device creation
    ARM: dts: omap243x: Fix broken pbias device creation

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Since 906c55579a63 ("timekeeping: Copy the shadow-timekeeper over the
    real timekeeper last") it has become possible on ARM to:

    - Obtain a CLOCK_MONOTONIC_COARSE or CLOCK_REALTIME_COARSE timestamp
    via syscall.
    - Subsequently obtain a timestamp for the same clock ID via VDSO which
    predates the first timestamp (by one jiffy).

    This is because ARM's update_vsyscall is deriving the coarse time
    using the __current_kernel_time interface, when it should really be
    using the timekeeper object provided to it by the timekeeping core.
    It happened to work before only because __current_kernel_time would
    access the same timekeeper object which had been passed to
    update_vsyscall. This is no longer the case.

    Cc: stable@vger.kernel.org
    Fixes: 906c55579a63 ("timekeeping: Copy the shadow-timekeeper over the real timekeeper last")
    Signed-off-by: Nathan Lynch
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Nathan Lynch
     

10 Aug, 2015

3 commits

  • Since 906c55579a63 ("timekeeping: Copy the shadow-timekeeper over the
    real timekeeper last") it has become possible on arm64 to:

    - Obtain a CLOCK_MONOTONIC_COARSE or CLOCK_REALTIME_COARSE timestamp
    via syscall.
    - Subsequently obtain a timestamp for the same clock ID via VDSO which
    predates the first timestamp (by one jiffy).

    This is because arm64's update_vsyscall is deriving the coarse time
    using the __current_kernel_time interface, when it should really be
    using the timekeeper object provided to it by the timekeeping core.
    It happened to work before only because __current_kernel_time would
    access the same timekeeper object which had been passed to
    update_vsyscall. This is no longer the case.

    Signed-off-by: Nathan Lynch
    Acked-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Nathan Lynch
     
  • It turns out that a PV domU also requires the "Xen PV" APIC
    driver. Otherwise, the flat driver is used and we get stuck in busy
    loops that never exit, such as in this stack trace:

    (gdb) target remote localhost:9999
    Remote debugging using localhost:9999
    __xapic_wait_icr_idle () at ./arch/x86/include/asm/ipi.h:56
    56 while (native_apic_mem_read(APIC_ICR) & APIC_ICR_BUSY)
    (gdb) bt
    #0 __xapic_wait_icr_idle () at ./arch/x86/include/asm/ipi.h:56
    #1 __default_send_IPI_shortcut (shortcut=,
    dest=, vector=) at
    ./arch/x86/include/asm/ipi.h:75
    #2 apic_send_IPI_self (vector=246) at arch/x86/kernel/apic/probe_64.c:54
    #3 0xffffffff81011336 in arch_irq_work_raise () at
    arch/x86/kernel/irq_work.c:47
    #4 0xffffffff8114990c in irq_work_queue (work=0xffff88000fc0e400) at
    kernel/irq_work.c:100
    #5 0xffffffff8110c29d in wake_up_klogd () at kernel/printk/printk.c:2633
    #6 0xffffffff8110ca60 in vprintk_emit (facility=0, level=, dict=0x0 , dictlen=,
    fmt=, args=)
    at kernel/printk/printk.c:1778
    #7 0xffffffff816010c8 in printk (fmt=) at
    kernel/printk/printk.c:1868
    #8 0xffffffffc00013ea in ?? ()
    #9 0x0000000000000000 in ?? ()

    Mailing-list-thread: https://lkml.org/lkml/2015/8/4/755
    Signed-off-by: Jason A. Donenfeld
    Cc:
    Signed-off-by: David Vrabel

    Jason A. Donenfeld
     
  • All the map backends are of generic nature. In order to avoid
    adding much special code into the eBPF core, rewrite part of
    the bpf_prog_array map code and make it more generic. So the
    new perf_event_array map type can reuse most of code with
    bpf_prog_array map and add fewer lines of special code.

    Signed-off-by: Wang Nan
    Signed-off-by: Kaixu Xia
    Signed-off-by: David S. Miller

    Wang Nan
     

09 Aug, 2015

1 commit

  • Pull MIPS fixes from Ralf Baechle:
    "Another round of MIPS fixes for 4.2. No area does particularly stand
    out but we have a two unpleasant ones:

    - Kernel ptes are marked with a global bit which allows the kernel to
    share kernel TLB entries between all processes. For this to work
    both entries of an adjacent even/odd pte pair need to have the
    global bit set. There has been a subtle race in setting the other
    entry's global bit since ~ 2000 but it take particularly
    pathological workloads that essentially do mostly vmalloc/vfree to
    trigger this.

    This pull request fixes the 64-bit case but leaves the case of 32
    bit CPUs with 64 bit ptes unsolved for now. The unfixed cases
    affect hardware that is not available in the field yet.

    - Instruction emulation requires loading instructions from user space
    but the current fast but simplistic approach will fail on pages
    that are PROT_EXEC but !PROT_READ. For this reason we temporarily
    do not permit this permission and will map pages with PROT_EXEC |
    PROT_READ.

    The remainder of this pull request is more or less across the field
    and the short log explains them well"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Make set_pte() SMP safe.
    MIPS: Replace add and sub instructions in relocate_kernel.S with addiu
    MIPS: Flush RPS on kernel entry with EVA
    Revert "MIPS: BCM63xx: Provide a plat_post_dma_flush hook"
    MIPS: BMIPS: Delete unused Kconfig symbol
    MIPS: Export get_c0_perfcount_int()
    MIPS: show_stack: Fix stack trace with EVA
    MIPS: do_mcheck: Fix kernel code dump with EVA
    MIPS: SMP: Don't increment irq_count multiple times for call function IPIs
    MIPS: Partially disable RIXI support.
    MIPS: Handle page faults of executable but unreadable pages correctly.
    MIPS: Malta: Don't reinitialise RTC
    MIPS: unaligned: Fix build error on big endian R6 kernels
    MIPS: Fix sched_getaffinity with MT FPAFF enabled
    MIPS: Fix build with CONFIG_OF=y for non OF-enabled targets
    CPUFREQ: Loongson2: Fix broken build due to incorrect include.

    Linus Torvalds
     

08 Aug, 2015

6 commits

  • Commit 37868fe113ff ("x86/ldt: Make modify_ldt synchronous")
    introduced a new struct ldt_struct anchored at mm->context.ldt.

    Adapt the x86 fpu emulation code to use that new structure.

    Signed-off-by: Juergen Gross
    Reviewed-by: Andy Lutomirski
    Cc: # On top of: 37868fe113ff: x86/ldt: Make modify_ldt synchronous
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: billm@melbpc.org.au
    Link: http://lkml.kernel.org/r/1438883674-1240-1-git-send-email-jgross@suse.com
    Signed-off-by: Ingo Molnar

    Juergen Gross
     
  • Commit 37868fe113ff ("x86/ldt: Make modify_ldt synchronous")
    introduced a new struct ldt_struct anchored at mm->context.ldt.

    convert_ip_to_linear() was changed to reflect this, but indexing
    into the ldt has to be changed as the pointer is no longer void *.

    Signed-off-by: Juergen Gross
    Reviewed-by: Andy Lutomirski
    Cc: # On top of: 37868fe113ff: x86/ldt: Make modify_ldt synchronous
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: bp@suse.de
    Link: http://lkml.kernel.org/r/1438848278-12906-1-git-send-email-jgross@suse.com
    Signed-off-by: Ingo Molnar

    Juergen Gross
     
  • Pull ARC fixes from Vineet Gupta:
    "Here's a late pull request for accumulated ARC fixes which came out of
    extended testing of the new ARCv2 port with LTP etc. llock/scond
    livelock workaround has been reviewed by PeterZ. The changes look a
    lot but I've crafted them into finer grained patches for better
    tracking later.

    I have some more fixes (ARC Futex backend) ready to go but those will
    have to wait for tglx to return from vacation.

    Summary:
    - Enable a reduced config of HS38 (w/o div-rem, ll64...)
    - Add software workaround for LLOCK/SCOND livelock
    - Fallout of a recent pt_regs update"

    * tag 'arc-v4.2-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARCv2: spinlock/rwlock/atomics: reduce 1 instruction in exponential backoff
    ARC: Make pt_regs regs unsigned
    ARCv2: spinlock/rwlock: Reset retry delay when starting a new spin-wait cycle
    ARCv2: spinlock/rwlock/atomics: Delayed retry of failed SCOND with exponential backoff
    ARC: LLOCK/SCOND based rwlock
    ARC: LLOCK/SCOND based spin_lock
    ARC: refactor atomic inline asm operands with symbolic names
    Revert "ARCv2: STAR 9000837815 workaround hardware exclusive transactions livelock"
    ARCv2: [axs103_smp] Reduce clk for Quad FPGA configs
    ARCv2: Fix the peripheral address space detection
    ARCv2: allow selection of page size for MMUv4
    ARCv2: lib: memset: Don't assume 64-bit load/stores
    ARCv2: lib: memcpy: Missing PREFETCHW
    ARCv2: add knob for DIV_REV in Kconfig
    ARC/time: Migrate to new 'set-state' interface

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some USB and PHY fixes for 4.2-rc6 that resolve some reported
    issues.

    All of these have been in the linux-next tree for a while, full
    details on the patches are in the shortlog below"

    * tag 'usb-4.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    ARM: dts: dra7: Add syscon-pllreset syscon to SATA PHY
    drivers/usb: Delete XHCI command timer if necessary
    xhci: fix off by one error in TRB DMA address boundary check
    usb: udc: core: add device_del() call to error pathway
    phy: ti-pipe3: i783 workaround for SATA lockup after dpll unlock/relock
    phy-sun4i-usb: Add missing EXPORT_SYMBOL_GPL for sun4i_usb_phy_set_squelch_detect
    USB: sierra: add 1199:68AB device ID
    usb: gadget: f_printer: actually limit the number of instances
    usb: gadget: f_hid: actually limit the number of instances
    usb: gadget: f_uac2: fix calculation of uac2->p_interval
    usb: gadget: bdc: fix a driver crash on disconnect
    usb: chipidea: ehci_init_driver is intended to call one time
    USB: qcserial: Add support for Dell Wireless 5809e 4G Modem
    USB: qcserial/option: make AT URCs work for Sierra Wireless MC7305/MC7355

    Linus Torvalds
     
  • ret_fast_syscall runs when user space makes a syscall. However it
    needs to be marked as such so the ELF information is correct. Before
    it was:

    101: 8000f300 0 NOTYPE LOCAL DEFAULT 2 ret_fast_syscall

    But with this change it correctly shows as:

    101: 8000f300 96 FUNC LOCAL DEFAULT 2 ret_fast_syscall

    I see this function when using perf to unwind call stacks from kernel
    space to user space. Without this change I would need to add some
    special case logic when using the vmlinux ELF information.

    Signed-off-by: Drew Richardson
    Acked-by: Nicolas Pitre
    Signed-off-by: Russell King

    Drew Richardson
     
  • Since the commit "b2c3e38a5471 ARM: redo TTBR setup code for LPAE",
    the setup code had been reworked. As a result the secondary CPUs
    failed to come online in Big Endian.

    As explained by Russell, the new code expected the value in r4/r5 to
    be the least significant 32bits in r4 and the most significant 32bits
    in r5. However, in the secondary code, we load this using ldrd, which
    on BE reverses that.

    This patch swap r4/r5 after the ldrd. It is done using the xor
    instructions in order to not use a temporary register.

    Signed-off-by: Gregory CLEMENT
    Signed-off-by: Russell King

    Gregory CLEMENT
     

07 Aug, 2015

3 commits

  • When kvm_set_msr_common() handles a guest's write to
    MSR_IA32_TSC_ADJUST, it will calcuate an adjustment based on the data
    written by guest and then use it to adjust TSC offset by calling a
    call-back adjust_tsc_offset(). The 3rd parameter of adjust_tsc_offset()
    indicates whether the adjustment is in host TSC cycles or in guest TSC
    cycles. If SVM TSC scaling is enabled, adjust_tsc_offset()
    [i.e. svm_adjust_tsc_offset()] will first scale the adjustment;
    otherwise, it will just use the unscaled one. As the MSR write here
    comes from the guest, the adjustment is in guest TSC cycles. However,
    the current kvm_set_msr_common() uses it as a value in host TSC
    cycles (by using true as the 3rd parameter of adjust_tsc_offset()),
    which can result in an incorrect adjustment of TSC offset if SVM TSC
    scaling is enabled. This patch fixes this problem.

    Signed-off-by: Haozhong Zhang
    Cc: stable@vger.linux.org
    Signed-off-by: Paolo Bonzini

    Haozhong Zhang
     
  • The recent BlackHat 2015 presentation "The Memory Sinkhole"
    mentions that the IDT limit is zeroed on entry to SMM.

    This is not documented, and must have changed some time after 2010
    (see http://www.ssi.gouv.fr/uploads/IMG/pdf/IT_Defense_2010_final.pdf).
    KVM was not doing it, but the fix is easy.

    Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • The increment of delay counter was 2 instructions:
    Arithmatic Shfit Left (ASL) + set to 1 on overflow

    This can be done in 1 using ROtate Left (ROL)

    Suggested-by: Nigel Topham
    Cc: Peter Zijlstra (Intel)
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Vineet Gupta

    Vineet Gupta