aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/cover/backend/pc.go
Commit message (Collapse)AuthorAgeFilesLines
* sys/targets: add consts for gvisor/starnixDmitry Vyukov2024-05-271-2/+2
| | | | | Lint started warning about duplicate "gvisor" const in pkg/cover. Add gvisor/starnix consts to sys/targets package to avoid duplication.
* pkg/cover/backend: remove RestorePCDmitry Vyukov2024-05-271-2/+9
| | | | | | Now that PCs are 64-bit we don't need RestorePC callback. Now we can just use PreviousInstructionPC, which does not require creation of ReportGenerator.
* all: adapt all cover and sig to 64bitJoey Jiao2024-05-271-4/+0
| | | | | | | | | | | | | | | | | | Taken some arm64 devices for example: kaslr_offset is diff at bits 12-40, and kernel modules are loaded at 2GB space, so we have `ffffffd342e10000 T _stext` where uppper 32bit is ffffffd3. However, if we check modules range, the 1st module is loaded at 0xffffffd2eeb2a000, while the last module is loaded at 0xffffffd2f42c4000. We can see the upper 32bits are diff for core kernel and modules. If we use current 32bits for covered PC, we will get wrong module address recovered. So we need to move to 64bit cover and signal: - change cover/sig to 64bit to fit for syz-executor change - remove kernel upper base logic as kernel upper base is not a constant when kaslr enabled for core kernel and modules. - remove unused pcBase
* syz-manager: fix createCoverageBitmapKaipeng Zeng2021-04-141-0/+2
|
* pkg/cover: provide ReportGenerator.RestorePCDmitry Vyukov2020-12-131-0/+59
Better encapsulate all of this logic instead of exposing raw .text offset and a bunch of functions. Also allows to support gvisor coverage where PCs don't need to be rewound to previous instruction.