...
 
Commits (4)
    https://gitcode.net/pureGavin/syzkaller/-/commit/e2a77acd2907882678830511d76d1d9f70b9fa56 dashboard: optimize patch test job generation 2023-05-31T15:12:08+02:00 Aleksandr Nogikh nogikh@google.com Query bugs for all related syz-managers, but deduplicate the results after that. It should lead to fewer examined bugs and, hopefully, to fewer CONCURRENT_TRANSACTION errors. https://gitcode.net/pureGavin/syzkaller/-/commit/3ddd77a0a11ca9ac6ecb58ef8ee788cd5367f952 dashboard: use correct links to subsystem's fixed bugs 2023-05-31T15:31:17+02:00 Aleksandr Nogikh nogikh@google.com Subsystems are now part of labels. Fix the forgotten piece of code. https://gitcode.net/pureGavin/syzkaller/-/commit/babc43895723dd9cfadab49eeb039b9e06b89af7 docs: add KIT reference 2023-05-31T15:41:17+02:00 Congyu Liu 32605334+Congyu-Liu@users.noreply.github.com https://gitcode.net/pureGavin/syzkaller/-/commit/a4ae4f428721da42ac15f07d6f3b54584dedee27 dashboard: add ChromeOS 6.1 configs (#3932) 2023-06-01T06:56:38-07:00 Aleksandr Nogikh nogikh@google.com
...@@ -345,7 +345,9 @@ func createPatchTestingJobs(c context.Context, managers map[string]dashapi.Manag ...@@ -345,7 +345,9 @@ func createPatchTestingJobs(c context.Context, managers map[string]dashapi.Manag
managersList = append(managersList, decommissionedInto(name)...) managersList = append(managersList, decommissionedInto(name)...)
} }
managersList = unique(managersList) managersList = unique(managersList)
r := rand.New(rand.NewSource(timeNow(c).UnixNano()))
var allBugs []*Bug
var allBugKeys []*db.Key
for _, mgrName := range managersList { for _, mgrName := range managersList {
bugs, bugKeys, err := loadAllBugs(c, func(query *db.Query) *db.Query { bugs, bugKeys, err := loadAllBugs(c, func(query *db.Query) *db.Query {
return query.Filter("Status=", BugStatusOpen). return query.Filter("Status=", BugStatusOpen).
...@@ -366,22 +368,27 @@ func createPatchTestingJobs(c context.Context, managers map[string]dashapi.Manag ...@@ -366,22 +368,27 @@ func createPatchTestingJobs(c context.Context, managers map[string]dashapi.Manag
} }
return true return true
}) })
r.Shuffle(len(bugs), func(i, j int) { allBugs = append(allBugs, bugs...)
bugs[i], bugs[j] = bugs[j], bugs[i] allBugKeys = append(allBugKeys, bugKeys...)
bugKeys[i], bugKeys[j] = bugKeys[j], bugKeys[i] }
}) r := rand.New(rand.NewSource(timeNow(c).UnixNano()))
// Also shuffle the creator functions. // Bugs often happen on multiple instances, so let's filter out duplicates.
funcs := []func(context.Context, []*Bug, []*db.Key, allBugs, allBugKeys = uniqueBugs(allBugs, allBugKeys)
map[string]dashapi.ManagerJobs) (*Job, *db.Key, error){ r.Shuffle(len(allBugs), func(i, j int) {
createPatchRetestingJobs, allBugs[i], allBugs[j] = allBugs[j], allBugs[i]
createTreeTestJobs, allBugKeys[i], allBugKeys[j] = allBugKeys[j], allBugKeys[i]
} })
r.Shuffle(len(funcs), func(i, j int) { funcs[i], funcs[j] = funcs[j], funcs[i] }) // Also shuffle the creator functions.
for _, f := range funcs { funcs := []func(context.Context, []*Bug, []*db.Key,
job, jobKey, err := f(c, bugs, bugKeys, managers) map[string]dashapi.ManagerJobs) (*Job, *db.Key, error){
if job != nil || err != nil { createPatchRetestingJobs,
return job, jobKey, err createTreeTestJobs,
} }
r.Shuffle(len(funcs), func(i, j int) { funcs[i], funcs[j] = funcs[j], funcs[i] })
for _, f := range funcs {
job, jobKey, err := f(c, allBugs, allBugKeys, managers)
if job != nil || err != nil {
return job, jobKey, err
} }
} }
return nil, nil, nil return nil, nil, nil
...@@ -1476,3 +1483,20 @@ func makeJobInfo(c context.Context, job *Job, jobKey *db.Key, bug *Bug, build *B ...@@ -1476,3 +1483,20 @@ func makeJobInfo(c context.Context, job *Job, jobKey *db.Key, bug *Bug, build *B
} }
return info return info
} }
func uniqueBugs(inBugs []*Bug, inKeys []*db.Key) ([]*Bug, []*db.Key) {
var bugs []*Bug
var keys []*db.Key
dups := map[string]bool{}
for i, bug := range inBugs {
hash := bug.keyHash()
if dups[hash] {
continue
}
dups[hash] = true
bugs = append(bugs, bug)
keys = append(keys, inKeys[i])
}
return bugs, keys
}
...@@ -1114,7 +1114,10 @@ func createUISubsystem(ns string, item *subsystem.Subsystem, cached *Cached) *ui ...@@ -1114,7 +1114,10 @@ func createUISubsystem(ns string, item *subsystem.Subsystem, cached *Cached) *ui
}, },
Fixed: uiSubsystemStats{ Fixed: uiSubsystemStats{
Count: stats.Fixed, Count: stats.Fixed,
Link: html.AmendURL("/"+ns+"/fixed", "subsystem", item.Name), Link: html.AmendURL("/"+ns+"/fixed", "label", BugLabel{
Label: SubsystemLabel,
Value: item.Name,
}.String()),
}, },
} }
} }
......
# Copyright 2021 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
kernel:
repo: https://chromium.googlesource.com/chromiumos/third_party/kernel
# HEAD of chromeos-6.1 branch.
tag: 648e4589ec3e42719df5ce9f27240ff22c22361d
shell:
- CHROMEOS_KERNEL_FAMILY=chromeos chromeos/scripts/prepareconfig chromiumos-x86_64 ${BUILDDIR}/.config
- make olddefconfig
config:
- IO_URING
...@@ -9,7 +9,7 @@ config: ...@@ -9,7 +9,7 @@ config:
- PKGLIST - PKGLIST
- PKGLIST_USE_CONFIGFS - PKGLIST_USE_CONFIGFS
- ESD_FS - ESD_FS
- INCREMENTAL_FS: [-chromeos-5.15] #incrementalfs absent in 5.15 - INCREMENTAL_FS: [-chromeos-5.15, -chromeos-6.1] #incrementalfs absent in 5.15
- VIRTIO_FS - VIRTIO_FS
- VIRTIO_WL - VIRTIO_WL
- USB_CONFIGFS: [override] - USB_CONFIGFS: [override]
......
此差异已折叠。
此差异已折叠。
...@@ -31,6 +31,7 @@ instances: ...@@ -31,6 +31,7 @@ instances:
- chromeos-5.4: [chromeos, chromeos-5.4, nodefconfig, x86_64, timeouts_native, onlyusb, kasan] - chromeos-5.4: [chromeos, chromeos-5.4, nodefconfig, x86_64, timeouts_native, onlyusb, kasan]
- chromeos-5.10: [chromeos, chromeos-5.10, nodefconfig, x86_64, timeouts_native, onlyusb, kasan] - chromeos-5.10: [chromeos, chromeos-5.10, nodefconfig, x86_64, timeouts_native, onlyusb, kasan]
- chromeos-5.15: [chromeos, chromeos-5.15, nodefconfig, x86_64, timeouts_native, onlyusb, kasan] - chromeos-5.15: [chromeos, chromeos-5.15, nodefconfig, x86_64, timeouts_native, onlyusb, kasan]
- chromeos-6.1: [chromeos, chromeos-6.1, nodefconfig, x86_64, timeouts_native, onlyusb, kasan]
- cos-5.15-kasan: [cos, cos-5.15, x86_64, clang, nodefconfig, baseline, timeouts_native, nonoise, kasan] - cos-5.15-kasan: [cos, cos-5.15, x86_64, clang, nodefconfig, baseline, timeouts_native, nonoise, kasan]
- cos-5.15-arm64-kasan: [cos, cos-5.15, arm64, clang, nodefconfig, baseline, timeouts_native, nonoise, kasan] - cos-5.15-arm64-kasan: [cos, cos-5.15, arm64, clang, nodefconfig, baseline, timeouts_native, nonoise, kasan]
- cos-6.1-kasan: [cos, cos-6.1, x86_64, clang, nodefconfig, baseline, timeouts_native, nonoise, kasan] - cos-6.1-kasan: [cos, cos-6.1, x86_64, clang, nodefconfig, baseline, timeouts_native, nonoise, kasan]
...@@ -90,5 +91,6 @@ includes: ...@@ -90,5 +91,6 @@ includes:
- chromeos-5.4.yml: [chromeos-5.4] - chromeos-5.4.yml: [chromeos-5.4]
- chromeos-5.10.yml: [chromeos-5.10] - chromeos-5.10.yml: [chromeos-5.10]
- chromeos-5.15.yml: [chromeos-5.15] - chromeos-5.15.yml: [chromeos-5.15]
- chromeos-6.1.yml: [chromeos-6.1]
- cos-5.15.yml: [cos-5.15] - cos-5.15.yml: [cos-5.15]
- cos-6.1.yml: [cos-6.1] - cos-6.1.yml: [cos-6.1]
# Research work based on syzkaller # Research work based on syzkaller
_newer first_ _newer first_
* [KIT: Testing OS-Level Virtualization for Functional Interference Bugs](https://doi.org/10.1145/3575693.3575731)
* [SyzDescribe: Principled, Automated, Static Generation of Syscall Descriptions for Kernel Drivers](https://github.com/seclab-ucr/SyzDescribe) * [SyzDescribe: Principled, Automated, Static Generation of Syscall Descriptions for Kernel Drivers](https://github.com/seclab-ucr/SyzDescribe)
* [GREBE: Unveiling Exploitation Potential for Linux Kernel Bugs](https://zplin.me/papers/GREBE.pdf) * [GREBE: Unveiling Exploitation Potential for Linux Kernel Bugs](https://zplin.me/papers/GREBE.pdf)
* [Precise Detection of Kernel Data Races with Probabilistic Lockset Analysis](https://www.cs.columbia.edu/~gabe/files/oakland2023_pla.pdf) * [Precise Detection of Kernel Data Races with Probabilistic Lockset Analysis](https://www.cs.columbia.edu/~gabe/files/oakland2023_pla.pdf)
......