mirror of https://github.com/torvalds/linux.git
All callers of these primitives will * discard anything we might've copied in case of error * ignore the csum value in case of error * always pass 0xffffffff as the initial sum, so the resulting csum value (in case of success, that is) will never be 0. That suggest the following calling conventions: * don't pass err_ptr - just return 0 on error. * don't bother with zeroing destination, etc. in case of error * don't pass the initial sum - just use 0xffffffff. This commit does the minimal conversion in the instances of csum_and_copy_...(); the changes of actual asm code behind them are done later in the series. Note that this asm code is often shared with csum_partial_copy_nocheck(); the difference is that csum_partial_copy_nocheck() passes 0 for initial sum while csum_and_copy_..._user() pass 0xffffffff. Fortunately, we are free to pass 0xffffffff in all cases and subsequent patches will use that freedom without any special comments. A part that could be split off: parisc and uml/i386 claimed to have csum_and_copy_to_user() instances of their own, but those were identical to the generic one, so we simply drop them. Not sure if it's worth a separate commit... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
||
|---|---|---|
| .. | ||
| Kbuild | ||
| a.out.h | ||
| agp.h | ||
| agp_backend.h | ||
| asm-offsets.h | ||
| asm-prototypes.h | ||
| atomic.h | ||
| barrier.h | ||
| bitops.h | ||
| bug.h | ||
| bugs.h | ||
| cache.h | ||
| cacheflush.h | ||
| checksum.h | ||
| cmpxchg.h | ||
| compiler.h | ||
| console.h | ||
| core_apecs.h | ||
| core_cia.h | ||
| core_irongate.h | ||
| core_lca.h | ||
| core_marvel.h | ||
| core_mcpcia.h | ||
| core_polaris.h | ||
| core_t2.h | ||
| core_titan.h | ||
| core_tsunami.h | ||
| core_wildfire.h | ||
| delay.h | ||
| device.h | ||
| div64.h | ||
| dma-mapping.h | ||
| dma.h | ||
| elf.h | ||
| emergency-restart.h | ||
| err_common.h | ||
| err_ev6.h | ||
| err_ev7.h | ||
| extable.h | ||
| floppy.h | ||
| fpu.h | ||
| ftrace.h | ||
| futex.h | ||
| gct.h | ||
| hardirq.h | ||
| hw_irq.h | ||
| hwrpb.h | ||
| io.h | ||
| io_trivial.h | ||
| irq.h | ||
| irq_regs.h | ||
| irqflags.h | ||
| jensen.h | ||
| kdebug.h | ||
| kmap_types.h | ||
| linkage.h | ||
| local.h | ||
| local64.h | ||
| machvec.h | ||
| mc146818rtc.h | ||
| mce.h | ||
| mmu.h | ||
| mmu_context.h | ||
| mmzone.h | ||
| module.h | ||
| page.h | ||
| pal.h | ||
| param.h | ||
| parport.h | ||
| pci.h | ||
| percpu.h | ||
| perf_event.h | ||
| pgalloc.h | ||
| pgtable.h | ||
| processor.h | ||
| ptrace.h | ||
| rwonce.h | ||
| serial.h | ||
| sfp-machine.h | ||
| shmparam.h | ||
| signal.h | ||
| smp.h | ||
| socket.h | ||
| special_insns.h | ||
| spinlock.h | ||
| spinlock_types.h | ||
| string.h | ||
| switch_to.h | ||
| syscall.h | ||
| termios.h | ||
| thread_info.h | ||
| timex.h | ||
| tlb.h | ||
| tlbflush.h | ||
| topology.h | ||
| types.h | ||
| uaccess.h | ||
| ucontext.h | ||
| unaligned.h | ||
| unistd.h | ||
| user.h | ||
| vga.h | ||
| vmalloc.h | ||
| word-at-a-time.h | ||
| wrperfmon.h | ||
| xchg.h | ||
| xor.h | ||