Skip to content
Branch: 10.0.0-sultan
Commits on Mar 27, 2020
  1. arm64: Disable -fwhole-program for vDSO

    kerneltoast committed Mar 27, 2020
    The vDSO library is obviously not self-contained, so it doesn't qualify
    for -fwhole-program. Using -fwhole-program on the vDSO library breaks
    it, so disable -fwhole-program to fix it.
    Signed-off-by: Sultan Alsawaf <>
  2. mm: Don't warn on page allocation failures for OOM-killed processes

    kerneltoast committed Mar 27, 2020
    It can be normal for a dying process to have its page allocation request
    fail when it has an OOM or LMK kill pending. In this case, it's actually
    detrimental to print out a massive allocation failure message because
    this means the running process needs to die quickly and release its
    memory, which is slowed down slightly by the massive kmsg splat. The
    allocation failure message is also a false positive in this case, since
    the failure is intentional rather than being the result of an inability
    to allocate memory.
    Suppress the allocation failure warning for processes that are killed to
    release memory in order to expedite their death and remedy the kmsg
    confusion from seeing spurious allocation failure messages.
    Signed-off-by: Sultan Alsawaf <>
  3. lib/nlattr.c: Fix stringop overflow warning in nla_strcmp()

    kerneltoast committed Mar 27, 2020
    strlen() returns a size_t value, so store it in a size_t variable.
    Signed-off-by: Sultan Alsawaf <>
  4. wahoo_defconfig: Enable dead code elimination

    kerneltoast committed Mar 27, 2020
    This reduces the kernel's size considerably and doesn't incur any
    performance penalty when used in conjunction with LTO.
    Signed-off-by: Sultan Alsawaf <>
  5. arm64: Allow LD_DEAD_CODE_DATA_ELIMINATION to be selected

    kerneltoast committed Mar 27, 2020
    DCE is not problematic on arm64 and works out of the box. Let it be
    Signed-off-by: Sultan Alsawaf <>
  6. Revert "mbcache2: Speed up cache entry creation"

    kerneltoast committed Mar 26, 2020
    This reverts commit 5cf1d5d.
    Still getting ext4 panics. It seems like some sort of race when
    accessing the same block from different inodes at the same time. This
    commit seems to be the most likely culprit, so off with its head.
    Signed-off-by: Sultan Alsawaf <>
Commits on Mar 19, 2020
  1. irqchip/gic-v3-its: Put its_init() in __init section

    kerneltoast committed Mar 19, 2020
    This fixes a section mismatch since its_init() is only used from inside
    the __init section.
    Signed-off-by: Sultan Alsawaf <>
Commits on Mar 18, 2020
  1. arm64: Tune GCC for msm8998's CPU

    kerneltoast committed Mar 15, 2020
    This yields a modest, consistent improvement in hackbench performance.
    Signed-off-by: Sultan Alsawaf <>
  2. wahoo_defconfig: Enable Link Time Optimization

    kerneltoast committed Mar 11, 2020
    Signed-off-by: Sultan Alsawaf <>
  3. Makefile: Use -O3 optimization for CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE

    kerneltoast committed Mar 11, 2020
    -O3 is much more stable with modern compilers these days than it was a
    decade ago. Using -O3 on the kernel results in significantly improved
    hackbench performance, which is a sign that overall performance in the
    kernel is improved. It works especially well in conjunction with LTO.
    Signed-off-by: Sultan Alsawaf <>
  4. lto: Add Link Time Optimization support for GCC

    kerneltoast committed Mar 18, 2020
    This requires a modern version of GCC and various other patches in order
    to work. LTO results in a smaller kernel binary with better performance.
    Based off of work from Andi Kleen <>.
    Signed-off-by: Sultan Alsawaf <>
Commits on Mar 11, 2020
  1. mm: Move __free_pages_boot_core() from __init section to fix mismatch

    kerneltoast committed Mar 11, 2020
    __free_pages_boot_core() is used by functions that are not located in
    the __init section and may run after init, so __free_pages_boot_core()
    should be moved out from the __init section to fix the mismatch.
    Signed-off-by: Sultan Alsawaf <>
  2. arm64: Fix section mismatch with LTO caused by ambiguous const

    kerneltoast committed Mar 11, 2020
    Due to how dt_supported_cpu_ops and acpi_supported_cpu_ops are used,
    they can be placed in a different section by the compiler when LTO is
    used because it thinks that it belongs in another section. To really
    make it clear to GCC that these belong in the __initconst section,
    make the variables themselves const and refactor cpu_get_ops()
    accordingly to make it compile.
    Signed-off-by: Sultan Alsawaf <>
  3. arm64: Make __stack_chk_guard visible

    kerneltoast committed Mar 11, 2020
    When LTO is used, GCC optimizes out the __stack_chk_guard variable,
    resulting in undefined symbol errors. Fix it by explicitly making
    __stack_chk_guard visible so it doesn't disappear.
    Signed-off-by: Sultan Alsawaf <>
  4. sys_ni: Fix cond_syscall() alias for LTO

    kerneltoast committed Mar 11, 2020
    When using LTO, the conditional syscall aliases aren't weak, and instead
    override implemented syscalls rather than serve as a fallback for
    missing syscalls. Fix the cond_syscall() alias using an attribute so
    that it gets properly evaluated at link time.
    Signed-off-by: Sultan Alsawaf <>
  5. sys_ni: Remove duplicate cond_syscall(sys_madvise) entry

    kerneltoast committed Mar 11, 2020
    This is already defined. Remove the duplicate from the less-correct
    Signed-off-by: Sultan Alsawaf <>
  6. qcacld-3.0: Fix potentially uninitialized session ID usage

    kerneltoast committed Mar 10, 2020
    When csr_roam_get_session_id_from_bssid() fails, it leaves sessionId
    uninitialized. Since CSR_GET_SESSION() is done without checking the
    validity of sessionId, this can result in dereferencing a garbage value.
    Fix it by exiting early when csr_roam_get_session_id_from_bssid()
    returns an error.
    Signed-off-by: Sultan Alsawaf <>
  7. qcacld-3.0: Validate session ID when going to suspend

    kerneltoast committed Mar 10, 2020
    When the session ID is invalid, it can cause an out-of-bounds read which
    may or may not result in a panic, depending on the compiler and
    compilation options used. Fix it by validating the session ID prior to
    using it.
    Signed-off-by: Sultan Alsawaf <>
  8. ext4: Allocate 128-byte allocation context on the stack

    kerneltoast committed Mar 11, 2020
    The allocation context structure is 128 bytes and thus easily fits on
    the stack. There's no need to allocate it dynamically.
    Signed-off-by: Sultan Alsawaf <>
Commits on Mar 8, 2020
  1. kbuild: Disable stack conservation for GCC

    kerneltoast committed Mar 8, 2020
    There's plenty of room on the stack for a few more inlined bytes here
    and there. The measured stack usage at runtime is still safe without
    this, and performance is surely improved at a microscopic level, so
    remove it.
    Signed-off-by: Sultan Alsawaf <>
Commits on Mar 6, 2020
  1. ARM: dts: msm8998: Add a lower efficient CPU frequency for each cluster

    kerneltoast committed Mar 6, 2020
    For sustained workloads where the CPU cannot idle much, running at a
    high frequency causes excessive power drain. To remedy this, restore a
    lower, slightly less efficient frequency for each CPU cluster utilizing
    the measurements from commit a9a43d0
    ("ARM: dts: msm8998: Use efficient CPU frequencies and busy costs").
    Signed-off-by: Sultan Alsawaf <>
Commits on Mar 3, 2020
  1. power: Silence charger log spam

    kerneltoast committed Mar 3, 2020
    Charger log spam is so invasive that Google employees have to ask bug
    reporters to collect fresh logs that are a few hours removed from when a
    charger is connected. The charger log spam not only comes from the
    kernel, but also healthd in userspace. To that effect, remove
    userspace's privilege of writing to /dev/kmsg. And put a damper on the
    kernel-side log spam as well.
    Signed-off-by: Sultan Alsawaf <>
  2. Merge tag 'android-10.0.0_r0.46' into 10.0.0-sultan

    kerneltoast committed Mar 3, 2020
    Android 10.0.0 Release 0.46
You can’t perform that action at this time.