04 Jan, 2015

1 commit

  • futex_atomic_cmpxchg_inatomic() does not work on UML because
    it triggers a copy_from_user() in kernel context.
    On UML copy_from_user() can only be used if the kernel was called
    by a real user space process such that UML can use ptrace()
    to fetch the value.

    Reported-by: Miklos Szeredi
    Suggested-by: Geert Uytterhoeven
    Signed-off-by: Richard Weinberger
    Tested-by: Daniel Walter

    Richard Weinberger
     

01 Jan, 2015

1 commit


31 Dec, 2014

3 commits

  • Follow aa0d53260596 ("ia64: Use preempt_schedule_irq") and use
    preempt_schedule_irq instead of enabling/disabling interrupts and
    messing around with PREEMPT_ACTIVE in the nios2 low-level preemption
    code ourselves. Also get rid of the now needless re-check for
    TIF_NEED_RESCHED, preempt_schedule_irq will already take care of
    rescheduling.

    This also fixes the following build error when building with
    CONFIG_PREEMPT:

    arch/nios2/kernel/built-in.o: In function `need_resched':
    arch/nios2/kernel/entry.S:374: undefined reference to `PREEMPT_ACTIVE'

    Cc: Thomas Gleixner
    Signed-off-by: Tobias Klauser
    Acked-by: Ley Foon Tan

    Tobias Klauser
     
  • This patch initializes the mmu field of the cpuinfo structure to the
    value supplied by the devicetree.

    Signed-off-by: Walter Goossens
    Acked-by: Ley Foon Tan

    Walter Goossens
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "A very small set of fixes for 3.19, as everyone was out.

    The clocksource patch was something I missed for the merge window
    after the change that broke arm64 was merged through arm-soc. The
    other two patches are a fix for an undetected merge problem in mvebu
    and a defconfig change to make some exynos boards work with the normal
    multi_v7_defconfig"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    Add USB_EHCI_EXYNOS to multi_v7_defconfig
    ARM: mvebu: Fix pinctrl configuration for Armada 370 DB
    clocksource: arch_timer: Only use the virtual counter (CNTVCT) on arm64

    Linus Torvalds
     

30 Dec, 2014

1 commit

  • Currently we enable Exynos devices in the multi v7 defconfig, however, when
    testing on my ODROID-U3, I noticed that USB was not working. Enabling this
    option causes USB to work, which enables networking support as well since the
    ODROID-U3 has networking on the USB bus.

    [arnd] Support for odroid-u3 was added in 3.10, so it would be nice to
    backport this fix at least that far.

    Signed-off-by: Steev Klimaszewski
    Cc: stable@vger.kernel.org # 3.10
    Signed-off-by: Arnd Bergmann

    Steev Klimaszewski
     

29 Dec, 2014

1 commit

  • Pull KVM fixes from Paolo Bonzini:
    "The important fixes are for two bugs introduced by the merge window.

    On top of this, add a couple of WARN_ONs and stop spamming dmesg on
    pretty much every boot of a virtual machine"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    kvm: warn on more invariant breakage
    kvm: fix sorting of memslots with base_gfn == 0
    kvm: x86: drop severity of "generation wraparound" message
    kvm: x86: vmx: reorder some msr writing

    Linus Torvalds
     

28 Dec, 2014

2 commits

  • Since most virtual machines raise this message once, it is a bit annoying.
    Make it KERN_DEBUG severity.

    Cc: stable@vger.kernel.org
    Fixes: 7a2e8aaf0f6873b47bc2347f216ea5b0e4c258ab
    Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • The commit 34a1cd60d17f, "x86: vmx: move some vmx setting from
    vmx_init() to hardware_setup()", tried to refactor some codes
    specific to vmx hardware setting into hardware_setup(), but some
    msr writing should depend on our previous setting condition like
    enable_apicv, enable_ept and so on.

    Reported-by: Jamie Heilman
    Tested-by: Jamie Heilman
    Signed-off-by: Tiejun Chen
    Signed-off-by: Paolo Bonzini

    Tiejun Chen
     

27 Dec, 2014

2 commits


24 Dec, 2014

3 commits

  • This patch adds pgd_page definition in order to keep supporting
    HAVE_GENERIC_RCU_GUP configuration. In addition, it changes pud_page
    expression to align with pmd_page for readability.

    An introduction of pgd_page resolves the following build breakage
    under 4KB + 4Level memory management combo.

    mm/gup.c: In function 'gup_huge_pgd':
    mm/gup.c:889:2: error: implicit declaration of function 'pgd_page' [-Werror=implicit-function-declaration]
    head = pgd_page(orig);
    ^
    mm/gup.c:889:7: warning: assignment makes pointer from integer without a cast
    head = pgd_page(orig);

    Cc: Will Deacon
    Cc: Steve Capper
    Signed-off-by: Jungseok Lee
    [catalin.marinas@arm.com: remove duplicate pmd_page definition]
    Signed-off-by: Catalin Marinas

    Jungseok Lee
     
  • The usual defconfig tweaks, this time:

    - FHANDLE and AUTOFS4_FS to keep systemd happy
    - PID_NS, QUOTA and KEYS to keep LTP happy
    - Disable DEBUG_PREEMPT, as this *really* hurts performance

    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Will Deacon
     
  • On arm64 the TTBR0_EL1 register is set to either the reserved TTBR0
    page tables on boot or to the active_mm mappings belonging to user space
    processes, it must never be set to swapper_pg_dir page tables mappings.

    When a CPU is booted its active_mm is set to init_mm even though its
    TTBR0_EL1 points at the reserved TTBR0 page mappings. This implies
    that when __cpu_suspend is triggered the active_mm can point at
    init_mm even if the current TTBR0_EL1 register contains the reserved
    TTBR0_EL1 mappings.

    Therefore, the mm save and restore executed in __cpu_suspend might
    turn out to be erroneous in that, if the current->active_mm corresponds
    to init_mm, on resume from low power it ends up restoring in the
    TTBR0_EL1 the init_mm mappings that are global and can cause speculation
    of TLB entries which end up being propagated to user space.

    This patch fixes the issue by checking the active_mm pointer before
    restoring the TTBR0 mappings. If the current active_mm == &init_mm,
    the code sets the TTBR0_EL1 to the reserved TTBR0 mapping instead of
    switching back to the active_mm, which is the expected behaviour
    corresponding to the TTBR0_EL1 settings when __cpu_suspend was entered.

    Fixes: 95322526ef62 ("arm64: kernel: cpu_{suspend/resume} implementation")
    Cc: # 3.14+: 18ab7db
    Cc: # 3.14+: 714f599
    Cc: # 3.14+: c3684fb
    Cc: # 3.14+
    Cc: Will Deacon
    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Catalin Marinas

    Lorenzo Pieralisi
     

22 Dec, 2014

1 commit

  • Commit a3a60f81ee6f (dma-mapping: replace set_arch_dma_coherent_ops with
    arch_setup_dma_ops) changes the of_dma_configure() arch dma_ops callback
    to arch_setup_dma_ops but only the arch/arm code is updated. Subsequent
    commit 97890ba9289c (dma-mapping: detect and configure IOMMU in
    of_dma_configure) changes the arch_setup_dma_ops() prototype further to
    handle iommu. The patch makes the corresponding arm64 changes.

    Signed-off-by: Catalin Marinas
    Reported-by: Arnd Bergmann
    Acked-by: Will Deacon

    Catalin Marinas
     

21 Dec, 2014

4 commits

  • The commit b4607572ef86 (ARM: mvebu: remove conflicting muxing on
    Armada 370 DB) removes the hog pins muxing. As it is explained in the
    commit log it solves a warning a boot time, but more important it also
    allows using the Giga port 0 of the board.

    Unfortunately in the same time the commit 4904a82a9399 (arm: mvebu:
    move Armada 370/XP pinctrl node definition armada-370-xp.dtsi) was
    merged and it introduced again the hog pins muxing. Because of it, the
    Giga port 0 of the board is no more usable.

    This commit remove again the conflicting muxing (hopefully for the
    last time).

    Signed-off-by: Gregory CLEMENT
    [andrew@lunn.ch: Correct commit IDs]
    Signed-off-by: Andrew Lunn
    Fixes: 4904a82a9399 ("arm: mvebu: move Armada 370/XP pinctrl node definition armada-370-xp.dtsi")

    Gregory CLEMENT
     
  • Pull ACCESS_ONCE cleanup preparation from Christian Borntraeger:
    "kernel: Provide READ_ONCE and ASSIGN_ONCE

    As discussed on LKML http://marc.info/?i=54611D86.4040306%40de.ibm.com
    ACCESS_ONCE might fail with specific compilers for non-scalar
    accesses.

    Here is a set of patches to tackle that problem.

    The first patch introduce READ_ONCE and ASSIGN_ONCE. If the data
    structure is larger than the machine word size memcpy is used and a
    warning is emitted. The next patches fix up several in-tree users of
    ACCESS_ONCE on non-scalar types.

    This does not yet contain a patch that forces ACCESS_ONCE to work only
    on scalar types. This is targetted for the next merge window as Linux
    next already contains new offenders regarding ACCESS_ONCE vs.
    non-scalar types"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger/linux:
    s390/kvm: REPLACE barrier fixup with READ_ONCE
    arm/spinlock: Replace ACCESS_ONCE with READ_ONCE
    arm64/spinlock: Replace ACCESS_ONCE READ_ONCE
    mips/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/spinlock: Replace ACCESS_ONCE with READ_ONCE
    mm: replace ACCESS_ONCE with READ_ONCE or barriers
    kernel: Provide READ_ONCE and ASSIGN_ONCE

    Linus Torvalds
     
  • Pull clk framework updates from Mike Turquette:
    "This is much later than usual due to several last minute bugs that had
    to be addressed. As usual the majority of changes are new drivers and
    modifications to existing drivers. The core recieved many fixes along
    with the groundwork for several large changes coming in the future
    which will better parition clock providers from clock consumers"

    * tag 'clk-for-linus-3.19' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
    clk: samsung: Fix Exynos 5420 pinctrl setup and clock disable failure due to domain being gated
    ARM: OMAP3: clock: fix boot breakage in legacy mode
    ARM: OMAP2+: clock: fix DPLL code to use new determine rate APIs
    clk: Really fix deadlock with mmap_sem
    clk: mmp: fix sparse non static symbol warning
    clk: Change clk_ops->determine_rate to return a clk_hw as the best parent
    clk: change clk_debugfs_add_file to take a struct clk_hw
    clk: Don't expose __clk_get_accuracy
    clk: Don't try to use a struct clk* after it could have been freed
    clk: Remove unused function __clk_get_prepare_count
    clk: samsung: Fix double add of syscore ops after driver rebind
    clk: samsung: exynos4: set parent of sclk_hdmiphy to hdmi
    clk: samsung: exynos4415: Fix build with PM_SLEEP disabled
    clk: samsung: remove unnecessary inclusion of header files from clk.h
    clk: samsung: remove unnecessary CONFIG_OF from clk.c
    clk: samsung: Spelling s/bwtween/between/
    clk: rockchip: Add support for the mmc clock phases using the framework
    clk: rockchip: add bindings for the mmc clocks
    clk: rockchip: rk3288 export i2s0_clkout for use in DT
    clk: rockchip: use clock ID for DMC (memory controller) on rk3288
    ...

    Linus Torvalds
     
  • Pull CONFIG_PM_RUNTIME elimination from Rafael Wysocki:
    "This removes the last few uses of CONFIG_PM_RUNTIME introduced
    recently and makes that config option finally go away.

    CONFIG_PM will be available directly from the menu now and also it
    will be selected automatically if CONFIG_SUSPEND or CONFIG_HIBERNATION
    is set"

    * tag 'pm-config-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM: Eliminate CONFIG_PM_RUNTIME
    tty: 8250_omap: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    sound: sst-haswell-pcm: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM

    Linus Torvalds
     

20 Dec, 2014

21 commits

  • Pull arch/hexagon updates from Richard Kuo:
    "Build cleanup and a few misc fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel:
    Hexagon: fix signal delivery for debug traps
    Hexagon: set ARCH_DMA_MINALIGN
    Hexagon: fix alignment of init_task in RW_DATA_SECTION
    hexagon: Fix build failures in linux-next

    Linus Torvalds
     
  • Pull arch/chris updates from Jesper Nilsson:
    "Mostly cleanup and build fixes for CRISv32 allmodconfig

    God Jul och Gott Nytt år!"

    * tag 'cris-changes-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
    CRISv32: Remove last remnants of ETRAX_SPI_MMC_BOARD
    CRISv32: ETRAXFS: Fix recursive spinlock
    CRISv32: Select MTDRAM for axisflashmap
    CRISv32: Implement early console
    CRIS: Use KALLSYMs if available in call stack dump
    CRISv32: Fix declaration mismatch
    CRISv32: Rewrite of synchronous serial port driver
    CRIS: Update init memory handling
    CRISv32: Better handling of watchdog bite
    CRIS: Export missing function symbols
    CRIS: Export ioremap_nocache
    CRIS: Fix headers_install
    CRISv32: Add missing include for mm.h
    CRISv32: Drop obsolete file for SPI driver

    Linus Torvalds
     
  • Pull ia64 __get_cpu_var removal from Tony Luck:
    "__get_cpu_var removed from rest of tree, drop reference from comments
    in arch/ia64"

    * tag 'please-pull-misc-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    [IA64] Update comment that references __get_cpu_var

    Linus Torvalds
     
  • There are no users of this symbol left.

    Reported-by: Paul Bolle
    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Move pinmux alloc/dealloc code into functions that don't take
    the spinlock so we can use from code that has the spinlock already.

    CRISv32 has no working SMP, so spinlocks becomes a NOP,
    so deadlock was never seen.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Fixes compile error on allmodconfig.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Also, print kernel version on oops.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Drop i2c_init from this header, it was declared non-static here,
    but static in the C-file.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Make driver possible to load as a module and try to handle
    locking better.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • - Add free_initrd_mem as found by Guenter Roeck
    - Add free_init_pages
    - Export empty_zero_page symbol

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Don't enter watchdog handling if we're already in watchdog handling.

    Also some minor formatting tweaks.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • strcmp was lost when all other string functions were removed,
    but we still have an optimized version for this on CRISv32,
    so any driver built as a module would not have access to this symbol.

    In a similar manner, we had optimized versions of
    csum_partial_copy_from_user and __do_clear_user
    but no exported symbols for them, breaking bunch of other drivers
    when built as a module.

    At the same time, move EXPORT_SYMBOL(__copy_user) and
    EXPORT_SYMBOL(__copy_user_zeroing) C-files so it's
    located together with the function definition.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Fix headers_install by adjusting the path to arch files.
    And delete unused Kbuild file.
    Drop special handling of cris in the headers.sh script
    as a nice side-effect.

    Signed-off-by: Sam Ravnborg
    Cc: Mikael Starvik
    Cc: David Howells
    Signed-off-by: Jesper Nilsson

    Sam Ravnborg
     
  • Fixes the following compile error.

    arch/cris/arch-v32/kernel/time.c: In function 'reset_watchdog':
    arch/cris/arch-v32/kernel/time.c:121:2:
    error: implicit declaration of function 'global_page_state'

    Signed-off-by: Guenter Roeck
    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • File was already deleted.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Pull x86 apic updates from Thomas Gleixner:
    "After stopping the full x86/apic branch, I took some time to go
    through the first block of patches again, which are mostly cleanups
    and preparatory work for the irqdomain conversion and ioapic hotplug
    support.

    Unfortunaly one of the real problematic commits was right at the
    beginning, so I rebased this portion of the pending patches without
    the offenders.

    It would be great to get this into 3.19. That makes reworking the
    problematic parts simpler. The usual tip testing did not unearth any
    issues and it is fully bisectible now.

    I'm pretty confident that this wont affect the calmness of the xmas
    season.

    Changes:
    - Split the convoluted io_apic.c code into domain specific parts
    (vector, ioapic, msi, htirq)
    - Introduce proper helper functions to retrieve irq specific data
    instead of open coded dereferencing of pointers
    - Preparatory work for ioapic hotplug and irqdomain conversion
    - Removal of the non functional pci-ioapic driver
    - Removal of unused irq entry stubs
    - Make native_smp_prepare_cpus() preemtible to avoid GFP_ATOMIC
    allocations for everything which is called from there.
    - Small cleanups and fixes"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
    iommu/amd: Use helpers to access irq_cfg data structure associated with IRQ
    iommu/vt-d: Use helpers to access irq_cfg data structure associated with IRQ
    x86: irq_remapping: Use helpers to access irq_cfg data structure associated with IRQ
    x86, irq: Use helpers to access irq_cfg data structure associated with IRQ
    x86, irq: Make MSI and HT_IRQ indepenent of X86_IO_APIC
    x86, irq: Move IRQ initialization routines from io_apic.c into vector.c
    x86, irq: Move IOAPIC related declarations from hw_irq.h into io_apic.h
    x86, irq: Move HT IRQ related code from io_apic.c into htirq.c
    x86, irq: Move PCI MSI related code from io_apic.c into msi.c
    x86, irq: Replace printk(KERN_LVL) with pr_lvl() utilities
    x86, irq: Make UP version of irq_complete_move() an inline stub
    x86, irq: Move local APIC related code from io_apic.c into vector.c
    x86, irq: Introduce helpers to access struct irq_cfg
    x86, irq: Protect __clear_irq_vector() with vector_lock
    x86, irq: Rename local APIC related functions in io_apic.c as apic_xxx()
    x86, irq: Refine hw_irq.h to prepare for irqdomain support
    x86, irq: Convert irq_2_pin list to generic list
    x86, irq: Kill useless parameter 'irq_attr' of IO_APIC_get_PCI_irq_vector()
    x86, irq, acpi: Get rid of special handling of GSI for ACPI SCI
    x86, irq: Introduce helper to check whether an IOAPIC has been registered
    ...

    Linus Torvalds
     
  • Having switched over all of the users of CONFIG_PM_RUNTIME to use
    CONFIG_PM directly, turn the latter into a user-selectable option
    and drop the former entirely from the tree.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Ulf Hansson
    Acked-by: Kevin Hilman

    Rafael J. Wysocki
     
  • Pull x86 MPX fixes from Thomas Gleixner:
    "Three updates for the new MPX infrastructure:
    - Use the proper error check in the trap handler
    - Add a proper config option for it
    - Bring documentation up to date"

    * 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, mpx: Give MPX a real config option prompt
    x86, mpx: Update documentation
    x86_64/traps: Fix always true condition

    Linus Torvalds
     
  • Pull x86 fix from Ingo Molnar:
    "This contains a single TLS ABI validation fix from Andy Lutomirski"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/tls: Don't validate lm in set_thread_area() after all

    Linus Torvalds