[ Upstream commit 5541992e512de8c9133110809f767bd1b54ee10d ]
The 'syscall' instruction clobbers '%rcx' and '%r11', but they are not
listed in the inline Assembly that performs the syscall instruction.
No real bug is found. It wasn't buggy by luck because '%rcx' and '%r11'
are caller-saved registers, and not used in the functions, and the
functions are never inlined.
Add them to the clobber list for code correctness.
Fixes:
|
||
---|---|---|
.. | ||
asm | ||
os-Linux | ||
shared/sysdep | ||
vdso | ||
bugs_32.c | ||
bugs_64.c | ||
checksum_32.S | ||
delay.c | ||
elfcore.c | ||
fault.c | ||
Kconfig | ||
ldt.c | ||
Makefile | ||
mem_32.c | ||
mem_64.c | ||
ptrace_32.c | ||
ptrace_64.c | ||
ptrace_user.c | ||
setjmp_32.S | ||
setjmp_64.S | ||
signal.c | ||
stub_32.S | ||
stub_64.S | ||
stub_segv.c | ||
sys_call_table_32.c | ||
sys_call_table_64.c | ||
syscalls_32.c | ||
syscalls_64.c | ||
sysrq_32.c | ||
sysrq_64.c | ||
tls_32.c | ||
tls_64.c | ||
user-offsets.c |