1. 30 10月, 2016 21 次提交
  2. 29 10月, 2016 19 次提交
    • T
      x86/smpboot: Init apic mapping before usage · 1e90a13d
      Thomas Gleixner 提交于
      The recent changes, which forced the registration of the boot cpu on UP
      systems, which do not have ACPI tables, have been fixed for systems w/o
      local APIC, but left a wreckage for systems which have neither ACPI nor
      mptables, but the CPU has an APIC, e.g. virtualbox.
      
      The boot process crashes in prefill_possible_map() as it wants to register
      the boot cpu, which needs to access the local apic, but the local APIC is
      not yet mapped.
      
      There is no reason why init_apic_mapping() can't be invoked before
      prefill_possible_map(). So instead of playing another silly early mapping
      game, as the ACPI/mptables code does, we just move init_apic_mapping()
      before the call to prefill_possible_map().
      
      In hindsight, I should have noticed that combination earlier.
      
      Sorry for the churn (also in stable)!
      
      Fixes: ff856051 ("x86/boot/smp: Don't try to poke disabled/non-existent APIC")
      Reported-and-debugged-by: NMichal Necasek <michal.necasek@oracle.com>
      Reported-and-tested-by: NWolfgang Bauer <wbauer@tmo.at>
      Cc: prarit@redhat.com
      Cc: ville.syrjala@linux.intel.com
      Cc: michael.thayer@oracle.com
      Cc: knut.osmundsen@oracle.com
      Cc: frank.mehnert@oracle.com
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1610282114380.5053@nanosSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      1e90a13d
    • L
      Merge tag 'acpi-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c067affc
      Linus Torvalds 提交于
      Pull ACPI fixes from Rafael Wysocki:
       "These fix recent ACPICA regressions, an older PCI IRQ management
        regression, and an incorrect return value of a function in the APEI
        code.
      
        Specifics:
      
         - Fix three ACPICA issues related to the interpreter locking and
           introduced by recent changes in that area (Lv Zheng).
      
         - Fix a PCI IRQ management regression introduced during the 4.7 cycle
           and related to the configuration of shared IRQs on systems with an
           ISA bus (Sinan Kaya).
      
         - Fix up a return value of one function in the APEI code (Punit
           Agrawal)"
      
      * tag 'acpi-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPICA: Dispatcher: Fix interpreter locking around acpi_ev_initialize_region()
        ACPICA: Dispatcher: Fix an unbalanced lock exit path in acpi_ds_auto_serialize_method()
        ACPICA: Dispatcher: Fix order issue of method termination
        ACPI / APEI: Fix incorrect return value of ghes_proc()
        ACPI/PCI: pci_link: Include PIRQ_PENALTY_PCI_USING for ISA IRQs
        ACPI/PCI: pci_link: penalize SCI correctly
        ACPI/PCI/IRQ: assign ISA IRQ directly during early boot stages
      c067affc
    • L
      Merge tag 'pm-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b546e0c2
      Linus Torvalds 提交于
      Pull power management fixes from Rafael Wysocki:
       "These fix two intel_pstate issues related to the way it works when the
        scaling_governor sysfs attribute is set to "performance" and fix up
        messages in the system suspend core code.
      
        Specifics:
      
         - Fix a missing KERN_CONT in a system suspend message by converting
           the affected code to using pr_info() and pr_cont() instead of the
           "raw" printk() (Jon Hunter).
      
         - Make intel_pstate set the CPU P-state from its .set_policy()
           callback when the scaling_governor sysfs attribute is set to
           "performance" so that it interacts with NOHZ_FULL more predictably
           which was the case before 4.7 (Rafael Wysocki).
      
         - Make intel_pstate always request the maximum allowed P-state when
           the scaling_governor sysfs attribute is set to "performance" to
           prevent it from effectively ingoring that setting is some
           situations (Rafael Wysocki)"
      
      * tag 'pm-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: intel_pstate: Always set max P-state in performance mode
        PM / suspend: Fix missing KERN_CONT for suspend message
        cpufreq: intel_pstate: Set P-state upfront in performance mode
      b546e0c2
    • L
      Merge tag 'arc-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 1308fd75
      Linus Torvalds 提交于
      Pull ARC updates from Vineet Gupta:
      
       - support IDU intc for UP builds
      
       - support gz, lzma compressed uImage [Daniel Mentz]
      
       - adjust /proc/cpuinfo for non-continuous cpu ids [Noam Camus]
      
       - syscall for userspace cmpxchg assist for configs lacking hardware atomics
      
       - rework of boot log printing mainly for identifying older arc700 cores
      
       - retiring some old code, build toggles
      
      * tag 'arc-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: module: print pretty section names
        ARC: module: elide loop to save reference to .eh_frame
        ARC: mm: retire ARC_DBG_TLB_MISS_COUNT...
        ARC: build: retire old toggles
        ARC: boot log: refactor cpu name/release printing
        ARC: boot log: remove awkward space comma from MMU line
        ARC: boot log: don't assume SWAPE instruction support
        ARC: boot log: refactor printing abt features not captured in BCRs
        ARCv2: boot log: print IOC exists as well as enabled status
        ARCv2: IOC: use @ioc_enable not @ioc_exist where intended
        ARC: syscall for userspace cmpxchg assist
        ARC: fix build warning in elf.h
        ARC: Adjust cpuinfo for non-continuous cpu ids
        ARC: [build] Support gz, lzma compressed uImage
        ARCv2: intc: untangle SMP, MCIP and IDU
      1308fd75
    • R
      Merge branches 'acpica-fixes', 'acpi-pci-fixes' and 'acpi-apei-fixes' · 21e2d9d5
      Rafael J. Wysocki 提交于
      * acpica-fixes:
        ACPICA: Dispatcher: Fix interpreter locking around acpi_ev_initialize_region()
        ACPICA: Dispatcher: Fix an unbalanced lock exit path in acpi_ds_auto_serialize_method()
        ACPICA: Dispatcher: Fix order issue of method termination
      
      * acpi-pci-fixes:
        ACPI/PCI: pci_link: Include PIRQ_PENALTY_PCI_USING for ISA IRQs
        ACPI/PCI: pci_link: penalize SCI correctly
        ACPI/PCI/IRQ: assign ISA IRQ directly during early boot stages
      
      * acpi-apei-fixes:
        ACPI / APEI: Fix incorrect return value of ghes_proc()
      21e2d9d5
    • L
      ACPICA: Dispatcher: Fix interpreter locking around acpi_ev_initialize_region() · 8633db6b
      Lv Zheng 提交于
      In the code path of acpi_ev_initialize_region(), there is namespace
      modification code unlocked. This patch tunes the code to make sure
      such modification are always locked.
      
      Fixes: 74f51b80 (ACPICA: Namespace: Fix dynamic table loading issues)
      Tested-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8633db6b
    • L
      ACPICA: Dispatcher: Fix an unbalanced lock exit path in acpi_ds_auto_serialize_method() · 8121aa26
      Lv Zheng 提交于
      There is a lock unbalanced exit path in acpi_ds_initialize_method(),
      this patch corrects it.
      
      Fixes: 441ad11d (ACPICA: Dispatcher: Fix a mutex issue for method auto serialization)
      Tested-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8121aa26
    • L
      ACPICA: Dispatcher: Fix order issue of method termination · 25ccd242
      Lv Zheng 提交于
      The last step of the method termination should be the end of the method
      serialization. Otherwise, the steps happening after it will face the race
      issues that cannot be protected by the method serialization mechanism.
      
      This patch fixes this issue by moving the per-method-object deletion code
      prior than the end of the method serialization. Otherwise, the possible
      race issues may result in AE_ALREADY_EXISTS error in a parallel
      environment.
      
      Fixes: 74f51b80 (ACPICA: Namespace: Fix dynamic table loading issues)
      Reported-and-tested-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      25ccd242
    • L
      Merge tag 'powerpc-4.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 6fcc8cea
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
       "Fixes marked for stable:
         - Convert cmp to cmpd in idle enter sequence (Segher Boessenkool)
         - cxl: Fix leaking pid refs in some error paths (Vaibhav Jain)
         - Re-fix race condition between going idle and entering guest (Paul Mackerras)
         - Fix race condition in setting lock bit in idle/wakeup code (Paul Mackerras)
         - radix: Use tlbiel only if we ever ran on the current cpu (Aneesh Kumar K.V)
         - relocation, register save fixes for system reset interrupt (Nicholas Piggin)
      
        Fixes for code merged this cycle:
         - Fix CONFIG_ALIVEC typo in restore_tm_state() (Valentin Rothberg)
         - KVM: PPC: Book3S HV: Fix build error when SMP=n (Michael Ellerman)"
      
      * tag 'powerpc-4.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/64s: relocation, register save fixes for system reset interrupt
        powerpc/mm/radix: Use tlbiel only if we ever ran on the current cpu
        powerpc/process: Fix CONFIG_ALIVEC typo in restore_tm_state()
        powerpc/64: Fix race condition in setting lock bit in idle/wakeup code
        powerpc/64: Re-fix race condition between going idle and entering guest
        cxl: Fix leaking pid refs in some error paths
        powerpc: Convert cmp to cmpd in idle enter sequence
        KVM: PPC: Book3S HV: Fix build error when SMP=n
      6fcc8cea
    • R
      Merge branches 'pm-cpufreq-fixes' and 'pm-sleep-fixes' · 8b2ada27
      Rafael J. Wysocki 提交于
      * pm-cpufreq-fixes:
        cpufreq: intel_pstate: Always set max P-state in performance mode
        cpufreq: intel_pstate: Set P-state upfront in performance mode
      
      * pm-sleep-fixes:
        PM / suspend: Fix missing KERN_CONT for suspend message
      8b2ada27
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b49c3170
      Linus Torvalds 提交于
      Pull perf fixes from Ingo Molnar:
       "Misc kernel fixes: a virtualization environment related fix, an uncore
        PMU driver removal handling fix, a PowerPC fix and new events for
        Knights Landing"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel: Honour the CPUID for number of fixed counters in hypervisors
        perf/powerpc: Don't call perf_event_disable() from atomic context
        perf/core: Protect PMU device removal with a 'pmu_bus_running' check, to fix CONFIG_DEBUG_TEST_DRIVER_REMOVE=y kernel panic
        perf/x86/intel/cstate: Add C-state residency events for Knights Landing
      b49c3170
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · ed99d367
      Linus Torvalds 提交于
      Pull libnvdimm fixes from Dan Williams:
       "A build fix, a NULL de-reference found by static analysis, a misuse of
        the percpu_ref_exit() (tagged for -stable), and notification of failed
        attempts to clear media errors.
      
        These patches have received a build success notification from the
        0day- kbuild-robot and appeared in next-20161028"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        device-dax: fix percpu_ref_exit ordering
        nvdimm: make CONFIG_NVDIMM_DAX 'bool'
        pmem: report error on clear poison failure
        libnvdimm, namespace: potential NULL deref on allocation error
      ed99d367
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b92d9648
      Linus Torvalds 提交于
      Pull arm64 fixes from Will Deacon:
       "Three arm64 fixes for -rc3.  They're all pretty straightforward: a
        couple of NUMA issues from the Huawei folks and a thinko in
        __page_to_voff that seems to be benign, but is certainly better off
        fixed.
      
        Summary:
         - couple of NUMA fixes
         - thinko in __page_to_voff"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: fix __page_to_voff definition
        arm64/numa: fix incorrect log for memory-less node
        arm64/numa: fix pcpu_cpu_distance() to get correct CPU proximity
      b92d9648
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c38c04c6
      Linus Torvalds 提交于
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes: three build fixes, an unwinder fix and a microcode loader
        fix"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/AMD: Fix more fallout from CONFIG_RANDOMIZE_MEMORY=y
        x86: Fix export for mcount and __fentry__
        x86/quirks: Hide maybe-uninitialized warning
        x86/build: Fix build with older GCC versions
        x86/unwind: Fix empty stack dereference in guess unwinder
      c38c04c6
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a8006bd9
      Linus Torvalds 提交于
      Pull timer fixes from Ingo Molnar:
       "Fix four timer locking races: two were noticed by Linus while
        reviewing the code while chasing for a corruption bug, and two
        from fixing spurious USB timeouts"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timers: Prevent base clock corruption when forwarding
        timers: Prevent base clock rewind when forwarding clock
        timers: Lock base for same bucket optimization
        timers: Plug locking race vs. timer migration
      a8006bd9
    • L
      Merge branches 'core-urgent-for-linus', 'irq-urgent-for-linus' and... · 965c4b7e
      Linus Torvalds 提交于
      Merge branches 'core-urgent-for-linus', 'irq-urgent-for-linus' and 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull objtool, irq and scheduler fixes from Ingo Molnar:
       "One more objtool fixlet for GCC6 code generation patterns, an irq
        DocBook fix and an unused variable warning fix in the scheduler"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Fix rare switch jump table pattern detection
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        doc: Add missing parameter for msi_setup
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Remove unused but set variable 'rq'
      965c4b7e
    • V
      ARC: module: print pretty section names · b75dcd9c
      Vineet Gupta 提交于
      Now that we have referece to section name string table in
      apply_relocate_add(), use it to
      
       - print the name of section being relocated
       - print symbol with NULL name (since it refers to a section)
      
      before
      
      | Section to fixup 7000a060
      | =========================================================
      | rela->r_off | rela->addend | sym->st_value | ADDR | VALUE
      | =========================================================
      |	1c		0		7000e000  7000a07c 7000e000 []
      |	40		0		7000a000  7000a0a0 7000a000 []
      
      after
      
      | Section to fixup .eh_frame @7000a060
      | =========================================================
      | r_off	r_add	st_value ADDRESS  VALUE
      | =========================================================
      |    1c	0	7000e000 7000a07c 7000e000 [.init.text]
      |    40	0	7000a000 7000a0a0 7000a000 [.exit.text]
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      b75dcd9c
    • V
      ARC: module: elide loop to save reference to .eh_frame · d65283f7
      Vineet Gupta 提交于
      The loop was really needed in .debug_frame regime where wanted make it
      as SH_ALLOC so that apply_relocate_add() would process it. That's not
      needed for .eh_frame, so we check this in apply_relocate_add() which
      gets called for each section.
      
      Note that we need to save reference to "section name strings" section in
      module_frob_arch_sections() since apply_relocate_add() doesn't get that
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      d65283f7
    • V
      ARC: mm: retire ARC_DBG_TLB_MISS_COUNT... · f644e368
      Vineet Gupta 提交于
      ... given that we have perf counters abel to do the same thing non
      intrusively
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      f644e368