https://github.com/torvalds/linux
Revision 4672694bd4f1aebdab0ad763ae4716e89cb15221 authored by Eric Dumazet on 31 July 2018, 04:50:29 UTC, committed by David S. Miller on 31 July 2018, 21:41:29 UTC
ip_frag_queue() might call pskb_pull() on one skb that is already in the fragment queue. We need to take care of possible truesize change, or we might have an imbalance of the netns frags memory usage. IPv6 is immune to this bug, because RFC5722, Section 4, amended by Errata ID 3089 states : When reassembling an IPv6 datagram, if one or more its constituent fragments is determined to be an overlapping fragment, the entire datagram (and any constituent fragments) MUST be silently discarded. Fixes: 158f323b9868 ("net: adjust skb->truesize in pskb_expand_head()") Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 56e2c94
Tip revision: 4672694bd4f1aebdab0ad763ae4716e89cb15221 authored by Eric Dumazet on 31 July 2018, 04:50:29 UTC
ipv4: frags: handle possible skb truesize change
ipv4: frags: handle possible skb truesize change
Tip revision: 4672694
File | Mode | Size |
---|---|---|
basic | ||
coccinelle | ||
dtc | ||
gcc-plugins | ||
gdb | ||
genksyms | ||
kconfig | ||
ksymoops | ||
mod | ||
package | ||
selinux | ||
tracing | ||
.gitignore | -rw-r--r-- | 162 bytes |
Kbuild.include | -rw-r--r-- | 15.2 KB |
Kconfig.include | -rw-r--r-- | 871 bytes |
Lindent | -rwxr-xr-x | 502 bytes |
Makefile | -rw-r--r-- | 1.6 KB |
Makefile.asm-generic | -rw-r--r-- | 1.2 KB |
Makefile.build | -rw-r--r-- | 19.2 KB |
Makefile.clean | -rw-r--r-- | 2.8 KB |
Makefile.dtbinst | -rw-r--r-- | 1.1 KB |
Makefile.extrawarn | -rw-r--r-- | 2.7 KB |
Makefile.gcc-plugins | -rw-r--r-- | 1.7 KB |
Makefile.headersinst | -rw-r--r-- | 4.0 KB |
Makefile.host | -rw-r--r-- | 6.2 KB |
Makefile.kasan | -rw-r--r-- | 1.4 KB |
Makefile.kcov | -rw-r--r-- | 319 bytes |
Makefile.lib | -rw-r--r-- | 14.6 KB |
Makefile.modbuiltin | -rw-r--r-- | 1.7 KB |
Makefile.modinst | -rw-r--r-- | 1.1 KB |
Makefile.modpost | -rw-r--r-- | 5.3 KB |
Makefile.modsign | -rw-r--r-- | 897 bytes |
Makefile.ubsan | -rw-r--r-- | 1014 bytes |
adjust_autoksyms.sh | -rwxr-xr-x | 2.9 KB |
asn1_compiler.c | -rw-r--r-- | 35.5 KB |
bloat-o-meter | -rwxr-xr-x | 3.2 KB |
bootgraph.pl | -rwxr-xr-x | 6.3 KB |
bpf_helpers_doc.py | -rwxr-xr-x | 15.5 KB |
cc-can-link.sh | -rwxr-xr-x | 166 bytes |
check_00index.sh | -rwxr-xr-x | 1.3 KB |
check_extable.sh | -rwxr-xr-x | 4.9 KB |
checkincludes.pl | -rwxr-xr-x | 1.9 KB |
checkkconfigsymbols.py | -rwxr-xr-x | 15.5 KB |
checkpatch.pl | -rwxr-xr-x | 191.1 KB |
checkstack.pl | -rwxr-xr-x | 5.2 KB |
checksyscalls.sh | -rwxr-xr-x | 5.7 KB |
checkversion.pl | -rwxr-xr-x | 1.9 KB |
clang-version.sh | -rwxr-xr-x | 635 bytes |
cleanfile | -rwxr-xr-x | 3.5 KB |
cleanpatch | -rwxr-xr-x | 5.1 KB |
coccicheck | -rwxr-xr-x | 7.2 KB |
config | -rwxr-xr-x | 4.5 KB |
conmakehash.c | -rw-r--r-- | 6.0 KB |
const_structs.checkpatch | -rw-r--r-- | 964 bytes |
decode_stacktrace.sh | -rwxr-xr-x | 3.7 KB |
decodecode | -rwxr-xr-x | 2.5 KB |
depmod.sh | -rwxr-xr-x | 1.1 KB |
diffconfig | -rwxr-xr-x | 3.7 KB |
documentation-file-ref-check | -rwxr-xr-x | 3.5 KB |
export_report.pl | -rwxr-xr-x | 4.5 KB |
extract-cert.c | -rw-r--r-- | 3.5 KB |
extract-ikconfig | -rwxr-xr-x | 1.7 KB |
extract-module-sig.pl | -rwxr-xr-x | 3.7 KB |
extract-sys-certs.pl | -rwxr-xr-x | 3.7 KB |
extract-vmlinux | -rwxr-xr-x | 1.7 KB |
extract_xc3028.pl | -rwxr-xr-x | 44.6 KB |
faddr2line | -rwxr-xr-x | 6.2 KB |
file-size.sh | -rwxr-xr-x | 86 bytes |
find-unused-docs.sh | -rwxr-xr-x | 1.3 KB |
gcc-goto.sh | -rwxr-xr-x | 530 bytes |
gcc-ld | -rwxr-xr-x | 711 bytes |
gcc-plugin.sh | -rwxr-xr-x | 1.1 KB |
gcc-version.sh | -rwxr-xr-x | 857 bytes |
gcc-x86_32-has-stack-protector.sh | -rwxr-xr-x | 173 bytes |
gcc-x86_64-has-stack-protector.sh | -rwxr-xr-x | 198 bytes |
gen_initramfs_list.sh | -rwxr-xr-x | 8.0 KB |
get_dvb_firmware | -rwxr-xr-x | 25.2 KB |
get_maintainer.pl | -rwxr-xr-x | 65.4 KB |
gfp-translate | -rwxr-xr-x | 1.7 KB |
headerdep.pl | -rwxr-xr-x | 3.5 KB |
headers.sh | -rwxr-xr-x | 512 bytes |
headers_check.pl | -rwxr-xr-x | 3.7 KB |
headers_install.sh | -rwxr-xr-x | 1.4 KB |
insert-sys-cert.c | -rw-r--r-- | 8.9 KB |
kallsyms.c | -rw-r--r-- | 18.1 KB |
kernel-doc | -rwxr-xr-x | 60.5 KB |
ld-version.sh | -rwxr-xr-x | 269 bytes |
leaking_addresses.pl | -rwxr-xr-x | 12.9 KB |
link-vmlinux.sh | -rwxr-xr-x | 6.9 KB |
makelst | -rwxr-xr-x | 808 bytes |
markup_oops.pl | -rwxr-xr-x | 8.1 KB |
mkcompile_h | -rwxr-xr-x | 2.5 KB |
mkmakefile | -rwxr-xr-x | 1.2 KB |
mksysmap | -rwxr-xr-x | 1.3 KB |
mkuboot.sh | -rwxr-xr-x | 414 bytes |
module-common.lds | -rw-r--r-- | 901 bytes |
namespace.pl | -rwxr-xr-x | 13.0 KB |
objdiff | -rwxr-xr-x | 2.8 KB |
parse-maintainers.pl | -rw-r--r-- | 3.7 KB |
patch-kernel | -rwxr-xr-x | 9.9 KB |
pnmtologo.c | -rw-r--r-- | 11.9 KB |
profile2linkerlist.pl | -rwxr-xr-x | 414 bytes |
prune-kernel | -rwxr-xr-x | 708 bytes |
recordmcount.c | -rw-r--r-- | 16.7 KB |
recordmcount.h | -rw-r--r-- | 16.4 KB |
recordmcount.pl | -rwxr-xr-x | 18.3 KB |
setlocalversion | -rwxr-xr-x | 3.9 KB |
show_delta | -rwxr-xr-x | 3.0 KB |
sign-file.c | -rw-r--r-- | 9.8 KB |
sortextable.c | -rw-r--r-- | 8.4 KB |
sortextable.h | -rw-r--r-- | 5.5 KB |
spdxcheck.py | -rwxr-xr-x | 9.4 KB |
spelling.txt | -rw-r--r-- | 25.0 KB |
sphinx-pre-install | -rwxr-xr-x | 14.0 KB |
split-man.pl | -rwxr-xr-x | 600 bytes |
stackdelta | -rwxr-xr-x | 1.8 KB |
stackusage | -rwxr-xr-x | 794 bytes |
tags.sh | -rwxr-xr-x | 9.5 KB |
unifdef.c | -rw-r--r-- | 34.8 KB |
ver_linux | -rwxr-xr-x | 2.7 KB |
xen-hypercalls.sh | -rw-r--r-- | 386 bytes |
xz_wrap.sh | -rwxr-xr-x | 562 bytes |
Computing file changes ...