New issue
Advanced search Search tips

Issue 874179 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Build-Toolchain

Blocked on:
issue 920355



Sign in to add a comment

Start testing fuzzer builds with coverage/msan/ubsan in Chrome OS

Project Member Reported by manojgupta@chromium.org, Aug 14

Issue description

We want to start testing more than asan with fuzzing.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/028f10b34313fe9ab942854066c6c0df621fe555

commit 028f10b34313fe9ab942854066c6c0df621fe555
Author: Manoj Gupta <manojgupta@google.com>
Date: Wed Aug 15 19:54:52 2018

amd64-generic: Add profiles for coverage/msan/ubsan.

CQ-DEPEND=CL:1175053
BUG=chromium:874179
TEST=./setup_board --board=amd64-generic --profile=coverage/msan/ubsan works.

Change-Id: I44992beedd541b0aa65809bc74216bfa77b4a6e3
Reviewed-on: https://chromium-review.googlesource.com/1174999
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/028f10b34313fe9ab942854066c6c0df621fe555/overlay-amd64-generic/profiles/msan/parent
[add] https://crrev.com/028f10b34313fe9ab942854066c6c0df621fe555/overlay-amd64-generic/profiles/ubsan/parent
[add] https://crrev.com/028f10b34313fe9ab942854066c6c0df621fe555/overlay-amd64-generic/profiles/coverage/parent

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/f0ea83ae01f285793a82e08508ce22cf185234f3

commit f0ea83ae01f285793a82e08508ce22cf185234f3
Author: Manoj Gupta <manojgupta@google.com>
Date: Wed Aug 15 19:54:52 2018

Add coverage/msan/ubsan profiles.

This is to enable testing of coverage/msan/ubsan builds in
Chrome OS.

BUG=chromium:874179
TEST=pre-cq passes.

Change-Id: Ic0b8b21b746676312275f831d441a0e313d98b1f
Reviewed-on: https://chromium-review.googlesource.com/1175053
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/make.defaults
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/x86/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/amd64/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/README.md
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/arm/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/package.use.mask
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/arm/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/make.defaults
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/amd64/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/make.defaults
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/profile.bashrc
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/x86/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/README.md
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/arm64/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/arm/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/README.md
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/amd64/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/profile.bashrc
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/arm64/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/profile.bashrc
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/coverage/x86/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/arm64/parent
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/msan/package.use.mask
[add] https://crrev.com/f0ea83ae01f285793a82e08508ce22cf185234f3/profiles/ubsan/package.use.mask

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/38e7fbcaeeb9e474e472477505b60981f098cfab

commit 38e7fbcaeeb9e474e472477505b60981f098cfab
Author: Manoj Gupta <manojgupta@google.com>
Date: Wed Aug 15 23:37:36 2018

platform: Add basic support for coverage/msan/ubsan builds.

This Cl only adds support for testing platform packages
with coverage/msan/ubsan USE flags.

The flags will be used only after coverage/msan/ubsan builders are set up.

BUG=chromium:874179
TEST=pre-cq passes.

Change-Id: I54e3d67443207b8b8f93beedddcfc1555835068a
Reviewed-on: https://chromium-review.googlesource.com/1175004
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/38e7fbcaeeb9e474e472477505b60981f098cfab/eclass/cros-sanitizers.eclass
[modify] https://crrev.com/38e7fbcaeeb9e474e472477505b60981f098cfab/eclass/platform.eclass

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/042861eb27d179fe221fe46aa9fb814c81ea6b9c

commit 042861eb27d179fe221fe46aa9fb814c81ea6b9c
Author: Manoj Gupta <manojgupta@google.com>
Date: Thu Aug 16 20:14:58 2018

common-mk: Split up fuzzing flags based on use flags.

Do not pass "-fsanitize=address" unconditionally while fuzzing.
Instead add the flags depending on the USE flags.

This will let us test fuzzers with msan/ubsan etc.

Also add new flags: USE_{asan/coverage/msan/ubsan} to common.gypi.

BUG= chromium:870498 
BUG=chromium:874179

TEST=fuzzers still build with USE="asan"

Change-Id: Idb938693610e0f6055a4af79ade33398332b95bc
Reviewed-on: https://chromium-review.googlesource.com/1176551
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/042861eb27d179fe221fe46aa9fb814c81ea6b9c/common-mk/common_fuzzer.gypi
[modify] https://crrev.com/042861eb27d179fe221fe46aa9fb814c81ea6b9c/common-mk/common.gypi

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/22181c73eeaabeb166f09505bc3b8d385d9c3715

commit 22181c73eeaabeb166f09505bc3b8d385d9c3715
Author: Manoj Gupta <manojgupta@google.com>
Date: Fri Aug 17 18:17:41 2018

cros-sanitizers: Add some utility functions.

Add some utility functions:
1. use_sanitizers: Check any of the sanitizer use flag is set.
2. sanitizers-setup-env: Replacement for the stack of calls to
   asan-setup-env/fuzzer-setup-env/msan-setup-env. Using this will
   help to avoid modifying every ebuild for msan/ubsan etc.

BUG=chromium:874179
TEST=amd64-generic-fuzzer builder tryjob works.
Change-Id: Icda49f7d037be339db2afaa1de2a3bc67a394990
Reviewed-on: https://chromium-review.googlesource.com/1176705
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/22181c73eeaabeb166f09505bc3b8d385d9c3715/eclass/cros-sanitizers.eclass

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/645c52be0d4388eb8200f8ef07cc60875dcc5b10

commit 645c52be0d4388eb8200f8ef07cc60875dcc5b10
Author: Manoj Gupta <manojgupta@google.com>
Date: Fri Aug 17 18:17:42 2018

Migrate fuzzer-setup-env calls to sanitizers-setup-env.

Collapse calls to asan-setup-env + fuzzer-setup-env
to a single sanitizers-setup-env call.

BUG=chromium:874179
TEST=amd64-generic-fuzzer builder tryjob works.

Change-Id: Ie92420b210e8d0282ddea8b40859fe18c18da900
Reviewed-on: https://chromium-review.googlesource.com/1176964
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/media-libs/virglrenderer/virglrenderer-9999.ebuild
[rename] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/chromeos-base/libchrome/libchrome-395517-r36.ebuild
[rename] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/chromeos-base/libmojo/libmojo-395517-r6.ebuild
[modify] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/chromeos-base/libchrome/libchrome-395517.ebuild
[modify] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/media-libs/virglrenderer/virglrenderer-0.6.0_p20180727.ebuild
[modify] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/chromeos-base/libmojo/libmojo-395517.ebuild
[modify] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/chromeos-base/crosdns/crosdns-9999.ebuild
[modify] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/eclass/platform.eclass
[rename] https://crrev.com/645c52be0d4388eb8200f8ef07cc60875dcc5b10/media-libs/virglrenderer/virglrenderer-0.6.0_p20180727-r2.ebuild

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2ffcdb5634a3c4910165b30d689a950324d0217a

commit 2ffcdb5634a3c4910165b30d689a950324d0217a
Author: Manoj Gupta <manojgupta@google.com>
Date: Tue Aug 21 08:35:31 2018

Migrate packages to use sanitizers-setup-env.

Call sanitizers-setup-env instead of asan-setup-env.
This will let us test more packages with ubsan/msan etc.

BUG= chromium:875971 
BUG=chromium:874179
TEST=packages still build wth USE=asan

Change-Id: I2fcfecbcb900ba0d335a0c25e2343fb36f36c654
Reviewed-on: https://chromium-review.googlesource.com/1181945
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/libscrypt/libscrypt-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/mttools/mttools-9999.ebuild
[rename] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-libs/librmnetctl/librmnetctl-1.0_p20180801-r2.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/dev-util/turbostat/turbostat-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/factory_installer/factory_installer-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/media-libs/libmtp/libmtp-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/dev-python/btsocket/btsocket-9999.ebuild
[rename] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/minijail/minijail-1-r20.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/dev-libs/dbus-c++/dbus-c++-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/tpm/tpm-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-misc/tlsdate/tlsdate-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/sys-apps/frecon/frecon-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/sys-apps/rootdev/rootdev-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/avtest_label_detect/avtest_label_detect-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/sys-apps/bootcache/bootcache-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/media-sound/adhd/adhd-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/gestures/gestures-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/app-crypt/trousers/trousers-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-misc/modemmanager-next/modemmanager-next-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-libs/libqmi/libqmi-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/gobi3k-sdk/gobi3k-sdk-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/sys-apps/frecon-lite/frecon-lite-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-wireless/gdmwimax/gdmwimax-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-wireless/bluez/bluez-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-libs/libmbim/libmbim-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/minijail/minijail-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/media-libs/minigbm/minigbm-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/media-libs/arc-camera-service/arc-camera-service-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-libs/libqrtr/libqrtr-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/smogcheck/smogcheck-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/touch_firmware_test/touch_firmware_test-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/audiotest/audiotest-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/chromeos-base/libevdev/libevdev-9999.ebuild
[modify] https://crrev.com/2ffcdb5634a3c4910165b30d689a950324d0217a/net-libs/librmnetctl/librmnetctl-1.0_p20180801.ebuild

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6e91daef23607d39f3fe656831ad28c95447efcd

commit 6e91daef23607d39f3fe656831ad28c95447efcd
Author: Manoj Gupta <manojgupta@google.com>
Date: Tue Aug 21 08:35:57 2018

cros-sanitizers: Update ubsan flags.

Disable testing vptr behavior with ubsan since many packages
don't build.
Also update filter_sanitizers to filter compiler options
starting with "-fno-sanitize".

Also modify *SAN_OPTIONS to use stderr log path.

BUG= chromium:875971 
BUG=chromium:874179
TEST=packages build without USE=ubsan

Change-Id: I720201d3ca15a7d536fcd5fe4a21ed88580e7bfc
Reviewed-on: https://chromium-review.googlesource.com/1181938
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/6e91daef23607d39f3fe656831ad28c95447efcd/profiles/base/profile.bashrc
[modify] https://crrev.com/6e91daef23607d39f3fe656831ad28c95447efcd/eclass/cros-sanitizers.eclass

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/dd0fe897461589844c9313444c6ee8d74a5fdf6f

commit dd0fe897461589844c9313444c6ee8d74a5fdf6f
Author: Manoj Gupta <manojgupta@google.com>
Date: Tue Aug 21 08:36:04 2018

common-mk: Update ubsan flags.

Disable vptr sanitization in ubsan.
This matches Chromium and ubsan-setup-env in CL:1181938.

BUG= chromium:875971 
BUG=chromium:874179
TEST=packages build without USE=ubsan

Change-Id: I660e454c970e910b1b4e8f9762300b6243ae7d33
Reviewed-on: https://chromium-review.googlesource.com/1182503
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/dd0fe897461589844c9313444c6ee8d74a5fdf6f/common-mk/common_fuzzer.gypi

Labels: cros-fuzzing
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 22

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 22

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 23

Project Member

Comment 14 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/docs/+/271fce72360252bfc2fb4390c0f6f5f7a61278af

commit 271fce72360252bfc2fb4390c0f6f5f7a61278af
Author: Manoj Gupta <manojgupta@google.com>
Date: Tue Aug 28 22:47:01 2018

fuzzing: Update docs.

Update fuzzing docs to reflect the current implementation details.
1. Should inherit cros-fuzzer and cros-sanitizers
2. Replace calls to asan-setup-env & fuzzer-setup-env by a single
   call to sanitizers-setup-env
3. Add a note for ubsan builds and a few other minor updates.

BUG=chromium:874179
TEST=None

Change-Id: I16d7d7375df60196c3c7185532e3dc66e406db96
Reviewed-on: https://chromium-review.googlesource.com/1194343
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Jonathan Metzman <metzman@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/271fce72360252bfc2fb4390c0f6f5f7a61278af/fuzzing.md

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/9392f0ce36cea122991005e94e4c3e3d91af4592

commit 9392f0ce36cea122991005e94e4c3e3d91af4592
Author: Mike Frysinger <vapier@chromium.org>
Date: Mon Sep 03 09:20:46 2018

common-mk: fix linting errors

The style in here was very broken, so fix it all.

BUG=chromium:874179
TEST=linter no longer complains

Change-Id: I5693050ca7adf22341b87b38da55b6cd15be2fe8
Reviewed-on: https://chromium-review.googlesource.com/1201482
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/9392f0ce36cea122991005e94e4c3e3d91af4592/common-mk/common_fuzzer.gypi

Blockedon: 920355
Status: Assigned (was: Untriaged)
This issue has an owner, a component and a priority, but is still listed as untriaged or unconfirmed. By definition, this bug is triaged. Changing status to "assigned". Please reach out to me if you disagree with how I've done this.

Sign in to add a comment