20 Jul, 2013

6 commits

  • Pull UML fixes from Richard Weinberger:
    "Special thanks goes to Toralf Föster for continuously testing UML and
    reporting issues!"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: remove dead code
    um: siginfo cleanup
    uml: Fix which_tmpdir failure when /dev/shm is a symlink, and in other edge cases
    um: Fix wait_stub_done() error handling
    um: Mark stub pages mapping with VM_PFNMAP
    um: Fix return value of strnlen_user()

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "MIPS fixes for 3.11. Half of then is for Netlogic the remainder
    touches things across arch/mips.

    Nothing really dramatic and by rc1 standards MIPS will be in fairly
    good shape with this applied. Tested by building all MIPS defconfigs
    of which with this pull request four platforms won't build. And yes,
    it boots also on my favorite test systems"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: kvm: Kconfig: Drop HAVE_KVM dependency from VIRTUALIZATION
    MIPS: Octeon: Fix DT pruning bug with pip ports
    MIPS: KVM: Mark KVM_GUEST (T&E KVM) as BROKEN_ON_SMP
    MIPS: tlbex: fix broken build in v3.11-rc1
    MIPS: Netlogic: Add XLP PIC irqdomain
    MIPS: Netlogic: Fix USB block's coherent DMA mask
    MIPS: tlbex: Fix typo in r3000 tlb store handler
    MIPS: BMIPS: Fix thinko to release slave TP from reset
    MIPS: Delete dead invocation of exception_exit().

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:
    - Post -rc1 update to the common reboot infrastructure.
    - Fixes (user cache maintenance fault handling, !COMPAT compilation,
    CPU online and interrupt hanlding).

    * tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
    arm64: use common reboot infrastructure
    arm64: mm: don't treat user cache maintenance faults as writes
    arm64: add '#ifdef CONFIG_COMPAT' for aarch32_break_handler()
    arm64: Only enable local interrupts after the CPU is marked online

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "An update for the BFP jit to the latest and greatest, two patches to
    get kdump working again, the random-abort ptrace extention for
    transactional execution, the z90crypt module alias for ap and a tiny
    cleanup"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/zcrypt: Alias for new zcrypt device driver base module
    s390/kdump: Allow copy_oldmem_page() copy to virtual memory
    s390/kdump: Disable mmap for s390
    s390/bpf,jit: add pkt_type support
    s390/bpf,jit: address randomize and write protect jit code
    s390/bpf,jit: use generic jit dumper
    s390/bpf,jit: call module_free() from any context
    s390/qdio: remove unused variable
    s390/ptrace: PTRACE_TE_ABORT_RAND

    Linus Torvalds
     
  • Pull KVM fix from Paolo Bonzini:
    "This single patch fixes a regression caused by one of the
    optimizations introduced in 3.11, which is generally visible only on
    AMD processors"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: MMU: avoid fast page fault fixing mmio page fault

    Linus Torvalds
     
  • Pull power management and ACPI fixes from Rafael Wysocki:
    "These are fixes collected over the last week, most importnatly two
    cpufreq reverts fixing regressions introduced in 3.10, an autoseelp
    fix preventing systems using it from crashing during shutdown and two
    ACPI scan fixes related to hotplug.

    Specifics:

    - Two cpufreq commits from the 3.10 cycle introduced regressions.
    The first of them was buggy (it did way much more than it needed to
    do) and the second one attempted to fix an issue introduced by the
    first one. Fixes from Srivatsa S Bhat revert both.

    - If autosleep triggers during system shutdown and the shutdown
    callbacks of some device drivers have been called already, it may
    crash the system. Fix from Liu Shuo prevents that from happening
    by making try_to_suspend() check system_state.

    - The ACPI memory hotplug driver doesn't clear its driver_data on
    errors which may cause a NULL poiter dereference to happen later.
    Fix from Toshi Kani.

    - The ACPI namespace scanning code should not try to attach scan
    handlers to device objects that have them already, which may
    confuse things quite a bit, and it should rescan the whole
    namespace branch starting at the given node after receiving a bus
    check notify event even if the device at that particular node has
    been discovered already. Fixes from Rafael J Wysocki.

    - New ACPI video blacklist entry for a system whose initial backlight
    setting from the BIOS doesn't make sense. From Lan Tianyu.

    - Garbage string output avoindance for ACPI PNP from Liu Shuo.

    - Two Kconfig fixes for issues introduced recently in the s3c24xx
    cpufreq driver (when moving the driver to drivers/cpufreq) from
    Paul Bolle.

    - Trivial comment fix in pm_wakeup.h from Chanwoo Choi"

    * tag 'pm+acpi-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / video: ignore BIOS initial backlight value for Fujitsu E753
    PNP / ACPI: avoid garbage in resource name
    cpufreq: Revert commit 2f7021a8 to fix CPU hotplug regression
    cpufreq: s3c24xx: fix "depends on ARM_S3C24XX" in Kconfig
    cpufreq: s3c24xx: rename CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
    PM / Sleep: Fix comment typo in pm_wakeup.h
    PM / Sleep: avoid 'autosleep' in shutdown progress
    cpufreq: Revert commit a66b2e to fix suspend/resume regression
    ACPI / memhotplug: Fix a stale pointer in error path
    ACPI / scan: Always call acpi_bus_scan() for bus check notifications
    ACPI / scan: Do not try to attach scan handlers to devices having them

    Linus Torvalds
     

19 Jul, 2013

20 commits

  • Commit 7b6d864b48d9 (reboot: arm: change reboot_mode to use enum
    reboot_mode) changed the way reboot is handled on arm, which has a
    direct impact on arm64 as we share the reset driver on the VE platform.

    The obvious fix is to move arm64 to use the same infrastructure.

    Signed-off-by: Marc Zyngier
    [catalin.marinas@arm.com: removed reboot_mode = REBOOT_HARD default setting]
    Signed-off-by: Catalin Marinas

    Marc Zyngier
     
  • On arm64, cache maintenance faults appear as data aborts with the CM
    bit set in the ESR. The WnR bit, usually used to distinguish between
    faulting loads and stores, always reads as 1 and (slightly confusingly)
    the instructions are treated as reads by the architecture.

    This patch fixes our fault handling code to treat cache maintenance
    faults in the same way as loads.

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

    Will Deacon
     
  • If 'COMPAT' not defined, aarch32_break_handler() cannot pass compiling,
    and it can work independent with 'COMPAT', so remove dummy definition.

    The related error:

    arch/arm64/kernel/debug-monitors.c:249:5: error: redefinition of ‘aarch32_break_handler’
    In file included from arch/arm64/kernel/debug-monitors.c:29:0:
    /root/linux-next/arch/arm64/include/asm/debug-monitors.h:89:12: note: previous definition of ‘aarch32_break_handler’ was here

    Signed-off-by: Chen Gang
    Acked-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Chen Gang
     
  • There is a slight chance that (timer) interrupts are triggered before a
    secondary CPU has been marked online with implications on softirq thread
    affinity.

    Signed-off-by: Catalin Marinas
    Reported-by: Kirill Tkhai

    Catalin Marinas
     
  • Virtualization does not always need KVM capabilities so drop the
    dependency. The KVM symbol already depends on HAVE_KVM.

    Fixes the following problem on a randconfig:
    warning: (REMOTEPROC && RPMSG) selects VIRTUALIZATION which has unmet direct
    dependencies (HAVE_KVM)
    warning: (REMOTEPROC && RPMSG) selects VIRTUALIZATION which has unmet
    direct dependencies (HAVE_KVM)

    Signed-off-by: Markos Chandras
    Acked-by: Steven J. Hill
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5443/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • "me" is not used.

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • Currently we use both struct siginfo and siginfo_t.
    Let's use struct siginfo internally to avoid ongoing
    compiler warning. We are allowed to do so because
    struct siginfo and siginfo_t are equivalent.

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • During the pruning of the device tree octeon_fdt_pip_iface() is called
    for each PIP interface and every port up to the port count is removed
    from the device tree. However, the count was set to the return value of
    cvmx_helper_interface_enumerate() which doesn't actually return the
    count but just returns zero on success. This effectively removed *all*
    ports from the tree.

    Use cvmx_helper_ports_on_interface() instead to fix this. This
    successfully restores the 3 ports of my ERLite-3 and fixes the "kernel
    assigns random MAC addresses" issue.

    Signed-off-by: Faidon Liambotis
    Tested-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5587/
    Signed-off-by: Ralf Baechle

    Faidon Liambotis
     
  • which_tmpdir did the wrong thing if /dev/shm was a symlink (e.g., to /run/shm),
    if there were multiple mounts on top of each other, if the mount(s) were
    obscured by a later mount, or if /dev/shm was a prefix of another mount point.
    This fixes these cases. Applies to 3.9.6.

    Signed-off-by: Tristan Schmelcher
    Signed-off-by: Richard Weinberger

    Tristan Schmelcher
     
  • If we die within a stub handler we only way to reliable
    kill the (obviously) dying uml guest process is killing
    it's host twin on the host side.

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • Ensure that a process cannot destroy his stub pages with
    using MADV_DONTNEED and friends.

    Reported-by: toralf.foerster@gmx.de
    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • In case of an error it must not return -EFAULT.
    Return 0 like all other archs do.

    Reported-by: toralf.foerster@gmx.de
    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • Make KVM_GUEST depend on BROKEN_ON_SMP so that it cannot be enabled with
    SMP.

    SMP kernels use ll/sc instructions for an atomic section in the tlb fill
    handler, with a tlbp instruction contained in the middle. This cannot be
    emulated with trap & emulate KVM because the tlbp instruction traps and
    the eret to return to the guest code clears the LLbit which makes the sc
    instruction always fail.

    Signed-off-by: James Hogan
    Cc: Sanjay Lal
    Cc: Ralf Baechle
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/5588/
    Signed-off-by: Ralf Baechle

    James Hogan
     
  • Commit 6ba045f9fbdafb48da42aa8576ea7a3980443136 (MIPS: Move generated code
    to .text for microMIPS) deleted tlbmiss_handler_setup_pgd_array, but some
    references were not converted. Fix that to enable building a MIPS kernel.

    Signed-off-by: Aaro Koskinen
    Acked-by: Jayachandran C.
    Acked-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5589/
    Signed-off-by: Ralf Baechle

    Aaro Koskinen
     
  • Add a legacy irq domain for the XLP PIC interrupts. This will be used
    when interrupts are assigned from the device tree. This change is required
    after commit c5cdc67 "irqdomain: Remove temporary MIPS workaround code".

    Signed-off-by: Jayachandran C
    Cc: linux-mips@linux-mips.org
    Cc: Jayachandran C
    Patchwork: https://patchwork.linux-mips.org/patch/5597/
    Signed-off-by: Ralf Baechle

    Jayachandran C
     
  • The on-chip USB controller on Netlogic XLP does not suppport
    DMA beyond 32-bit physical address. Set the coherent_dma_mask
    of the USB in its PCI fixup to support this.

    Signed-off-by: Ganesan Ramalingam
    Signed-off-by: Jayachandran C.
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5596/
    Signed-off-by: Ralf Baechle

    Ganesan Ramalingam
     
  • commit 6ba045f (MIPS: Move generated code to .text for microMIPS)
    causes a panic at boot. The handler builder should test against
    handle_tlbs_end, not handle_tlbs.

    Signed-off-by: Tony Wu
    Acked-by: Jayachandran C.
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5600/
    Signed-off-by: Ralf Baechle

    Tony Wu
     
  • Commit 4df715aa ["MIPS: BMIPS: support booting from physical CPU other
    than 0"] introduced a thinko which will prevents slave CPUs from being
    released from reset on systems where we boot from TP0. The problem is
    that we are checking whether the slave CPU logical CPU map is 0, which
    is never true for systems booting from TP0, so we do not release the
    slave TP from reset and we are just stuck. Fix this by properly checking
    that the CPU we intend to boot really is the physical slave CPU (logical
    and physical value being 1).

    Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: blogic@openwrt.org
    Cc: jogo@openwrt.org
    Cc: cernekee@gmail.com
    Cc: Florian Fainelli
    Patchwork: https://patchwork.linux-mips.org/patch/5598/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • Pull x86 fixes from Peter Anvin:
    "Trying again to get the fixes queue, including the fixed IDT alignment
    patch.

    The UEFI patch is by far the biggest issue at hand: it is currently
    causing quite a few machines to boot. Which is sad, because the only
    reason they would is because their BIOSes touch memory that has
    already been freed. The other major issue is that we finally have
    tracked down the root cause of a significant number of machines
    failing to suspend/resume"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Make sure IDT is page aligned
    x86, suspend: Handle CPUs which fail to #GP on RDMSR
    x86/platform/ce4100: Add header file for reboot type
    Revert "UEFI: Don't pass boot services regions to SetVirtualAddressMap()"
    efivars: check for EFI_RUNTIME_SERVICES

    Linus Torvalds
     
  • Pull phase two of __cpuinit removal from Paul Gortmaker:
    "With the __cpuinit infrastructure removed earlier, this group of
    commits only removes the function/data tagging that was done with the
    various (now no-op) __cpuinit related prefixes.

    Now that the dust has settled with yesterday's v3.11-rc1, there
    hopefully shouldn't be any new users leaking back in tree, but I think
    we can leave the harmless no-op stubs there for a release as a
    courtesy to those who still have out of tree stuff and weren't paying
    attention.

    Although the commits are against the recent tag to allow for minor
    context refreshes for things like yesterday's v3.11-rc1~ slab content,
    the patches have been largely unchanged for weeks, aside from such
    trivial updates.

    For detail junkies, the largely boring and mostly irrelevant history
    of the patches can be viewed at:

    http://git.kernel.org/cgit/linux/kernel/git/paulg/cpuinit-delete.git

    If nothing else, I guess it does at least demonstrate the level of
    involvement required to shepherd such a treewide change to completion.

    This is the same repository of patches that has been applied to the
    end of the daily linux-next branches for the past several weeks"

    * 'cpuinit_phase2' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (28 commits)
    block: delete __cpuinit usage from all block files
    drivers: delete __cpuinit usage from all remaining drivers files
    kernel: delete __cpuinit usage from all core kernel files
    rcu: delete __cpuinit usage from all rcu files
    net: delete __cpuinit usage from all net files
    acpi: delete __cpuinit usage from all acpi files
    hwmon: delete __cpuinit usage from all hwmon files
    cpufreq: delete __cpuinit usage from all cpufreq files
    clocksource+irqchip: delete __cpuinit usage from all related files
    x86: delete __cpuinit usage from all x86 files
    score: delete __cpuinit usage from all score files
    xtensa: delete __cpuinit usage from all xtensa files
    openrisc: delete __cpuinit usage from all openrisc files
    m32r: delete __cpuinit usage from all m32r files
    hexagon: delete __cpuinit usage from all hexagon files
    frv: delete __cpuinit usage from all frv files
    cris: delete __cpuinit usage from all cris files
    metag: delete __cpuinit usage from all metag files
    tile: delete __cpuinit usage from all tile files
    sh: delete __cpuinit usage from all sh files
    ...

    Linus Torvalds
     

18 Jul, 2013

6 commits

  • The kdump mmap patch series (git commit 83086978c63afd7c73e1c) changed the
    requirements for copy_oldmem_page(). Now this function is used for copying
    to virtual memory.

    So implement vmalloc support for the s390 version of copy_oldmem_page().

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • s390 version of 3b58908a "x86: bpf_jit_comp: add pkt_type support".

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     
  • This is the s390 variant of 314beb9b "x86: bpf_jit_comp: secure bpf
    jit against spraying attacks".
    With this change the whole jit code and literal pool will be write
    protected after creation. In addition the start address of the jit
    code won't be always on a page boundary anymore.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • This is the s390 backend of 79617801 "filter: bpf_jit_comp: refactor
    and unify BPF JIT image dump output".

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • The workqueue workaround is no longer needed. Same as 5199dfe531
    "sparc: bpf_jit_comp: can call module_free() from any context".

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Currently, fast page fault incorrectly tries to fix mmio page fault when
    the generation number is invalid (spte.gen != kvm.gen). It then returns
    to guest to retry the fault since it sees the last spte is nonpresent.
    This causes an infinite loop.

    Since fast page fault only works for direct mmu, the issue exists when
    1) tdp is enabled. It is only triggered only on AMD host since on Intel host
    the mmio page fault is recognized as ept-misconfig whose handler call
    fault-page path with error_code = 0

    2) guest paging is disabled. Under this case, the issue is hardly discovered
    since paging disable is short-lived and the sptes will be invalid after
    memslot changed for 150 times

    Fix it by filtering out MMIO page faults in page_fault_can_be_fast.

    Reported-by: Markus Trippelsdorf
    Tested-by: Markus Trippelsdorf
    Signed-off-by: Xiao Guangrong
    Signed-off-by: Paolo Bonzini

    Xiao Guangrong
     

17 Jul, 2013

3 commits

  • panic() doesn't return so this call was useless.

    Signed-off-by: Ralf Baechle
    Reported-by: Alexander Sverdlin

    Ralf Baechle
     
  • Since the IDT is referenced from a fixmap, make sure it is page aligned.
    Merge with 32-bit one, since it was already aligned to deal with F00F
    bug. Since bss is cleared before IDT setup, it can live there. This also
    moves the other *_idt_table variables into common locations.

    This avoids the risk of the IDT ever being moved in the bss and having
    the mapping be offset, resulting in calling incorrect handlers. In the
    current upstream kernel this is not a manifested bug, but heavily patched
    kernels (such as those using the PaX patch series) did encounter this bug.

    The tables other than idt_table technically do not need to be page
    aligned, at least not at the current time, but using a common
    declaration avoids mistakes. On 64 bits the table is exactly one page
    long, anyway.

    Signed-off-by: Kees Cook
    Link: http://lkml.kernel.org/r/20130716183441.GA14232@www.outflux.net
    Reported-by: PaX Team
    Signed-off-by: H. Peter Anvin

    Kees Cook
     
  • Kconfig symbol S3C24XX_PLL depends on ARM_S3C24XX. But that symbol
    doesn't exist. Commit f023f8dd59bf ("cpufreq: s3c24xx: move cpufreq
    driver to drivers/cpufreq"), which added this issue, makes it clear
    that ARM_S3C24XX_CPUFREQ was intended here.

    Signed-off-by: Paul Bolle
    Acked-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki

    Paul Bolle
     

16 Jul, 2013

3 commits

  • Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Steven Miao
    Signed-off-by: Linus Torvalds

    Steven Miao
     
  • The patch implements a s390 specific ptrace request
    PTRACE_TE_ABORT_RAND to modify the randomness of spontaneous
    aborts of memory transactions of the transaction execution
    facility. The data argument of the ptrace request is used to
    specify the levels of randomness, 0 for normal operation, 1 to
    abort every transaction at a random instruction, and 2 to abort
    a random transaction at a random instruction. The default is 0
    for normal operation.

    Acked-by: Heiko Carstens
    Signed-off-by: Michael Mueller
    Signed-off-by: Martin Schwidefsky

    Michael Mueller
     
  • There are CPUs which have errata causing RDMSR of a nonexistent MSR to
    not fault. We would then try to WRMSR to restore the value of that
    MSR, causing a crash. Specifically, some Pentium M variants would
    have this problem trying to save and restore the non-existent EFER,
    causing a crash on resume.

    Work around this by making sure we can write back the result at
    suspend time.

    Huge thanks to Christian Sünkenberg for finding the offending erratum
    that finally deciphered the mystery.

    Reported-and-tested-by: Johan Heinrich
    Debugged-by: Christian Sünkenberg
    Acked-by: Rafael J. Wysocki
    Link: http://lkml.kernel.org/r/51DDC972.3010005@student.kit.edu
    Cc: # v3.7+

    H. Peter Anvin
     

15 Jul, 2013

2 commits

  • The __cpuinit type of throwaway sections might have made sense
    some time ago when RAM was more constrained, but now the savings
    do not offset the cost and complications. For example, the fix in
    commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
    is a good example of the nasty type of bugs that can be created
    with improper use of the various __init prefixes.

    After a discussion on LKML[1] it was decided that cpuinit should go
    the way of devinit and be phased out. Once all the users are gone,
    we can then finally remove the macros themselves from linux/init.h.

    Note that some harmless section mismatch warnings may result, since
    notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
    are flagged as __cpuinit -- so if we remove the __cpuinit from
    arch specific callers, we will also get section mismatch warnings.
    As an intermediate step, we intend to turn the linux/init.h cpuinit
    content into no-ops as early as possible, since that will get rid
    of these warnings. In any case, they are temporary and harmless.

    This removes all the arch/x86 uses of the __cpuinit macros from
    all C files. x86 only had the one __CPUINIT used in assembly files,
    and it wasn't paired off with a .previous or a __FINIT, so we can
    delete it directly w/o any corresponding additional change there.

    [1] https://lkml.org/lkml/2013/5/20/589

    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: x86@kernel.org
    Acked-by: Ingo Molnar
    Acked-by: Thomas Gleixner
    Acked-by: H. Peter Anvin
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • The __cpuinit type of throwaway sections might have made sense
    some time ago when RAM was more constrained, but now the savings
    do not offset the cost and complications. For example, the fix in
    commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
    is a good example of the nasty type of bugs that can be created
    with improper use of the various __init prefixes.

    After a discussion on LKML[1] it was decided that cpuinit should go
    the way of devinit and be phased out. Once all the users are gone,
    we can then finally remove the macros themselves from linux/init.h.

    Note that some harmless section mismatch warnings may result, since
    notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
    are flagged as __cpuinit -- so if we remove the __cpuinit from
    arch specific callers, we will also get section mismatch warnings.
    As an intermediate step, we intend to turn the linux/init.h cpuinit
    content into no-ops as early as possible, since that will get rid
    of these warnings. In any case, they are temporary and harmless.

    This removes all the arch/score uses of the __cpuinit macros from
    all C files. Currently score does not have any __CPUINIT used in
    assembly files.

    [1] https://lkml.org/lkml/2013/5/20/589

    Cc: Chen Liqin
    Cc: Lennox Wu
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker