Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1398792 > unrolled thread
| Started by | "Dmitry V. Levin" <ldv@altlinux.org> |
|---|---|
| First post | 2016-05-11 10:50 +0200 |
| Last post | 2016-05-12 13:00 +0200 |
| Articles | 7 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] x86: use compat version for preadv2 and pwritev2 "Dmitry V. Levin" <ldv@altlinux.org> - 2016-05-11 10:50 +0200
Re: [PATCH] x86: use compat version for preadv2 and pwritev2 Thomas Gleixner <tglx@linutronix.de> - 2016-05-11 12:20 +0200
Re: [PATCH] x86: use compat version for preadv2 and pwritev2 "Dmitry V. Levin" <ldv@altlinux.org> - 2016-05-11 12:30 +0200
Re: [PATCH] x86: use compat version for preadv2 and pwritev2 Thomas Gleixner <tglx@linutronix.de> - 2016-05-11 13:10 +0200
Re: [PATCH] x86: use compat version for preadv2 and pwritev2 Christoph Hellwig <hch@lst.de> - 2016-05-12 09:40 +0200
Re: [PATCH] x86: use compat version for preadv2 and pwritev2 Christoph Hellwig <hch@lst.de> - 2016-05-12 09:40 +0200
Re: [PATCH] x86: use compat version for preadv2 and pwritev2 "Dmitry V. Levin" <ldv@altlinux.org> - 2016-05-12 13:00 +0200
| From | "Dmitry V. Levin" <ldv@altlinux.org> |
|---|---|
| Date | 2016-05-11 10:50 +0200 |
| Subject | [PATCH] x86: use compat version for preadv2 and pwritev2 |
| Message-ID | <rxy09-4vB-3@gated-at.bofh.it> |
Similar to preadv and pwritev, preadv2 and pwritev2 need compat entries
in the 32-bit syscall table.
This bug was found by strace test suite.
Fixes: 4babf2c5efb7 ("x86: wire up preadv2 and pwritev2")
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
arch/x86/entry/syscalls/syscall_32.tbl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index b30dd81..4cddd17 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -384,5 +384,5 @@
375 i386 membarrier sys_membarrier
376 i386 mlock2 sys_mlock2
377 i386 copy_file_range sys_copy_file_range
-378 i386 preadv2 sys_preadv2
-379 i386 pwritev2 sys_pwritev2
+378 i386 preadv2 sys_preadv2 compat_sys_preadv2
+379 i386 pwritev2 sys_pwritev2 compat_sys_pwritev2
--
ldv
[toc] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2016-05-11 12:20 +0200 |
| Message-ID | <rxzpg-6fl-23@gated-at.bofh.it> |
| In reply to | #1398792 |
On Wed, 11 May 2016, Dmitry V. Levin wrote: > Similar to preadv and pwritev, preadv2 and pwritev2 need compat entries > in the 32-bit syscall table. So this is 2016 and we added a syscalls which require compat support. What's wrong here? Thanks, tglx
[toc] | [prev] | [next] | [standalone]
| From | "Dmitry V. Levin" <ldv@altlinux.org> |
|---|---|
| Date | 2016-05-11 12:30 +0200 |
| Message-ID | <rxzyX-6m4-19@gated-at.bofh.it> |
| In reply to | #1398898 |
On Wed, May 11, 2016 at 12:14:11PM +0200, Thomas Gleixner wrote: > On Wed, 11 May 2016, Dmitry V. Levin wrote: > > Similar to preadv and pwritev, preadv2 and pwritev2 need compat entries > > in the 32-bit syscall table. > > So this is 2016 and we added a syscalls which require compat support. What's > wrong here? I'm not sure I understand your question, it looks to me as "why do we add syscalls that require compat support". If that's what you are asking, I have no idea, I'm a strace man. -- ldv
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2016-05-11 13:10 +0200 |
| Message-ID | <rxAbD-77O-7@gated-at.bofh.it> |
| In reply to | #1398910 |
On Wed, 11 May 2016, Dmitry V. Levin wrote: > On Wed, May 11, 2016 at 12:14:11PM +0200, Thomas Gleixner wrote: > > On Wed, 11 May 2016, Dmitry V. Levin wrote: > > > Similar to preadv and pwritev, preadv2 and pwritev2 need compat entries > > > in the 32-bit syscall table. > > > > So this is 2016 and we added a syscalls which require compat support. What's > > wrong here? > > I'm not sure I understand your question, it looks to me as "why do we add > syscalls that require compat support". If that's what you are asking, Yes, that question was directed at the people who added this in the first place. > I have no idea, I'm a strace man. I know, you are just the messenger :) Thanks, tglx
[toc] | [prev] | [next] | [standalone]
| From | Christoph Hellwig <hch@lst.de> |
|---|---|
| Date | 2016-05-12 09:40 +0200 |
| Message-ID | <rxTnY-13D-23@gated-at.bofh.it> |
| In reply to | #1398898 |
On Wed, May 11, 2016 at 12:14:11PM +0200, Thomas Gleixner wrote: > On Wed, 11 May 2016, Dmitry V. Levin wrote: > > Similar to preadv and pwritev, preadv2 and pwritev2 need compat entries > > in the 32-bit syscall table. > > So this is 2016 and we added a syscalls which require compat support. What's > wrong here? Nothing. It's and extension of readv/writev and uses struct iovec, which is different for compat vs native. We have efficient infrastructure to deal with that in the kernel, while in userspace people would have to copy around all the iovecs for every I/O, which would be a nightmare.
[toc] | [prev] | [next] | [standalone]
| From | Christoph Hellwig <hch@lst.de> |
|---|---|
| Date | 2016-05-12 09:40 +0200 |
| Message-ID | <rxTnX-13D-7@gated-at.bofh.it> |
| In reply to | #1398792 |
On Wed, May 11, 2016 at 11:48:17AM +0300, Dmitry V. Levin wrote: > Similar to preadv and pwritev, preadv2 and pwritev2 need compat entries > in the 32-bit syscall table. > > This bug was found by strace test suite. Looks fine, thanks. Btw, can we have a sensible format for the syscalls list that explicitly requires adding _something_ for the compat entry so that errors by ommision like this can't happen? Reviewed-by: Christoph Hellwig <hch@lst.de>
[toc] | [prev] | [next] | [standalone]
| From | "Dmitry V. Levin" <ldv@altlinux.org> |
|---|---|
| Date | 2016-05-12 13:00 +0200 |
| Message-ID | <rxWvx-3Ty-13@gated-at.bofh.it> |
| In reply to | #1399715 |
On Thu, May 12, 2016 at 09:30:37AM +0200, Christoph Hellwig wrote: > On Wed, May 11, 2016 at 11:48:17AM +0300, Dmitry V. Levin wrote: > > Similar to preadv and pwritev, preadv2 and pwritev2 need compat entries > > in the 32-bit syscall table. > > > > This bug was found by strace test suite. > > Looks fine, thanks. BTW, x32 hasn't got entries for preadv2/pwritev2 at all. Not a problem, just a reminder. -- ldv
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web