Messages in this thread Patch in this message | | | From | Roland McGrath <> | Subject | [PATCH 2/2] asmlinkage_protect sys_io_getevents | Date | Thu, 10 Apr 2008 15:38:45 -0700 (PDT) |
| |
Use asmlinkage_protect in sys_io_getevents, because GCC for i386 with CONFIG_FRAME_POINTER=n can decide to clobber an argument word on the stack, i.e. the user struct pt_regs. Here the problem is not a tail call, but just the compiler's use of the stack when it inlines and optimizes the body of the called function. This seems to avoid it.
Signed-off-by: Roland McGrath <roland@redhat.com> --- fs/aio.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/fs/aio.c b/fs/aio.c index 6af9219..60a4cd4 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1790,6 +1790,7 @@ asmlinkage long sys_io_getevents(aio_context_t ctx_id, put_ioctx(ioctx); } + asmlinkage_protect(5, ret, ctx_id, min_nr, nr, events, timeout); return ret; }
| |