]> git.baikalelectronics.ru Git - kernel.git/commit
rxrpc: Provide a cmsg to specify the amount of Tx data for a call
authorDavid Howells <dhowells@redhat.com>
Wed, 7 Jun 2017 11:40:03 +0000 (12:40 +0100)
committerDavid Howells <dhowells@redhat.com>
Wed, 7 Jun 2017 16:15:46 +0000 (17:15 +0100)
commitbdb5995807aeb320c74f078d30595109201f27b2
treec8e650d72b8451f7d4ab93cd92eaed6549e84ae5
parente38c2212abb4487f70ee161b091e0e45f5ae3cf8
rxrpc: Provide a cmsg to specify the amount of Tx data for a call

Provide a control message that can be specified on the first sendmsg() of a
client call or the first sendmsg() of a service response to indicate the
total length of the data to be transmitted for that call.

Currently, because the length of the payload of an encrypted DATA packet is
encrypted in front of the data, the packet cannot be encrypted until we
know how much data it will hold.

By specifying the length at the beginning of the transmit phase, each DATA
packet length can be set before we start loading data from userspace (where
several sendmsg() calls may contribute to a particular packet).

An error will be returned if too little or too much data is presented in
the Tx phase.

Signed-off-by: David Howells <dhowells@redhat.com>
Documentation/networking/rxrpc.txt
fs/afs/rxrpc.c
include/linux/rxrpc.h
include/net/af_rxrpc.h
net/rxrpc/af_rxrpc.c
net/rxrpc/ar-internal.h
net/rxrpc/call_object.c
net/rxrpc/sendmsg.c