From ecd444e8653b66b20d764e53c22e3e615eea5fae Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Tue, 7 May 2019 08:32:47 +0200 Subject: [PATCH] unix: export KexecFileLoad on linux/arm CL 175158 added the generated kexecFileLoad wrapper but forgot to add the exported KexecFileLoad and the corresponding //sys line. Change-Id: Ic94ce83dbb1ecc3d07080b4b4dfe35934ec54d57 Reviewed-on: https://go-review.googlesource.com/c/sys/+/175657 Run-TryBot: Tobias Klauser TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- unix/syscall_linux_arm.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/unix/syscall_linux_arm.go b/unix/syscall_linux_arm.go index 3a3c37b4..f6267944 100644 --- a/unix/syscall_linux_arm.go +++ b/unix/syscall_linux_arm.go @@ -272,3 +272,16 @@ func SyncFileRange(fd int, off int64, n int64, flags int) error { // order of their arguments. return armSyncFileRange(fd, flags, off, n) } + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +}