aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/manager/http.go
Commit message (Collapse)AuthorAgeFilesLines
* all: use any instead of interface{}Dmitry Vyukov2025-12-221-1/+1
| | | | Any is the preferred over interface{} now in Go.
* pkg/manager: omit fs images from big coverage reportsAleksandr Nogikh2025-11-031-14/+52
| | | | | | | | | In the presence of numerous program seeds that mount fs images, our html coverage reports end up being as big as 1GB, which makes it problematic to render/manipulate them in the web browser. Adjust coverage report generation: once the total size of program seeds exceeds 100MB, switch to the compact seed serialization mode.
* pkg/manager: add Rank column with tooltips to the main pageTaras Madan2025-08-281-9/+32
|
* pkg/manager: embed BugInfo into UICrashTypeAleksandr Nogikh2025-08-071-22/+10
| | | | This reduces the redundancy a bit.
* pkg/manager: display repro attemptsAleksandr Nogikh2025-08-071-20/+22
| | | | | | On the syz-manager's html dashboard, dispay the number of repro attempts per each bug. It will help distinguish the bugs where reproduction was attempted and failed from those that have never been reproduced yet.
* pkg/manager: display manager nameAleksandr Nogikh2025-07-311-0/+2
| | | | If the manager name is set, display it in the header.
* prog: generate choice table only for enabled callsAleksandr Nogikh2025-07-291-2/+10
| | | | | | | | | | | | | We used to generate a choice table and do its normalization for all present syscalls, also it was not considered during the /prio page generation. Enabled/disabled syscalls were accounted for in the choice table construction, but there's a chance that the resulting table was still somewhat skewed. The situation must have become worse after several thousands of auto syscalls were added.
* pkg/manager: export programs + coverage jsonlTaras Madan2025-02-281-0/+15
| | | | | The export is quite big but is generated fast. Every line is a valid json object representing the single program coverage.
* pkg/manager: keep-sort handlersTaras Madan2025-02-171-18/+20
|
* pkg/manager: accept context in the HTTP serverAleksandr Nogikh2025-01-231-6/+16
| | | | | It enables stopping the server. Also, replace some log.Fatalf calls by returning errors.
* pkg/manager: show bug first timeDmitry Vyukov2025-01-171-1/+5
| | | | | This allows to understand if a bug is new (found in the current run) or old.
* all: support empty HTTP configAleksandr Nogikh2025-01-141-0/+3
| | | | | | | | We don't really need an HTTP server when running syz-manager during kernel image testing and when running syz-diff automatically. Don't require the config to be set and don't start the HTTP server in this case.
* all: add /addcandidate rest api to upload new prog as candidateJoey Jiao2024-12-051-0/+41
| | | | | ex to upload prog to syzkaller: curl -s --noproxy 0.0.0.0 -F "file=@prog" http://0.0.0.0:8888/addcandidate
* pkg/manager: show number of times coverage for each call has overflowedDmitry Vyukov2024-11-201-11/+25
| | | | | If the overflows happen often, it's bad. Add visibility into this.
* pkg/manager: show number of programs that contain each syscallDmitry Vyukov2024-11-191-0/+14
| | | | | | | Currently we show number of programs that are added to the corpus b/c of a particular syscall. Also show total number of programs in the corpus that contain each syscall. This is different from the first thing.
* pkg/manager: rename action to toggleDmitry Vyukov2024-11-081-3/+3
|
* pkg/manager: move HTML code to separate filesDmitry Vyukov2024-11-081-342/+29
|
* pkg/manager: wrap stats page with the common headerDmitry Vyukov2024-11-081-1/+12
| | | | Add common manager HTML header to the stats page as well.
* syz-manager: add pause functionDmitry Vyukov2024-11-081-7/+21
| | | | | | | | | The pause function is useful to make manager stop consuming CPU for some time, e.g. when it runs on a shared machine, and a user wants to use CPU for something else. Previously one would need to kill the manager process and restart later to achieve this, but the restart is costly, and aborts all bug reproductions.
* pkg/manager: add common HTML page headerDmitry Vyukov2024-11-081-36/+98
| | | | | Add common HTML page header to every page. The header contains common tabs, and expert mode switch.
* pkg/manager: add common page header typeDmitry Vyukov2024-11-081-68/+93
| | | | | | Add common page header to every page. This is similar to how we do in the dashboard app, and it will allow to have a common HTML page header.
* pkg/manager: set more http fields before calling ServeDmitry Vyukov2024-11-071-22/+14
| | | | | | | | | Pools and ReproLoop and always created on start, so there is no need to support lazy set for them. It only complicates code and makes it harder to reason about. Also introduce vm.Dispatcher as an alias to dispatcher.Pool, as it's the only specialization we use in the project.
* pkg/manager: add test for all HTTP templatesDmitry Vyukov2024-11-071-23/+37
| | | | | | | | | It's easy to make mistakes in templates that lead to runtime panics. Catch them during testing. This required to convert some pointers to values for things that must not be nil. Otherwise the randomized test can pass nil for the objects and templates fail.
* pkg/manager: dedup HTML page creation codeDmitry Vyukov2024-11-071-78/+18
| | | | | | Add a common function that is used to create all HTML pages. This removes some duplication, and allows to prevent more duplication in future, and to keep things consistent.
* pkg/manager: move style to CSS fileDmitry Vyukov2024-11-071-11/+3
| | | | | | Move style from the template to the CSS file. This is how it's done in all other cases, and it will allow to unify more things in subsequent changes.
* pkg/corpus: move focus area configuration to the constructorAleksandr Nogikh2024-10-251-14/+49
| | | | | Set Corpus in HTTPServer dynamically. Refactor syz-manager and syz-diff accordingly.
* tools: add a syz-diff toolAleksandr Nogikh2024-10-251-10/+134
| | | | | | | | | | | | | | This is the prototype version of the patch series fuzzing functionality based on the syzkaller fuzzing engine. The tool takes two syzkaller configs -- one for the base kernel, one for the patched kernel. Optionally the patch itself can be also provided. syz-diff will consider a bug patched-only if: 1) It happened while fuzzing the patched kernel. 2) It was never observed on the base kernel. 3) The tool found a repro on the patched kernel. 4) The repro did not crash the base kernel.
* pkg/manager: support multiple pools in Web UIAleksandr Nogikh2024-10-251-7/+12
|
* pkg/manager: factor out the HTTP server codeAleksandr Nogikh2024-10-111-0/+1194
Decouple it from syz-manager. Remove a lot of no longer necessary mutex calls.