51
51
#define AA (__x ) ((unsigned long)(__x))
52
52
53
53
54
- asmlinkage long sys32_truncate64 (const char __user * filename ,
55
- unsigned long offset_low ,
56
- unsigned long offset_high )
54
+ COMPAT_SYSCALL_DEFINE3 (x86_truncate64 , const char __user * , filename ,
55
+ unsigned long , offset_low , unsigned long , offset_high )
57
56
{
58
57
return sys_truncate (filename , ((loff_t ) offset_high << 32 ) | offset_low );
59
58
}
60
59
61
- asmlinkage long sys32_ftruncate64 ( unsigned int fd , unsigned long offset_low ,
62
- unsigned long offset_high )
60
+ COMPAT_SYSCALL_DEFINE3 ( x86_ftruncate64 , unsigned int , fd ,
61
+ unsigned long , offset_low , unsigned long , offset_high )
63
62
{
64
63
return sys_ftruncate (fd , ((loff_t ) offset_high << 32 ) | offset_low );
65
64
}
@@ -96,8 +95,8 @@ static int cp_stat64(struct stat64 __user *ubuf, struct kstat *stat)
96
95
return 0 ;
97
96
}
98
97
99
- asmlinkage long sys32_stat64 ( const char __user * filename ,
100
- struct stat64 __user * statbuf )
98
+ COMPAT_SYSCALL_DEFINE2 ( x86_stat64 , const char __user * , filename ,
99
+ struct stat64 __user * , statbuf )
101
100
{
102
101
struct kstat stat ;
103
102
int ret = vfs_stat (filename , & stat );
@@ -107,8 +106,8 @@ asmlinkage long sys32_stat64(const char __user *filename,
107
106
return ret ;
108
107
}
109
108
110
- asmlinkage long sys32_lstat64 ( const char __user * filename ,
111
- struct stat64 __user * statbuf )
109
+ COMPAT_SYSCALL_DEFINE2 ( x86_lstat64 , const char __user * , filename ,
110
+ struct stat64 __user * , statbuf )
112
111
{
113
112
struct kstat stat ;
114
113
int ret = vfs_lstat (filename , & stat );
@@ -117,7 +116,8 @@ asmlinkage long sys32_lstat64(const char __user *filename,
117
116
return ret ;
118
117
}
119
118
120
- asmlinkage long sys32_fstat64 (unsigned int fd , struct stat64 __user * statbuf )
119
+ COMPAT_SYSCALL_DEFINE2 (x86_fstat64 , unsigned int , fd ,
120
+ struct stat64 __user * , statbuf )
121
121
{
122
122
struct kstat stat ;
123
123
int ret = vfs_fstat (fd , & stat );
@@ -126,8 +126,9 @@ asmlinkage long sys32_fstat64(unsigned int fd, struct stat64 __user *statbuf)
126
126
return ret ;
127
127
}
128
128
129
- asmlinkage long sys32_fstatat (unsigned int dfd , const char __user * filename ,
130
- struct stat64 __user * statbuf , int flag )
129
+ COMPAT_SYSCALL_DEFINE4 (x86_fstatat , unsigned int , dfd ,
130
+ const char __user * , filename ,
131
+ struct stat64 __user * , statbuf , int , flag )
131
132
{
132
133
struct kstat stat ;
133
134
int error ;
@@ -153,7 +154,7 @@ struct mmap_arg_struct32 {
153
154
unsigned int offset ;
154
155
};
155
156
156
- asmlinkage long sys32_mmap ( struct mmap_arg_struct32 __user * arg )
157
+ COMPAT_SYSCALL_DEFINE1 ( x86_mmap , struct mmap_arg_struct32 __user * , arg )
157
158
{
158
159
struct mmap_arg_struct32 a ;
159
160
@@ -167,22 +168,22 @@ asmlinkage long sys32_mmap(struct mmap_arg_struct32 __user *arg)
167
168
a .offset >>PAGE_SHIFT );
168
169
}
169
170
170
- asmlinkage long sys32_waitpid ( compat_pid_t pid , unsigned int __user * stat_addr ,
171
- int options )
171
+ COMPAT_SYSCALL_DEFINE3 ( x86_waitpid , compat_pid_t , pid , unsigned int __user * ,
172
+ stat_addr , int , options )
172
173
{
173
174
return compat_sys_wait4 (pid , stat_addr , options , NULL );
174
175
}
175
176
176
177
/* warning: next two assume little endian */
177
- asmlinkage long sys32_pread ( unsigned int fd , char __user * ubuf , u32 count ,
178
- u32 poslo , u32 poshi )
178
+ COMPAT_SYSCALL_DEFINE5 ( x86_pread , unsigned int , fd , char __user * , ubuf ,
179
+ u32 , count , u32 , poslo , u32 , poshi )
179
180
{
180
181
return sys_pread64 (fd , ubuf , count ,
181
182
((loff_t )AA (poshi ) << 32 ) | AA (poslo ));
182
183
}
183
184
184
- asmlinkage long sys32_pwrite ( unsigned int fd , const char __user * ubuf ,
185
- u32 count , u32 poslo , u32 poshi )
185
+ COMPAT_SYSCALL_DEFINE5 ( x86_pwrite , unsigned int , fd , const char __user * , ubuf ,
186
+ u32 , count , u32 , poslo , u32 , poshi )
186
187
{
187
188
return sys_pwrite64 (fd , ubuf , count ,
188
189
((loff_t )AA (poshi ) << 32 ) | AA (poslo ));
@@ -193,39 +194,41 @@ asmlinkage long sys32_pwrite(unsigned int fd, const char __user *ubuf,
193
194
* Some system calls that need sign extended arguments. This could be
194
195
* done by a generic wrapper.
195
196
*/
196
- long sys32_fadvise64_64 (int fd , __u32 offset_low , __u32 offset_high ,
197
- __u32 len_low , __u32 len_high , int advice )
197
+ COMPAT_SYSCALL_DEFINE6 (x86_fadvise64_64 , int , fd , __u32 , offset_low ,
198
+ __u32 , offset_high , __u32 , len_low , __u32 , len_high ,
199
+ int , advice )
198
200
{
199
201
return sys_fadvise64_64 (fd ,
200
202
(((u64 )offset_high )<<32 ) | offset_low ,
201
203
(((u64 )len_high )<<32 ) | len_low ,
202
204
advice );
203
205
}
204
206
205
- asmlinkage ssize_t sys32_readahead ( int fd , unsigned off_lo , unsigned off_hi ,
206
- size_t count )
207
+ COMPAT_SYSCALL_DEFINE4 ( x86_readahead , int , fd , unsigned int , off_lo ,
208
+ unsigned int , off_hi , size_t , count )
207
209
{
208
210
return sys_readahead (fd , ((u64 )off_hi << 32 ) | off_lo , count );
209
211
}
210
212
211
- asmlinkage long sys32_sync_file_range (int fd , unsigned off_low , unsigned off_hi ,
212
- unsigned n_low , unsigned n_hi , int flags )
213
+ COMPAT_SYSCALL_DEFINE6 (x86_sync_file_range , int , fd , unsigned int , off_low ,
214
+ unsigned int , off_hi , unsigned int , n_low ,
215
+ unsigned int , n_hi , int , flags )
213
216
{
214
217
return sys_sync_file_range (fd ,
215
218
((u64 )off_hi << 32 ) | off_low ,
216
219
((u64 )n_hi << 32 ) | n_low , flags );
217
220
}
218
221
219
- asmlinkage long sys32_fadvise64 ( int fd , unsigned offset_lo , unsigned offset_hi ,
220
- size_t len , int advice )
222
+ COMPAT_SYSCALL_DEFINE5 ( x86_fadvise64 , int , fd , unsigned int , offset_lo ,
223
+ unsigned int , offset_hi , size_t , len , int , advice )
221
224
{
222
225
return sys_fadvise64_64 (fd , ((u64 )offset_hi << 32 ) | offset_lo ,
223
226
len , advice );
224
227
}
225
228
226
- asmlinkage long sys32_fallocate ( int fd , int mode , unsigned offset_lo ,
227
- unsigned offset_hi , unsigned len_lo ,
228
- unsigned len_hi )
229
+ COMPAT_SYSCALL_DEFINE6 ( x86_fallocate , int , fd , int , mode ,
230
+ unsigned int , offset_lo , unsigned int , offset_hi ,
231
+ unsigned int , len_lo , unsigned int , len_hi )
229
232
{
230
233
return sys_fallocate (fd , mode , ((u64 )offset_hi << 32 ) | offset_lo ,
231
234
((u64 )len_hi << 32 ) | len_lo );
0 commit comments