Re: [PATCH net-next 0/3] rxrpc: Tx length parameter

From: David Miller
Date: Thu Jun 08 2017 - 11:42:11 EST


From: David Howells <dhowells@xxxxxxxxxx>
Date: Wed, 07 Jun 2017 22:12:32 +0100

> Here's a set of patches that allows someone initiating a client call with
> AF_RXRPC to indicate upfront the total amount of data that will be
> transmitted. This will allow AF_RXRPC to encrypt directly from source
> buffer to packet rather than having to copy into the buffer and only
> encrypt when it's full (the encrypted portion of the packet starts with a
> length and so we can't encrypt until we know what the length will be).
>
> The three patches are:
>
> (1) Provide a means of finding out what control message types are actually
> supported. EINVAL is reported if an unsupported cmsg type is seen, so
> we don't want to set the new cmsg unless we know it will be accepted.
>
> (2) Consolidate some stuff into a struct to reduce the parameter count on
> the function that parses the cmsg buffer.
>
> (3) Introduce the RXRPC_TX_LENGTH cmsg. This can be provided on the first
> sendmsg() that contributes data to a client call request or a service
> call reply. If provided, the user must provide exactly that amount of
> data or an error will be incurred.
>
> Changes in version 2:
>
> (*) struct rxrpc_send_params::tx_total_len should be s64 not u64. Thanks to
> Julia Lawall for reporting this.
...
> Tagged thusly:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
> rxrpc-rewrite-20170607-v2

Pulled, thanks David.