From: Roland McGrath Date: Thu, 10 Apr 2008 22:38:45 +0000 (-0700) Subject: asmlinkage_protect sys_io_getevents X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=598af051a79d05b751fe793f1fe09fcf74763e02;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git asmlinkage_protect sys_io_getevents 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 Signed-off-by: Linus Torvalds --- diff --git a/fs/aio.c b/fs/aio.c index 6af921940622..60a4cd4d1137 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; }