From: Dmitry V. Levin Date: Tue, 7 May 2013 09:35:18 +0000 (+0000) Subject: pread, pwrite: fix number of syscall arguments X-Git-Tag: v4.8~29 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5273cb7d607e89043a80da36cf13580567c0dcd0;p=strace pread, pwrite: fix number of syscall arguments The number of pread and pwrite arguments depends on architecture and personality. For 64bit and ilp32 it equals to 4, for unaligned 32bit it equals to 5, and for aligned 32bit it equals to 6. * linux/aarch64/syscallent1.h: Change the number of pread and pwrite arguments to 4. * linux/alpha/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/tile/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/or1k/syscallent.h: Change the number of pread and pwrite arguments to 5. --- diff --git a/linux/aarch64/syscallent1.h b/linux/aarch64/syscallent1.h index 58edc5ed..e772a5ef 100644 --- a/linux/aarch64/syscallent1.h +++ b/linux/aarch64/syscallent1.h @@ -65,8 +65,8 @@ { 3, TD, sys_write, "write" }, /* 64 */ { 3, TD, sys_readv, "readv" }, /* 65 */ { 3, TD, sys_writev, "writev" }, /* 66 */ - { 5, TD, sys_pread, "pread64" }, /* 67 */ - { 5, TD, sys_pwrite, "pwrite64" }, /* 68 */ + { 4, TD, sys_pread, "pread64" }, /* 67 */ + { 4, TD, sys_pwrite, "pwrite64" }, /* 68 */ { 4, TD, sys_preadv, "preadv" }, /* 69 */ { 4, TD, sys_pwritev, "pwritev" }, /* 70 */ { 4, TD|TN, sys_sendfile64, "sendfile" }, /* 71 */ diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h index 05e23fd4..30a5094b 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -375,8 +375,8 @@ { 5, 0, printargs, "pciconfig_write" }, /* 346 */ { 5, 0, sys_query_module, "query_module" }, /* 347 */ { 5, 0, sys_prctl, "prctl" }, /* 348 */ - { 5, TD, sys_pread, "pread" }, /* 349 */ - { 5, TD, sys_pwrite, "pwrite" }, /* 350 */ + { 4, TD, sys_pread, "pread" }, /* 349 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 350 */ { 0, TS, sys_rt_sigreturn, "rt_sigreturn" }, /* 351 */ { 4, TS, sys_rt_sigaction, "rt_sigaction" }, /* 352 */ { 4, TS, sys_rt_sigprocmask, "rt_sigprocmask" }, /* 353 */ diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h index 8dce9267..130d03bf 100644 --- a/linux/mips/syscallent-n32.h +++ b/linux/mips/syscallent-n32.h @@ -16,8 +16,8 @@ { 4, TS, sys_rt_sigaction, "rt_sigaction" }, /* 6013 */ { 4, TS, sys_rt_sigprocmask, "rt_sigprocmask"}, /* 6014 */ { 3, TD, sys_ioctl, "ioctl" }, /* 6015 */ - { 6, TD, sys_pread, "pread" }, /* 6016 */ - { 6, TD, sys_pwrite, "pwrite" }, /* 6017 */ + { 4, TD, sys_pread, "pread" }, /* 6016 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 6017 */ { 3, TD, sys_readv, "readv" }, /* 6018 */ { 3, TD, sys_writev, "writev" }, /* 6019 */ { 2, TF, sys_access, "access" }, /* 6020 */ diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h index 9b9bea28..a0a92ec1 100644 --- a/linux/mips/syscallent-n64.h +++ b/linux/mips/syscallent-n64.h @@ -16,8 +16,8 @@ { 4, TS, sys_rt_sigaction, "rt_sigaction" }, /* 5013 */ { 4, TS, sys_rt_sigprocmask, "rt_sigprocmask"}, /* 5014 */ { 3, TD, sys_ioctl, "ioctl" }, /* 5015 */ - { 6, TD, sys_pread, "pread" }, /* 5016 */ - { 6, TD, sys_pwrite, "pwrite" }, /* 5017 */ + { 4, TD, sys_pread, "pread" }, /* 5016 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 5017 */ { 3, TD, sys_readv, "readv" }, /* 5018 */ { 3, TD, sys_writev, "writev" }, /* 5019 */ { 2, TF, sys_access, "access" }, /* 5020 */ diff --git a/linux/or1k/syscallent.h b/linux/or1k/syscallent.h index a5987430..975427dc 100644 --- a/linux/or1k/syscallent.h +++ b/linux/or1k/syscallent.h @@ -65,8 +65,8 @@ { 3, TD, sys_write, "write" }, /* 64 */ { 3, TD, sys_readv, "readv" }, /* 65 */ { 3, TD, sys_writev, "writev" }, /* 66 */ - { 6, TD, sys_pread, "pread64" }, /* 67 */ - { 6, TD, sys_pwrite, "pwrite64" }, /* 68 */ + { 5, TD, sys_pread, "pread64" }, /* 67 */ + { 5, TD, sys_pwrite, "pwrite64" }, /* 68 */ { 5, TD, sys_preadv, "preadv" }, /* 69 */ { 5, TD, sys_pwritev, "pwritev" }, /* 70 */ { 4, TD|TN, sys_sendfile64, "sendfile" }, /* 71 */ diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index 4c4f18b0..05b296cf 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -207,8 +207,8 @@ { 4, TS, sys_rt_sigtimedwait, "rt_sigtimedwait"}, /* 177 */ { 3, TS, sys_rt_sigqueueinfo, "rt_sigqueueinfo"}, /* 178 */ { 2, TS, sys_rt_sigsuspend, "rt_sigsuspend" }, /* 179 */ - { 5, TD, sys_pread, "pread" }, /* 180 */ - { 5, TD, sys_pwrite, "pwrite" }, /* 181 */ + { 4, TD, sys_pread, "pread" }, /* 180 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 181 */ { MA, 0, NULL, NULL }, /* 182 */ { 2, TF, sys_getcwd, "getcwd" }, /* 183 */ { 2, 0, sys_capget, "capget" }, /* 184 */ diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h index e4a4b22d..246417dc 100644 --- a/linux/sh64/syscallent.h +++ b/linux/sh64/syscallent.h @@ -206,8 +206,8 @@ { 4, TS, sys_rt_sigtimedwait, "rt_sigtimedwait"}, /* 177 */ { 3, TS, sys_rt_sigqueueinfo, "rt_sigqueueinfo"}, /* 178 */ { 2, TS, sys_rt_sigsuspend, "rt_sigsuspend" }, /* 179 */ - { 5, TD, sys_pread, "pread" }, /* 180 */ - { 5, TD, sys_pwrite, "pwrite" }, /* 181 */ + { 4, TD, sys_pread, "pread" }, /* 180 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 181 */ { 3, TF, sys_chown, "chown" }, /* 182 */ { 2, TF, sys_getcwd, "getcwd" }, /* 183 */ { 2, 0, sys_capget, "capget" }, /* 184 */ diff --git a/linux/tile/syscallent.h b/linux/tile/syscallent.h index 8ea68fd6..5ac87f14 100644 --- a/linux/tile/syscallent.h +++ b/linux/tile/syscallent.h @@ -65,8 +65,8 @@ { 3, TD, sys_write, "write" }, /* 64 */ { 3, TD, sys_readv, "readv" }, /* 65 */ { 3, TD, sys_writev, "writev" }, /* 66 */ - { 6, TD, sys_pread, "pread64" }, /* 67 */ - { 6, TD, sys_pwrite, "pwrite64" }, /* 68 */ + { 4, TD, sys_pread, "pread64" }, /* 67 */ + { 4, TD, sys_pwrite, "pwrite64" }, /* 68 */ { 4, TD, sys_preadv, "preadv" }, /* 69 */ { 4, TD, sys_pwritev, "pwritev" }, /* 70 */ { 4, TD|TN, sys_sendfile64, "sendfile" }, /* 71 */ diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h index 6a95b15a..c43f7ac0 100644 --- a/linux/x32/syscallent.h +++ b/linux/x32/syscallent.h @@ -15,8 +15,8 @@ { 4, TS, sys_rt_sigprocmask, "rt_sigprocmask"}, /* 14 */ { 0, TS, printargs, "64:rt_sigreturn" }, /* 15 */ { 3, TD, printargs, "64:ioctl" }, /* 16 */ - { 5, TD, sys_pread, "pread" }, /* 17 */ - { 5, TD, sys_pwrite, "pwrite" }, /* 18 */ + { 4, TD, sys_pread, "pread" }, /* 17 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 18 */ { 3, TD, printargs, "64:readv" }, /* 19 */ { 3, TD, printargs, "64:writev" }, /* 20 */ { 2, TF, sys_access, "access" }, /* 21 */ diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 005752cf..b53b736e 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -15,8 +15,8 @@ { 4, TS, sys_rt_sigprocmask, "rt_sigprocmask"}, /* 14 */ { 0, TS, sys_rt_sigreturn, "rt_sigreturn" }, /* 15 */ { 3, TD, sys_ioctl, "ioctl" }, /* 16 */ - { 5, TD, sys_pread, "pread" }, /* 17 */ - { 5, TD, sys_pwrite, "pwrite" }, /* 18 */ + { 4, TD, sys_pread, "pread" }, /* 17 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 18 */ { 3, TD, sys_readv, "readv" }, /* 19 */ { 3, TD, sys_writev, "writev" }, /* 20 */ { 2, TF, sys_access, "access" }, /* 21 */