lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 4 Jun 2020 15:46:29 +0200
From:   Andrey Konovalov <andreyknvl@...gle.com>
To:     Andrew Morton <akpm@...ux-foundation.org>
Cc:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Alan Stern <stern@...land.harvard.edu>,
        USB list <linux-usb@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Alexander Potapenko <glider@...gle.com>,
        Marco Elver <elver@...gle.com>,
        Dmitry Vyukov <dvyukov@...gle.com>
Subject: Re: [PATCH v4 0/7] kcov: collect coverage from usb soft interrupts

On Thu, Mar 26, 2020 at 3:44 PM Andrey Konovalov <andreyknvl@...gle.com> wrote:
>
> This patchset extends kcov to allow collecting coverage from soft
> interrupts and then uses the new functionality to collect coverage from
> USB code.
>
> Any subsystem that uses softirqs (e.g. timers) can make use of this in
> the future. Looking at the recent syzbot reports, an obvious candidate
> is the networking subsystem [1, 2, 3 and many more].
>
> [1] https://syzkaller.appspot.com/bug?extid=522ab502c69badc66ab7
> [2] https://syzkaller.appspot.com/bug?extid=57f89d05946c53dbbb31
> [3] https://syzkaller.appspot.com/bug?extid=df358e65d9c1b9d3f5f4
>
> This patchset has been pushed to the public Linux kernel Gerrit instance:
>
> https://linux-review.googlesource.com/c/linux/kernel/git/torvalds/linux/+/2225
>
> Changes v3 -> v4:
> - Turn current->kcov_softirq into unsigned int to fix objtool warning.
> - Fix commit author email address.
>
> Changes v2 -> v3:
> - New patch: "kcov: fix potential use-after-free in kcov_remote_start".
> - New patch: "kcov: move t->kcov assignments into kcov_start/stop".
> - New patch: "kcov: move t->kcov_sequence assignment".
> - New patch: "kcov: use t->kcov_mode as enabled indicator".
> - Dropped out-of-memory error message from kcov_init() as checkpatch
>   complains.
> - Use a single local_irq_disable section when accessing per-task kcov
>   variables in kcov_remote_start/stop().
>
> Changes v1 -> v2:
> - Add local_irq_save/restore() critical sections to simplify dealing with
>   softirqs happening during kcov_remote_start/stop().
> - Set kcov_softirq after flag kcov_start() in kcov_remote_start().
>
> Changes RFC -> v1:
> - Don't support hardirq or nmi, only softirq, to avoid issues with nested
>   interrupts.
> - Combined multiple per-cpu variables into one.
> - Used plain accesses and kcov_start/stop() instead of xchg()'s.
> - Simplified handling of per-cpu variables.
> - Avoid disabling interrupts for the whole kcov_remote_start/stop()
>   region.
> - Avoid overwriting t->kcov_sequence when saving/restoring state.
> - Move kcov_remote_start/stop_usb() annotations into
>   __usb_hcd_giveback_urb() to cover all urb complete() callbacks at once.
> - Drop unneeded Dummy HCD changes.
> - Split out a patch that removed debug messages.
>
> Signed-off-by: Andrey Konovalov <andreyknvl@...gle.com>
>
> Andrey Konovalov (7):
>   kcov: cleanup debug messages
>   kcov: fix potential use-after-free in kcov_remote_start
>   kcov: move t->kcov assignments into kcov_start/stop
>   kcov: move t->kcov_sequence assignment
>   kcov: use t->kcov_mode as enabled indicator
>   kcov: collect coverage from interrupts
>   usb: core: kcov: collect coverage from usb complete callback
>
>  Documentation/dev-tools/kcov.rst |  17 +-
>  drivers/usb/core/hcd.c           |   3 +
>  include/linux/sched.h            |   3 +
>  kernel/kcov.c                    | 266 ++++++++++++++++++++++---------
>  lib/Kconfig.debug                |   9 ++
>  5 files changed, 213 insertions(+), 85 deletions(-)
>
> --
> 2.26.0.rc2.310.g2932bb562d-goog
>

Hi Andrew,

This series is ready to be sent upstream.

Thanks for bearing with us!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ