mirror of
https://github.com/hanzoai/visor.git
synced 2026-09-24 17:04:14 +00:00
This patch introduces pidfd support roughly up to Linux 6.8. Linux selftests at this version pass, and are now run as an //image_test target. Some features, like PIDFD_THREAD, that occur later than 6.8 in Linux, are included. It includes: - These new syscalls: - pidfd_open() - pidfd_getfd() - pidfd_send_signal() - New aspects to these existing syscalls: - waitid() in its support of P_PIDFD - clone()/clone3() in their support of CLONE_PIDFD - poll()/epoll()/select() in their support for pidfds - setns() in its support for pidfds - pid introspection via /proc/[pid]/fdinfo/[pidfd] It excludes: - pidfdfs: pidfds are backed by the anon inode right now - ioctls to retrieve namespace fds using a pidfd - process_madvise() Updates #5839. PiperOrigin-RevId: 908341658
29 lines
891 B
Go
29 lines
891 B
Go
// Copyright 2026 The gVisor Authors.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package linux
|
|
|
|
// Flags for pidfd_open() from include/uapi/linux/pidfd.h.
|
|
const (
|
|
PIDFD_NONBLOCK = O_NONBLOCK
|
|
PIDFD_THREAD = O_EXCL
|
|
)
|
|
|
|
// Flags for pidfd_send_signal().
|
|
const (
|
|
PIDFD_SIGNAL_THREAD = 1 << 0
|
|
PIDFD_SIGNAL_THREAD_GROUP = 1 << 1
|
|
PIDFD_SIGNAL_PROCESS_GROUP = 1 << 2
|
|
)
|