gvisor.dev/gvisor@v0.0.0-20240520182842-f9d4d51c7e0f/pkg/sentry/seccheck/metadata_amd64.go (about)

     1  // Copyright 2022 The gVisor Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  //go:build amd64
    16  // +build amd64
    17  
    18  package seccheck
    19  
    20  // archInit registers syscall trace points metadata.
    21  // Keep them sorted by syscall number.
    22  func archInit() {
    23  	addSyscallPoint(0, "read", []FieldDesc{
    24  		{
    25  			ID:   FieldSyscallPath,
    26  			Name: "fd_path",
    27  		},
    28  	})
    29  	addSyscallPoint(1, "write", []FieldDesc{
    30  		{
    31  			ID:   FieldSyscallPath,
    32  			Name: "fd_path",
    33  		},
    34  	})
    35  	addSyscallPoint(2, "open", nil)
    36  	addSyscallPoint(3, "close", []FieldDesc{
    37  		{
    38  			ID:   FieldSyscallPath,
    39  			Name: "fd_path",
    40  		},
    41  	})
    42  	addSyscallPoint(17, "pread64", []FieldDesc{
    43  		{
    44  			ID:   FieldSyscallPath,
    45  			Name: "fd_path",
    46  		},
    47  	})
    48  	addSyscallPoint(18, "pwrite64", []FieldDesc{
    49  		{
    50  			ID:   FieldSyscallPath,
    51  			Name: "fd_path",
    52  		},
    53  	})
    54  	addSyscallPoint(19, "readv", []FieldDesc{
    55  		{
    56  			ID:   FieldSyscallPath,
    57  			Name: "fd_path",
    58  		},
    59  	})
    60  	addSyscallPoint(20, "writev", []FieldDesc{
    61  		{
    62  			ID:   FieldSyscallPath,
    63  			Name: "fd_path",
    64  		},
    65  	})
    66  	addSyscallPoint(22, "pipe", nil)
    67  	addSyscallPoint(32, "dup", []FieldDesc{
    68  		{
    69  			ID:   FieldSyscallPath,
    70  			Name: "fd_path",
    71  		},
    72  	})
    73  	addSyscallPoint(33, "dup2", []FieldDesc{
    74  		{
    75  			ID:   FieldSyscallPath,
    76  			Name: "fd_path",
    77  		},
    78  	})
    79  	addSyscallPoint(41, "socket", nil)
    80  	addSyscallPoint(42, "connect", []FieldDesc{
    81  		{
    82  			ID:   FieldSyscallPath,
    83  			Name: "fd_path",
    84  		},
    85  	})
    86  	addSyscallPoint(43, "accept", []FieldDesc{
    87  		{
    88  			ID:   FieldSyscallPath,
    89  			Name: "fd_path",
    90  		},
    91  	})
    92  	addSyscallPoint(49, "bind", []FieldDesc{
    93  		{
    94  			ID:   FieldSyscallPath,
    95  			Name: "fd_path",
    96  		},
    97  	})
    98  	addSyscallPoint(53, "socketpair", nil)
    99  	addSyscallPoint(56, "clone", nil)
   100  	addSyscallPoint(57, "fork", nil)
   101  	addSyscallPoint(58, "vfork", nil)
   102  	addSyscallPoint(59, "execve", []FieldDesc{
   103  		{
   104  			ID:   FieldSyscallExecveEnvv,
   105  			Name: "envv",
   106  		},
   107  	})
   108  	addSyscallPoint(72, "fcntl", []FieldDesc{
   109  		{
   110  			ID:   FieldSyscallPath,
   111  			Name: "fd_path",
   112  		},
   113  	})
   114  	addSyscallPoint(85, "creat", []FieldDesc{
   115  		{
   116  			ID:   FieldSyscallPath,
   117  			Name: "fd_path",
   118  		},
   119  	})
   120  	addSyscallPoint(80, "chdir", nil)
   121  	addSyscallPoint(81, "fchdir", []FieldDesc{
   122  		{
   123  			ID:   FieldSyscallPath,
   124  			Name: "fd_path",
   125  		},
   126  	})
   127  	addSyscallPoint(105, "setuid", nil)
   128  	addSyscallPoint(106, "setgid", nil)
   129  	addSyscallPoint(112, "setsid", nil)
   130  	addSyscallPoint(117, "setresuid", nil)
   131  	addSyscallPoint(119, "setresgid", nil)
   132  	addSyscallPoint(161, "chroot", nil)
   133  	addSyscallPoint(253, "inotify_init", nil)
   134  	addSyscallPoint(254, "inotify_add_watch", []FieldDesc{
   135  		{
   136  			ID:   FieldSyscallPath,
   137  			Name: "fd_path",
   138  		},
   139  	})
   140  	addSyscallPoint(255, "inotify_rm_watch", []FieldDesc{
   141  		{
   142  			ID:   FieldSyscallPath,
   143  			Name: "fd_path",
   144  		},
   145  	})
   146  	addSyscallPoint(257, "openat", []FieldDesc{
   147  		{
   148  			ID:   FieldSyscallPath,
   149  			Name: "fd_path",
   150  		},
   151  	})
   152  	addSyscallPoint(282, "signalfd", []FieldDesc{
   153  		{
   154  			ID:   FieldSyscallPath,
   155  			Name: "fd_path",
   156  		},
   157  	})
   158  	addSyscallPoint(283, "timerfd_create", nil)
   159  	addSyscallPoint(284, "eventfd", nil)
   160  	addSyscallPoint(286, "timerfd_settime", []FieldDesc{
   161  		{
   162  			ID:   FieldSyscallPath,
   163  			Name: "fd_path",
   164  		},
   165  	})
   166  	addSyscallPoint(287, "timerfd_gettime", []FieldDesc{
   167  		{
   168  			ID:   FieldSyscallPath,
   169  			Name: "fd_path",
   170  		},
   171  	})
   172  	addSyscallPoint(288, "accept4", []FieldDesc{
   173  		{
   174  			ID:   FieldSyscallPath,
   175  			Name: "fd_path",
   176  		},
   177  	})
   178  	addSyscallPoint(289, "signalfd4", []FieldDesc{
   179  		{
   180  			ID:   FieldSyscallPath,
   181  			Name: "fd_path",
   182  		},
   183  	})
   184  	addSyscallPoint(290, "eventfd2", nil)
   185  	addSyscallPoint(292, "dup3", []FieldDesc{
   186  		{
   187  			ID:   FieldSyscallPath,
   188  			Name: "fd_path",
   189  		},
   190  	})
   191  	addSyscallPoint(293, "pipe2", nil)
   192  	addSyscallPoint(294, "inotify_init1", nil)
   193  	addSyscallPoint(295, "preadv", []FieldDesc{
   194  		{
   195  			ID:   FieldSyscallPath,
   196  			Name: "fd_path",
   197  		},
   198  	})
   199  	addSyscallPoint(296, "pwritev", []FieldDesc{
   200  		{
   201  			ID:   FieldSyscallPath,
   202  			Name: "fd_path",
   203  		},
   204  	})
   205  	addSyscallPoint(302, "prlimit64", nil)
   206  	addSyscallPoint(322, "execveat", []FieldDesc{
   207  		{
   208  			ID:   FieldSyscallPath,
   209  			Name: "fd_path",
   210  		},
   211  		{
   212  			ID:   FieldSyscallExecveEnvv,
   213  			Name: "envv",
   214  		},
   215  	})
   216  	addSyscallPoint(327, "preadv2", []FieldDesc{
   217  		{
   218  			ID:   FieldSyscallPath,
   219  			Name: "fd_path",
   220  		},
   221  	})
   222  	addSyscallPoint(328, "pwritev2", []FieldDesc{
   223  		{
   224  			ID:   FieldSyscallPath,
   225  			Name: "fd_path",
   226  		},
   227  	})
   228  
   229  	const lastSyscallInTable = 441
   230  	for i := 0; i <= lastSyscallInTable; i++ {
   231  		addRawSyscallPoint(uintptr(i))
   232  	}
   233  }