aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained/xf86-video-virtualbox/futimens.patch
diff options
context:
space:
mode:
Diffstat (limited to 'unmaintained/xf86-video-virtualbox/futimens.patch')
-rw-r--r--unmaintained/xf86-video-virtualbox/futimens.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/unmaintained/xf86-video-virtualbox/futimens.patch b/unmaintained/xf86-video-virtualbox/futimens.patch
new file mode 100644
index 00000000000..f85e1ae6e2e
--- /dev/null
+++ b/unmaintained/xf86-video-virtualbox/futimens.patch
@@ -0,0 +1,16 @@
+--- ./src/VBox/Runtime/r3/posix/fileio2-posix.cpp.orig
++++ ./src/VBox/Runtime/r3/posix/fileio2-posix.cpp
+@@ -165,7 +165,12 @@
+
+ /* XXX this falls back to utimes("/proc/self/fd/...",...) for older kernels/glibcs and this
+ * will not work for hardened builds where this directory is owned by root.root and mode 0500 */
+- if (futimes(RTFileToNative(hFile), aTimevals))
++ struct timespec aTimespecs[2] = {
++ { aTimevals[0].tv_sec, aTimevals[0].tv_usec * 1000 },
++ { aTimevals[1].tv_sec, aTimevals[1].tv_usec * 1000 },
++ };
++
++ if (futimens(RTFileToNative(hFile), aTimespecs))
+ {
+ int rc = RTErrConvertFromErrno(errno);
+ Log(("RTFileSetTimes(%RTfile,%p,%p,,): returns %Rrc\n", hFile, pAccessTime, pModificationTime, rc));