Skip to content
  • Aleksandr Nogikh's avatar
    kernel: make kcov_common_handle consider the current context · b08e84da
    Aleksandr Nogikh authored
    
    
    kcov_common_handle is a method that is used to obtain a "default" KCOV
    remote handle of the current process. The handle can later be passed
    to kcov_remote_start in order to collect coverage for the processing
    that is initiated by one process, but done in another. For details see
    Documentation/dev-tools/kcov.rst and comments in kernel/kcov.c.
    
    Presently, if kcov_common_handle is called in an IRQ context, it will
    return a handle for the interrupted process. This may lead to
    unreliable and incorrect coverage collection.
    
    Adjust the behavior of kcov_common_handle in the following way. If it
    is called in a task context, return the common handle for the
    currently running task. Otherwise, return 0.
    
    Signed-off-by: default avatarAleksandr Nogikh <nogikh@google.com>
    Reviewed-by: default avatarAndrey Konovalov <andreyknvl@google.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    b08e84da