|
|
||
|---|---|---|
| .. | ||
| Android.bp | ||
| README.md | ||
| surfaceflinger_displayhardware_fuzzer.cpp | ||
| surfaceflinger_displayhardware_fuzzer_utils.h | ||
| surfaceflinger_fuzzer.cpp | ||
| surfaceflinger_fuzzers_utils.h | ||
| surfaceflinger_layer_fuzzer.cpp | ||
| surfaceflinger_scheduler_fuzzer.cpp | ||
| surfaceflinger_scheduler_fuzzer.h | ||
README.md
Fuzzers for SurfaceFlinger
Table of contents
Fuzzer for SurfaceFlinger
SurfaceFlinger supports the following data sources:
- Pixel Formats (parameter name:
defaultCompositionPixelFormat) - Data Spaces (parameter name:
defaultCompositionDataspace) - Rotations (parameter name:
internalDisplayOrientation) - Surface composer tags (parameter name:
onTransact)
You can find the possible values in the fuzzer's source code.
Steps to run
- Build the fuzzer
$ mm -j$(nproc) surfaceflinger_fuzzer
- To run on device
$ adb sync data
$ adb shell /data/fuzz/arm64/surfaceflinger_fuzzer/surfaceflinger_fuzzer
Fuzzer for DisplayHardware
DisplayHardware supports the following parameters:
- Hal Capability (parameter name:
hasCapability) - Hal BlendMode (parameter name:
setBlendMode) - Hal Composition (parameter name:
setCompositionType) - Hal Display Capability (parameter name:
hasDisplayCapability) - Composition Types (parameter name:
prepareFrame) - Color Modes (parameter name:
setActiveColorMode) - Render Intents (parameter name:
setActiveColorMode) - Power Modes (parameter name:
setPowerMode) - Content Types (parameter name:
setContentType) - Data Space (parameter name:
setDataspace) - Transforms (parameter name:
setLayerTransform)
You can find the possible values in the fuzzer's source code.
Steps to run
- Build the fuzzer
$ mm -j$(nproc) surfaceflinger_displayhardware_fuzzer
- Run on device
$ adb sync data
$ adb shell /data/fuzz/arm64/surfaceflinger_displayhardware_fuzzer/surfaceflinger_displayhardware_fuzzer
Fuzzer for Scheduler
Scheduler supports the following parameters:
- VSync Periods (parameter name:
lowFpsPeriod)
You can find the possible values in the fuzzer's source code.
Steps to run
- Build the fuzzer
$ mm -j$(nproc) surfaceflinger_scheduler_fuzzer
- To run on device
$ adb sync data
$ adb shell /data/fuzz/arm64/surfaceflinger_scheduler_fuzzer/surfaceflinger_scheduler_fuzzer
Fuzzer for Layer
Layer supports the following parameters:
- Display Connection Types (parameter name:
fakeDisplay) - State Sets (parameter name:
traverseInZOrder) - State Subsets (parameter name:
prepareCompositionState) - Disconnect modes (parameter name:
disconnect) - Data Spaces (parameter name:
setDataspace)
You can find the possible values in the fuzzer's source code.
Steps to run
- Build the fuzzer
$ mm -j$(nproc) surfaceflinger_layer_fuzzer
- Run on device
$ adb sync data
$ adb shell /data/fuzz/arm64/surfaceflinger_layer_fuzzer/surfaceflinger_layer_fuzzer