OpenCloudOS-Kernel/net/sctp
Marcelo Ricardo Leitner 3acb50c18d sctp: delay as much as possible skb_linearize
This patch is a preparation for the GSO one. In order to successfully
handle GSO packets on rx path we must not call skb_linearize, otherwise
it defeats any gain GSO may have had.

This patch thus delays as much as possible the call to skb_linearize,
leaving it to sctp_inq_pop() moment. For that the sanity checks
performed now know how to deal with fragments.

One positive side-effect of this is that if the socket is backlogged it
will have the chance of doing it on backlog processing instead of
during softirq.

With this move, it's evident that a check for non-linearity in
sctp_inq_pop was ineffective and is now removed. Note that a similar
check is performed a bit below this one.

Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Tested-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-03 19:37:21 -04:00
..
Kconfig sctp: add the sctp_diag.c file 2016-04-15 17:29:36 -04:00
Makefile sctp: add the sctp_diag.c file 2016-04-15 17:29:36 -04:00
associola.c sctp: align MTU to a word 2016-03-20 16:31:12 -04:00
auth.c sctp: Use shash 2016-01-27 20:36:15 +08:00
bind_addr.c sctp: fix copying more bytes than expected in sctp_add_bind_addr 2016-03-08 15:04:08 -05:00
chunk.c net: snmp: kill various STATS_USER() helpers 2016-04-27 22:48:22 -04:00
debug.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
endpointola.c sctp: Use shash 2016-01-27 20:36:15 +08:00
input.c sctp: delay as much as possible skb_linearize 2016-06-03 19:37:21 -04:00
inqueue.c sctp: delay as much as possible skb_linearize 2016-06-03 19:37:21 -04:00
ipv6.c net: rename ICMP6_INC_STATS_BH() 2016-04-27 22:48:24 -04:00
objcnt.c sctp: fix checkpatch errors with (foo*)|foo * bar|foo* bar 2013-12-26 13:47:47 -05:00
output.c sctp: flush if we can't fit another DATA chunk 2016-04-05 15:39:44 -04:00
outqueue.c sctp: avoid refreshing heartbeat timer too often 2016-04-10 22:22:34 -04:00
primitive.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
probe.c net: sctp: Convert log timestamps to be y2038 safe 2016-03-01 17:18:44 -05:00
proc.c sctp: fix some rhashtable functions using in sctp proc/diag 2016-04-15 17:29:37 -04:00
protocol.c sctp: fix copying more bytes than expected in sctp_add_bind_addr 2016-03-08 15:04:08 -05:00
sctp_diag.c sctp: fix double EPs display in sctp_diag 2016-05-25 22:14:31 -07:00
sm_make_chunk.c sctp: avoid refreshing heartbeat timer too often 2016-04-10 22:22:34 -04:00
sm_sideeffect.c sctp: signal sk_data_ready earlier on data chunks reception 2016-05-01 21:06:10 -04:00
sm_statefuns.c sctp: fix use-after-free in pr_debug statement 2016-01-11 17:13:01 -05:00
sm_statetable.c sctp: fix checkpatch errors with indent 2013-12-26 13:47:48 -05:00
socket.c sctp: sctp_diag should dump sctp socket type 2016-05-31 11:59:06 -07:00
ssnmap.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
sysctl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-01-11 23:55:43 -05:00
transport.c sctp: avoid refreshing heartbeat timer too often 2016-04-10 22:22:34 -04:00
tsnmap.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
ulpevent.c sctp: Fixup v4mapped behaviour to comply with Sock API 2014-07-31 21:49:06 -07:00
ulpqueue.c sctp: signal sk_data_ready earlier on data chunks reception 2016-05-01 21:06:10 -04:00