Alexander Duyck
01cfbad79a
ipv4: Update parameters for csum_tcpudp_magic to their original types
...
This patch updates all instances of csum_tcpudp_magic and
csum_tcpudp_nofold to reflect the types that are usually used as the source
inputs. For example the protocol field is populated based on nexthdr which
is actually an unsigned 8 bit value. The length is usually populated based
on skb->len which is an unsigned integer.
This addresses an issue in which the IPv6 function csum_ipv6_magic was
generating a checksum using the full 32b of skb->len while
csum_tcpudp_magic was only using the lower 16 bits. As a result we could
run into issues when attempting to adjust the checksum as there was no
protocol agnostic way to update it.
With this change the value is still truncated as many architectures use
"(len + proto) << 8", however this truncation only occurs for values
greater than 16776960 in length and as such is unlikely to occur as we stop
the inner headers at ~64K in size.
I did have to make a few minor changes in the arm, mn10300, nios2, and
score versions of the function in order to support these changes as they
were either using things such as an OR to combine the protocol and length,
or were using ntohs to convert the length which would have truncated the
value.
I also updated a few spots in terms of whitespace and type differences for
the addresses. Most of this was just to make sure all of the definitions
were in sync going forward.
Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-03-13 23:55:13 -04:00
..
bitops
move count_zeroes.h out of asm-generic
2015-10-15 00:21:07 +02:00
4level-fixup.h
mm, asm-generic: define PUD_SHIFT in <asm-generic/4level-fixup.h>
2015-02-11 17:06:03 -08:00
asm-offsets.h
asm-generic: Add common asm-offsets.h
2015-06-23 13:35:49 +09:00
atomic-long.h
atomic: remove all traces of READ_ONCE_CTRL() and atomic*_read_ctrl()
2015-11-03 17:22:17 -08:00
atomic.h
atomic, arch: Audit atomic_{read,set}()
2015-09-23 09:54:28 +02:00
atomic64.h
atomic: Provide atomic_{or,xor,and}
2015-07-27 14:06:24 +02:00
audit_change_attr.h
audit: Modify a set of system calls in audit class definitions
2014-01-17 17:01:46 -05:00
audit_dir_write.h
audit_read.h
audit_signal.h
audit_write.h
audit: Modify a set of system calls in audit class definitions
2014-01-17 17:01:46 -05:00
barrier.h
asm-generic: implement virt_xxx memory barriers
2016-01-12 20:46:59 +02:00
bitops.h
arch: Prepare for smp_mb__{before,after}_atomic()
2014-04-18 11:40:30 +02:00
bitsperlong.h
bug.h
bug: Make BUG() always stop the machine
2014-04-07 16:36:10 -07:00
bugs.h
cache.h
cacheflush.h
checksum.h
ipv4: Update parameters for csum_tcpudp_magic to their original types
2016-03-13 23:55:13 -04:00
clkdev.h
asm-generic: COMMON_CLK defines __clk_{get,put}
2014-09-25 18:00:45 -07:00
cmpxchg-local.h
LLVMLinux: Remove warning about returning an uninitialized variable
2014-04-09 13:44:35 -07:00
cmpxchg.h
asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
2015-10-15 00:21:13 +02:00
cputime.h
cputime_jiffies.h
sched, time: Fix build error with 64 bit cputime_t on 32 bit systems
2014-10-03 05:46:55 +02:00
cputime_nsecs.h
cputime: Prevent 32bit overflow in time[val|spec]_to_cputime()
2016-02-02 15:24:38 +01:00
current.h
delay.h
device.h
div64.h
__div64_32(): make it overridable at compile time
2015-11-16 14:42:12 -05:00
dma-contiguous.h
asm-generic: Add dma-contiguous.h
2014-09-22 13:35:51 +02:00
dma.h
early_ioremap.h
Merge branch 'akpm' (patches from Andrew)
2015-09-08 17:52:23 -07:00
emergency-restart.h
exec.h
fb.h
fixmap.h
mm: provide early_memremap_ro to establish read-only mapping
2015-08-20 12:24:22 +01:00
ftrace.h
futex.h
sched/preempt, futex: Disable preemption in UP futex_atomic_cmpxchg_inatomic() explicitly
2015-05-19 08:39:16 +02:00
getorder.h
gpio.h
gpio: remove gpiod_sysfs_set_active_low
2015-05-12 10:46:53 +02:00
hardirq.h
hugetlb.h
mm: Fix generic hugetlb pte check return type.
2013-10-02 20:02:35 -04:00
hw_irq.h
ide_iops.h
int-ll64.h
io-64-nonatomic-hi-lo.h
asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h
2015-10-16 12:08:53 +02:00
io-64-nonatomic-lo-hi.h
asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h
2015-10-16 12:08:53 +02:00
io.h
x86/mm, asm-generic: Add IOMMU ioremap_uc() variant default
2015-07-21 10:47:03 +02:00
ioctl.h
include/asm-generic/ioctl.h: fix _IOC_TYPECHECK sparse error
2014-06-06 16:08:13 -07:00
iomap.h
x86/mm, asm-generic: Add ioremap_wt() for creating Write-Through mappings
2015-06-07 15:28:56 +02:00
irq.h
irq_regs.h
irq_work.h
irq_work: Introduce arch_irq_work_has_interrupt()
2014-09-13 18:38:07 +02:00
irqflags.h
Kbuild.asm
kdebug.h
kmap_types.h
kvm_para.h
libata-portmap.h
linkage.h
local.h
local64.h
mcs_spinlock.h
locking/mcs: Allow architecture specific asm files to be used for contended case
2014-02-09 21:18:52 +01:00
memory_model.h
mm: add PHYS_PFN, use it in __phys_to_pfn()
2016-01-14 16:00:49 -08:00
mm-arch-hooks.h
mm: clean up per architecture MM hook header files
2015-07-17 16:39:53 -07:00
mm_hooks.h
mm: Make arch_unmap()/bprm_mm_init() available to all architectures
2014-11-19 11:54:13 +01:00
mmu.h
mmu_context.h
asm-generic: Remove asm-generic arch_bprm_mm_init()
2014-11-22 21:52:08 +01:00
module.h
msi.h
asm-generic: Add msi.h
2014-11-23 13:01:47 +01:00
mutex-dec.h
locking/mutex: Use acquire/release semantics
2015-10-06 17:28:20 +02:00
mutex-null.h
mutex-xchg.h
locking/mutex: Use acquire/release semantics
2015-10-06 17:28:20 +02:00
mutex.h
page.h
param.h
parport.h
pci-bridge.h
pci-dma-compat.h
pci: remove pci_dma_supported
2015-11-10 16:32:11 -08:00
pci.h
PCI: Remove unused pcibios_select_root() (again)
2015-06-08 07:56:21 -05:00
pci_iomap.h
PCI: Add pci_iomap_wc() variants
2015-08-25 09:59:45 +02:00
percpu.h
percpu: preffity percpu header files
2014-06-17 19:12:40 -04:00
pgalloc.h
pgtable-nopmd.h
pgtable-nopud.h
pgtable.h
powerpc/mm: Fix Multi hit ERAT cause by recent THP update
2016-02-15 21:10:04 +11:00
preempt.h
sched/core: Create preempt_count invariant
2015-10-06 17:08:14 +02:00
ptrace.h
qrwlock.h
locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics
2015-08-12 11:59:06 +02:00
qrwlock_types.h
locking/qrwlock: Rename ->lock to ->wait_lock
2015-09-18 09:27:29 +02:00
qspinlock.h
locking/qspinlock: Use _acquire/_release() versions of cmpxchg() & xchg()
2015-11-23 10:01:58 +01:00
qspinlock_types.h
locking/qspinlock: Optimize for smaller NR_CPUS
2015-05-08 12:36:48 +02:00
resource.h
asm-generic: remove _STK_LIM_MAX
2014-05-15 00:32:09 +01:00
rtc.h
rtc: cmos: century support
2015-09-05 13:19:09 +02:00
rwsem.h
locking/rwsem: Use acquire/release semantics
2015-10-06 17:28:24 +02:00
seccomp.h
seccomp: allow COMPAT sigreturn overrides
2015-04-17 09:04:09 -04:00
sections.h
asm/sections: add helpers to check for section data
2016-01-16 11:17:24 -08:00
segment.h
serial.h
siginfo.h
constify copy_siginfo_to_user{,32}()
2013-11-09 00:16:29 -05:00
signal.h
simd.h
crypto: create generic version of ablk_helper
2013-09-24 06:02:24 +10:00
sizes.h
spinlock.h
statfs.h
string.h
switch_to.h
syscall.h
syscall.h: fix doc text for syscall_get_arch()
2014-09-23 16:20:00 -04:00
syscalls.h
termios-base.h
termios.h
timex.h
tlb.h
treewide: Remove old email address
2015-11-23 09:44:58 +01:00
tlbflush.h
topology.h
trace_clock.h
uaccess-unaligned.h
uaccess.h
asm-generic: {get,put}_user ptr argument evaluate only 1 time
2015-11-08 22:44:42 +09:00
unaligned.h
asm-generic: allow generic unaligned access if the arch supports it
2014-05-08 10:22:23 +02:00
unistd.h
user.h
vga.h
vmlinux.lds.h
clocksource / ACPI: Add probing infrastructure for ACPI-based clocksources
2015-10-01 02:18:38 +02:00
vtime.h
include/asm-generic/vtime.h: avoid zero-length file
2013-09-30 14:31:02 -07:00
word-at-a-time.h
Make asm/word-at-a-time.h available on all architectures
2015-07-08 16:41:55 -04:00
xor.h