| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Do not tolerate unknown blob hashes - it means that we are unable to
find the correct base commit given the repository.
Explicitly ignore newly added files - we definitely won't find their
hashes.
Explicitly skip malformed patches that won't have any blob hashes -
otherwise we could end up with too many candidates and waste too much
time.
|
| |
|
|
|
| |
Return the commits that represent unique sets of branches.
Sort the list topologically, breaking ties by commit date.
|
| |
|
|
|
|
| |
Given a git diff, determine the latest commit where the modified files
still have the exact sha hashes they had at the moment the git patch was
created.
|
| |
|
|
|
| |
Add a commitChangeset() method to simplify setting up repository states
in tests.
|
| |
|
|
| |
Return not just the modified files, but also their blob hashes.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This should fix our broken bisections.
Closes #6136.
|
| |
|
|
| |
./tools/syz-env bin/golangci-lint run ./... --fix
|
| |
|
|
|
|
| |
What we need is the category for "matched unknown KASAN bug".
This king on bugs should be recategorised.
The final goal is to keep this category empty.
|
| |
|
|
| |
We want to prioritize KASAN bugs differently.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no sense to react to `git checkout` or `git fetch` which failed
due to network problems by re-cloning the whole repository - that
operation will fail just as well.
Detect at least one kind of such problems and just return an error from
the Poll() method, without wiping everything out.
For now, don't add tests as we would need some real remote git server
implementation to properly test it. Using a folder as a "remote"
repository, like we do in other tests, won't ever trigger networking
errors.
Closes #6099.
|
| |
|
|
|
|
|
| |
This partially reverts commit 43f51a00700e5960fc890e6c3d596846757bf29d
to restore vcs.TreeLink and html.SetGlobSearchPath.
This broke internal code.
|
| |
|
|
|
|
|
|
|
|
| |
Rename the method to LatestCommit and make it more flexible:
1) Return the commit date alongside the commit hash.
2) Rename the time filter to highlight that it's non-inclusive.
3) Make it possible to query the commits newer than the specified commit
hash.
It will let us poll lore archives more efficiently.
|
| |
|
|
|
| |
Otherwise we need to backport too many fix commits to address build/boot
errors.
|
| |
|
|
|
|
|
|
| |
The bug is easily triggerable during fuzzing / running reproducers and
it was present in torvalds for ~1.5 months.
Backport it when building these revisions in order to not derail the
bisections.
|
| |
|
|
|
| |
Otherwise we will not be able to bisect 3 months of Linux kernel
history.
|
| |
|
|
|
|
|
| |
The commit should fix the bisections for the period of 2-3 months.
See e.g. this failed bisection:
https://syzkaller.appspot.com/x/bisect.txt?x=124a9200580000
|
| | |
|
| |
|
|
|
| |
go install golang.org/x/tools/cmd/deadcode@latest
deadcode -test ./...
|
| |
|
|
| |
They are shorter, more readable, and don't require temp vars.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The current common vcs interface and its implementations are designed to
support a very big number of situations (git modules, cleaning up
complex state, etc), which is too heavy and restrictive when we just
need a thin wrapper over the git command that supports a few basic
operations.
Refactor pkg/vcs to split out the wrapper code from the big git
implementation of the vcs.Repo interface.
Export the wrapper to enable reuse in other parts of the system.
|
| |
|
|
| |
Support filtering by the commit date.
|
| |
|
|
|
|
| |
Invoke `jiri update` twice (once from the fuchsia
bootstrap script, then as a standalone command) when
initializing a new fuchsia checkout.
|
| |
|
|
| |
It unblocks the bisection for the period of Jan 2021-Mar 2021.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a temporary workaround for managing a
fuchsia checkout:
- Mark the repo as "precious" so that checkout
operations don't delete GN args and other build
configuration state. In a follow-up, this will
be replaced by a fuchsia-specific `repair` method
using `fx clean`.
- Checkout operations apply only to fuchsia.git, which
has a chance of creating inconsistencies between
versions of fuchsia and its dependencies. The main
poll workflow (using `jiri`) is not affected by this
problem, but bisection workflows may fail. This will
be fixed in a follow-up by checking out branches and
commits from fuchsia's global integration repo.
|
| |
|
|
| |
Co-authored-by: eep@google.com
|
| |
|
|
| |
Provide a functionality to extract the files affected by a git patch.
|
| | |
|
| |
|
|
| |
Add Commit.Patch with patch body.
|
| |
|
|
|
|
|
| |
Currently we have HeadCommit function that returns info
about the HEAD commit. Change it to a more flexible Commit
function that can return info about any commit.
This will be used in future changes.
|
| |
|
|
|
|
|
| |
Some commits don't live long remotely.
It sometimes happens we need them later to:
1. Merge coverage.
2. Mention during communication.
|
| |
|
|
|
| |
Every commit checkout takes >3 seconds.
Let's optimize this operation to save on large merges.
|
| |
|
|
|
| |
Lint started warning about duplicate "gvisor" const in pkg/cover.
Add gvisor/starnix consts to sys/targets package to avoid duplication.
|
| |
|
|
|
| |
Fix checking of Logf, it has string in 0-th arg.
Add checking of t.Errorf/Fatalf.
|
| |
|
|
|
|
|
| |
Akaros support is unused, it was shutdown on syzbot for a while,
the akaros development seems to be frozen for years as well.
We have a bunch of hacks for Akaros since it supported
only super old gcc and haven't supported Go. Remove it.
|
| |
|
|
|
|
|
|
|
|
|
| |
There's unfortunately no consistency in how mail.ParseAddress reacts to
parentheses in display names.
Versions before 1.22 used to keep them, 1.22+ cut them out.
For syzbot operation the difference is not very significant, but it makes
our tests too version dependent. Let's just omit parentheses from the
test cases.
|
| |
|
|
|
|
|
| |
Bisection should not fail if the Kconfig or the baseline config have issues.
Broken kernel sources might lead to issues when parsing Kconfig, ignore this and
proceed with the original config. If the baseline config is not parseable,
proceed anyway as this is an optional parameter to begin with.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The approach we used works perfectly for all commits, but they must be
referenced by the full 40 character hash. In almost all cases, users
would prefer to use the shorter one.
If the commit hash is not 40 characters long, fetch the whole git tree.
The only unsupported scenario is fetching a commit that is referenced by
custom refs/* by its short hash. It's unlikely there's anything we can
do here.
|
| |
|
|
|
|
|
|
|
| |
This should make syzkaller only fetch the commits relevant for further
processing. Also, specifying the exact commit/branch name to fetch
allows us to access commits from custom refs.
Test the new behaviour and double-check that remote tags fetch was not
broken.
|
| |
|
|
| |
It's not needed anymore.
|
| |
|
|
| |
To unblock #4285.
|
| |
|
|
|
|
|
|
|
|
| |
If the remote repo's tags conflict with the local ones, `git fetch` may
fail with `error: cannot lock ref %: % exists`.
It seems that the only way to restore the repository in this case is to
do `git fetch` with `--prune --prune-tags`. Since this also forces the
repository to forget all tags not present in the remote, let's do it
only when we got the error message.
|
| |
|
|
|
|
|
|
|
|
| |
For older bugs (or for bugs on stable trees), our cause bisection
strategy times out while trying to iterate over all reachable tags.
Try to be smarter and only take a subset of them, thus limiting the time
we spend detecting the bug-free release.
Closes #3376.
|
| |
|
|
| |
First check if the cmdline config is already present.
|
| |
|
|
|
|
|
|
|
|
| |
The following error appears when bisecting older Linux versions:
check.c: In function 'validate_call':
check.c:2865:58: error: '%d' directive output may be truncated
writing between 1 and 10 bytes into a region of size 9
[-Werror=format-truncation=]
2865 | snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
|
| |
|
|
| |
Also, slightly refactor the code to facilitate testing.
|
| |
|
|
|
|
|
|
| |
These backports are also specified in syz-ci configs, which are stored
as plain JSON files.
Add a special dummy field that will be used for remembering the
rationale for the backport as well as useful links.
|