1. 27 2月, 2018 6 次提交
    • J
      tpm_i2c_infineon: fix potential buffer overruns caused by bit glitches on the bus · 9b8cb28d
      Jeremy Boone 提交于
      Discrete TPMs are often connected over slow serial buses which, on
      some platforms, can have glitches causing bit flips.  In all the
      driver _recv() functions, we need to use a u32 to unmarshal the
      response size, otherwise a bit flip of the 31st bit would cause the
      expected variable to go negative, which would then try to read a huge
      amount of data.  Also sanity check that the expected amount of data is
      large enough for the TPM header.
      Signed-off-by: NJeremy Boone <jeremy.boone@nccgroup.trust>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Reviewed-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJames Morris <james.morris@microsoft.com>
      9b8cb28d
    • J
      tpm_i2c_nuvoton: fix potential buffer overruns caused by bit glitches on the bus · f9d4d9b5
      Jeremy Boone 提交于
      Discrete TPMs are often connected over slow serial buses which, on
      some platforms, can have glitches causing bit flips.  In all the
      driver _recv() functions, we need to use a u32 to unmarshal the
      response size, otherwise a bit flip of the 31st bit would cause the
      expected variable to go negative, which would then try to read a huge
      amount of data.  Also sanity check that the expected amount of data is
      large enough for the TPM header.
      Signed-off-by: NJeremy Boone <jeremy.boone@nccgroup.trust>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Reviewed-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJames Morris <james.morris@microsoft.com>
      f9d4d9b5
    • J
      tpm_tis: fix potential buffer overruns caused by bit glitches on the bus · 6bb320ca
      Jeremy Boone 提交于
      Discrete TPMs are often connected over slow serial buses which, on
      some platforms, can have glitches causing bit flips.  In all the
      driver _recv() functions, we need to use a u32 to unmarshal the
      response size, otherwise a bit flip of the 31st bit would cause the
      expected variable to go negative, which would then try to read a huge
      amount of data.  Also sanity check that the expected amount of data is
      large enough for the TPM header.
      Signed-off-by: NJeremy Boone <jeremy.boone@nccgroup.trust>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Tested-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Reviewed-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJames Morris <james.morris@microsoft.com>
      6bb320ca
    • L
      Merge tag 'edac_fixes_for_4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 4c3579f6
      Linus Torvalds 提交于
      Pull EDAC fix from Borislav Petkov:
       "sb_edac: Prevent memory corruption on KNL (from Anna Karbownik)"
      
      * tag 'edac_fixes_for_4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, sb_edac: Fix out of bound writes during DIMM configuration on KNL
      4c3579f6
    • L
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 85a2d939
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "Yet another pile of melted spectrum related changes:
      
         - sanitize the array_index_nospec protection mechanism: Remove the
           overengineered array_index_nospec_mask_check() magic and allow
           const-qualified types as index to avoid temporary storage in a
           non-const local variable.
      
         - make the microcode loader more robust by properly propagating error
           codes. Provide information about new feature bits after micro code
           was updated so administrators can act upon.
      
         - optimizations of the entry ASM code which reduce code footprint and
           make the code simpler and faster.
      
         - fix the {pmd,pud}_{set,clear}_flags() implementations to work
           properly on paravirt kernels by removing the address translation
           operations.
      
         - revert the harmful vmexit_fill_RSB() optimization
      
         - use IBRS around firmware calls
      
         - teach objtool about retpolines and add annotations for indirect
           jumps and calls.
      
         - explicitly disable jumplabel patching in __init code and handle
           patching failures properly instead of silently ignoring them.
      
         - remove indirect paravirt calls for writing the speculation control
           MSR as these calls are obviously proving the same attack vector
           which is tried to be mitigated.
      
         - a few small fixes which address build issues with recent compiler
           and assembler versions"
      
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (38 commits)
        KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely()
        KVM/x86: Remove indirect MSR op calls from SPEC_CTRL
        objtool, retpolines: Integrate objtool with retpoline support more closely
        x86/entry/64: Simplify ENCODE_FRAME_POINTER
        extable: Make init_kernel_text() global
        jump_label: Warn on failed jump_label patching attempt
        jump_label: Explicitly disable jump labels in __init code
        x86/entry/64: Open-code switch_to_thread_stack()
        x86/entry/64: Move ASM_CLAC to interrupt_entry()
        x86/entry/64: Remove 'interrupt' macro
        x86/entry/64: Move the switch_to_thread_stack() call to interrupt_entry()
        x86/entry/64: Move ENTER_IRQ_STACK from interrupt macro to interrupt_entry
        x86/entry/64: Move PUSH_AND_CLEAR_REGS from interrupt macro to helper function
        x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP
        objtool: Add module specific retpoline rules
        objtool: Add retpoline validation
        objtool: Use existing global variables for options
        x86/mm/sme, objtool: Annotate indirect call in sme_encrypt_execute()
        x86/boot, objtool: Annotate indirect jump in secondary_startup_64()
        x86/paravirt, objtool: Annotate indirect calls
        ...
      85a2d939
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · d4858aaf
      Linus Torvalds 提交于
      Pull KVM fixes from Paolo Bonzini:
       "s390:
         - optimization for the exitless interrupt support that was merged in 4.16-rc1
         - improve the branch prediction blocking for nested KVM
         - replace some jump tables with switch statements to improve expoline performance
         - fixes for multiple epoch facility
      
        ARM:
         - fix the interaction of userspace irqchip VMs with in-kernel irqchip VMs
         - make sure we can build 32-bit KVM/ARM with gcc-8.
      
        x86:
         - fixes for AMD SEV
         - fixes for Intel nested VMX, emulated UMIP and a dump_stack() on VM startup
         - fixes for async page fault migration
         - small optimization to PV TLB flush (new in 4.16-rc1)
         - syzkaller fixes
      
        Generic:
         - compiler warning fixes
         - syzkaller fixes
         - more improvements to the kvm_stat tool
      
        Two more small Spectre fixes are going to reach you via Ingo"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (40 commits)
        KVM: SVM: Fix SEV LAUNCH_SECRET command
        KVM: SVM: install RSM intercept
        KVM: SVM: no need to call access_ok() in LAUNCH_MEASURE command
        include: psp-sev: Capitalize invalid length enum
        crypto: ccp: Fix sparse, use plain integer as NULL pointer
        KVM: X86: Avoid traversing all the cpus for pv tlb flush when steal time is disabled
        x86/kvm: Make parse_no_xxx __init for kvm
        KVM: x86: fix backward migration with async_PF
        kvm: fix warning for non-x86 builds
        kvm: fix warning for CONFIG_HAVE_KVM_EVENTFD builds
        tools/kvm_stat: print 'Total' line for multiple events only
        tools/kvm_stat: group child events indented after parent
        tools/kvm_stat: separate drilldown and fields filtering
        tools/kvm_stat: eliminate extra guest/pid selection dialog
        tools/kvm_stat: mark private methods as such
        tools/kvm_stat: fix debugfs handling
        tools/kvm_stat: print error on invalid regex
        tools/kvm_stat: fix crash when filtering out all non-child trace events
        tools/kvm_stat: avoid 'is' for equality checks
        tools/kvm_stat: use a more pythonic way to iterate over dictionaries
        ...
      d4858aaf
  2. 26 2月, 2018 7 次提交
  3. 25 2月, 2018 1 次提交
    • L
      Merge tag 'powerpc-4.16-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 3664ce2d
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
      
       - Add handling for a missing instruction in our 32-bit BPF JIT so that
         it can be used for seccomp filtering.
      
       - Add a missing NULL pointer check before a function call in new EEH
         code.
      
       - Fix an error path in the new ocxl driver to correctly return EFAULT.
      
       - The support for the new ibm,drc-info device tree property turns out
         to need several fixes, so for now we just stop advertising to
         firmware that we support it until the bugs can be ironed out.
      
       - One fix for the new drmem code which was incorrectly modifying the
         device tree in place.
      
       - Finally two fixes for the RFI flush support, so that firmware can
         advertise to us that it should be disabled entirely so as not to
         affect performance.
      
      Thanks to: Bharata B Rao, Frederic Barrat, Juan J. Alvarez, Mark Lord,
      Michael Bringmann.
      
      * tag 'powerpc-4.16-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/powernv: Support firmware disable of RFI flush
        powerpc/pseries: Support firmware disable of RFI flush
        powerpc/mm/drmem: Fix unexpected flag value in ibm,dynamic-memory-v2
        powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access
        powerpc/pseries: Revert support for ibm,drc-info devtree property
        powerpc/pseries: Fix duplicate firmware feature for DRC_INFO
        ocxl: Fix potential bad errno on irq allocation
        powerpc/eeh: Fix crashes in eeh_report_resume()
      3664ce2d
  4. 24 2月, 2018 26 次提交