aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/kernel
Commit message (Collapse)AuthorAgeFilesLines
* pkg/build: move from pkg/kernelDmitry Vyukov2018-06-223-307/+0
| | | | Rename pkg/kernel to pkg/build and prepare for multi-OS support.
* pkg/kernel: pass CC to oldconfigDmitry Vyukov2018-06-071-1/+2
| | | | | Passing in compiler is important since 4.17 (at the very least it's noted in the config).
* pkg/kernel: allow to split full make outputDmitry Vyukov2018-05-171-2/+41
| | | | | | | | | | | Currently kernel build failures are insanely verbose (contain full kernel build output) and there is no way to separate short descriptions from full output. Make it possible. Also try to extract failure root cause froom build log. Use this in pkg/bisect to not pollute log on build failures. Update #501
* tools/create-gce-image.sh: support both nbd and loopDmitry Vyukov2018-05-172-12/+39
| | | | | Pass target OS/arch and VM type to kernel.CreateImage. Use nbd for gce and loop for qemu VM type.
* tools/create-gce-image.sh: support MKE2FS_CONFIGDmitry Vyukov2018-05-161-1/+1
|
* tools/create-gce-image.sh: revert loop to nbdDmitry Vyukov2018-05-141-8/+11
| | | | | | loop devices are nice, but unfortunately this creates images that does not boot on GCE. Reason is unclear. Revert back to nbd for now.
* pkg/kernel: use oldconfig instead of olddefconfigDmitry Vyukov2018-05-141-1/+3
| | | | | | See the added comment for motivation. Update #501
* pkg/kernel: accept kernel config as byte sliceDmitry Vyukov2018-05-141-2/+3
| | | | | | | | We usually have the config in memory, so saving it to disk is an unnecessary step. Accept byte slice directly. Update #501
* pkg/kernel: run distclean with -jNCPUDmitry Vyukov2018-05-141-1/+2
|
* tools/create-gce-image.sh: use loop instead of nbdDmitry Vyukov2018-05-141-15/+15
| | | | | | | | | | | loop is much more standard than nbd and does not require additional modules. nbd broke on Debian rolling. loop also allows parallel execution thanks to losetup -f. Use loop instead of nbd. Also improve cleanup logic and add one missing sudo. Update #501
* pkg/kernel: fix gometalinter warningDmitry Vyukov2018-04-231-4/+2
|
* syz-ci: clean kernel dir before patch test buildDmitry Vyukov2018-04-231-0/+12
| | | | | | | | | This leads to false errors when we are switching between gcc and clang: kernel build failed: failed to run /usr/bin/make [make bzImage -j 32 CC=/syzkaller/clang-kmsan/bin/clang]: exit status 2 arch/x86/Makefile:184: *** Compiler lacks asm-goto support.. Stop. Fixes #568
* sys/linux: test various binfmt's in execveDmitry Vyukov2018-04-021-0/+1
|
* sys/linux: add cgroup descriptionsDmitry Vyukov2018-03-251-0/+1
|
* all: fix gometalinter warningsDmitry Vyukov2018-03-082-5/+3
| | | | Fix typos, non-canonical code, remove dead code, etc.
* sys/linux: add binder descriptionsDmitry Vyukov2017-11-271-0/+4
|
* pkg/kernel: sandbox make invocationDmitry Vyukov2017-11-171-9/+18
|
* pkg/osutil: don't leace runaway processesDmitry Vyukov2017-11-161-6/+8
| | | | | | When manager is stopped there are sometimes runaway qemu processes still running. Set PDEATHSIG for all subprocesses. We never need child processes outliving parents.
* pkg/kernel: remove unused functionDmitry Vyukov2017-08-181-21/+0
|
* tools/create-gce-image.sh: explicitly specify target for grubDmitry Vyukov2017-08-111-1/+1
| | | | | | | | | On most distributions default grub target is i386-pc, which works. However, on some default is x86_64-efi, which fails with: grub-install: error: cannot find EFI directory. Explicitly specify i386-pc target.
* tools/create-gce-image.sh: ignore SIGINTDmitry Vyukov2017-07-171-0/+2
| | | | | | If the script is aborted at an unfortunate point, it leaves the whole system broken. E.g. we've seen that fdisk cannot update partition table until the next reboot. If you really need to kill it, use a different signal. But better wait.
* pkg/kernel: actually pass cmdline/sysctl files to the build scriptDmitry Vyukov2017-07-172-3/+10
|
* syz-ci: allow to specify cmdline/sysctlsDmitry Vyukov2017-07-172-5/+15
| | | | | Allow to specify per-kernel command line and sysctl values to more closely mimic the target kernel.
* all: use consistent file permissionsDmitry Vyukov2017-07-031-6/+5
| | | | | | | | | | | | | | | | Currently we have unix permissions for new files/dirs hardcoded throughout the code base. Some places use 0644, some - 0640, some - 0600 and a variety of other constants. Introduce osutil.MkdirAll/WriteFile that use the default permissions and use them throughout the code base. This makes permissions consistent and also allows to easily change the permissions later if we change our minds. Also merge pkg/fileutil into pkg/osutil as they become dependent on each other. The line between them was poorly defined anyway as both operate on files.
* pkg/email: move patch parsing from pkg/kernelDmitry Vyukov2017-06-302-375/+0
| | | | | | | | ParsePatch is used by appengine app. Appengine apps can't depend on syscall/unsafe, but pkg/kernel currently does. Move patch parsing to pkg/email which does not depend on syscall/unsafe.
* pkg/kernel: move partial config functionality into a separate functionDmitry Vyukov2017-06-201-22/+30
| | | | | | Move partial config functionality into BuildWithPartConfig. It is used only for syz-gce which will be removed soon. Provide a better interface for new continuous build system.
* pkg/kernel: reduce Build parallelismDmitry Vyukov2017-06-191-1/+1
| | | | | NumCPU*2 can create excessive number of subprocesses in the case machine is busy with other things as well.
* pkg/kernel: fix CreateImageDmitry Vyukov2017-06-191-2/+6
| | | | | - Move does not work across filesystems (i.e. tmpfs->disk) - set proper permissions for ssh key
* vm/gce: accept un-tar-ed imageDmitry Vyukov2017-06-172-19/+10
| | | | | | | | | | vm/gce differs from other VM types in that it accepts image in a weird, GCE-specific format (namely, image named disk.raw is put into .tar.gz file). This makes it impossible to write generic code that creates images for any VM types. Make vm/gce accept just image like e.g. vm/qemu and handle own specifics internally.
* pkg/kernel: add an option to provide full config for buildDmitry Vyukov2017-06-152-16/+24
| | | | | Normally config is applied on top of defconfig+kvmconfig. This allows to provide full config that is used unmodified.
* pkg/kernel: skip test if gcc is not in PATHDmitry Vyukov2017-06-141-1/+6
| | | | | gcc is not necessary available everywhere. Skip the test instead of failing it.
* syz-dash: move patch parsing to pkg/kernelDmitry Vyukov2017-06-142-0/+375
| | | | | Patch parsing is not dashboard-specific and can be reused by other programs.
* pkg/kernel: add CompilerIdentity functionDmitry Vyukov2017-06-032-0/+37
|
* pkg/kernel: add new packageDmitry Vyukov2017-06-032-0/+158
Move functionality to build kernel/image from syz-gce to a separate package.