1. 19 3月, 2018 10 次提交
    • B
      ACPICA: Rename a global for clarity, no functional change · e7d970f6
      Bob Moore 提交于
      Was acpi_gbl_parse_table_as_term_list, changed to:
      acpi_gbl_execute_tables_as_methods.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      e7d970f6
    • E
      ACPICA: macros: fix ACPI_ERROR_NAMESPACE macro · 0fe0bebf
      Erik Schmauss 提交于
      Fixing the ACPI_ERROR_NAMESPACE macros created an "unused variable"
      compile error when ACPI_NO_ERROR_MESSAGES was defined. This commit
      also fixes the above compilation errors by surrounding variables
      meant for debugging inside a new ACPI_ERROR_ONLY macro.
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0fe0bebf
    • B
      ACPICA: Change a compile-time option to a runtime option · 34f206fd
      Bob Moore 提交于
      Changes the option to ignore package resolution errors into
      a runtime option.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      34f206fd
    • H
      ACPICA: Remove calling of _STA from acpi_get_object_info() · e7c2c3c9
      Hans de Goede 提交于
      As the documentatuon above its declaration indicates, acpi_get_object_info()
      is intended for early probe usage and as such should not call any methods
      which may rely on op_regions, before this commit it was also calling _STA,
      which on some systems does rely on op_regions.
      
      Calling _STA before things are ready leads to errors such as these
      (under Linux, on some hardware):
      
      [    0.123579] ACPI Error: No handler for Region [ECRM] (00000000ba9edc4c)
                     [generic_serial_bus] (20170831/evregion-166)
      [    0.123601] ACPI Error: Region generic_serial_bus (ID=9) has no handler
                     (20170831/exfldio-299)
      [    0.123618] ACPI Error: Method parse/execution failed
                     \_SB.I2C1.BAT1._STA, AE_NOT_EXIST (20170831/psparse-550)
      
      End 2015 support for the _SUB method was removed for exactly the same
      reason. Removing current_status from struct acpi_device_info only has a limited
      impact. Within ACPICA it is only used by 2 debug messages, both
      of which are modified to no longer print it with this commit.
      
      Outside of ACPICA, there was one user in Linux, which has been patched to
      no longer use current_status in Torvald's current master.
      
      I've not checked if free_BSD or others are using the current_status field.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      e7c2c3c9
    • B
      ACPICA: AML Debug Object: Don't ignore output of zero-length strings · 81677241
      Bob Moore 提交于
      The implementation previously ignored null strings (""), but
      these could be important, especially for debug.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      81677241
    • B
      ACPICA: Fix memory leak on unusual memory leak · 1c29c372
      Bob Moore 提交于
      Fixes a single-object memory leak on a store-to-reference method
      invocation. ACPICA BZ 1439.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1c29c372
    • E
      ACPICA: Events: Dispatch GPEs after enabling for the first time · 87cd826b
      Erik Schmauss 提交于
      After being enabled for the first time, the GPEs may have STS bits already
      set. Setting EN bits is not sufficient to trigger the GPEs again, so this
      patch polls GPEs after enabling them for the first time.
      This is a cleaner version on top of the "GPE clear" fix generated according
      to Mika's report and Rafael's original Linux based fix. Based on Linux
      commit originated from Rafael J. Wysocki, fixed by Lv Zheng.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      87cd826b
    • E
      ACPICA: Events: Add parallel GPE handling support to fix potential redundant _Exx evaluations · 8d593495
      Erik Schmauss 提交于
      There is a risk that a GPE method/handler may be invoked twice. Let's
      consider a case, both GPE0(RAW_HANDLER) and GPE1(_Exx) is triggered.
       =======================================+=============================
       IRQ handler (top-half)                 |IRQ polling
       =======================================+=============================
       acpi_ev_detect_gpe()                   |
         LOCK()                               |
         READ (GPE0-7 enable/status registers)|
         ^^^^^^^^^^^^ROOT CAUSE^^^^^^^^^^^^^^^|
         Walk GPE0                            |
           UNLOCK()                           |LOCK()
           Invoke GPE0 RAW_HANDLER            |READ (GPE1 enable/status bit)
                                              |acpi_ev_gpe_dispatch(irq=false)
                                              |  CLEAR (GPE1 enable bit)
                                              |  CLEAR (GPE1 status bit)
           LOCK()                             |UNLOCK()
         Walk GPE1                            +=============================
           acpi_ev_gpe_dispatch(irq=true)     |IRQ polling (defer)
             CLEAR (GPE1 enable bit)          +=============================
             CLEAR (GPE1 status bit)          |acpi_ev_async_execute_gpe_method()
         Walk others                          |  Evaluate GPE1 _Exx
         fi                                   |  acpi_ev_async_enable_gpe()
         UNLOCK()                             |    LOCK()
       =======================================+    SET (GPE enable bit)
       IRQ handler (bottom-half)              |    UNLOCK()
       =======================================+
       acpi_ev_async_execute_gpe_method()     |
         Evaluate GPE1 _Exx                   |
         acpi_ev_async_enable_gpe()           |
           LOCK()                             |
           SET (GPE1 enable bit)              |
           UNLOCK()                           |
       =======================================+=============================
      
      If acpi_ev_detect_gpe() is only invoked from the IRQ context, there won't be
      more than one _Lxx/_Exx evaluations for one status bit flagging if the IRQ
      handlers controlled by the underlying IRQ chip/driver (ex. APIC) are run in
      serial. Note that, this is a known potential gap and we had an approach,
      locking entire non-raw-handler processes in the top-half IRQ handler and
      handling all raw-handlers out of the locked loop to be friendly to those
      IRQ chip/driver. But the approach is too complicated while the issue is not
      so real, thus ACPICA treated such issue (if any) as a parallelism/quality
      issue of the underlying IRQ chip/driver to stop putting it on the radar.
      Bug in link #1 is suspiciously reflecting the same cause, and if so, it can
      also be fixed by this simpler approach.
      
      But it will be no excuse an ACPICA problem now if ACPICA starts to poll
      IRQs itself. In the changed scenario, _Exx will be evaluated from the task
      context due to new ACPICA provided "polling after enabling GPEs" mechanism.
      And the above figure uses edge-triggered GPEs demonstrating the possibility
      of evaluating _Exx twice for one status bit flagging.
      
      As a conclusion, there is now an increased chance of evaluating _Lxx/_Exx
      more than once for one status bit flagging.
      
      However this is still not a real problem if the _Lxx/_Exx checks the
      underlying hardware IRQ reasoning and finally just changes the 2nd and the
      follow-up evaluations into no-ops. Note that _Lxx should always be written
      in this way as a level-trigger GPE could have it's status wrongly
      duplicated by the underlying IRQ delivery mechanisms. But _Exx may have
      very low quality BIOS by BIOS to trigger real issues. For example, trigger
      duplicated button notifications.
      
      To solve this issue, we need to stop reading a bunch of enable/status
      register bits, but read only one GPE's enable/status bit. And GPE status
      register's W1C nature ensures that acknowledging one GPE won't affect
      another GPEs' status bits. Thus the hardware GPE architecture has already
      provided us with the mechanism of implementing such parallelism.
      
      So we can lock around one GPE handling process to achieve the parallelism:
      1. If we can incorporate GPE enable bit check in detection and ensure the
         atomicity of the following process (top-half IRQ handler):
          READ (enable/status bit)
          if (enabled && raised)
            CLEAR (enable bit)
         and handle the GPE after this process, we can ensure that we will only
         invoke GPE handler once for one status bit flagging.
      2. In addtion for edge-triggered GPEs, if we can ensure the atomicity of
         the following process (top-half IRQ handler):
          READ (enable/status bit)
          if (enabled && raised)
            CLEAR (enable bit)
            CLEAR (status bit)
         and handle the GPE after this process, we can ensure that we will only
         invoke GPE handler once for one status bit flagging.
      
      By doing a cleanup in this way, we can remove duplicate GPE handling code
      and ensure that all logics are collected in 1 function. And the function
      will be safe for both IRQ interrupt and IRQ polling, and will be safe for
      us to release and re-acquire acpi_gbl_gpe_lock at any time rather than raw
      handler only during the top-half IRQ handler. Lv Zheng.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=196703 [#1]
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8d593495
    • E
      ACPICA: Events: Stop unconditionally clearing ACPI IRQs during suspend/resume · 18996f2d
      Erik Schmauss 提交于
      Unconditionally clearing ACPI IRQs during suspend/resume can lead to
      unexpected IRQ losts. This patch fixes this issue by removing such IRQ
      clearing code.
      
      If this patch triggers regression, the regression should be in the GPE
      handlers that cannot correctly determine some spurious triggered events as
      no-ops. Please report any regression related to this commit to the ACPI
      component on kernel bugzilla. Lv Zheng.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=196249Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Reported-and-tested-by: NEric Bakula-Davis <ericbakuladavis@gmail.com>
      Tested-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      18996f2d
    • S
      ACPICA: acpi: acpica: fix acpi operand cache leak in nseval.c · 97f3c0a4
      Seunghun Han 提交于
      I found an ACPI cache leak in ACPI early termination and boot continuing case.
      
      When early termination occurs due to malicious ACPI table, Linux kernel
      terminates ACPI function and continues to boot process. While kernel terminates
      ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak.
      
      Boot log of ACPI operand cache leak is as follows:
      >[    0.464168] ACPI: Added _OSI(Module Device)
      >[    0.467022] ACPI: Added _OSI(Processor Device)
      >[    0.469376] ACPI: Added _OSI(3.0 _SCP Extensions)
      >[    0.471647] ACPI: Added _OSI(Processor Aggregator Device)
      >[    0.477997] ACPI Error: Null stack entry at ffff880215c0aad8 (20170303/exresop-174)
      >[    0.482706] ACPI Exception: AE_AML_INTERNAL, While resolving operands for [opcode_name unavailable] (20170303/dswexec-461)
      >[    0.487503] ACPI Error: Method parse/execution failed [\DBG] (Node ffff88021710ab40), AE_AML_INTERNAL (20170303/psparse-543)
      >[    0.492136] ACPI Error: Method parse/execution failed [\_SB._INI] (Node ffff88021710a618), AE_AML_INTERNAL (20170303/psparse-543)
      >[    0.497683] ACPI: Interpreter enabled
      >[    0.499385] ACPI: (supports S0)
      >[    0.501151] ACPI: Using IOAPIC for interrupt routing
      >[    0.503342] ACPI Error: Null stack entry at ffff880215c0aad8 (20170303/exresop-174)
      >[    0.506522] ACPI Exception: AE_AML_INTERNAL, While resolving operands for [opcode_name unavailable] (20170303/dswexec-461)
      >[    0.510463] ACPI Error: Method parse/execution failed [\DBG] (Node ffff88021710ab40), AE_AML_INTERNAL (20170303/psparse-543)
      >[    0.514477] ACPI Error: Method parse/execution failed [\_PIC] (Node ffff88021710ab18), AE_AML_INTERNAL (20170303/psparse-543)
      >[    0.518867] ACPI Exception: AE_AML_INTERNAL, Evaluating _PIC (20170303/bus-991)
      >[    0.522384] kmem_cache_destroy Acpi-Operand: Slab cache still has objects
      >[    0.524597] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26
      >[    0.526795] Hardware name: innotek gmb_h virtual_box/virtual_box, BIOS virtual_box 12/01/2006
      >[    0.529668] Call Trace:
      >[    0.530811]  ? dump_stack+0x5c/0x81
      >[    0.532240]  ? kmem_cache_destroy+0x1aa/0x1c0
      >[    0.533905]  ? acpi_os_delete_cache+0xa/0x10
      >[    0.535497]  ? acpi_ut_delete_caches+0x3f/0x7b
      >[    0.537237]  ? acpi_terminate+0xa/0x14
      >[    0.538701]  ? acpi_init+0x2af/0x34f
      >[    0.540008]  ? acpi_sleep_proc_init+0x27/0x27
      >[    0.541593]  ? do_one_initcall+0x4e/0x1a0
      >[    0.543008]  ? kernel_init_freeable+0x19e/0x21f
      >[    0.546202]  ? rest_init+0x80/0x80
      >[    0.547513]  ? kernel_init+0xa/0x100
      >[    0.548817]  ? ret_from_fork+0x25/0x30
      >[    0.550587] vgaarb: loaded
      >[    0.551716] EDAC MC: Ver: 3.0.0
      >[    0.553744] PCI: Probing PCI hardware
      >[    0.555038] PCI host bridge to bus 0000:00
      > ... Continue to boot and log is omitted ...
      
      I analyzed this memory leak in detail and found acpi_ns_evaluate() function
      only removes Info->return_object in AE_CTRL_RETURN_VALUE case. But, when errors
      occur, the status value is not AE_CTRL_RETURN_VALUE, and Info->return_object is
      also not null. Therefore, this causes acpi operand memory leak.
      
      This cache leak causes a security threat because an old kernel (<= 4.9) shows
      memory locations of kernel functions in stack dump. Some malicious users
      could use this information to neutralize kernel ASLR.
      
      I made a patch to fix ACPI operand cache leak.
      Signed-off-by: NSeunghun Han <kkamagui@gmail.com>
      Signed-off-by: NErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      97f3c0a4
  2. 22 2月, 2018 7 次提交
  3. 19 2月, 2018 5 次提交
    • L
      Linux 4.16-rc2 · 91ab883e
      Linus Torvalds 提交于
      91ab883e
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0e06fb5b
      Linus Torvalds 提交于
      Pull x86 Kconfig fixes from Thomas Gleixner:
       "Three patchlets to correct HIGHMEM64G and CMPXCHG64 dependencies in
        Kconfig when CPU selections are explicitely set to M586 or M686"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/Kconfig: Explicitly enumerate i686-class CPUs in Kconfig
        x86/Kconfig: Exclude i586-class CPUs lacking PAE support from the HIGHMEM64G Kconfig group
        x86/Kconfig: Add missing i586-class CPUs to the X86_CMPXCHG64 Kconfig group
      0e06fb5b
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9ca2c16f
      Linus Torvalds 提交于
      Pull perf updates from Thomas Gleixner:
       "Perf tool updates and kprobe fixes:
      
         - perf_mmap overwrite mode fixes/overhaul, prep work to get 'perf
           top' using it, making it bearable to use it in large core count
           systems such as Knights Landing/Mill Intel systems (Kan Liang)
      
         - s/390 now uses syscall.tbl, just like x86-64 to generate the
           syscall table id -> string tables used by 'perf trace' (Hendrik
           Brueckner)
      
         - Use strtoull() instead of home grown function (Andy Shevchenko)
      
         - Synchronize kernel ABI headers, v4.16-rc1 (Ingo Molnar)
      
         - Document missing 'perf data --force' option (Sangwon Hong)
      
         - Add perf vendor JSON metrics for ARM Cortex-A53 Processor (William
           Cohen)
      
         - Improve error handling and error propagation of ftrace based
           kprobes so failures when installing kprobes are not silently
           ignored and create disfunctional tracepoints"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        kprobes: Propagate error from disarm_kprobe_ftrace()
        kprobes: Propagate error from arm_kprobe_ftrace()
        Revert "tools include s390: Grab a copy of arch/s390/include/uapi/asm/unistd.h"
        perf s390: Rework system call table creation by using syscall.tbl
        perf s390: Grab a copy of arch/s390/kernel/syscall/syscall.tbl
        tools/headers: Synchronize kernel ABI headers, v4.16-rc1
        perf test: Fix test trace+probe_libc_inet_pton.sh for s390x
        perf data: Document missing --force option
        perf tools: Substitute yet another strtoull()
        perf top: Check the latency of perf_top__mmap_read()
        perf top: Switch default mode to overwrite mode
        perf top: Remove lost events checking
        perf hists browser: Add parameter to disable lost event warning
        perf top: Add overwrite fall back
        perf evsel: Expose the perf_missing_features struct
        perf top: Check per-event overwrite term
        perf mmap: Discard legacy interface for mmap read
        perf test: Update mmap read functions for backward-ring-buffer test
        perf mmap: Introduce perf_mmap__read_event()
        perf mmap: Introduce perf_mmap__read_done()
        ...
      9ca2c16f
    • L
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2d6c4e40
      Linus Torvalds 提交于
      Pull irq updates from Thomas Gleixner:
       "A small set of updates mostly for irq chip drivers:
      
         - MIPS GIC fix for spurious, masked interrupts
      
         - fix for a subtle IPI bug in GICv3
      
         - do not probe GICv3 ITSs that are marked as disabled
      
         - multi-MSI support for GICv2m
      
         - various small cleanups"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqdomain: Re-use DEFINE_SHOW_ATTRIBUTE() macro
        irqchip/bcm: Remove hashed address printing
        irqchip/gic-v2m: Add PCI Multi-MSI support
        irqchip/gic-v3: Ignore disabled ITS nodes
        irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq()
        irqchip/gic-v3: Change pr_debug message to pr_devel
        irqchip/mips-gic: Avoid spuriously handling masked interrupts
      2d6c4e40
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 59e47215
      Linus Torvalds 提交于
      Pull core fix from Thomas Gleixner:
       "A small fix which adds the missing for_each_cpu_wrap() stub for the UP
        case to avoid build failures"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cpumask: Make for_each_cpu_wrap() available on UP as well
      59e47215
  4. 18 2月, 2018 6 次提交
    • L
      Merge tag 'for-linus-20180217' of git://git.kernel.dk/linux-block · c786427f
      Linus Torvalds 提交于
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request from Keith, with fixes all over the map for nvme.
         From various folks.
      
       - Classic polling fix, that avoids a latency issue where we still end
         up waiting for an interrupt in some cases. From Nitesh Shetty.
      
       - Comment typo fix from Minwoo Im.
      
      * tag 'for-linus-20180217' of git://git.kernel.dk/linux-block:
        block: fix a typo in comment of BLK_MQ_POLL_STATS_BKTS
        nvme-rdma: fix sysfs invoked reset_ctrl error flow
        nvmet: Change return code of discard command if not supported
        nvme-pci: Fix timeouts in connecting state
        nvme-pci: Remap CMB SQ entries on every controller reset
        nvme: fix the deadlock in nvme_update_formats
        blk: optimization for classic polling
        nvme: Don't use a stack buffer for keep-alive command
        nvme_fc: cleanup io completion
        nvme_fc: correct abort race condition on resets
        nvme: Fix discard buffer overrun
        nvme: delete NVME_CTRL_LIVE --> NVME_CTRL_CONNECTING transition
        nvme-rdma: use NVME_CTRL_CONNECTING state to mark init process
        nvme: rename NVME_CTRL_RECONNECTING state to NVME_CTRL_CONNECTING
      c786427f
    • L
      Merge tag 'mmc-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · fa2139ef
      Linus Torvalds 提交于
      Pull MMC fixes from Ulf Hansson:
      
       - meson-gx: Revert to earlier tuning process
      
       - bcm2835: Don't overwrite max frequency unconditionally
      
      * tag 'mmc-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: bcm2835: Don't overwrite max frequency unconditionally
        Revert "mmc: meson-gx: include tx phase in the tuning process"
      fa2139ef
    • L
      Merge tag 'mtd/fixes-for-4.16-rc2' of git://git.infradead.org/linux-mtd · 4b6415f9
      Linus Torvalds 提交于
      Pull mtd fixes from Boris Brezillon:
      
       - add missing dependency to NAND_MARVELL Kconfig entry
      
       - use the appropriate OOB layout in the VF610 driver
      
      * tag 'mtd/fixes-for-4.16-rc2' of git://git.infradead.org/linux-mtd:
        mtd: nand: MTD_NAND_MARVELL should depend on HAS_DMA
        mtd: nand: vf610: set correct ooblayout
      4b6415f9
    • L
      Merge tag 'powerpc-4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · ee78ad78
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
       "The main attraction is a fix for a bug in the new drmem code, which
        was causing an oops on boot on some versions of Qemu.
      
        There's also a fix for XIVE (Power9 interrupt controller) on KVM, as
        well as a few other minor fixes.
      
        Thanks to: Corentin Labbe, Cyril Bur, Cédric Le Goater, Daniel Black,
        Nathan Fontenot, Nicholas Piggin"
      
      * tag 'powerpc-4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/pseries: Check for zero filled ibm,dynamic-memory property
        powerpc/pseries: Add empty update_numa_cpu_lookup_table() for NUMA=n
        powerpc/powernv: IMC fix out of bounds memory access at shutdown
        powerpc/xive: Use hw CPU ids when configuring the CPU queues
        powerpc: Expose TSCR via sysfs only on powernv
      ee78ad78
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 74688a02
      Linus Torvalds 提交于
      Pull arm64 fixes from Catalin Marinas:
       "The bulk of this is the pte accessors annotation to READ/WRITE_ONCE
        (we tried to avoid pushing this during the merge window to avoid
        conflicts)
      
         - Updated the page table accessors to use READ/WRITE_ONCE and prevent
           compiler transformation that could lead to an apparent loss of
           coherency
      
         - Enabled branch predictor hardening for the Falkor CPU
      
         - Fix interaction between kpti enabling and KASan causing the
           recursive page table walking to take a significant time
      
         - Fix some sparse warnings"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: cputype: Silence Sparse warnings
        arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables
        arm64: proc: Set PTE_NG for table entries to avoid traversing them twice
        arm64: Add missing Falkor part number for branch predictor hardening
      74688a02
    • L
      Merge tag 'for-linus-4.16a-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · f73f047d
      Linus Torvalds 提交于
      Pull xen fixes from Juergen Gross:
      
       - fixes for the Xen pvcalls frontend driver
      
       - fix for booting Xen pv domains
      
       - fix for the xenbus driver user interface
      
      * tag 'for-linus-4.16a-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        pvcalls-front: wait for other operations to return when release passive sockets
        pvcalls-front: introduce a per sock_mapping refcount
        x86/xen: Calculate __max_logical_packages on PV domains
        xenbus: track caller request id
      f73f047d
  5. 17 2月, 2018 12 次提交