PATH: //proc/self/root/proc/thread-self/root/proc/self/root/usr/include/linux
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 a.out.h
↓
X
📄 acct.h
↓
X
📄 acrn.h
↓
X
📄 adb.h
↓
X
📄 adfs_fs.h
↓
X
📄 affs_hardblocks.h
↓
X
📄 agpgart.h
↓
X
📄 aio_abi.h
↓
X
📄 am437x-vpfe.h
↓
X
📁 android/
X
📄 apm_bios.h
↓
X
📄 arcfb.h
↓
X
📄 arm_sdei.h
↓
X
📄 aspeed-lpc-ctrl.h
↓
X
📄 aspeed-p2a-ctrl.h
↓
X
📄 atalk.h
↓
X
📄 atm.h
↓
X
📄 atm_eni.h
↓
X
📄 atm_he.h
↓
X
📄 atm_idt77105.h
↓
X
📄 atm_nicstar.h
↓
X
📄 atm_tcp.h
↓
X
📄 atm_zatm.h
↓
X
📄 atmapi.h
↓
X
📄 atmarp.h
↓
X
📄 atmbr2684.h
↓
X
📄 atmclip.h
↓
X
📄 atmdev.h
↓
X
📄 atmioc.h
↓
X
📄 atmlec.h
↓
X
📄 atmmpc.h
↓
X
📄 atmppp.h
↓
X
📄 atmsap.h
↓
X
📄 atmsvc.h
↓
X
📄 audit.h
↓
X
📄 auto_dev-ioctl.h
↓
X
📄 auto_fs.h
↓
X
📄 auto_fs4.h
↓
X
📄 auxvec.h
↓
X
📄 ax25.h
↓
X
📄 batadv_packet.h
↓
X
📄 batman_adv.h
↓
X
📄 baycom.h
↓
X
📄 bcm933xx_hcs.h
↓
X
📄 bfs_fs.h
↓
X
📄 binfmts.h
↓
X
📄 bits.h
↓
X
📄 blkpg.h
↓
X
📄 blktrace_api.h
↓
X
📄 blkzoned.h
↓
X
📄 bpf.h
↓
X
📄 bpf_common.h
↓
X
📄 bpf_perf_event.h
↓
X
📄 bpfilter.h
↓
X
📄 bpqether.h
↓
X
📄 bsg.h
↓
X
📄 bt-bmc.h
↓
X
📄 btf.h
↓
X
📄 btrfs.h
↓
X
📄 btrfs_tree.h
↓
X
📁 byteorder/
X
📄 cachefiles.h
↓
X
📁 caif/
X
📁 can/
X
📄 can.h
↓
X
📄 capability.h
↓
X
📄 capi.h
↓
X
📄 cciss_defs.h
↓
X
📄 cciss_ioctl.h
↓
X
📄 ccs.h
↓
X
📄 cdrom.h
↓
X
📄 cec-funcs.h
↓
X
📄 cec.h
↓
X
📄 cfm_bridge.h
↓
X
📄 cgroupstats.h
↓
X
📄 chio.h
↓
X
📁 cifs/
X
📄 close_range.h
↓
X
📄 cm4000_cs.h
↓
X
📄 cn_proc.h
↓
X
📄 coda.h
↓
X
📄 coff.h
↓
X
📄 connector.h
↓
X
📄 const.h
↓
X
📄 coresight-stm.h
↓
X
📄 cramfs_fs.h
↓
X
📄 cryptouser.h
↓
X
📄 cuda.h
↓
X
📄 cxl_mem.h
↓
X
📄 cycx_cfm.h
↓
X
📄 dcbnl.h
↓
X
📄 dccp.h
↓
X
📄 devlink.h
↓
X
📄 dlm.h
↓
X
📄 dlm_device.h
↓
X
📄 dlm_netlink.h
↓
X
📄 dlm_plock.h
↓
X
📄 dlmconstants.h
↓
X
📄 dm-ioctl.h
↓
X
📄 dm-log-userspace.h
↓
X
📄 dma-buf.h
↓
X
📄 dma-heap.h
↓
X
📄 dn.h
↓
X
📄 dns_resolver.h
↓
X
📄 dpll.h
↓
X
📄 dqblk_xfs.h
↓
X
📁 dvb/
X
📄 edd.h
↓
X
📄 efs_fs_sb.h
↓
X
📄 elf-em.h
↓
X
📄 elf-fdpic.h
↓
X
📄 elf.h
↓
X
📄 errno.h
↓
X
📄 errqueue.h
↓
X
📄 erspan.h
↓
X
📄 ethtool.h
↓
X
📄 ethtool_netlink.h
↓
X
📄 ethtool_netlink_generated.h
↓
X
📄 eventfd.h
↓
X
📄 eventpoll.h
↓
X
📄 f2fs.h
↓
X
📄 fadvise.h
↓
X
📄 falloc.h
↓
X
📄 fanotify.h
↓
X
📄 fb.h
↓
X
📄 fcntl.h
↓
X
📄 fd.h
↓
X
📄 fdreg.h
↓
X
📄 fib_rules.h
↓
X
📄 fiemap.h
↓
X
📄 filter.h
↓
X
📄 firewire-cdev.h
↓
X
📄 firewire-constants.h
↓
X
📄 fou.h
↓
X
📄 fpga-dfl.h
↓
X
📄 fs.h
↓
X
📄 fscrypt.h
↓
X
📄 fsi.h
↓
X
📄 fsl_hypervisor.h
↓
X
📄 fsl_mc.h
↓
X
📄 fsmap.h
↓
X
📄 fsverity.h
↓
X
📄 fuse.h
↓
X
📄 futex.h
↓
X
📄 gameport.h
↓
X
📄 gen_stats.h
↓
X
📄 genetlink.h
↓
X
📁 genwqe/
X
📄 gfs2_ondisk.h
↓
X
📄 gpio.h
↓
X
📄 gsmmux.h
↓
X
📄 gtp.h
↓
X
📄 handshake.h
↓
X
📄 hash_info.h
↓
X
📁 hdlc/
X
📄 hdlc.h
↓
X
📄 hdlcdrv.h
↓
X
📄 hdreg.h
↓
X
📄 hid.h
↓
X
📄 hiddev.h
↓
X
📄 hidraw.h
↓
X
📄 hpet.h
↓
X
📁 hsi/
X
📄 hsr_netlink.h
↓
X
📄 hw_breakpoint.h
↓
X
📄 hyperv.h
↓
X
📄 i2c-dev.h
↓
X
📄 i2c.h
↓
X
📄 i2o-dev.h
↓
X
📄 i8k.h
↓
X
📄 icmp.h
↓
X
📄 icmpv6.h
↓
X
📄 idxd.h
↓
X
📄 if.h
↓
X
📄 if_addr.h
↓
X
📄 if_addrlabel.h
↓
X
📄 if_alg.h
↓
X
📄 if_arcnet.h
↓
X
📄 if_arp.h
↓
X
📄 if_bonding.h
↓
X
📄 if_bridge.h
↓
X
📄 if_cablemodem.h
↓
X
📄 if_eql.h
↓
X
📄 if_ether.h
↓
X
📄 if_fc.h
↓
X
📄 if_fddi.h
↓
X
📄 if_hippi.h
↓
X
📄 if_infiniband.h
↓
X
📄 if_link.h
↓
X
📄 if_ltalk.h
↓
X
📄 if_macsec.h
↓
X
📄 if_packet.h
↓
X
📄 if_phonet.h
↓
X
📄 if_plip.h
↓
X
📄 if_ppp.h
↓
X
📄 if_pppol2tp.h
↓
X
📄 if_pppox.h
↓
X
📄 if_slip.h
↓
X
📄 if_team.h
↓
X
📄 if_tun.h
↓
X
📄 if_tunnel.h
↓
X
📄 if_vlan.h
↓
X
📄 if_x25.h
↓
X
📄 if_xdp.h
↓
X
📄 ife.h
↓
X
📄 igmp.h
↓
X
📁 iio/
X
📄 ila.h
↓
X
📄 in.h
↓
X
📄 in6.h
↓
X
📄 in_route.h
↓
X
📄 inet_diag.h
↓
X
📄 inotify.h
↓
X
📄 input-event-codes.h
↓
X
📄 input.h
↓
X
📄 io_uring.h
↓
X
📄 ioctl.h
↓
X
📄 iommufd.h
↓
X
📄 ioprio.h
↓
X
📄 ip.h
↓
X
📄 ip6_tunnel.h
↓
X
📄 ip_vs.h
↓
X
📄 ipc.h
↓
X
📄 ipmi.h
↓
X
📄 ipmi_bmc.h
↓
X
📄 ipmi_msgdefs.h
↓
X
📄 ipmi_ssif_bmc.h
↓
X
📄 ipsec.h
↓
X
📄 ipv6.h
↓
X
📄 ipv6_route.h
↓
X
📄 ipx.h
↓
X
📄 irqnr.h
↓
X
📁 isdn/
X
📄 iso_fs.h
↓
X
📄 isst_if.h
↓
X
📄 ivtv.h
↓
X
📄 ivtvfb.h
↓
X
📄 jffs2.h
↓
X
📄 joystick.h
↓
X
📄 kcm.h
↓
X
📄 kcmp.h
↓
X
📄 kcov.h
↓
X
📄 kd.h
↓
X
📄 kdev_t.h
↓
X
📄 kernel-page-flags.h
↓
X
📄 kernel.h
↓
X
📄 kernelcapi.h
↓
X
📄 kexec.h
↓
X
📄 keyboard.h
↓
X
📄 keyctl.h
↓
X
📄 kfd_ioctl.h
↓
X
📄 kfd_sysfs.h
↓
X
📄 kvm.h
↓
X
📄 kvm_para.h
↓
X
📄 l2tp.h
↓
X
📄 landlock.h
↓
X
📄 libc-compat.h
↓
X
📄 limits.h
↓
X
📄 lirc.h
↓
X
📄 llc.h
↓
X
📄 loadpin.h
↓
X
📄 loop.h
↓
X
📄 lp.h
↓
X
📄 lsm.h
↓
X
📄 lwtunnel.h
↓
X
📄 magic.h
↓
X
📄 major.h
↓
X
📄 map_to_7segment.h
↓
X
📄 matroxfb.h
↓
X
📄 max2175.h
↓
X
📄 mdio.h
↓
X
📄 media-bus-format.h
↓
X
📄 media.h
↓
X
📄 mei.h
↓
X
📄 mei_uuid.h
↓
X
📄 membarrier.h
↓
X
📄 memfd.h
↓
X
📄 mempolicy.h
↓
X
📄 meye.h
↓
X
📄 mii.h
↓
X
📄 minix_fs.h
↓
X
📁 misc/
X
📄 mman.h
↓
X
📁 mmc/
X
📄 mmtimer.h
↓
X
📄 module.h
↓
X
📄 mount.h
↓
X
📄 mpls.h
↓
X
📄 mpls_iptunnel.h
↓
X
📄 mptcp.h
↓
X
📄 mptcp_pm.h
↓
X
📄 mqueue.h
↓
X
📄 mroute.h
↓
X
📄 mroute6.h
↓
X
📄 mrp_bridge.h
↓
X
📄 msdos_fs.h
↓
X
📄 msg.h
↓
X
📄 mshv.h
↓
X
📄 mtio.h
↓
X
📄 nbd-netlink.h
↓
X
📄 nbd.h
↓
X
📄 ncsi.h
↓
X
📄 ndctl.h
↓
X
📄 neighbour.h
↓
X
📄 net.h
↓
X
📄 net_dropmon.h
↓
X
📄 net_namespace.h
↓
X
📄 net_shaper.h
↓
X
📄 net_tstamp.h
↓
X
📄 netconf.h
↓
X
📄 netdev.h
↓
X
📄 netdevice.h
↓
X
📁 netfilter/
X
📄 netfilter.h
↓
X
📁 netfilter_arp/
X
📄 netfilter_arp.h
↓
X
📁 netfilter_bridge/
X
📄 netfilter_bridge.h
↓
X
📄 netfilter_decnet.h
↓
X
📁 netfilter_ipv4/
X
📄 netfilter_ipv4.h
↓
X
📁 netfilter_ipv6/
X
📄 netfilter_ipv6.h
↓
X
📄 netlink.h
↓
X
📄 netlink_diag.h
↓
X
📄 netrom.h
↓
X
📄 nexthop.h
↓
X
📄 nfc.h
↓
X
📄 nfs.h
↓
X
📄 nfs2.h
↓
X
📄 nfs3.h
↓
X
📄 nfs4.h
↓
X
📄 nfs4_mount.h
↓
X
📄 nfs_fs.h
↓
X
📄 nfs_idmap.h
↓
X
📄 nfs_mount.h
↓
X
📄 nfsacl.h
↓
X
📁 nfsd/
X
📄 nfsd_netlink.h
↓
X
📄 nilfs2_api.h
↓
X
📄 nilfs2_ondisk.h
↓
X
📄 nitro_enclaves.h
↓
X
📄 nl80211.h
↓
X
📄 nsfs.h
↓
X
📄 nubus.h
↓
X
📄 nvme_ioctl.h
↓
X
📄 nvram.h
↓
X
📄 omap3isp.h
↓
X
📄 omapfb.h
↓
X
📄 oom.h
↓
X
📄 openat2.h
↓
X
📄 openvswitch.h
↓
X
📄 packet_diag.h
↓
X
📄 param.h
↓
X
📄 parport.h
↓
X
📄 patchkey.h
↓
X
📄 pci.h
↓
X
📄 pci_regs.h
↓
X
📄 pcitest.h
↓
X
📄 perf_event.h
↓
X
📄 personality.h
↓
X
📄 pfkeyv2.h
↓
X
📄 pfrut.h
↓
X
📄 pg.h
↓
X
📄 phantom.h
↓
X
📄 phonet.h
↓
X
📄 pidfd.h
↓
X
📄 pkt_cls.h
↓
X
📄 pkt_sched.h
↓
X
📄 pktcdvd.h
↓
X
📄 pmu.h
↓
X
📄 poll.h
↓
X
📄 posix_acl.h
↓
X
📄 posix_acl_xattr.h
↓
X
📄 posix_types.h
↓
X
📄 ppdev.h
↓
X
📄 ppp-comp.h
↓
X
📄 ppp-ioctl.h
↓
X
📄 ppp_defs.h
↓
X
📄 pps.h
↓
X
📄 pr.h
↓
X
📄 prctl.h
↓
X
📄 psample.h
↓
X
📄 psci.h
↓
X
📄 psp-dbc.h
↓
X
📄 psp-sev.h
↓
X
📄 ptp_clock.h
↓
X
📄 ptrace.h
↓
X
📄 qemu_fw_cfg.h
↓
X
📄 qnx4_fs.h
↓
X
📄 qnxtypes.h
↓
X
📄 qrtr.h
↓
X
📄 quota.h
↓
X
📄 radeonfb.h
↓
X
📁 raid/
X
📄 random.h
↓
X
📄 rds.h
↓
X
📄 reboot.h
↓
X
📄 reiserfs_fs.h
↓
X
📄 reiserfs_xattr.h
↓
X
📄 remoteproc_cdev.h
↓
X
📄 resource.h
↓
X
📄 rfkill.h
↓
X
📄 rio_cm_cdev.h
↓
X
📄 rio_mport_cdev.h
↓
X
📄 rkisp1-config.h
↓
X
📄 romfs_fs.h
↓
X
📄 rose.h
↓
X
📄 route.h
↓
X
📄 rpl.h
↓
X
📄 rpl_iptunnel.h
↓
X
📄 rpmsg.h
↓
X
📄 rpmsg_types.h
↓
X
📄 rseq.h
↓
X
📄 rtc.h
↓
X
📄 rtnetlink.h
↓
X
📄 rxrpc.h
↓
X
📄 scc.h
↓
X
📁 sched/
X
📄 sched.h
↓
X
📄 scif_ioctl.h
↓
X
📄 screen_info.h
↓
X
📄 sctp.h
↓
X
📄 seccomp.h
↓
X
📄 securebits.h
↓
X
📄 sed-opal.h
↓
X
📄 seg6.h
↓
X
📄 seg6_genl.h
↓
X
📄 seg6_hmac.h
↓
X
📄 seg6_iptunnel.h
↓
X
📄 seg6_local.h
↓
X
📄 selinux_netlink.h
↓
X
📄 sem.h
↓
X
📄 serial.h
↓
X
📄 serial_core.h
↓
X
📄 serial_reg.h
↓
X
📄 serio.h
↓
X
📄 sev-guest.h
↓
X
📄 shm.h
↓
X
📄 signal.h
↓
X
📄 signalfd.h
↓
X
📄 smc.h
↓
X
📄 smc_diag.h
↓
X
📄 smiapp.h
↓
X
📄 snmp.h
↓
X
📄 sock_diag.h
↓
X
📄 socket.h
↓
X
📄 sockios.h
↓
X
📄 sonet.h
↓
X
📄 sonypi.h
↓
X
📄 sound.h
↓
X
📄 soundcard.h
↓
X
📁 spi/
X
📄 stat.h
↓
X
📄 stddef.h
↓
X
📄 stm.h
↓
X
📄 string.h
↓
X
📁 sunrpc/
X
📁 surface_aggregator/
X
📄 suspend_ioctls.h
↓
X
📄 swab.h
↓
X
📄 switchtec_ioctl.h
↓
X
📄 sync_file.h
↓
X
📄 synclink.h
↓
X
📄 sysctl.h
↓
X
📄 sysinfo.h
↓
X
📄 target_core_user.h
↓
X
📄 taskstats.h
↓
X
📁 tc_act/
X
📁 tc_ematch/
X
📄 tcp.h
↓
X
📄 tcp_metrics.h
↓
X
📄 tdx-guest.h
↓
X
📄 tee.h
↓
X
📄 termios.h
↓
X
📄 thermal.h
↓
X
📄 time.h
↓
X
📄 time_types.h
↓
X
📄 timerfd.h
↓
X
📄 times.h
↓
X
📄 timex.h
↓
X
📄 tiocl.h
↓
X
📄 tipc.h
↓
X
📄 tipc_config.h
↓
X
📄 tipc_netlink.h
↓
X
📄 tipc_sockets_diag.h
↓
X
📄 tls.h
↓
X
📄 toshiba.h
↓
X
📄 tps6594_pfsm.h
↓
X
📄 tty.h
↓
X
📄 tty_flags.h
↓
X
📄 types.h
↓
X
📄 udf_fs_i.h
↓
X
📄 udmabuf.h
↓
X
📄 udp.h
↓
X
📄 uhid.h
↓
X
📄 uinput.h
↓
X
📄 uio.h
↓
X
📄 uleds.h
↓
X
📄 ultrasound.h
↓
X
📄 um_timetravel.h
↓
X
📄 un.h
↓
X
📄 unistd.h
↓
X
📄 unix_diag.h
↓
X
📁 usb/
X
📄 usbdevice_fs.h
↓
X
📄 usbip.h
↓
X
📄 userfaultfd.h
↓
X
📄 userio.h
↓
X
📄 utime.h
↓
X
📄 utsname.h
↓
X
📄 uuid.h
↓
X
📄 uvcvideo.h
↓
X
📄 v4l2-common.h
↓
X
📄 v4l2-controls.h
↓
X
📄 v4l2-dv-timings.h
↓
X
📄 v4l2-mediabus.h
↓
X
📄 v4l2-subdev.h
↓
X
📄 vbox_err.h
↓
X
📄 vbox_vmmdev_types.h
↓
X
📄 vboxguest.h
↓
X
📄 vdpa.h
↓
X
📄 vduse.h
↓
X
📄 version.h
↓
X
📄 veth.h
↓
X
📄 vfio.h
↓
X
📄 vfio_ccw.h
↓
X
📄 vfio_zdev.h
↓
X
📄 vhost.h
↓
X
📄 vhost_types.h
↓
X
📄 videodev2.h
↓
X
📄 virtio_9p.h
↓
X
📄 virtio_balloon.h
↓
X
📄 virtio_blk.h
↓
X
📄 virtio_bt.h
↓
X
📄 virtio_config.h
↓
X
📄 virtio_console.h
↓
X
📄 virtio_crypto.h
↓
X
📄 virtio_fs.h
↓
X
📄 virtio_gpio.h
↓
X
📄 virtio_gpu.h
↓
X
📄 virtio_i2c.h
↓
X
📄 virtio_ids.h
↓
X
📄 virtio_input.h
↓
X
📄 virtio_iommu.h
↓
X
📄 virtio_mem.h
↓
X
📄 virtio_mmio.h
↓
X
📄 virtio_net.h
↓
X
📄 virtio_pci.h
↓
X
📄 virtio_pcidev.h
↓
X
📄 virtio_pmem.h
↓
X
📄 virtio_ring.h
↓
X
📄 virtio_rng.h
↓
X
📄 virtio_scmi.h
↓
X
📄 virtio_scsi.h
↓
X
📄 virtio_snd.h
↓
X
📄 virtio_types.h
↓
X
📄 virtio_vsock.h
↓
X
📄 vm_sockets.h
↓
X
📄 vm_sockets_diag.h
↓
X
📄 vmcore.h
↓
X
📄 vsockmon.h
↓
X
📄 vt.h
↓
X
📄 vtpm_proxy.h
↓
X
📄 wait.h
↓
X
📄 watch_queue.h
↓
X
📄 watchdog.h
↓
X
📄 wireguard.h
↓
X
📄 wireless.h
↓
X
📄 wmi.h
↓
X
📄 wwan.h
↓
X
📄 x25.h
↓
X
📄 xattr.h
↓
X
📄 xdp_diag.h
↓
X
📄 xfrm.h
↓
X
📄 xilinx-v4l2-controls.h
↓
X
📄 zorro.h
↓
X
📄 zorro_ids.h
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: seccomp.h
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _LINUX_SECCOMP_H #define _LINUX_SECCOMP_H #include <linux/types.h> /* Valid values for seccomp.mode and prctl(PR_SET_SECCOMP, <mode>) */ #define SECCOMP_MODE_DISABLED 0 /* seccomp is not in use. */ #define SECCOMP_MODE_STRICT 1 /* uses hard-coded filter. */ #define SECCOMP_MODE_FILTER 2 /* uses user-supplied filter. */ /* Valid operations for seccomp syscall. */ #define SECCOMP_SET_MODE_STRICT 0 #define SECCOMP_SET_MODE_FILTER 1 #define SECCOMP_GET_ACTION_AVAIL 2 #define SECCOMP_GET_NOTIF_SIZES 3 /* Valid flags for SECCOMP_SET_MODE_FILTER */ #define SECCOMP_FILTER_FLAG_TSYNC (1UL << 0) #define SECCOMP_FILTER_FLAG_LOG (1UL << 1) #define SECCOMP_FILTER_FLAG_SPEC_ALLOW (1UL << 2) #define SECCOMP_FILTER_FLAG_NEW_LISTENER (1UL << 3) #define SECCOMP_FILTER_FLAG_TSYNC_ESRCH (1UL << 4) /* * All BPF programs must return a 32-bit value. * The bottom 16-bits are for optional return data. * The upper 16-bits are ordered from least permissive values to most, * as a signed value (so 0x8000000 is negative). * * The ordering ensures that a min_t() over composed return values always * selects the least permissive choice. */ #define SECCOMP_RET_KILL_PROCESS 0x80000000U /* kill the process */ #define SECCOMP_RET_KILL_THREAD 0x00000000U /* kill the thread */ #define SECCOMP_RET_KILL SECCOMP_RET_KILL_THREAD #define SECCOMP_RET_TRAP 0x00030000U /* disallow and force a SIGSYS */ #define SECCOMP_RET_ERRNO 0x00050000U /* returns an errno */ #define SECCOMP_RET_USER_NOTIF 0x7fc00000U /* notifies userspace */ #define SECCOMP_RET_TRACE 0x7ff00000U /* pass to a tracer or disallow */ #define SECCOMP_RET_LOG 0x7ffc0000U /* allow after logging */ #define SECCOMP_RET_ALLOW 0x7fff0000U /* allow */ /* Masks for the return value sections. */ #define SECCOMP_RET_ACTION_FULL 0xffff0000U #define SECCOMP_RET_ACTION 0x7fff0000U #define SECCOMP_RET_DATA 0x0000ffffU /** * struct seccomp_data - the format the BPF program executes over. * @nr: the system call number * @arch: indicates system call convention as an AUDIT_ARCH_* value * as defined in <linux/audit.h>. * @instruction_pointer: at the time of the system call. * @args: up to 6 system call arguments always stored as 64-bit values * regardless of the architecture. */ struct seccomp_data { int nr; __u32 arch; __u64 instruction_pointer; __u64 args[6]; }; struct seccomp_notif_sizes { __u16 seccomp_notif; __u16 seccomp_notif_resp; __u16 seccomp_data; }; struct seccomp_notif { __u64 id; __u32 pid; __u32 flags; struct seccomp_data data; }; /* * Valid flags for struct seccomp_notif_resp * * Note, the SECCOMP_USER_NOTIF_FLAG_CONTINUE flag must be used with caution! * If set by the process supervising the syscalls of another process the * syscall will continue. This is problematic because of an inherent TOCTOU. * An attacker can exploit the time while the supervised process is waiting on * a response from the supervising process to rewrite syscall arguments which * are passed as pointers of the intercepted syscall. * It should be absolutely clear that this means that the seccomp notifier * _cannot_ be used to implement a security policy! It should only ever be used * in scenarios where a more privileged process supervises the syscalls of a * lesser privileged process to get around kernel-enforced security * restrictions when the privileged process deems this safe. In other words, * in order to continue a syscall the supervising process should be sure that * another security mechanism or the kernel itself will sufficiently block * syscalls if arguments are rewritten to something unsafe. * * Similar precautions should be applied when stacking SECCOMP_RET_USER_NOTIF * or SECCOMP_RET_TRACE. For SECCOMP_RET_USER_NOTIF filters acting on the * same syscall, the most recently added filter takes precedence. This means * that the new SECCOMP_RET_USER_NOTIF filter can override any * SECCOMP_IOCTL_NOTIF_SEND from earlier filters, essentially allowing all * such filtered syscalls to be executed by sending the response * SECCOMP_USER_NOTIF_FLAG_CONTINUE. Note that SECCOMP_RET_TRACE can equally * be overriden by SECCOMP_USER_NOTIF_FLAG_CONTINUE. */ #define SECCOMP_USER_NOTIF_FLAG_CONTINUE (1UL << 0) struct seccomp_notif_resp { __u64 id; __s64 val; __s32 error; __u32 flags; }; /* valid flags for seccomp_notif_addfd */ #define SECCOMP_ADDFD_FLAG_SETFD (1UL << 0) /* Specify remote fd */ #define SECCOMP_ADDFD_FLAG_SEND (1UL << 1) /* Addfd and return it, atomically */ /** * struct seccomp_notif_addfd * @id: The ID of the seccomp notification * @flags: SECCOMP_ADDFD_FLAG_* * @srcfd: The local fd number * @newfd: Optional remote FD number if SETFD option is set, otherwise 0. * @newfd_flags: The O_* flags the remote FD should have applied */ struct seccomp_notif_addfd { __u64 id; __u32 flags; __u32 srcfd; __u32 newfd; __u32 newfd_flags; }; #define SECCOMP_IOC_MAGIC '!' #define SECCOMP_IO(nr) _IO(SECCOMP_IOC_MAGIC, nr) #define SECCOMP_IOR(nr, type) _IOR(SECCOMP_IOC_MAGIC, nr, type) #define SECCOMP_IOW(nr, type) _IOW(SECCOMP_IOC_MAGIC, nr, type) #define SECCOMP_IOWR(nr, type) _IOWR(SECCOMP_IOC_MAGIC, nr, type) /* Flags for seccomp notification fd ioctl. */ #define SECCOMP_IOCTL_NOTIF_RECV SECCOMP_IOWR(0, struct seccomp_notif) #define SECCOMP_IOCTL_NOTIF_SEND SECCOMP_IOWR(1, \ struct seccomp_notif_resp) #define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOW(2, __u64) /* On success, the return value is the remote process's added fd number */ #define SECCOMP_IOCTL_NOTIF_ADDFD SECCOMP_IOW(3, \ struct seccomp_notif_addfd) #endif /* _LINUX_SECCOMP_H */
SIMPAN PERUBAHAN