hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1995 - 2000, 2001 by Ralf Baechle
 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
 * Copyright (C) 2001 MIPS Technologies, Inc.
 * Copyright (C) 2004 Thiemo Seufer
 *
 * Hairy, the userspace application uses a different argument passing
 * convention than the kernel, so we have to translate things from o32
 * to ABI64 calling convention.     64-bit syscalls are also processed
 * here for now.
 */
#include <linux/errno.h>
#include <asm/asm.h>
#include <asm/asmmacro.h>
#include <asm/irqflags.h>
#include <asm/mipsregs.h>
#include <asm/regdef.h>
#include <asm/stackframe.h>
#include <asm/thread_info.h>
#include <asm/unistd.h>
#include <asm/sysmips.h>
 
   .align    5
NESTED(handle_sys, PT_SIZE, sp)
   .set    noat
   SAVE_SOME
   TRACE_IRQS_ON_RELOAD
   STI
   .set    at
   ld    t1, PT_EPC(sp)        # skip syscall on return
 
   dsubu    t0, v0, __NR_O32_Linux    # check syscall number
   sltiu    t0, t0, __NR_O32_Linux_syscalls + 1
   daddiu    t1, 4            # skip to next instruction
   sd    t1, PT_EPC(sp)
   beqz    t0, not_o32_scall
#if 0
 SAVE_ALL
 move a1, v0
 PRINT("Scall %ld\n")
 RESTORE_ALL
#endif
 
   /* We don't want to stumble over broken sign extensions from
      userland. O32 does never use the upper half. */
   sll    a0, a0, 0
   sll    a1, a1, 0
   sll    a2, a2, 0
   sll    a3, a3, 0
 
   sd    a3, PT_R26(sp)        # save a3 for syscall restarting
 
   /*
    * More than four arguments.  Try to deal with it by copying the
    * stack arguments from the user stack to the kernel stack.
    * This Sucks (TM).
    *
    * We intentionally keep the kernel stack a little below the top of
    * userspace so we don't have to do a slower byte accurate check here.
    */
   ld    t0, PT_R29(sp)        # get old user stack pointer
   daddu    t1, t0, 32
   bltz    t1, bad_stack
 
load_a4: lw    a4, 16(t0)        # argument #5 from usp
load_a5: lw    a5, 20(t0)        # argument #6 from usp
load_a6: lw    a6, 24(t0)        # argument #7 from usp
load_a7: lw    a7, 28(t0)        # argument #8 from usp
loads_done:
 
   .section __ex_table,"a"
   PTR    load_a4, bad_stack_a4
   PTR    load_a5, bad_stack_a5
   PTR    load_a6, bad_stack_a6
   PTR    load_a7, bad_stack_a7
   .previous
 
   li    t1, _TIF_WORK_SYSCALL_ENTRY
   LONG_L    t0, TI_FLAGS($28)    # syscall tracing enabled?
   and    t0, t1, t0
   bnez    t0, trace_a_syscall
 
syscall_common:
   dsll    t0, v0, 3        # offset into table
   ld    t2, (sys32_call_table - (__NR_O32_Linux * 8))(t0)
 
   jalr    t2            # Do The Real Thing (TM)
 
   li    t0, -EMAXERRNO - 1    # error?
   sltu    t0, t0, v0
   sd    t0, PT_R7(sp)        # set error flag
   beqz    t0, 1f
 
   ld    t1, PT_R2(sp)        # syscall number
   dnegu    v0            # error
   sd    t1, PT_R0(sp)        # save it for syscall restarting
1:    sd    v0, PT_R2(sp)        # result
 
o32_syscall_exit:
   j    syscall_exit_partial
 
/* ------------------------------------------------------------------------ */
 
trace_a_syscall:
   SAVE_STATIC
   sd    a4, PT_R8(sp)        # Save argument registers
   sd    a5, PT_R9(sp)
   sd    a6, PT_R10(sp)
   sd    a7, PT_R11(sp)        # For indirect syscalls
 
   move    a0, sp
   /*
    * absolute syscall number is in v0 unless we called syscall(__NR_###)
    * where the real syscall number is in a0
    * note: NR_syscall is the first O32 syscall but the macro is
    * only defined when compiling with -mabi=32 (CONFIG_32BIT)
    * therefore __NR_O32_Linux is used (4000)
    */
   .set    push
   .set    reorder
   subu    t1, v0,  __NR_O32_Linux
   move    a1, v0
   bnez    t1, 1f /* __NR_syscall at offset 0 */
   ld    a1, PT_R4(sp) /* Arg1 for __NR_syscall case */
   .set    pop
 
1:    jal    syscall_trace_enter
 
   bltz    v0, 1f            # seccomp failed? Skip syscall
 
   RESTORE_STATIC
   ld    v0, PT_R2(sp)        # Restore syscall (maybe modified)
   ld    a0, PT_R4(sp)        # Restore argument registers
   ld    a1, PT_R5(sp)
   ld    a2, PT_R6(sp)
   ld    a3, PT_R7(sp)
   ld    a4, PT_R8(sp)
   ld    a5, PT_R9(sp)
   ld    a6, PT_R10(sp)
   ld    a7, PT_R11(sp)        # For indirect syscalls
 
   dsubu    t0, v0, __NR_O32_Linux    # check (new) syscall number
   sltiu    t0, t0, __NR_O32_Linux_syscalls + 1
   beqz    t0, not_o32_scall
 
   j    syscall_common
 
1:    j    syscall_exit
 
/* ------------------------------------------------------------------------ */
 
   /*
    * The stackpointer for a call with more than 4 arguments is bad.
    */
bad_stack:
   li    v0, EFAULT
   sd    v0, PT_R2(sp)
   li    t0, 1            # set error flag
   sd    t0, PT_R7(sp)
   j    o32_syscall_exit
 
bad_stack_a4:
   li    a4, 0
   b    load_a5
 
bad_stack_a5:
   li    a5, 0
   b    load_a6
 
bad_stack_a6:
   li    a6, 0
   b    load_a7
 
bad_stack_a7:
   li    a7, 0
   b    loads_done
 
not_o32_scall:
   /*
    * This is not an o32 compatibility syscall, pass it on
    * to the 64-bit syscall handlers.
    */
#ifdef CONFIG_MIPS32_N32
   j    handle_sysn32
#else
   j    handle_sys64
#endif
   END(handle_sys)
 
LEAF(sys32_syscall)
   subu    t0, a0, __NR_O32_Linux    # check syscall number
   sltiu    v0, t0, __NR_O32_Linux_syscalls + 1
   beqz    t0, einval        # do not recurse
   dsll    t1, t0, 3
   beqz    v0, einval
   ld    t2, sys32_call_table(t1)        # syscall routine
 
   move    a0, a1            # shift argument registers
   move    a1, a2
   move    a2, a3
   move    a3, a4
   move    a4, a5
   move    a5, a6
   move    a6, a7
   jr    t2
   /* Unreached */
 
einval: li    v0, -ENOSYS
   jr    ra
   END(sys32_syscall)
 
   .align    3
   .type    sys32_call_table,@object
EXPORT(sys32_call_table)
   PTR    sys32_syscall            /* 4000 */
   PTR    sys_exit
   PTR    __sys_fork
   PTR    sys_read
   PTR    sys_write
   PTR    compat_sys_open            /* 4005 */
   PTR    sys_close
   PTR    sys_waitpid
   PTR    sys_creat
   PTR    sys_link
   PTR    sys_unlink            /* 4010 */
   PTR    compat_sys_execve
   PTR    sys_chdir
   PTR    compat_sys_time
   PTR    sys_mknod
   PTR    sys_chmod            /* 4015 */
   PTR    sys_lchown
   PTR    sys_ni_syscall
   PTR    sys_ni_syscall            /* was sys_stat */
   PTR    sys_lseek
   PTR    sys_getpid            /* 4020 */
   PTR    compat_sys_mount
   PTR    sys_oldumount
   PTR    sys_setuid
   PTR    sys_getuid
   PTR    compat_sys_stime        /* 4025 */
   PTR    compat_sys_ptrace
   PTR    sys_alarm
   PTR    sys_ni_syscall            /* was sys_fstat */
   PTR    sys_pause
   PTR    compat_sys_utime        /* 4030 */
   PTR    sys_ni_syscall
   PTR    sys_ni_syscall
   PTR    sys_access
   PTR    sys_nice
   PTR    sys_ni_syscall            /* 4035 */
   PTR    sys_sync
   PTR    sys_kill
   PTR    sys_rename
   PTR    sys_mkdir
   PTR    sys_rmdir            /* 4040 */
   PTR    sys_dup
   PTR    sysm_pipe
   PTR    compat_sys_times
   PTR    sys_ni_syscall
   PTR    sys_brk                /* 4045 */
   PTR    sys_setgid
   PTR    sys_getgid
   PTR    sys_ni_syscall            /* was signal    2 */
   PTR    sys_geteuid
   PTR    sys_getegid            /* 4050 */
   PTR    sys_acct
   PTR    sys_umount
   PTR    sys_ni_syscall
   PTR    compat_sys_ioctl
   PTR    compat_sys_fcntl        /* 4055 */
   PTR    sys_ni_syscall
   PTR    sys_setpgid
   PTR    sys_ni_syscall
   PTR    sys_olduname
   PTR    sys_umask            /* 4060 */
   PTR    sys_chroot
   PTR    compat_sys_ustat
   PTR    sys_dup2
   PTR    sys_getppid
   PTR    sys_getpgrp            /* 4065 */
   PTR    sys_setsid
   PTR    sys_32_sigaction
   PTR    sys_sgetmask
   PTR    sys_ssetmask
   PTR    sys_setreuid            /* 4070 */
   PTR    sys_setregid
   PTR    sys32_sigsuspend
   PTR    compat_sys_sigpending
   PTR    sys_sethostname
   PTR    compat_sys_setrlimit        /* 4075 */
   PTR    compat_sys_getrlimit
   PTR    compat_sys_getrusage
   PTR    compat_sys_gettimeofday
   PTR    compat_sys_settimeofday
   PTR    sys_getgroups            /* 4080 */
   PTR    sys_setgroups
   PTR    sys_ni_syscall            /* old_select */
   PTR    sys_symlink
   PTR    sys_ni_syscall            /* was sys_lstat */
   PTR    sys_readlink            /* 4085 */
   PTR    sys_uselib
   PTR    sys_swapon
   PTR    sys_reboot
   PTR    compat_sys_old_readdir
   PTR    sys_mips_mmap            /* 4090 */
   PTR    sys_munmap
   PTR    compat_sys_truncate
   PTR    compat_sys_ftruncate
   PTR    sys_fchmod
   PTR    sys_fchown            /* 4095 */
   PTR    sys_getpriority
   PTR    sys_setpriority
   PTR    sys_ni_syscall
   PTR    compat_sys_statfs
   PTR    compat_sys_fstatfs        /* 4100 */
   PTR    sys_ni_syscall            /* sys_ioperm */
   PTR    compat_sys_socketcall
   PTR    sys_syslog
   PTR    compat_sys_setitimer
   PTR    compat_sys_getitimer        /* 4105 */
   PTR    compat_sys_newstat
   PTR    compat_sys_newlstat
   PTR    compat_sys_newfstat
   PTR    sys_uname
   PTR    sys_ni_syscall            /* sys_ioperm  *//* 4110 */
   PTR    sys_vhangup
   PTR    sys_ni_syscall            /* was sys_idle     */
   PTR    sys_ni_syscall            /* sys_vm86 */
   PTR    compat_sys_wait4
   PTR    sys_swapoff            /* 4115 */
   PTR    compat_sys_sysinfo
   PTR    compat_sys_ipc
   PTR    sys_fsync
   PTR    sys32_sigreturn
   PTR    __sys_clone            /* 4120 */
   PTR    sys_setdomainname
   PTR    sys_newuname
   PTR    sys_ni_syscall            /* sys_modify_ldt */
   PTR    compat_sys_adjtimex
   PTR    sys_mprotect            /* 4125 */
   PTR    compat_sys_sigprocmask
   PTR    sys_ni_syscall            /* was creat_module */
   PTR    sys_init_module
   PTR    sys_delete_module
   PTR    sys_ni_syscall            /* 4130, get_kernel_syms */
   PTR    sys_quotactl
   PTR    sys_getpgid
   PTR    sys_fchdir
   PTR    sys_bdflush
   PTR    sys_sysfs            /* 4135 */
   PTR    sys_32_personality
   PTR    sys_ni_syscall            /* for afs_syscall */
   PTR    sys_setfsuid
   PTR    sys_setfsgid
   PTR    sys_32_llseek            /* 4140 */
   PTR    compat_sys_getdents
   PTR    compat_sys_select
   PTR    sys_flock
   PTR    sys_msync
   PTR    compat_sys_readv        /* 4145 */
   PTR    compat_sys_writev
   PTR    sys_cacheflush
   PTR    sys_cachectl
   PTR    __sys_sysmips
   PTR    sys_ni_syscall            /* 4150 */
   PTR    sys_getsid
   PTR    sys_fdatasync
   PTR    compat_sys_sysctl
   PTR    sys_mlock
   PTR    sys_munlock            /* 4155 */
   PTR    sys_mlockall
   PTR    sys_munlockall
   PTR    sys_sched_setparam
   PTR    sys_sched_getparam
   PTR    sys_sched_setscheduler        /* 4160 */
   PTR    sys_sched_getscheduler
   PTR    sys_sched_yield
   PTR    sys_sched_get_priority_max
   PTR    sys_sched_get_priority_min
   PTR    compat_sys_sched_rr_get_interval    /* 4165 */
   PTR    compat_sys_nanosleep
   PTR    sys_mremap
   PTR    sys_accept
   PTR    sys_bind
   PTR    sys_connect            /* 4170 */
   PTR    sys_getpeername
   PTR    sys_getsockname
   PTR    compat_sys_getsockopt
   PTR    sys_listen
   PTR    compat_sys_recv            /* 4175 */
   PTR    compat_sys_recvfrom
   PTR    compat_sys_recvmsg
   PTR    sys_send
   PTR    compat_sys_sendmsg
   PTR    sys_sendto            /* 4180 */
   PTR    compat_sys_setsockopt
   PTR    sys_shutdown
   PTR    sys_socket
   PTR    sys_socketpair
   PTR    sys_setresuid            /* 4185 */
   PTR    sys_getresuid
   PTR    sys_ni_syscall            /* was query_module */
   PTR    sys_poll
   PTR    sys_ni_syscall            /* was nfsservctl */
   PTR    sys_setresgid            /* 4190 */
   PTR    sys_getresgid
   PTR    sys_prctl
   PTR    sys32_rt_sigreturn
   PTR    compat_sys_rt_sigaction
   PTR    compat_sys_rt_sigprocmask    /* 4195 */
   PTR    compat_sys_rt_sigpending
   PTR    compat_sys_rt_sigtimedwait
   PTR    compat_sys_rt_sigqueueinfo
   PTR    compat_sys_rt_sigsuspend
   PTR    sys_32_pread            /* 4200 */
   PTR    sys_32_pwrite
   PTR    sys_chown
   PTR    sys_getcwd
   PTR    sys_capget
   PTR    sys_capset            /* 4205 */
   PTR    compat_sys_sigaltstack
   PTR    compat_sys_sendfile
   PTR    sys_ni_syscall
   PTR    sys_ni_syscall
   PTR    sys_mips_mmap2            /* 4210 */
   PTR    sys_32_truncate64
   PTR    sys_32_ftruncate64
   PTR    sys_newstat
   PTR    sys_newlstat
   PTR    sys_newfstat            /* 4215 */
   PTR    sys_pivot_root
   PTR    sys_mincore
   PTR    sys_madvise
   PTR    sys_getdents64
   PTR    compat_sys_fcntl64        /* 4220 */
   PTR    sys_ni_syscall
   PTR    sys_gettid
   PTR    sys32_readahead
   PTR    sys_setxattr
   PTR    sys_lsetxattr            /* 4225 */
   PTR    sys_fsetxattr
   PTR    sys_getxattr
   PTR    sys_lgetxattr
   PTR    sys_fgetxattr
   PTR    sys_listxattr            /* 4230 */
   PTR    sys_llistxattr
   PTR    sys_flistxattr
   PTR    sys_removexattr
   PTR    sys_lremovexattr
   PTR    sys_fremovexattr        /* 4235 */
   PTR    sys_tkill
   PTR    sys_sendfile64
   PTR    compat_sys_futex
   PTR    compat_sys_sched_setaffinity
   PTR    compat_sys_sched_getaffinity    /* 4240 */
   PTR    compat_sys_io_setup
   PTR    sys_io_destroy
   PTR    compat_sys_io_getevents
   PTR    compat_sys_io_submit
   PTR    sys_io_cancel            /* 4245 */
   PTR    sys_exit_group
   PTR    compat_sys_lookup_dcookie
   PTR    sys_epoll_create
   PTR    sys_epoll_ctl
   PTR    sys_epoll_wait            /* 4250 */
   PTR    sys_remap_file_pages
   PTR    sys_set_tid_address
   PTR    sys_restart_syscall
   PTR    sys32_fadvise64_64
   PTR    compat_sys_statfs64        /* 4255 */
   PTR    compat_sys_fstatfs64
   PTR    compat_sys_timer_create
   PTR    compat_sys_timer_settime
   PTR    compat_sys_timer_gettime
   PTR    sys_timer_getoverrun        /* 4260 */
   PTR    sys_timer_delete
   PTR    compat_sys_clock_settime
   PTR    compat_sys_clock_gettime
   PTR    compat_sys_clock_getres
   PTR    compat_sys_clock_nanosleep    /* 4265 */
   PTR    sys_tgkill
   PTR    compat_sys_utimes
   PTR    compat_sys_mbind
   PTR    compat_sys_get_mempolicy
   PTR    compat_sys_set_mempolicy    /* 4270 */
   PTR    compat_sys_mq_open
   PTR    sys_mq_unlink
   PTR    compat_sys_mq_timedsend
   PTR    compat_sys_mq_timedreceive
   PTR    compat_sys_mq_notify        /* 4275 */
   PTR    compat_sys_mq_getsetattr
   PTR    sys_ni_syscall            /* sys_vserver */
   PTR    compat_sys_waitid
   PTR    sys_ni_syscall            /* available, was setaltroot */
   PTR    sys_add_key            /* 4280 */
   PTR    sys_request_key
   PTR    compat_sys_keyctl
   PTR    sys_set_thread_area
   PTR    sys_inotify_init
   PTR    sys_inotify_add_watch        /* 4285 */
   PTR    sys_inotify_rm_watch
   PTR    compat_sys_migrate_pages
   PTR    compat_sys_openat
   PTR    sys_mkdirat
   PTR    sys_mknodat            /* 4290 */
   PTR    sys_fchownat
   PTR    compat_sys_futimesat
   PTR    sys_newfstatat
   PTR    sys_unlinkat
   PTR    sys_renameat            /* 4295 */
   PTR    sys_linkat
   PTR    sys_symlinkat
   PTR    sys_readlinkat
   PTR    sys_fchmodat
   PTR    sys_faccessat            /* 4300 */
   PTR    compat_sys_pselect6
   PTR    compat_sys_ppoll
   PTR    sys_unshare
   PTR    sys_splice
   PTR    sys32_sync_file_range        /* 4305 */
   PTR    sys_tee
   PTR    compat_sys_vmsplice
   PTR    compat_sys_move_pages
   PTR    compat_sys_set_robust_list
   PTR    compat_sys_get_robust_list    /* 4310 */
   PTR    compat_sys_kexec_load
   PTR    sys_getcpu
   PTR    compat_sys_epoll_pwait
   PTR    sys_ioprio_set
   PTR    sys_ioprio_get            /* 4315 */
   PTR    compat_sys_utimensat
   PTR    compat_sys_signalfd
   PTR    sys_ni_syscall            /* was timerfd */
   PTR    sys_eventfd
   PTR    sys32_fallocate            /* 4320 */
   PTR    sys_timerfd_create
   PTR    compat_sys_timerfd_gettime
   PTR    compat_sys_timerfd_settime
   PTR    compat_sys_signalfd4
   PTR    sys_eventfd2            /* 4325 */
   PTR    sys_epoll_create1
   PTR    sys_dup3
   PTR    sys_pipe2
   PTR    sys_inotify_init1
   PTR    compat_sys_preadv        /* 4330 */
   PTR    compat_sys_pwritev
   PTR    compat_sys_rt_tgsigqueueinfo
   PTR    sys_perf_event_open
   PTR    sys_accept4
   PTR    compat_sys_recvmmsg        /* 4335 */
   PTR    sys_fanotify_init
   PTR    compat_sys_fanotify_mark
   PTR    sys_prlimit64
   PTR    sys_name_to_handle_at
   PTR    compat_sys_open_by_handle_at    /* 4340 */
   PTR    compat_sys_clock_adjtime
   PTR    sys_syncfs
   PTR    compat_sys_sendmmsg
   PTR    sys_setns
   PTR    compat_sys_process_vm_readv    /* 4345 */
   PTR    compat_sys_process_vm_writev
   PTR    sys_kcmp
   PTR    sys_finit_module
   PTR    sys_sched_setattr
   PTR    sys_sched_getattr        /* 4350 */
   PTR    sys_renameat2
   PTR    sys_seccomp
   PTR    sys_getrandom
   PTR    sys_memfd_create
   PTR    sys_bpf                /* 4355 */
   PTR    compat_sys_execveat
   PTR    sys_userfaultfd
   PTR    sys_membarrier
   PTR    sys_mlock2
   PTR    sys_copy_file_range        /* 4360 */
   PTR    compat_sys_preadv2
   PTR    compat_sys_pwritev2
   PTR    sys_pkey_mprotect
   PTR    sys_pkey_alloc
   PTR    sys_pkey_free            /* 4365 */
   PTR    sys_statx
   PTR    sys_rseq
   PTR    compat_sys_io_pgetevents
   .size    sys32_call_table,.-sys32_call_table