Re: [PATCH v2 5/6] kasan: add tests for workqueue stack recording
From: Marco Elver
Date: Mon Aug 24 2020 - 07:49:31 EST
On Mon, 24 Aug 2020 at 10:14, Walter Wu <walter-zh.wu@xxxxxxxxxxxx> wrote:
>
> Adds a test to verify workqueue stack recording and print it in
> KASAN report.
>
> The KASAN report was as follows(cleaned up slightly):
>
> BUG: KASAN: use-after-free in kasan_workqueue_uaf
>
> Freed by task 54:
> kasan_save_stack+0x24/0x50
> kasan_set_track+0x24/0x38
> kasan_set_free_info+0x20/0x40
> __kasan_slab_free+0x10c/0x170
> kasan_slab_free+0x10/0x18
> kfree+0x98/0x270
> kasan_workqueue_work+0xc/0x18
>
> Last potentially related work creation:
> kasan_save_stack+0x24/0x50
> kasan_record_wq_stack+0xa8/0xb8
> insert_work+0x48/0x288
> __queue_work+0x3e8/0xc40
> queue_work_on+0xf4/0x118
> kasan_workqueue_uaf+0xfc/0x190
>
> Signed-off-by: Walter Wu <walter-zh.wu@xxxxxxxxxxxx>
> Cc: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> Cc: Alexander Potapenko <glider@xxxxxxxxxx>
> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx>
> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
> ---
> lib/test_kasan.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
These will majorly conflict with the KASAN-test KUnit rework, which I
don't know what the status is. AFAIK, these are not yet in -mm tree.
I think the KASAN-test KUnit rework has priority, as rebasing that
work on top of this patch is going to be difficult. So maybe these
test additions can be declared optional if there are conflicts coming,
and if that'll be the case you'll have to rebase and resend the test.
Thanks,
-- Marco