aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
Commit message (Collapse)AuthorAgeFilesLines
* sys/linux: narrow down search spaceZubin Mithra2023-05-171-5/+5
|
* sys/linux: tweak fields of drm_msm_gem_submitZubin Mithra2023-05-171-1/+1
|
* sys/linux: add constant MSM_SUBMIT_FENCE_SN_IN for drm_msm_gem_submit.argsZubin Mithra2023-05-172-1/+2
|
* sys/linux: add flags for drm_msm_wait_fenceZubin Mithra2023-05-172-1/+3
|
* sys/linux: add MSM_PREP_BOOST to msm_gem_cpu_prep_flagsZubin Mithra2023-05-171-1/+1
|
* sys/linux: add description for ioctl$DRM_IOCTL_MSM_SET_PARAMZubin Mithra2023-05-172-4/+37
| | | | Add flag values and update constants.
* sys/linux: specify msm_fence_id as a resourceZubin Mithra2023-05-171-3/+4
|
* sys/linux: dev_dri.txt updates (#3856)Stephen Boyd2023-05-052-63/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sys/linux: fix count_encoders The count_encoders field gives the length of the encoders_ptr field, not count_modes field. * sys/linux: make modes_ptr array of drm_mode_modeinfo structures The modes_ptr is actually some number of drm_mode_modeinfo structures, so make the array be properly sized. * sys/linux: make drm_crtc_id into a resource Calling the DRM_IOCTL_MODE_GETRESOURCES ioctl gets you available crtc ids. Make a resource for drm_crtc_id and use it instead of trying to guess the random number. Mark ioctl$DRM_IOCTL_MODE_GETPLANE as inout as well so that we know it outputs a drm_crtc_id. * sys/linux: make encoder_id into a resource Make a resource for the encoder_id so that the DRM_IOCTL_MODE_GETCONNECTOR ioctl can generate encoder ids. Otherwise you have to hope that the random int32 matches the allocated number from the kernel's idr. * sys/linux: make prop_id into a resource The DRM_IOCTL_MODE_GETCONNECTOR can be used to get available properties and their ids. Otherwise you have to hope that the random int32 matches the allocated number from the kernel's idr. Make this into a resource so it can be used in other places as a known value. * sys/linux: make connector_id into a resource Use the DRM_IOCTL_GETRESOURCES ioctl to get the connector id. Make the id into a resource so it can be used throughout instead of guessing the int32. Similarly mark DRM_IOCTL_GETRESOURCES pointer argument as 'inout' because the whole structure is an output that is used to get the resources associated with a card (or fd_dri). * sys/linux: make fb_id into a resource Use the DRM_IOCTL_GETRESOURCES ioctl to get the framebuffer id. Make the id into a resource so it can be used throughout instead of guessing the int32. * sys/linux: make a resource for base drm mode object The drm UAPI treats an object id as generic int32 in the DRM_IOCTL_MODE_OBJ_GETPROPERTIES ioctl. You use the id along with the type field to find the properties associated with a particular object. Make the object id be the base int32 that all other drm mode objects inherit from. * sys/linux: split DRM get/set crtc ioctls into two These ioctls use the same structure but in the "get" case everything besides the crtc_id is an output and the set_connectors_ptr is unused. Split the ioctls into two so we can describe the differences. * sys/linux: drm's DRM_IOCTL_VERSION takes an inout pointer This is actually an inout pointer. Mark it as such although this probably won't really do much because no resource is created by this ioctl. * sys/linux: indicate in and out for DRM_IOCTL_IRQ_BUSID Mark the structure argument to this ioctl as inout and indicate that the irq is the only element that is an output. This clarifies how this ioctl works, although it is deprecated and is largely useless. * sys/linux: handles for drm_mode_fb_cmd2 are GEM handles The handles member of drm_mode_fb_cmd2 is an array of 4 drm_gem_handle resources. Mark it as such. * sys/linux: mark pointer to DRM_IOCTL_MODE_GETPLANERESOURCES inout This ioctl is inout, because it gets the number of planes and their ids. * sys/linux: add DRM_IOCTL_MODE_GETFB2 ioctl This ioctl is missing from dev_dri.txt
* sys/linux: add CET(Control-flow Enforcement Technology) user space ↵Pengfei Xu2023-05-041-0/+27
| | | | | | | | | | | | | | | SHSTK(Shadow Stack) test file CET(Control-flow Enforcement Technology) is a security feature that includes shadow stack and end branch to prevent ROP(Return Oriented programming)/JOP (Jump Oriented Programming) attack from the root cause. User space SHSTK which prevents ROP attack for user space process is in Linux tip repo: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=x86/shstk Add CET user space SHSTK test file in syzkaller to cover related fuzzing tests. Signed-off-by: Pengfei Xu <pengfei.xu@intel.com>
* sys/linux/test: add a regression test for sendmmsg bugDmitry Vyukov2023-04-181-0/+4
| | | | | Add a regression test for: https://github.com/torvalds/linux/commit/1c5950fc6fe996235f1d18539b9c6b64b597f50f
* sys/linux: describe submit queue id as a resource in msmStephen Boyd2023-04-141-5/+6
| | | | | | | The msm gpu driver has a submit queue and some associated ioctls for it. The driver uses an 'id' to identify an element in the queue. Make a resource for this id and update the descriptions to use the resource so we can provide better hints about what sorts of numbers to try here.
* sys/linux: remove outdated comment in msmStephen Boyd2023-04-121-5/+0
| | | | This comment is no longer relevant once we removed fd_msm_fence.
* sys/linux: mark drm_msm_gem_new 'handle' as outStephen Boyd2023-04-121-1/+1
| | | | | The handle is an output value, used for other gem handle inputs. Mark it as such to clarify where gem handles come from.
* sys/linux: add prog for 2 iommufd ioctl syscallsyantingj2023-04-071-0/+5
| | | | | | | Add test program for ioctl$IOMMU_TEST_OP_MD_CHECK_MAP and ioctl$IOMMU_TEST_OP_MD_CHECK_REFS to hit them quickly. Signed-off-by: yantingj <yanting.jiang@intel.com>
* sys/linux: add syz_pkey_set syscallsDmitry Vyukov2023-04-032-0/+12
| | | | The syscall sets PKRU register which is part of protection keys (pkey).
* sys/linux: add LAM descriptionsDmitry Vyukov2023-04-034-0/+16
|
* sys/linux: add descriptions of arch_prctl(XCOMP)Dmitry Vyukov2023-04-032-0/+11
|
* sys/linux: add descriptions of PTRACE_SETSIGMASKDmitry Vyukov2023-04-032-0/+4
|
* sys/linux: add description of PTRACE_ARCH_PRCTLDmitry Vyukov2023-04-032-0/+29
|
* sys/linux: add map_shadow_stack syscall descriptionsDmitry Vyukov2023-04-034-0/+16
|
* sys/linux: add set_mempolicy_home_node syscall descriptionDmitry Vyukov2023-04-032-0/+2
|
* sys/linux: add quotactl_fd syscall descriptionsDmitry Vyukov2023-04-032-0/+11
|
* sys/linux: improve quotactl syscall descriptionDmitry Vyukov2023-04-034-2/+121
|
* sys/linux: update consts to next-20230331Dmitry Vyukov2023-04-0310-14/+27
|
* sys/linux: add 2 new iommufd ioctl syscall descriptionsPengfei Xu2023-03-142-0/+24
| | | | | | | | | | | | | | | | | | | | | | Background: Linux kernel v6.2-rc1 and later versions have merged IOMMU_TEST_OP_MD_CHECK_MAP and IOMMU_TEST_OP_MD_CHECK_REFS ioctl syscalls: https://elixir.bootlin.com/linux/v6.2-rc1/source/drivers/iommu/iommufd/iommufd_test.h#L13 The Problem: Syzkaller accidentally found a bug related to IOMMU_TEST_OP_MD_CHECK_REFS after about 3 weeks fuzzing, and Jason Gunthorpe fixed it after the issue report: Reported link: https://lore.kernel.org/all/Y%2FhOiilV1wJvu%2FHv@xpf.sh.intel.com/ Final fixed patch: https://lore.kernel.org/linux-iommu/0-v1-95390ed1df8d+8f-iommufd_mock_overflow_jgg@nvidia.com/ The Improvement: Let syzkaller hit IOMMU_TEST_OP_MD_CHECK_MAP and IOMMU_TEST_OP_MD_CHECK_REFS related syscalls easily and quickly, add these 2 new iommufd ioctl syscall descriptions: 1. ioctl$IOMMU_TEST_OP_MD_CHECK_MAP(...); 2. ioctl$IOMMU_TEST_OP_MD_CHECK_REFS(...). Signed-off-by: Pengfei Xu <pengfei.xu@intel.com>
* sys/linux: add arm constants for camxHidenori Kobayashi2023-02-242-45/+46
|
* all: tools/syz-env make generate resultTaras Madan2023-02-241-2/+4
|
* prog: reject escaping filenames during deserializationDmitry Vyukov2023-02-161-1/+1
| | | | | | | | We already try as hard as possible to not generate escaping (global) filenames. However, it's possible we read them from the corpus if it happens to contain some. Also check for escaping filenames during deserialization. Fixes #3678
* sys/linux: add descriptions for camx driverHidenori Kobayashi2023-02-142-0/+229
|
* tools/syz-imagegen: fill fake images with unique constsDmitry Vyukov2022-12-2214-28/+28
| | | | | Fill fake images with unique 4-byte values. This allows hints mutation to easily guess magic numbers and checksums.
* prog: move image extraction from sys/linuxDmitry Vyukov2022-12-227-207/+0
| | | | | | Now that images are not linux-specific, we can move all image-related logic directly into prog package and significantly simplify the logic.
* pkg/image: factor out from progDmitry Vyukov2022-12-221-1/+2
| | | | | | | Move image compression-related function to a separate package. In preperation for subsequent changes that make decompression more complex. Prog package is already large and complex. Also makes running compression tests/benchmarks much faster.
* sys/linux: add MADV_COLLAPSE descriptionZach O'Keefe2022-12-082-1/+2
| | | | MADV_COLLAPSE was added to Linux in 6.1.
* sys/linux: fix nfs mountingDmitry Vyukov2022-11-281-2/+6
| | | | NFS is not image-based filesystem.
* sys/linux: fix afs mountingDmitry Vyukov2022-11-282-8/+21
| | | | | afs is not image-based filesystems. It accepts some server/cell as source argument.
* sys/linux: use common mount options in syz_mount_imageDmitry Vyukov2022-11-281-4/+6
| | | | | Common options like ro/rw/sync/async can be used with any mount. Add them to the options used by syz_mount_image.
* sys/linux: add few new filesystem namesDmitry Vyukov2022-11-281-1/+1
| | | | These are now present in the syzbot kernel (see /proc/filesystems).
* sys/linux: fix pvfs2 mountDmitry Vyukov2022-11-282-7/+10
| | | | It's not image-based filesystem.
* sys/linux: add comments about zonefs/ubifs mountingDmitry Vyukov2022-11-281-2/+13
|
* prog: don't materialize uncompressed image in DeserializeDmitry Vyukov2022-11-251-3/+3
| | | | | | | | | | Currently we uncompress all images in Deserialize to check that the data is valid. As the result deserializing all seeds we have takes ~40 seconds of real time and ~125 seconds of CPU time. And we do this during every syz-manager start. Don't materialize the uncompressed image. This reduces real time to ~15 seconds and CPU time to 18 seconds (no garbage collections). In syz-manager the benefit is even larger since garbage collections take longer (larger heap).
* tools/syz-imagegen: generate fake empty images for all filesystemsDmitry Vyukov2022-11-2516-0/+96
| | | | | Since syz_mount_image calls are no_generate we need to add at least some empty seeds for all for filesystems.
* tools/syz-imagegen: add msdos filesystemDmitry Vyukov2022-11-2460-0/+360
|
* tools/syz-imagegen: add hfs and hfsplus filesystemsDmitry Vyukov2022-11-2416-0/+96
|
* sys/linux: refine BLKPG ioctlDmitry Vyukov2022-11-242-3/+18
| | | | | This ioctl accepts blkpg_partition struct: https://elixir.bootlin.com/linux/v6.1-rc6/source/block/ioctl.c#L20
* sys/linux: increase syz_read_part_table timeoutDmitry Vyukov2022-11-231-1/+1
| | | | In my runs these calls take 80-100ms, so increase it to 200ms.
* sys/linux/test: add syz_read_part_table seedsDmitry Vyukov2022-11-238-0/+48
|
* sys/linux/test: regenerate syz_mount_image seedsDmitry Vyukov2022-11-23628-628/+628
|
* executor: don't pass uncompressed zlib sizeDmitry Vyukov2022-11-2310-75/+68
| | | | | | This will allow us to mutate the image size. Fixes #3527
* sys/linux: fix syz_mount_image$fuse signatureDmitry Vyukov2022-11-231-1/+1
| | | | | | | | Fuse does not need an image and we don't pass image size anyway. But we still pass/mutate an image. Moreover with the no_generate attribute we can't call it at all since we don't have seeds. Fix that.
* sys/linux/init_alg_test.go: change package name to linux_test (#3540)Taras Madan2022-11-221-1/+1
| | | It is an external test. It uses only exported "linux" package functions.