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