linux/arch/tile/kernel
Chen Gang 01f7ae0569 arch: tile: kernel: signal.c: Use __copy_from/to_user() instead of __get/put_user()
setup/restore_sigcontext() want to copy all related registers between
user and kernel. So use block copy instead of each registers copy. Then
can let code simple and clearer (which can avoid compiler's warning):

The related warning (with allmodconfig under tile):

    CC      arch/tile/kernel/signal.o
  In file included from include/linux/poll.h:11:0,
                   from include/linux/ring_buffer.h:7,
                   from include/linux/ftrace_event.h:5,
                   from include/trace/syscall.h:6,
                   from include/linux/syscalls.h:81,
                   from arch/tile/kernel/signal.c:30:
  arch/tile/kernel/signal.c: In function 'setup_sigcontext':
  arch/tile/kernel/signal.c:116:31: warning: iteration 53u invokes undefined behavior [-Waggressive-loop-optimizations]
     err |= __put_user(regs->regs[i], &sc->gregs[i]);
                                 ^
  ./arch/tile/include/asm/uaccess.h:236:26: note: in definition of macro '__put_user_asm'
          : "r" (ptr), "r" (x), "i" (-EFAULT))
                            ^
  ./arch/tile/include/asm/uaccess.h:297:10: note: in expansion of macro '__put_user_8'
    case 8: __put_user_8(x, ptr, __ret); break;   \
            ^
  arch/tile/kernel/signal.c:116:10: note: in expansion of macro '__put_user'
     err |= __put_user(regs->regs[i], &sc->gregs[i]);
            ^
  arch/tile/kernel/signal.c:115:2: note: containing loop
    for (i = 0; i < sizeof(struct pt_regs)/sizeof(long); ++i)
    ^

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2014-11-04 10:38:10 -05:00
..
vdso tile: add clock_gettime support to vDSO 2014-10-02 13:56:07 -04:00
asm-offsets.c tile: check for correct compiler earlier in asm-offsets.c 2013-09-03 14:53:09 -04:00
backtrace.c
compat_signal.c tile: Use get_signal() signal_setup_done() 2014-08-06 13:03:20 +02:00
compat.c tile: remove stray blank space 2013-09-16 15:47:32 -04:00
early_printk.c tile: various console improvements 2013-08-12 14:46:18 -04:00
entry.S tile: implement gettimeofday() via vDSO 2013-08-13 16:26:21 -04:00
ftrace.c ftrace: Do not pass data to ftrace_dyn_arch_init 2014-03-07 10:06:14 -05:00
hardwall.c proc: convert /proc/$PID/hardwall to seq_file interface 2014-08-08 15:57:23 -07:00
head_32.S tile: parameterize VA and PA space more cleanly 2013-09-03 14:47:34 -04:00
head_64.S tile: parameterize VA and PA space more cleanly 2013-09-03 14:47:34 -04:00
hvglue_trace.c tile: provide traceability for hypervisor calls 2013-08-13 16:26:31 -04:00
hvglue.S tile: provide traceability for hypervisor calls 2013-08-13 16:26:31 -04:00
intvec_32.S tile: Enable NMIs on return from handle_nmi() without errors 2014-03-07 11:19:48 -05:00
intvec_64.S tile: Enable NMIs on return from handle_nmi() without errors 2014-03-07 11:19:48 -05:00
irq.c tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
kgdb.c tilegx: support KGDB 2013-09-03 14:51:26 -04:00
kprobes.c tile: support kprobes on tilegx 2013-08-30 11:55:53 -04:00
machine_kexec.c
Makefile tile/perf: Support perf_events on tilegx and tilepro 2014-03-07 11:19:48 -05:00
mcount_64.S tile: ftrace: Remove check of obsolete variable function_trace_stop 2014-07-18 13:57:03 -04:00
messaging.c tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
module.c mm/vmalloc.c: clean up map_vm_area third argument 2014-08-06 18:01:19 -07:00
pci_gx.c tile: pci: Use irq_alloc/free_hwirq() 2014-05-16 14:05:21 +02:00
pci-dma.c tile PCI RC: make default consistent DMA mask 32-bit 2013-09-03 14:53:37 -04:00
pci.c arch/tile: remove unused variable 'devcap' 2014-04-04 13:11:40 -04:00
perf_event.c tile: Use this_cpu_ptr() for hardware counters 2014-08-26 13:45:55 -04:00
pmc.c tile: Add support for handling PMC hardware 2014-03-07 11:19:47 -05:00
proc.c tile: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:15 -07:00
process.c tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
ptrace.c tile: correct r1 value during syscall tracing 2013-08-30 11:56:20 -04:00
reboot.c tile: various console improvements 2013-08-12 14:46:18 -04:00
regs_32.S tile: change <asm/system.h> to <asm/switch_to.h> in comments 2013-09-03 14:53:17 -04:00
regs_64.S tile: change <asm/system.h> to <asm/switch_to.h> in comments 2013-09-03 14:53:17 -04:00
relocate_kernel_32.S tile: remove support for TILE64 2013-09-03 14:53:29 -04:00
relocate_kernel_64.S tile: remove support for TILE64 2013-09-03 14:53:29 -04:00
setup.c tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
signal.c arch: tile: kernel: signal.c: Use __copy_from/to_user() instead of __get/put_user() 2014-11-04 10:38:10 -05:00
single_step.c tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
smp.c Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
smpboot.c tile: Replace __get_cpu_var uses 2014-08-26 13:45:54 -04:00
stack.c arch: tile: re-use kbasename() helper 2013-09-30 10:34:46 -04:00
sys.c tile: support CONFIG_PREEMPT 2013-08-13 16:26:01 -04:00
sysfs.c tile: support reporting Tilera hypervisor statistics 2013-09-03 14:51:36 -04:00
tile-desc_32.c
tile-desc_64.c
time.c Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
tlb.c tile: do less L1 I-cache eviction 2013-08-30 11:56:34 -04:00
traps.c tile: use ARRAY_SIZE 2014-10-02 10:19:32 -04:00
unaligned.c arch: tile: kernel: unaligned.c: Cleaning up uninitialized variables 2014-06-07 21:39:11 -04:00
usb.c
vdso.c arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
vmlinux.lds.S tile: Remove tile-specific _sinitdata and _einitdata 2014-10-02 10:19:33 -04:00