1535bd8adbdedd60a0ee62e28fd5225d66434371 |
|
14-Mar-2014 |
Dave Kleikamp <dave.kleikamp@oracle.com> |
sparc64: don't treat 64-bit syscall return codes as 32-bit When checking a system call return code for an error, linux_sparc_syscall was sign-extending the lower 32-bit value and comparing it to -ERESTART_RESTARTBLOCK. lseek can return valid return codes whose lower 32-bits alone would indicate a failure (such as 4G-1). Use the whole 64-bit value to check for errors. Only the 32-bit path should sign extend the lower 32-bit value. Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> Acked-by: Bob Picco <bob.picco@oracle.com> Acked-by: Allen Pais <allen.pais@oracle.com> Cc: David S. Miller <davem@davemloft.net> Cc: sparclinux@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
|
812cb83a56a908729c453a7db3fb2c262119bc9d |
|
14-Sep-2013 |
Kirill Tkhai <tkhai@yandex.ru> |
sparc64: Implement HAVE_CONTEXT_TRACKING Mark the places when the system are in user or are in kernel. This is used to make full dynticks system (tickless) -- CONFIG_NO_HZ_FULL dependence. Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> CC: David Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
|
ab2abda6377723e0d5fbbfe5f5aa16a5523344d1 |
|
26-Jul-2013 |
Kirill Tkhai <tkhai@yandex.ru> |
sparc64: Fix not SRA'ed %o5 in 32-bit traced syscall (From v1 to v2: changed comment) On the way linux_sparc_syscall32->linux_syscall_trace32->goto 2f, register %o5 doesn't clear its second 32-bit. Fix that. Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> CC: David Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
|
37d6fa34a7f7b16799d0a7c009fcb74fbf090377 |
|
26-Jul-2013 |
Kirill Tkhai <tkhai@yandex.ru> |
sparc64: cleanup: Rename ret_from_syscall to ret_from_fork Rename to make the function name better conform to its goal. Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> CC: David Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
|
99b06feb0f7c99f171cb962d0e6a17f81625abd3 |
|
23-Dec-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc: switch to generic sigaltstack Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
de7531e8575ab383a0f5bb68b63e7891fce4765d |
|
03-Dec-2012 |
David S. Miller <davem@davemloft.net> |
sparc64: exit_group should kill register windows just like plain exit. Reported-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
|
eb48ffcf0e55e511ae87e9d99117d5e2b9e27153 |
|
27-Sep-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc64: convert to generic execve We still have wrappers, but nowhere near as scary as they used to be. I'm not sure how necessary that flushw is now, TBH... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
2f12af35a988082700373acdebe049dfebaf49b6 |
|
27-Sep-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc64: switch to generic kernel_execve() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
1918c7f548dc5abfb37ab74bb3d036d36c92ba5e |
|
06-Oct-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc64: switch to generic kernel_thread() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
dff933da765fd4855393846fa55286d1ff2d024a |
|
26-Sep-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc64: clear syscall_noerror on the entry to syscall, not on the exit Move that sucker to just before TI_FPDEPTH and replace stb with sth in etrap_save(). Take current_ds to its old place, so that we don't push wsaved into TI_... flags. That allows to lose clearing syscall_noerror on return from syscall. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
55c2770e413e96871147b9406a9c41fe9bc5209c |
|
11-Oct-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc64: fix ptrace interaction with force_successful_syscall_return() we want syscall_trace_leave() called on exit from any syscall; skipping its call in case we'd done force_successful_syscall_return() is broken... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
|
2863bc54ec03df7a6e2c48cff0477d7e2384efc9 |
|
06-Oct-2012 |
David S. Miller <davem@davemloft.net> |
Revert strace hiccups fix. This reverts commit 40138249c3b7a0762155216b963ec7fd4d09b5b4 and ffa9009c9828db3f74178e459cfbca6e77ff5dd9. There are problems with how the flag bytes were rearranged, in particular we really can't move values down into the lowest 16 bits since those are used for individual state bits. Signed-off-by: David S. Miller <davem@davemloft.net>
|
ffa9009c9828db3f74178e459cfbca6e77ff5dd9 |
|
04-Oct-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc64: Fix strace hiccups when force_successful_syscall() triggers. When force_successful_syscall() triggers, the syscall return status reported the ptrace applications gets garbled. Fix this by reordering the events and tests in the ret_sys_call path. Signed-off-by: David S. Miller <davem@davemloft.net>
|
40138249c3b7a0762155216b963ec7fd4d09b5b4 |
|
04-Oct-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
sparc64: Rearrange thread info to cheaply clear syscall noerror state. After fixing a couple of brainos, it even seems to work. What's done here is move of ->syscall_noerror right before FPDEPTH byte in ->flags and using sth to [%g6 + TI_SYS_NOERROR] instead of stb to [%g6 + TI_FPDEPTH] in both branches of etrap_save. AFAICS, that ought to be solid. Again, deciding what to do with now unused delay slot of branch on ->syscall_noerror and dealing with the order of tests in ret_from_sys is a separate question, but at least that way we don't have to clean ->syscall_noerror in there at all. AFAICS, it ought to be a clear win - sth is not going to cost more than stb on etrap_64.S side of things, and we are losing write on syscalls.S one. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
|
c7d5a0050773e98d1094eaa9f2a1a793fafac300 |
|
03-Mar-2010 |
David S. Miller <davem@davemloft.net> |
sparc64: Kill off old sys_perfctr system call and state. People should be using the perf events interfaces, and the way these system call facilities used the %pcr conflicts with the usage of the NMI watchdog and perf events. Signed-off-by: David S. Miller <davem@davemloft.net>
|
c658ad1b4e1520511da8323aa5e60d444cc303ed |
|
11-Dec-2009 |
David S. Miller <davem@davemloft.net> |
sparc64: Add syscall tracepoint support. Signed-off-by: David S. Miller <davem@davemloft.net>
|
e42650196df34789c825fa83f8bb37a5d5e52c14 |
|
20-Jan-2009 |
David S. Miller <davem@davemloft.net> |
sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() Signed-off-by: David S. Miller <davem@davemloft.net>
|
1134723e96f6e2abcf8bfd7a2d1c96fcc323ef35 |
|
14-Jan-2009 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 Remove __attribute__((weak)) from common code sys_pipe implemantation. IA64, ALPHA, SUPERH (32bit) and SPARC (32bit) have own implemantations with the same name. Just rename them. For sys_pipe2 there is no architecture specific implementation. Cc: Richard Henderson <rth@twiddle.net> Cc: David S. Miller <davem@davemloft.net> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Tony Luck <tony.luck@intel.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
|
a88b5ba8bd8ac18aad65ee6c6a254e2e74876db3 |
|
03-Dec-2008 |
Sam Ravnborg <sam@ravnborg.org> |
sparc,sparc64: unify kernel/ o Move all files from sparc64/kernel/ to sparc/kernel - rename as appropriate o Update sparc/Makefile to the changes o Update sparc/kernel/Makefile to include the sparc64 files NOTE: This commit changes link order on sparc64! Link order had to change for either of sparc32 and sparc64. And assuming sparc64 see more testing than sparc32 change link order on sparc64 where issues will be caught faster. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
|