.. | .. |
---|
34 | 34 | u32 tmp; |
---|
35 | 35 | |
---|
36 | 36 | preempt_disable(); |
---|
37 | | - pagefault_disable(); |
---|
38 | 37 | |
---|
39 | 38 | ret = -EFAULT; |
---|
40 | 39 | if (unlikely(get_user(oldval, uaddr) != 0)) |
---|
.. | .. |
---|
67 | 66 | ret = -EFAULT; |
---|
68 | 67 | |
---|
69 | 68 | out_pagefault_enable: |
---|
70 | | - pagefault_enable(); |
---|
71 | 69 | preempt_enable(); |
---|
72 | 70 | |
---|
73 | 71 | if (ret == 0) |
---|
.. | .. |
---|
118 | 116 | static inline int |
---|
119 | 117 | arch_futex_atomic_op_inuser(int op, u32 oparg, int *oval, u32 __user *uaddr) |
---|
120 | 118 | { |
---|
121 | | - int oldval = 0, ret; |
---|
122 | | - |
---|
123 | | - pagefault_disable(); |
---|
124 | | - |
---|
125 | | - switch (op) { |
---|
126 | | - case FUTEX_OP_SET: |
---|
127 | | - case FUTEX_OP_ADD: |
---|
128 | | - case FUTEX_OP_OR: |
---|
129 | | - case FUTEX_OP_ANDN: |
---|
130 | | - case FUTEX_OP_XOR: |
---|
131 | | - default: |
---|
132 | | - ret = -ENOSYS; |
---|
133 | | - } |
---|
134 | | - |
---|
135 | | - pagefault_enable(); |
---|
136 | | - |
---|
137 | | - if (!ret) |
---|
138 | | - *oval = oldval; |
---|
139 | | - |
---|
140 | | - return ret; |
---|
| 119 | + return -ENOSYS; |
---|
141 | 120 | } |
---|
142 | 121 | |
---|
143 | 122 | static inline int |
---|