-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Users need better access to reproducers. #5345
Comments
We have a tools/syz-reprolist created for this purpose. It currently uses the dashAPI and requires client names + access keys. The proposal is to:
|
Do you consider doing just raw export, or something that does regression testing out-of-the-box? If we export them (which is required for export form non-public namespaces), then the current auth can work as well. "gcloud auth login" is a bit handier, but not a game changer. What would be a game changer is fully automated periodic export. +there is an unresolved problem with missing C repros in lots of cases. syz-reprolist is slow and unreliable (may be broken already). I think we should keep C repros in datastore rather than re-create. |
For filtering purposes we could also annotate exported reproducers with some metadata (subsystem, expected running time, bug type, etc). There will be lots of reproducers (tens of thousands), so users may want to invoke some subsets of tests (faster ones, or for more critical bug types only). Runner program could accept these filter and run corresponding subsets. |
I want the user to get a C reproducers collection like https://github.com/dvyukov/syzkaller-repros.
What do you mean? I want every syz-reprolist call to create the latest snapshot. |
+1. Maybe even to some git repository exactly like it was done manually before.
But for older ones we'd still have to invoke older |
Pro:
Contra:
|
Is it OK to export tens of thousands of reproducers each time? I was thinking of checking them into a git repo. |
Yes, either ignore, or upload once what we can easily recover. |
I would export into a single repo all reproducers that were obtained on kernels with public source code.
Don't track. I not sure raw number of API invocations is very important. Users may still cache result on their side, then the number will be low. Or they can pull it every minute, but what's the impact of that.
I would concentrate on end user use cases. This looks like a minor impl detail. Not writing several dozens lines of code to sacrifice user experience and adoption does not looks like a good tradeoff. |
6k_repros.tar.gz from https://github.com/dvyukov/syzkaller-repros is 28 megabytes. |
@gkennedy12 also periodically asks for updates (which unfortunately slept through the cracks). |
Thanks for the inputs. Let's try once more! Something like this:
|
What's the use case for separating them by namespace?
|
What is it about? |
Detect that they triggered a bug. Lots of kernel test suites just run tests and then ignore actual bugs they provoked in the kernel, so tests look like passing. |
https://github.com/syzbot-noreply is now registered to perform the bot operations. |
It was me. |
We have lots of the required logic in syzkaller already. It could be a new syz-manager/execprog mode. But on the other hand, it may complicate things for users. Not sure what's the right balance. |
#5374 to continuously export the reproducers |
Motivation:
The text was updated successfully, but these errors were encountered: