INNER CODE UNIT · Go

updateArgs

cilium/tetragon · cmd/dump-syscalls-info/main.go:151

func updateArgs(l *slog.Logger, oldArgs []SyscallArg, newArgs []SyscallArg) []SyscallArg {
	compatibleTypes := map[string]string{
		"__kernel_old_time_t *":              "time_t *",
		"struct __kernel_old_timeval *":      "struct timeval *",
		"struct __kernel_timespec *":         "struct timespec *",
		"const struct __kernel_timespec *":   "const struct timespec *",
		"struct __kernel_itimerspec *":       "struct itimerspec *",
		"struct __kernel_old_itimerval *":    "struct itimerval *",
		"const struct __kernel_itimerspec *": "const struct itimerspec *",
		"struct __kernel_timex *":            "struct timex *",
	}
	isCompat := func(ty1, ty2 string) bool {
		v, ok := compatibleTypes[ty1]
		return ok && v == ty2
	}

	nArgs := max(len(newArgs), len(oldArgs))
	args := make([]SyscallArg, 0, nArgs)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…