diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2022-06-02 08:51:57 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2022-06-02 11:48:31 +0200 |
| commit | ff1f215e653ff17702cc30338944a018bf976486 (patch) | |
| tree | 6f9e875e9fc137f4f45c2d4454ca26c62c181d5f | |
| parent | 5783034f220fa03dd9407034a4804be5890c3377 (diff) | |
Revert "sys/linux: remove ashmem"
This reverts commit 7d6ce61334a1437f59d058959ef93071446706f8.
Ashmem is removed upstream, but it's still present in LTS 5.4/10 kernels.
Add "meta noextract" to the file instead to prevent extract errors.
| -rw-r--r-- | sys/linux/dev_ashmem.txt | 30 | ||||
| -rw-r--r-- | sys/linux/dev_ashmem.txt.const | 13 |
2 files changed, 43 insertions, 0 deletions
diff --git a/sys/linux/dev_ashmem.txt b/sys/linux/dev_ashmem.txt new file mode 100644 index 000000000..5e28b9cbb --- /dev/null +++ b/sys/linux/dev_ashmem.txt @@ -0,0 +1,30 @@ +# Copyright 2017 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. + +# Ashmem was removed in v5.18: +# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=721412ed3d819e767cac2b06646bf03aa158aaec +# but still present in LTS 5.4/10 kernels which we want to support for some time. +# Extract now fails due to missing headers. +meta noextract + +include <asm/ioctl.h> +include <uapi/linux/fcntl.h> +include <drivers/staging/android/uapi/ashmem.h> + +resource fd_ashmem[fd] + +openat$ashmem(fd const[AT_FDCWD], file ptr[in, string["/dev/ashmem"]], flags flags[open_flags], mode const[0]) fd_ashmem + +ioctl$ASHMEM_SET_NAME(fd fd_ashmem, cmd const[ASHMEM_SET_NAME], arg ptr[in, string]) +ioctl$ASHMEM_GET_NAME(fd fd_ashmem, cmd const[ASHMEM_GET_NAME], arg ptr[out, array[int8]]) +ioctl$ASHMEM_SET_SIZE(fd fd_ashmem, cmd const[ASHMEM_SET_SIZE], arg intptr) +ioctl$ASHMEM_GET_SIZE(fd fd_ashmem, cmd const[ASHMEM_GET_SIZE], arg const[0]) +ioctl$ASHMEM_SET_PROT_MASK(fd fd_ashmem, cmd const[ASHMEM_SET_PROT_MASK], arg ptr[in, ashmem_pin]) +ioctl$ASHMEM_GET_PROT_MASK(fd fd_ashmem, cmd const[ASHMEM_GET_PROT_MASK], arg ptr[out, ashmem_pin]) +ioctl$ASHMEM_GET_PIN_STATUS(fd fd_ashmem, cmd const[ASHMEM_GET_PIN_STATUS], arg const[0]) +ioctl$ASHMEM_PURGE_ALL_CACHES(fd fd_ashmem, cmd const[ASHMEM_PURGE_ALL_CACHES], arg const[0]) + +ashmem_pin { + offset int32 + len int32 +} diff --git a/sys/linux/dev_ashmem.txt.const b/sys/linux/dev_ashmem.txt.const new file mode 100644 index 000000000..7f2b28158 --- /dev/null +++ b/sys/linux/dev_ashmem.txt.const @@ -0,0 +1,13 @@ +# Code generated by syz-sysgen. DO NOT EDIT. +arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x +ASHMEM_GET_NAME = 2164291330, mips64le:ppc64le:1090549506 +ASHMEM_GET_PIN_STATUS = 30473, mips64le:ppc64le:536901385 +ASHMEM_GET_PROT_MASK = 30470, mips64le:ppc64le:536901382 +ASHMEM_GET_SIZE = 30468, mips64le:ppc64le:536901380 +ASHMEM_PURGE_ALL_CACHES = 30474, mips64le:ppc64le:536901386 +ASHMEM_SET_NAME = 1090549505, mips64le:ppc64le:2164291329 +ASHMEM_SET_PROT_MASK = 1074296581, 386:arm:1074034437, mips64le:ppc64le:2148038405 +ASHMEM_SET_SIZE = 1074296579, 386:arm:1074034435, mips64le:ppc64le:2148038403 +AT_FDCWD = 18446744073709551516 +__NR_ioctl = 54, amd64:16, arm64:riscv64:29, mips64le:5015 +__NR_openat = 56, 386:295, amd64:257, arm:322, mips64le:5247, ppc64le:286, s390x:288 |
