122736c2fSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 222736c2fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 322736c2fSopenharmony_ci# you may not use this file except in compliance with the License. 422736c2fSopenharmony_ci# You may obtain a copy of the License at 522736c2fSopenharmony_ci# 622736c2fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 722736c2fSopenharmony_ci# 822736c2fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 922736c2fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1022736c2fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1122736c2fSopenharmony_ci# See the License for the specific language governing permissions and 1222736c2fSopenharmony_ci# limitations under the License. 1322736c2fSopenharmony_ci 1422736c2fSopenharmony_ci# For now, it supports architechture of ['arm', 'arm64']. 1522736c2fSopenharmony_ci 1622736c2fSopenharmony_ci@returnValue 1722736c2fSopenharmony_ciTRAP 1822736c2fSopenharmony_ci 1922736c2fSopenharmony_ci@headFiles 2022736c2fSopenharmony_ci<linux/sched.h> 2122736c2fSopenharmony_ci<stdint.h> 2222736c2fSopenharmony_ci 2322736c2fSopenharmony_ci@priority 2422736c2fSopenharmony_ciioctl;all 2522736c2fSopenharmony_cifutex;all 2622736c2fSopenharmony_ci 2722736c2fSopenharmony_ci@allowList 2822736c2fSopenharmony_ciio_setup;all 2922736c2fSopenharmony_ciio_destroy;all 3022736c2fSopenharmony_ciio_submit;all 3122736c2fSopenharmony_ciio_cancel;all 3222736c2fSopenharmony_ciio_getevents;all 3322736c2fSopenharmony_cisetxattr;all 3422736c2fSopenharmony_cilsetxattr;all 3522736c2fSopenharmony_cifsetxattr;all 3622736c2fSopenharmony_cigetxattr;all 3722736c2fSopenharmony_cilgetxattr;all 3822736c2fSopenharmony_cifgetxattr;all 3922736c2fSopenharmony_cilistxattr;all 4022736c2fSopenharmony_cillistxattr;all 4122736c2fSopenharmony_ciflistxattr;all 4222736c2fSopenharmony_ciremovexattr;all 4322736c2fSopenharmony_cilremovexattr;all 4422736c2fSopenharmony_cifremovexattr;all 4522736c2fSopenharmony_cigetcwd;all 4622736c2fSopenharmony_cieventfd2;all 4722736c2fSopenharmony_ciepoll_create1;all 4822736c2fSopenharmony_ciepoll_ctl;all 4922736c2fSopenharmony_ciepoll_pwait;all 5022736c2fSopenharmony_cidup;all 5122736c2fSopenharmony_cidup3;all 5222736c2fSopenharmony_cifcntl;all 5322736c2fSopenharmony_ciinotify_init1;all 5422736c2fSopenharmony_ciinotify_add_watch;all 5522736c2fSopenharmony_ciinotify_rm_watch;all 5622736c2fSopenharmony_ciioctl;all 5722736c2fSopenharmony_ciioprio_set;arm64 5822736c2fSopenharmony_ciioprio_get;arm64 5922736c2fSopenharmony_ciflock;all 6022736c2fSopenharmony_cimknodat;all 6122736c2fSopenharmony_cimkdirat;all 6222736c2fSopenharmony_ciunlinkat;all 6322736c2fSopenharmony_cisymlinkat;all 6422736c2fSopenharmony_cilinkat;all 6522736c2fSopenharmony_cirenameat;arm 6622736c2fSopenharmony_cirenameat;arm64 6722736c2fSopenharmony_cistatfs;arm64 6822736c2fSopenharmony_cifstatfs;arm64 6922736c2fSopenharmony_citruncate;all 7022736c2fSopenharmony_ciftruncate;arm64 7122736c2fSopenharmony_cifallocate;all 7222736c2fSopenharmony_cifaccessat;all 7322736c2fSopenharmony_cichdir;all 7422736c2fSopenharmony_cifchdir;all 7522736c2fSopenharmony_cifchmod;all 7622736c2fSopenharmony_cifchmodat;all 7722736c2fSopenharmony_cifchownat;all 7822736c2fSopenharmony_cifchown;arm64 7922736c2fSopenharmony_ciopenat;all 8022736c2fSopenharmony_ciclose;all 8122736c2fSopenharmony_cipipe2;all 8222736c2fSopenharmony_ciquotactl;all 8322736c2fSopenharmony_cigetdents64;all 8422736c2fSopenharmony_cilseek;all 8522736c2fSopenharmony_ciread;all 8622736c2fSopenharmony_ciwrite;all 8722736c2fSopenharmony_cireadv;all 8822736c2fSopenharmony_ciwritev;all 8922736c2fSopenharmony_cipread64;all 9022736c2fSopenharmony_cipwrite64;all 9122736c2fSopenharmony_cipreadv;all 9222736c2fSopenharmony_cipwritev;all 9322736c2fSopenharmony_cipselect6;all 9422736c2fSopenharmony_cippoll;all 9522736c2fSopenharmony_cisignalfd4;all 9622736c2fSopenharmony_cisplice;all 9722736c2fSopenharmony_citee;all 9822736c2fSopenharmony_cireadlinkat;all 9922736c2fSopenharmony_cinewfstatat;arm64 10022736c2fSopenharmony_cifstat;arm64 10122736c2fSopenharmony_cisync;all 10222736c2fSopenharmony_cifsync;all 10322736c2fSopenharmony_cifdatasync;all 10422736c2fSopenharmony_cisync_file_range;arm64 10522736c2fSopenharmony_citimerfd_create;all 10622736c2fSopenharmony_citimerfd_settime;all 10722736c2fSopenharmony_citimerfd_gettime;all 10822736c2fSopenharmony_ciutimensat;all 10922736c2fSopenharmony_cicapget;all 11022736c2fSopenharmony_cicapset;all 11122736c2fSopenharmony_cipersonality;all 11222736c2fSopenharmony_ciexit;all 11322736c2fSopenharmony_ciexit_group;all 11422736c2fSopenharmony_ciwaitid;all 11522736c2fSopenharmony_ciset_tid_address;all 11622736c2fSopenharmony_cifutex;all 11722736c2fSopenharmony_cinanosleep;all 11822736c2fSopenharmony_cigetitimer;all 11922736c2fSopenharmony_cisetitimer;all 12022736c2fSopenharmony_citimer_create;all 12122736c2fSopenharmony_citimer_gettime;all 12222736c2fSopenharmony_citimer_getoverrun;all 12322736c2fSopenharmony_citimer_settime;all 12422736c2fSopenharmony_citimer_delete;all 12522736c2fSopenharmony_ciclock_gettime;all 12622736c2fSopenharmony_ciclock_getres;all 12722736c2fSopenharmony_ciclock_nanosleep;all 12822736c2fSopenharmony_ciptrace;all 12922736c2fSopenharmony_cisched_setparam;all 13022736c2fSopenharmony_cisched_setscheduler;all 13122736c2fSopenharmony_cisched_getscheduler;all 13222736c2fSopenharmony_cisched_getparam;all 13322736c2fSopenharmony_cisched_setaffinity;all 13422736c2fSopenharmony_cisched_getaffinity;all 13522736c2fSopenharmony_cisched_yield;all 13622736c2fSopenharmony_cisched_get_priority_max;all 13722736c2fSopenharmony_cisched_get_priority_min;all 13822736c2fSopenharmony_cisched_rr_get_interval;all 13922736c2fSopenharmony_cirestart_syscall;all 14022736c2fSopenharmony_cikill;all 14122736c2fSopenharmony_citkill;all 14222736c2fSopenharmony_citgkill;all 14322736c2fSopenharmony_cisigaltstack;all 14422736c2fSopenharmony_cirt_sigsuspend;all 14522736c2fSopenharmony_cirt_sigaction;all 14622736c2fSopenharmony_cirt_sigprocmask;all 14722736c2fSopenharmony_cirt_sigpending;all 14822736c2fSopenharmony_cirt_sigtimedwait;all 14922736c2fSopenharmony_cirt_sigqueueinfo;all 15022736c2fSopenharmony_cirt_sigreturn;all 15122736c2fSopenharmony_cisetpriority;all 15222736c2fSopenharmony_cigetpriority;all 15322736c2fSopenharmony_cisetresuid;arm64 15422736c2fSopenharmony_cigetresuid;arm64 15522736c2fSopenharmony_cigetresgid;arm64 15622736c2fSopenharmony_citimes;all 15722736c2fSopenharmony_cisetpgid;all 15822736c2fSopenharmony_cigetpgid;all 15922736c2fSopenharmony_cigetsid;all 16022736c2fSopenharmony_cisetsid;all 16122736c2fSopenharmony_cigetgroups;arm64 16222736c2fSopenharmony_ciuname;all 16322736c2fSopenharmony_cigetrlimit;arm64 16422736c2fSopenharmony_cisetrlimit;all 16522736c2fSopenharmony_cigetrusage;all 16622736c2fSopenharmony_ciumask;all 16722736c2fSopenharmony_ciprctl;all 16822736c2fSopenharmony_cigetcpu;all 16922736c2fSopenharmony_cigettimeofday;all 17022736c2fSopenharmony_cigetpid;all 17122736c2fSopenharmony_cigetppid;all 17222736c2fSopenharmony_cigetuid;all 17322736c2fSopenharmony_cigeteuid;arm64 17422736c2fSopenharmony_cigetgid;arm64 17522736c2fSopenharmony_cigetegid;arm64 17622736c2fSopenharmony_cigettid;all 17722736c2fSopenharmony_cisysinfo;all 17822736c2fSopenharmony_cisocket;all 17922736c2fSopenharmony_cibind;all 18022736c2fSopenharmony_ciconnect;all 18122736c2fSopenharmony_cisendto;all 18222736c2fSopenharmony_cirecvfrom;all 18322736c2fSopenharmony_cisetsockopt;all 18422736c2fSopenharmony_cigetsockopt;all 18522736c2fSopenharmony_cirecvmsg;all 18622736c2fSopenharmony_cireadahead;all 18722736c2fSopenharmony_cibrk;all 18822736c2fSopenharmony_cimunmap;all 18922736c2fSopenharmony_cimremap;all 19022736c2fSopenharmony_ciexecve;all 19122736c2fSopenharmony_cimmap;arm64 19222736c2fSopenharmony_cifadvise64;arm64 19322736c2fSopenharmony_cimprotect;all 19422736c2fSopenharmony_cimsync;all 19522736c2fSopenharmony_cimlock;all 19622736c2fSopenharmony_cimunlock;all 19722736c2fSopenharmony_cimlockall;all 19822736c2fSopenharmony_cimunlockall;all 19922736c2fSopenharmony_cimincore;all 20022736c2fSopenharmony_cimadvise;all 20122736c2fSopenharmony_cirt_tgsigqueueinfo;all 20222736c2fSopenharmony_ciperf_event_open;all 20322736c2fSopenharmony_ciwait4;all 20422736c2fSopenharmony_ciprlimit64;all 20522736c2fSopenharmony_cisyncfs;all 20622736c2fSopenharmony_cisendmmsg;all 20722736c2fSopenharmony_ciprocess_vm_readv;all 20822736c2fSopenharmony_ciprocess_vm_writev;all 20922736c2fSopenharmony_cisched_setattr;all 21022736c2fSopenharmony_cisched_getattr;all 21122736c2fSopenharmony_cirenameat2;all 21222736c2fSopenharmony_ciseccomp;all 21322736c2fSopenharmony_cigetrandom;all 21422736c2fSopenharmony_cimemfd_create;all 21522736c2fSopenharmony_ciexecveat;all 21622736c2fSopenharmony_ciuserfaultfd;all 21722736c2fSopenharmony_cimembarrier;all 21822736c2fSopenharmony_cimlock2;all 21922736c2fSopenharmony_cicopy_file_range;all 22022736c2fSopenharmony_cipreadv2;all 22122736c2fSopenharmony_cipwritev2;all 22222736c2fSopenharmony_cistatx;all 22322736c2fSopenharmony_cipidfd_send_signal;all 22422736c2fSopenharmony_cipidfd_open;all 22522736c2fSopenharmony_cipidfd_getfd;all 22622736c2fSopenharmony_cifaccessat2;all 22722736c2fSopenharmony_ciprocess_madvise;all 22822736c2fSopenharmony_ciset_robust_list;all 22922736c2fSopenharmony_cifork;arm 23022736c2fSopenharmony_ciopen;arm 23122736c2fSopenharmony_cicreat;arm 23222736c2fSopenharmony_cilink;arm 23322736c2fSopenharmony_ciunlink;arm 23422736c2fSopenharmony_cichmod;arm 23522736c2fSopenharmony_ciaccess;arm 23622736c2fSopenharmony_cirename;arm 23722736c2fSopenharmony_cimkdir;arm 23822736c2fSopenharmony_cirmdir;arm 23922736c2fSopenharmony_cipipe;arm 24022736c2fSopenharmony_cidup2;arm 24122736c2fSopenharmony_cisigaction;arm 24222736c2fSopenharmony_cisymlink;arm 24322736c2fSopenharmony_cireadlink;arm 24422736c2fSopenharmony_cisigreturn;arm 24522736c2fSopenharmony_ci_llseek;arm 24622736c2fSopenharmony_cigetdents;arm 24722736c2fSopenharmony_ci_newselect;arm 24822736c2fSopenharmony_cipoll;arm 24922736c2fSopenharmony_civfork;arm 25022736c2fSopenharmony_ciugetrlimit;arm 25122736c2fSopenharmony_cimmap2;arm 25222736c2fSopenharmony_citruncate64;arm 25322736c2fSopenharmony_ciftruncate64;arm 25422736c2fSopenharmony_cistat64;arm 25522736c2fSopenharmony_cilstat64;arm 25622736c2fSopenharmony_cifstat64;arm 25722736c2fSopenharmony_cilchown32;arm 25822736c2fSopenharmony_cigetuid32;arm 25922736c2fSopenharmony_cigetgid32;arm 26022736c2fSopenharmony_cigeteuid32;arm 26122736c2fSopenharmony_cigetegid32;arm 26222736c2fSopenharmony_cigetgroups32;arm 26322736c2fSopenharmony_cifchown32;arm 26422736c2fSopenharmony_cisetresuid32;arm 26522736c2fSopenharmony_cigetresuid32;arm 26622736c2fSopenharmony_cigetresgid32;arm 26722736c2fSopenharmony_cichown32;arm 26822736c2fSopenharmony_cifcntl64;arm 26922736c2fSopenharmony_ciepoll_create;arm 27022736c2fSopenharmony_ciepoll_wait;arm 27122736c2fSopenharmony_ciremap_file_pages;arm 27222736c2fSopenharmony_cistatfs64;arm 27322736c2fSopenharmony_cifstatfs64;arm 27422736c2fSopenharmony_cifadvise64_64;arm 27522736c2fSopenharmony_ciinotify_init;arm 27622736c2fSopenharmony_cifstatat64;arm 27722736c2fSopenharmony_cisync_file_range2;arm 27822736c2fSopenharmony_cieventfd;arm 27922736c2fSopenharmony_ciclock_gettime64;arm 28022736c2fSopenharmony_ciclock_settime64;arm 28122736c2fSopenharmony_ciclock_adjtime64;arm 28222736c2fSopenharmony_ciclock_getres_time64;arm 28322736c2fSopenharmony_ciclock_nanosleep_time64;arm 28422736c2fSopenharmony_citimer_gettime64;arm 28522736c2fSopenharmony_citimer_settime64;arm 28622736c2fSopenharmony_citimerfd_gettime64;arm 28722736c2fSopenharmony_citimerfd_settime64;arm 28822736c2fSopenharmony_ciutimensat_time64;arm 28922736c2fSopenharmony_cipselect6_time64;arm 29022736c2fSopenharmony_cippoll_time64;arm 29122736c2fSopenharmony_cisemtimedop_time64;arm 29222736c2fSopenharmony_cirt_sigtimedwait_time64;arm 29322736c2fSopenharmony_cifutex_time64;arm 29422736c2fSopenharmony_cisched_rr_get_interval_time64;arm 29522736c2fSopenharmony_cicacheflush;arm 29622736c2fSopenharmony_ciset_tls;arm 29722736c2fSopenharmony_ci 29822736c2fSopenharmony_ci@allowListWithArgs 29922736c2fSopenharmony_ciclone: if (arg0 & (CLONE_NEWNS | CLONE_NEWPID | CLONE_NEWNET | CLONE_NEWCGROUP | CLONE_NEWUTS | CLONE_NEWIPC | CLONE_NEWUSER)) == 0 ; return ALLOW; else return TRAP;all 300