Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp871012ybb; Wed, 1 Apr 2020 11:09:51 -0700 (PDT) X-Google-Smtp-Source: APiQypJF8RkAhoWhgkti2EhxUxN+2o1B0SXfODvS2JoPcc8VF71O3afdN13JEBNf8Y9BM9jeqZ7x X-Received: by 2002:aca:c6ca:: with SMTP id w193mr3650764oif.165.1585764591706; Wed, 01 Apr 2020 11:09:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585764591; cv=none; d=google.com; s=arc-20160816; b=E77UULDTo76BWprzZVuR6QQ/xKu7cWqzJaHrDC8ygDwhF93mSkzKBzmXb7q+iySimo A7AlRGQnB68GoZncpNMvrPWKUVzy4PHGX5+z1o9UYzGFsljF7MT+U/RLG8oLl2ro8ZbH VC5NCY+kZXCNkL+GmAGF+qcSaqkpzIz43lEjVDpiIHvCkI/K01l8gqXdZjRcW7WI1BnG qcnnQJjU/pKERVylqCG5YxRSEzR1TA/+1T6UsGFLZpd2Ft9RbvukBqoN0Kh4t2ap1weK YbvalnWPrsAzmr0R9RtoTbBvcbS2YXTQ15kC4zOXBVvgzd+0lMNSN3NUbbdoJlJBX/E9 wkqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:mime-version :message-id:date:dkim-signature; bh=jmllqegwWYAse5zHietOLbFHZdle7VlA5/QFT40kKC8=; b=mdXZypO45b3xWHB7Dumhc6P7g/5/w3VirXFCFuvK9y0YrFOJK5YlBFn1wPHadjOgzY o2L7pEd1i95eWuhP+xVmQqXs/y0Z86MEMcU9LRsAxqetRmSsBvtnmI+gupU6hx1HXeuL p4V272Eo7/mWo9DrGaCr6hnwmIdFWX9wd118OVfqyBvhsIBQLhSHR7WgBwRJt+oNxP0t xKkUbNKD68cGQocGThkCWhWMnMLO8iIHM7zpS4pGglOo7ThEz1nNjZFATXwpG7UOF7g5 l0vEPfEA3AFIyO79hUQCYGkOw3RKtU1ydLuEYn0OjMBkRIk5Dd8PWIDaeecfYo0EaPL2 dWWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Rv2jM3Dg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a128si1230141oif.202.2020.04.01.11.09.38; Wed, 01 Apr 2020 11:09:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Rv2jM3Dg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732566AbgDASJO (ORCPT + 99 others); Wed, 1 Apr 2020 14:09:14 -0400 Received: from mail-pj1-f74.google.com ([209.85.216.74]:44730 "EHLO mail-pj1-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732121AbgDASJO (ORCPT ); Wed, 1 Apr 2020 14:09:14 -0400 Received: by mail-pj1-f74.google.com with SMTP id t7so802069pjb.9 for ; Wed, 01 Apr 2020 11:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=jmllqegwWYAse5zHietOLbFHZdle7VlA5/QFT40kKC8=; b=Rv2jM3DgzSP4Xgu5R0bGlbm/XbkjWgjn9ZfxagNK/fsTGyOPNrB1GQnZB7E9xUQGhM HymPJy1XezMr1M8wxNVgCxl2s3SL5YIMRiHzHxQ+N8Tm9g4CE8l/eV769aP0lmhUqw30 WO5cecwf8lips48fgnBJrCUMGiNTl3nZg0xnRu/8Ey0ZlaEygBY6633+f66FFnmvZfdU a1E5N43q18UK6/1lSXUufsmbfBBAKTiOJ7uEdKbGRWLUHgPpOE38ux5OJezhCj2tD2v6 NHs/R55WHObGci9vAS1nbsO/jOXONQSHDsebLkOgWVwkfwTura+ZUaSU0yZibHZ0ntM2 nZhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=jmllqegwWYAse5zHietOLbFHZdle7VlA5/QFT40kKC8=; b=jpcDbcjJd3JsKA6y7J1CBsTcmGpuA/jv2Ttmt5gYGnhEb8ZtnW9/gcmDuxdni28Rji dtj+dWKUyDVet061Oy8SmmAsQsWgzMKgDNjRIyWIQbDs8Q5nckus539TWsc5GtQNghkF wrVAmb0v7N6O/38xycIvEPMRyxJYqmHCGrU8pkkfbBqXa+j07k1Ps5+xskLCXBvbdBRp FoBwVV30xO/vtWNJehGS0QEwMSbl5+t/mY0CRRsKJV86L6mt2UiAZ8rVyp+piV3tGYKo YveWj/PpnYnq0gpI1zTPaKhEMELmRUZ0QYA9Vq0KBP8B5FAsgbY9g0gH4ftN6PUXXTnW 2Ykg== X-Gm-Message-State: AGi0PuYfuXKBYtwt5ZXeuakLcWYSC2EdxNzp5W+4Jts5xDyzlZIrZV4m RDrmbtIf8VbR5SZXnxJeY9dE4/BcCsSoWXriyus= X-Received: by 2002:a17:90a:25a8:: with SMTP id k37mr6384885pje.14.1585764551345; Wed, 01 Apr 2020 11:09:11 -0700 (PDT) Date: Wed, 1 Apr 2020 11:09:03 -0700 Message-Id: <20200401180907.202604-1-trishalfonso@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.26.0.rc2.310.g2932bb562d-goog Subject: [PATCH v3 0/4] KUnit-KASAN Integration From: Patricia Alfonso To: davidgow@google.com, brendanhiggins@google.com, aryabinin@virtuozzo.com, dvyukov@google.com, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, kunit-dev@googlegroups.com, linux-kselftest@vger.kernel.org, Patricia Alfonso Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset contains everything needed to integrate KASAN and KUnit. KUnit will be able to: (1) Fail tests when an unexpected KASAN error occurs (2) Pass tests when an expected KASAN error occurs Convert KASAN tests to KUnit with the exception of copy_user_test because KUnit is unable to test those. Add documentation on how to run the KASAN tests with KUnit and what to expect when running these tests. Depends on [1]. Changes since v2: - Due to Alan's changes in [1], KUnit can be built as a module. - The name of the tests that could not be run with KUnit has been changed to be more generic: test_kasan_module. - Documentation on how to run the new KASAN tests and what to expect when running them has been added. - Some variables and functions are now static. - Now save/restore panic_on_warn in a similar way to kasan_multi_shot and renamed the init/exit functions to be more generic to accommodate. - Due to [2] in kasan_strings, kasan_memchr, and kasan_memcmp will fail if CONFIG_AMD_MEM_ENCRYPT is enabled so return early and print message explaining this circumstance. - Changed preprocessor checks to C checks where applicable. [1] https://lore.kernel.org/linux-kselftest/1585313122-26441-1-git-send-email-alan.maguire@oracle.com/T/#t [2] https://bugzilla.kernel.org/show_bug.cgi?id=206337 Patricia Alfonso (4): Add KUnit Struct to Current Task KUnit: KASAN Integration KASAN: Port KASAN Tests to KUnit KASAN: Testing Documentation Documentation/dev-tools/kasan.rst | 70 +++ include/kunit/test.h | 5 + include/linux/kasan.h | 6 + include/linux/sched.h | 4 + lib/Kconfig.kasan | 15 +- lib/Makefile | 3 +- lib/kunit/test.c | 13 +- lib/test_kasan.c | 686 +++++++++++++----------------- lib/test_kasan_module.c | 76 ++++ mm/kasan/report.c | 33 ++ 10 files changed, 521 insertions(+), 390 deletions(-) create mode 100644 lib/test_kasan_module.c -- 2.26.0.rc2.310.g2932bb562d-goog