#include <linux/sched/rt.h>
#include <linux/hugetlb.h>
#include <linux/freezer.h>
+#include <linux/uaccess.h>
#include <asm/futex.h>
static int __init futex_init(void)
{
+ mm_segment_t fs;
u32 curval;
int i;
* implementation, the non-functional ones will return
* -ENOSYS.
*/
+ fs = get_fs();
+ set_fs(USER_DS);
if (cmpxchg_futex_value_locked(&curval, NULL, 0, 0) == -EFAULT)
futex_cmpxchg_enabled = 1;
+ set_fs(fs);
for (i = 0; i < ARRAY_SIZE(futex_queues); i++) {
plist_head_init(&futex_queues[i].chain);