- Jun 19, 2015
-
-
Tobias Klauser authored
Directly return the result of perf_pmu_register() in arc_pmu_device_probe() instead of assigning and returning variable ret. Signed-off-by:
Tobias Klauser <tklauser@distanz.ch> Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Max Filippov authored
static arc_pmu in the arch/arc/kernel/perf_event.c is not initialized as it's shadowed by a local variable of the same name in the arc_pmu_device_probe. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com> Fixes: 03c94fcf "ARC: perf: make @arc_pmu static global" CC: <stable@vger.kernel.org> # 4.1 Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
* Remove remanants of legacy ARC FPGA platforms (AA4, ML509...) * Only nsim simulation platform is left, rename platform accordingly * AA4 DT stuff is compatible with nsim for ARC700 so rename it too Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
With ISS long unsupported, no point in having extension based on it Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Back when ARC700 4.10 was released, the related kernel features were tied to this config item so they could be disabled in one shot (i.e. LLOCK/SCOND, SWAPE, RTSC..) That having happened a while back, all new ARC customers weill get 4.11+ so those features can be assumed to be present and need not be tied to a top-level (we still retain the ability to individually disable them). Further, since ARCv2 also shares some of those feautes, removing it simplifies things a bit in Kconfig Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
- May 19, 2015
-
-
Vineet Gupta authored
ARC GNU tools have had support for arc-linux-* driver for some time now. This is functionally similar to arc-linux-uclibc-* but uclibc prefix seemed weird at best when trying to compile the kernel itself. Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
- May 11, 2015
-
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
- May 10, 2015
-
-
Vineet Gupta authored
Fixes: f7d11e93 locking,arch,arc: Fold atomic_ops Cc: <stable@kernel.vger.org> # 3.18 Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
- Apr 20, 2015
-
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
The actual user space unwinding is more involved, so simply capture the user space PC Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Mischa Jonker <mjonker@synopsys.com> Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
- Apr 17, 2015
-
-
Davidlohr Bueso authored
print_task_path_n_nm() is local to this file, its only user being show_regs(). Mark the function static and avoid the EXPORT_SYMBOL. Signed-off-by:
Davidlohr Bueso <dbueso@suse.de> Acked-by:
Vineet Gupta <vgupta@synoipsys.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Apr 13, 2015
-
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
This makes test_bit() more like its siblings *_bit() routines. Also add some comments about the constant @nr micro-optimization Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
* There was obvious bit rot due to lack of use * Old naming was confusing since BCR are read only Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Mischa Jonker authored
Signed-off-by:
Mischa Jonker <mjonker@synopsys.com>
-
- Apr 12, 2015
-
-
Richard Weinberger authored
As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by:
Richard Weinberger <richard@nod.at>
-
Al Viro authored
flush_old_exec() has already done that. Back on 2011 a bunch of instances like that had been kicked out, but that hadn't taken care of then-out-of-tree architectures, obviously, and they served as reinfection vector... Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk>
-
- Mar 31, 2015
-
-
Alex Dowad authored
The 'arg' argument to copy_thread() is only ever used when forking a new kernel thread. Hence, rename it to 'kthread_arg' for clarity. Signed-off-by:
Alex Dowad <alexinbeijing@gmail.com> Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
- Mar 26, 2015
-
-
Vineet Gupta authored
A malicious signal handler / restorer can DOS the system by fudging the user regs saved on stack, causing weird things such as sigreturn returning to user mode PC but cpu state still being kernel mode.... Ensure that in sigreturn path status32 always has U bit; any other bogosity (gargbage PC etc) will be taken care of by normal user mode exceptions mechanisms. Reproducer signal handler: void handle_sig(int signo, siginfo_t *info, void *context) { ucontext_t *uc = context; struct user_regs_struct *regs = &(uc->uc_mcontext.regs); regs->scratch.status32 = 0; } Before the fix, kernel would go off to weeds like below: --------->8----------- [ARCLinux]$ ./signal-test Path: /signal-test CPU: 0 PID: 61 Comm: signal-test Not tainted 4.0.0-rc5+ #65 task: 8f177880 ti: 5ffe6000 task.ti: 8f15c000 [ECR ]: 0x00220200 => Invalid Write @ 0x00000010 by insn @ 0x00010698 [EFA ]: 0x00000010 [BLINK ]: 0x2007c1ee [ERET ]: 0x10698 [STAT32]: 0x00000000 : <-------- BTA: 0x00010680 SP: 0x5ffe7e48 FP: 0x00000000 LPS: 0x20003c6c LPE: 0x20003c70 LPC: 0x00000000 ... --------->8----------- Reported-by:
Alexey Brodkin <abrodkin@synopsys.com> Cc: <stable@vger.kernel.org> Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
The regfile provided to SA_SIGINFO signal handler as ucontext was off by one due to pt_regs gutter cleanups in 2013. Before handling signal, user pt_regs are copied onto user_regs_struct and copied back later. Both structs are binary compatible. This was all fine until commit 2fa91904 (ARC: pt_regs update #2) which removed the empty stack slot at top of pt_regs (corresponding to first pad) and made the corresponding fixup in struct user_regs_struct (the pad in there was moved out of @scratch - not removed altogether as it is part of ptrace ABI) struct user_regs_struct { + long pad; struct { - long pad; long bta, lp_start, lp_end,.... } scratch; ... } This meant that now user_regs_struct was off by 1 reg w.r.t pt_regs and signal code needs to user_regs_struct.scratch to reflect it as pt_regs, which is what this commit does. This problem was hidden for 2 years, because both save/restore, despite using wrong location, were using the same location. Only an interim inspection (reproducer below) exposed the issue. void handle_segv(int signo, siginfo_t *info, void *context) { ucontext_t *uc = context; struct user_regs_struct *regs = &(uc->uc_mcontext.regs); printf("regs %x %x\n", <=== prints 7 8 (vs. 8 9) regs->scratch.r8, regs->scratch.r9); } int main() { struct sigaction sa; sa.sa_sigaction = handle_segv; sa.sa_flags = SA_SIGINFO; sigemptyset(&sa.sa_mask); sigaction(SIGSEGV, &sa, NULL); asm volatile( "mov r7, 7 \n" "mov r8, 8 \n" "mov r9, 9 \n" "mov r10, 10 \n" :::"r7","r8","r9","r10"); *((unsigned int*)0x10) = 0; } Fixes: 2fa91904 "ARC: pt_regs update #2: Remove unused gutter at start of pt_regs" CC: <stable@vger.kernel.org> Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
- Mar 06, 2015
-
-
Masanari Iida authored
This patch fix spelling typo in printk messages. Signed-off-by:
Masanari Iida <standby24x7@gmail.com> Acked-by:
Randy Dunlap <rdunlap@infradead.org> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- Feb 27, 2015
-
-
Vineet Gupta authored
The old implementation assumed that SP at the time of __switch_to() is right above pt_regs which is almost certainly not the case as there will be some stack build up between entry into kernel and leading up to __switch_to Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-
Vineet Gupta authored
/proc/<pid>/maps currently don't annotate stack vma with "[stack]" This is because KSTK_ESP ie expected to return usermode SP of tsk while currently it returns the kernel mode SP of a sleeping tsk. While the fix is trivial, we also need to adjust the ARC kernel stack unwinder to not use KSTK_SP and friends any more. Cc: <stable@vger.kernel.org> Reported-and-suggested-by:
Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by:
Vineet Gupta <vgupta@synopsys.com>
-