lkml.org 
[lkml]   [2021]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v3 5/5] kfence: add note to documentation about skipping covered allocations
    From
    Add a note briefly mentioning the new policy about "skipping currently
    covered allocations if pool close to full." Since this has a notable
    impact on KFENCE's bug-detection ability on systems with large uptimes,
    it is worth pointing out the feature.

    Signed-off-by: Marco Elver <elver@google.com>
    Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
    ---
    v2:
    * Rewrite.
    ---
    Documentation/dev-tools/kfence.rst | 11 +++++++++++
    1 file changed, 11 insertions(+)

    diff --git a/Documentation/dev-tools/kfence.rst b/Documentation/dev-tools/kfence.rst
    index 0fbe3308bf37..d45f952986ae 100644
    --- a/Documentation/dev-tools/kfence.rst
    +++ b/Documentation/dev-tools/kfence.rst
    @@ -269,6 +269,17 @@ tail of KFENCE's freelist, so that the least recently freed objects are reused
    first, and the chances of detecting use-after-frees of recently freed objects
    is increased.

    +If pool utilization reaches 75% (default) or above, to reduce the risk of the
    +pool eventually being fully occupied by allocated objects yet ensure diverse
    +coverage of allocations, KFENCE limits currently covered allocations of the
    +same source from further filling up the pool. The "source" of an allocation is
    +based on its partial allocation stack trace. A side-effect is that this also
    +limits frequent long-lived allocations (e.g. pagecache) of the same source
    +filling up the pool permanently, which is the most common risk for the pool
    +becoming full and the sampled allocation rate dropping to zero. The threshold
    +at which to start limiting currently covered allocations can be configured via
    +the boot parameter ``kfence.skip_covered_thresh`` (pool usage%).
    +
    Interface
    ---------

    --
    2.33.0.464.g1972c5931b-goog
    \
     
     \ /
      Last update: 2021-09-23 12:48    [W:3.118 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site