Skip to content

Commit e6598aa

Browse files
simulation: two more syscall logs
1 parent 055234c commit e6598aa

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

internal/simulation/os_linux.go

+25-4
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,15 @@ func (l *LinuxOS) SysNewfstatat(dirfd int, path string, statBuf syscallabi.Value
898898
return l.SysFstatat(dirfd, path, statBuf, flags, invocation)
899899
}
900900

901+
var unlinkatFlags = &gosimlog.BitflagFormatter{
902+
Flags: []gosimlog.BitflagValue{
903+
{
904+
Value: _AT_REMOVEDIR,
905+
Name: "AT_REMOVEDIR",
906+
},
907+
},
908+
}
909+
901910
func (l *LinuxOS) SysUnlinkat(dirfd int, path string, flags int, invocation *syscallabi.Syscall) error {
902911
l.mu.Lock()
903912
defer l.mu.Unlock()
@@ -910,8 +919,6 @@ func (l *LinuxOS) SysUnlinkat(dirfd int, path string, flags int, invocation *sys
910919
return err
911920
}
912921

913-
l.logfFor(invocation, "unlinkat %d %s %d", dirfd, path, flags)
914-
915922
switch flags {
916923
case 0:
917924
if err := l.machine.filesystem.Remove(dirInode, path, false); err != nil {
@@ -928,6 +935,14 @@ func (l *LinuxOS) SysUnlinkat(dirfd int, path string, flags int, invocation *sys
928935
}
929936
}
930937

938+
func (customSyscallLogger) LogEntrySysUnlinkat(dirfd int, path string, flags int, syscall *syscallabi.Syscall) {
939+
logSyscallEntry("SysUnlinkat", syscall, fdAttr("dirfd", dirfd), "path", path, "flags", unlinkatFlags.Format(flags))
940+
}
941+
942+
func (customSyscallLogger) LogExitSysUnlinkat(dirfd int, path string, flags int, syscall *syscallabi.Syscall, err error) {
943+
logSyscallExit("SysUnlinkat", syscall, "err", err)
944+
}
945+
931946
func (l *LinuxOS) SysFtruncate(fd int, n int64, invocation *syscallabi.Syscall) error {
932947
l.mu.Lock()
933948
defer l.mu.Unlock()
@@ -951,11 +966,17 @@ func (l *LinuxOS) SysFtruncate(fd int, n int64, invocation *syscallabi.Syscall)
951966

952967
l.machine.filesystem.Truncate(f.inode, int(n))
953968

954-
l.logfFor(invocation, "truncate %d %d", fd, n)
955-
956969
return nil
957970
}
958971

972+
func (customSyscallLogger) LogEntrySysFtruncate(fd int, length int64, syscall *syscallabi.Syscall) {
973+
logSyscallEntry("SysFtruncate", syscall, "fd", fd, "length", length)
974+
}
975+
976+
func (customSyscallLogger) LogExitSysFtruncate(fd int, length int64, syscall *syscallabi.Syscall, err error) {
977+
logSyscallExit("SysFtruncate", syscall, "err", err)
978+
}
979+
959980
func (l *LinuxOS) SysClose(fd int, invocation *syscallabi.Syscall) error {
960981
l.mu.Lock()
961982
defer l.mu.Unlock()

0 commit comments

Comments
 (0)