summaryrefslogtreecommitdiff
path: root/SOURCES/fsync.patch
diff options
context:
space:
mode:
Diffstat (limited to 'SOURCES/fsync.patch')
-rw-r--r--SOURCES/fsync.patch29
1 files changed, 15 insertions, 14 deletions
diff --git a/SOURCES/fsync.patch b/SOURCES/fsync.patch
index 7fa3fef..fdda084 100644
--- a/SOURCES/fsync.patch
+++ b/SOURCES/fsync.patch
@@ -13,12 +13,12 @@ of Proton to still use fsync in new kernel releases.
Signed-off-by: André Almeida <andrealmeid@collabora.com>
---
- include/uapi/linux/futex.h | 12 ++++++
- kernel/futex.c | 75 +++++++++++++++++++++++++++++++++++++-
- 2 files changed, 86 insertions(+), 1 deletion(-)
+ include/uapi/linux/futex.h | 13 +++++++
+ kernel/futex/syscalls.c | 75 +++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 87 insertions(+), 1 deletion(-)
diff --git a/include/uapi/linux/futex.h b/include/uapi/linux/futex.h
-index 2a06b99f9803..417c5d89b745 100644
+index 71a5df8d2689..d375ab21cbf8 100644
--- a/include/uapi/linux/futex.h
+++ b/include/uapi/linux/futex.h
@@ -22,6 +22,7 @@
@@ -29,7 +29,7 @@ index 2a06b99f9803..417c5d89b745 100644
#define FUTEX_PRIVATE_FLAG 128
#define FUTEX_CLOCK_REALTIME 256
-@@ -68,6 +69,17 @@ struct futex_waitv {
+@@ -68,6 +69,18 @@ struct futex_waitv {
__u32 __reserved;
};
@@ -44,14 +44,15 @@ index 2a06b99f9803..417c5d89b745 100644
+ __u32 val;
+ __u32 bitset;
+};
-
++
/*
* Support for robust futexes: the kernel cleans up held futexes at
-diff --git a/kernel/futex.c b/kernel/futex.c
-index 4a9e7ce3714a..c3f2e65afab8 100644
---- a/kernel/futex.c
-+++ b/kernel/futex.c
-@@ -4012,6 +4012,7 @@ static __always_inline bool futex_cmd_has_timeout(u32 cmd)
+ * thread exit time.
+diff --git a/kernel/futex/syscalls.c b/kernel/futex/syscalls.c
+index 6f91a07a6a83..2f4d4c04ede2 100644
+--- a/kernel/futex/syscalls.c
++++ b/kernel/futex/syscalls.c
+@@ -158,6 +158,7 @@ static __always_inline bool futex_cmd_has_timeout(u32 cmd)
case FUTEX_LOCK_PI2:
case FUTEX_WAIT_BITSET:
case FUTEX_WAIT_REQUEUE_PI:
@@ -59,7 +60,7 @@ index 4a9e7ce3714a..c3f2e65afab8 100644
return true;
}
return false;
-@@ -4024,13 +4025,79 @@ futex_init_timeout(u32 cmd, u32 op, struct timespec64 *ts, ktime_t *t)
+@@ -170,13 +171,79 @@ futex_init_timeout(u32 cmd, u32 op, struct timespec64 *ts, ktime_t *t)
return -EINVAL;
*t = timespec64_to_ktime(*ts);
@@ -140,7 +141,7 @@ index 4a9e7ce3714a..c3f2e65afab8 100644
SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
const struct __kernel_timespec __user *, utime,
u32 __user *, uaddr2, u32, val3)
-@@ -4050,6 +4117,9 @@ SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
+@@ -196,6 +263,9 @@ SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
tp = &t;
}
@@ -150,7 +151,7 @@ index 4a9e7ce3714a..c3f2e65afab8 100644
return do_futex(uaddr, op, val, tp, uaddr2, (unsigned long)utime, val3);
}
-@@ -4551,6 +4621,9 @@ SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val,
+@@ -392,6 +462,9 @@ SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val,
tp = &t;
}