@@ -47,63 +47,94 @@ SYM_FUNC_START(__put_user_1)
47
47
LOAD_TASK_SIZE_MINUS_N(0 )
48
48
cmp %_ASM_BX,%_ASM_CX
49
49
jae .Lbad_put_user
50
- SYM_INNER_LABEL(__put_user_nocheck_1, SYM_L_GLOBAL)
51
- ENDBR
52
50
ASM_STAC
53
51
1: movb %al ,(%_ASM_CX)
54
52
xor %ecx ,%ecx
55
53
ASM_CLAC
56
54
RET
57
55
SYM_FUNC_END(__put_user_1)
58
56
EXPORT_SYMBOL(__put_user_1)
57
+
58
+ SYM_FUNC_START(__put_user_nocheck_1)
59
+ ENDBR
60
+ ASM_STAC
61
+ 2: movb %al ,(%_ASM_CX)
62
+ xor %ecx ,%ecx
63
+ ASM_CLAC
64
+ RET
65
+ SYM_FUNC_END(__put_user_nocheck_1)
59
66
EXPORT_SYMBOL(__put_user_nocheck_1)
60
67
61
68
SYM_FUNC_START(__put_user_2)
62
69
LOAD_TASK_SIZE_MINUS_N(1 )
63
70
cmp %_ASM_BX,%_ASM_CX
64
71
jae .Lbad_put_user
65
- SYM_INNER_LABEL(__put_user_nocheck_2, SYM_L_GLOBAL)
66
- ENDBR
67
72
ASM_STAC
68
- 2 : movw %ax ,(%_ASM_CX)
73
+ 3 : movw %ax ,(%_ASM_CX)
69
74
xor %ecx ,%ecx
70
75
ASM_CLAC
71
76
RET
72
77
SYM_FUNC_END(__put_user_2)
73
78
EXPORT_SYMBOL(__put_user_2)
79
+
80
+ SYM_FUNC_START(__put_user_nocheck_2)
81
+ ENDBR
82
+ ASM_STAC
83
+ 4: movw %ax ,(%_ASM_CX)
84
+ xor %ecx ,%ecx
85
+ ASM_CLAC
86
+ RET
87
+ SYM_FUNC_END(__put_user_nocheck_2)
74
88
EXPORT_SYMBOL(__put_user_nocheck_2)
75
89
76
90
SYM_FUNC_START(__put_user_4)
77
91
LOAD_TASK_SIZE_MINUS_N(3 )
78
92
cmp %_ASM_BX,%_ASM_CX
79
93
jae .Lbad_put_user
80
- SYM_INNER_LABEL(__put_user_nocheck_4, SYM_L_GLOBAL)
81
- ENDBR
82
94
ASM_STAC
83
- 3 : movl %eax ,(%_ASM_CX)
95
+ 5 : movl %eax ,(%_ASM_CX)
84
96
xor %ecx ,%ecx
85
97
ASM_CLAC
86
98
RET
87
99
SYM_FUNC_END(__put_user_4)
88
100
EXPORT_SYMBOL(__put_user_4)
101
+
102
+ SYM_FUNC_START(__put_user_nocheck_4)
103
+ ENDBR
104
+ ASM_STAC
105
+ 6: movl %eax ,(%_ASM_CX)
106
+ xor %ecx ,%ecx
107
+ ASM_CLAC
108
+ RET
109
+ SYM_FUNC_END(__put_user_nocheck_4)
89
110
EXPORT_SYMBOL(__put_user_nocheck_4)
90
111
91
112
SYM_FUNC_START(__put_user_8)
92
113
LOAD_TASK_SIZE_MINUS_N(7 )
93
114
cmp %_ASM_BX,%_ASM_CX
94
115
jae .Lbad_put_user
95
- SYM_INNER_LABEL(__put_user_nocheck_8, SYM_L_GLOBAL)
96
- ENDBR
97
116
ASM_STAC
98
- 4 : mov %_ASM_AX,(%_ASM_CX)
117
+ 7 : mov %_ASM_AX,(%_ASM_CX)
99
118
#ifdef CONFIG_X86_32
100
- 5 : movl %edx ,4 (%_ASM_CX)
119
+ 8 : movl %edx ,4 (%_ASM_CX)
101
120
#endif
102
121
xor %ecx ,%ecx
103
122
ASM_CLAC
104
123
RET
105
124
SYM_FUNC_END(__put_user_8)
106
125
EXPORT_SYMBOL(__put_user_8)
126
+
127
+ SYM_FUNC_START(__put_user_nocheck_8)
128
+ ENDBR
129
+ ASM_STAC
130
+ 9: mov %_ASM_AX,(%_ASM_CX)
131
+ #ifdef CONFIG_X86_32
132
+ 10: movl %edx ,4 (%_ASM_CX)
133
+ #endif
134
+ xor %ecx ,%ecx
135
+ ASM_CLAC
136
+ RET
137
+ SYM_FUNC_END(__put_user_nocheck_8)
107
138
EXPORT_SYMBOL(__put_user_nocheck_8)
108
139
109
140
SYM_CODE_START_LOCAL (.Lbad_put_user_clac)
@@ -117,6 +148,11 @@ SYM_CODE_END(.Lbad_put_user_clac)
117
148
_ASM_EXTABLE_UA(2b, .Lbad_put_user_clac)
118
149
_ASM_EXTABLE_UA(3b, .Lbad_put_user_clac)
119
150
_ASM_EXTABLE_UA(4b, .Lbad_put_user_clac)
120
- #ifdef CONFIG_X86_32
121
151
_ASM_EXTABLE_UA(5b, .Lbad_put_user_clac)
152
+ _ASM_EXTABLE_UA(6b, .Lbad_put_user_clac)
153
+ _ASM_EXTABLE_UA(7b, .Lbad_put_user_clac)
154
+ _ASM_EXTABLE_UA(9b, .Lbad_put_user_clac)
155
+ #ifdef CONFIG_X86_32
156
+ _ASM_EXTABLE_UA(8b, .Lbad_put_user_clac)
157
+ _ASM_EXTABLE_UA(10b, .Lbad_put_user_clac)
122
158
#endif
0 commit comments