Skip to content
Permalink
Tree: 06b2df0593
Commits on May 15, 2018
  1. kmsan: unpoison only the created pages in get_user_pages_fast()

    ramosian-glider committed May 15, 2018
    gup_pgd_range() may return less pages than requested. In that case
    we must unpoison only the created pages.
  2. kmsan: fixup for 1c54bfd

    ramosian-glider committed May 15, 2018
    Encryption and decryption functions must both check the inputs and
    unpoison the outputs.
  3. kmsan: handle crypto_cipher_encrypt_one()/crypto_cipher_decrypt_one()

    ramosian-glider committed May 15, 2018
    These functions touch memory one block at a time. Because they're often
    implemented in assembly, we just unpoison the output blocks and check
    the inputs.
  4. kmsan: introduce kmsan_clear_user_page()

    ramosian-glider committed May 15, 2018
    Use it to unpoison pages in clear_user_highpage().
    This should fix a number of false positives.
    It's not clear yet, whether shadow and origin pages can be in high
    memory, probably no.
Commits on May 14, 2018
  1. kmsan: don't panic if copy_to_user() succeeded only partially

    ramosian-glider committed May 14, 2018
    Let the caller care about this.
  2. kmsan: fix false positives in do_error_trap()

    ramosian-glider committed May 14, 2018
    Unpoison |regs| in do_error_trap().
Commits on May 11, 2018
Commits on May 8, 2018
  1. [NON-UPSTREAM] x86/boot/64/clang: Use fixup_pointer() to access '__su…

    ramosian-glider committed May 8, 2018
    …pported_pte_mask'
    
    Clang builds with defconfig started crashing after commit fb43d6c
    ("x86/mm: Do not auto-massage page protections")
    This was caused by introducing a new global access in __startup_64().
    
    Code in __startup_64() can be relocated during execution, but the compiler
    doesn't have to generate PC-relative relocations when accessing globals
    from that function. Clang actually does not generate them, which leads
    to boot-time crashes. To work around this problem, every global pointer
    must be adjusted using fixup_pointer().
    
    Signed-off-by: Alexander Potapenko <glider@google.com>
    Fixes: fb43d6c ("x86/mm: Do not auto-massage page protections")
  2. Revert "locking/atomic/x86: Switch atomic.h to use atomic-instrumente…

    ramosian-glider committed May 8, 2018
    …d.h"
    
    This reverts commit 8bf705d, which
    breaks Clang
  3. Revert "x86: Remove FAST_FEATURE_TESTS"

    ramosian-glider committed May 8, 2018
    This reverts commit d026604, which
    breaks Clang
Commits on May 7, 2018
  1. NON-UPSTREAM: Revert "x86: Force asm-goto"

    ramosian-glider committed May 7, 2018
    This reverts commit e501ce9, which
    breaks Clang.
  2. kmsan: add initialization for shmem pages

    dvyukov authored and ramosian-glider committed Apr 22, 2018
    Maybe we need to instrument clear_highpage/clear_page instead.
    But for now this fixes the most common source of false positives.
  3. kmsan: fix NULL deref

    dvyukov authored and ramosian-glider committed Apr 22, 2018
    bh can still be NULL.
    Top crasher with syzkaller.
  4. kmsan: disable assembly checksums

    dvyukov authored and ramosian-glider committed Apr 21, 2018
    Checksum functions implemented in assembly produce
    large number of false positives.
    There are generic functions available that do not use
    assembly. Switch to them under KMSAN.
  5. kmsan: disable reporting in stack unwinding

    dvyukov authored and ramosian-glider committed Apr 21, 2018
    Stack unwinding produces lots of false positives.
  6. kmsan: disable memcpy-param-overlap check

    dvyukov authored and ramosian-glider committed Apr 21, 2018
    There are known false positives.
  7. readme typo

    parkerduckworth authored and ramosian-glider committed Apr 9, 2018
  8. kmsan: suppress false positives in assembly routines

    ramosian-glider committed Jan 2, 2018
    TODO(glider): handle the assembly in the compiler properly instead
  9. kmsan: bump patches to LLVM r329391, ignore big asm() accesses

    ramosian-glider committed Apr 6, 2018
    Don't unpoison memory locations greater than 16 bytes in
    visitAsmInstruction()
  10. kmsan: don't instrument big percpu arrays (temporary workaround)

    ramosian-glider committed Apr 4, 2018
    This is a hotfix for syzbot.
    The current Clang version dies with the following error message:
    
      1.      <eof> parser at end of file
      2.      Code generation
      3.      Running pass 'Function Pass Manager' on module 'arch/x86/mm/cpu_entry_area.c'.
      4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@setup_cpu_entry_areas'
      clang-7: error: unable to execute command: Aborted
    
    when attempting to build the kernel with extended stack size (see
    0f35ce7).
    This can be fixed in the compiler, but for now it's faster to disable
    instrumentation for arch/x86/kernel/setup_percpu.c and arch/x86/mm/cpu_entry_area.c
  11. kmsan: double the stack size again

    ramosian-glider committed Apr 4, 2018
    (4x from normal stack size)
Older
You can’t perform that action at this time.