]> git.baikalelectronics.ru Git - kernel.git/commit
net: disable fragment reassembly if high_thresh is zero
authorMichal Kubeček <mkubecek@suse.cz>
Fri, 27 May 2016 15:53:52 +0000 (17:53 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jun 2016 02:56:42 +0000 (22:56 -0400)
commit513726da7458ec1db4fdfa3a7d147af49fb9f83c
treed90c737e057e2f7ec97a9d12218c646550adc707
parent784f4e199e3af0153ed99e17ef9d5f2eed26fb8a
net: disable fragment reassembly if high_thresh is zero

Before commit fbb97c828cbe ("net: use lib/percpu_counter API for
fragmentation mem accounting"), setting the reassembly high threshold
to 0 prevented fragment reassembly as first fragment would be always
evicted before second could be added to the queue. While inefficient,
some users apparently relied on this method.

Since the commit mentioned above, a percpu counter is used for
reassembly memory accounting and high batch size avoids taking slow path
in most common scenarios. As a result, a whole full sized packet can be
reassembled without the percpu counter's main counter changing its value
so that even with high_thresh set to 0, fragmented packets can be still
reassembled and processed.

Add explicit check preventing reassembly if high threshold is zero.

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/inet_fragment.c