Vakul Garg
4e6d47206c
tls: Add support for inplace records encryption
...
Presently, for non-zero copy case, separate pages are allocated for
storing plaintext and encrypted text of records. These pages are stored
in sg_plaintext_data and sg_encrypted_data scatterlists inside record
structure. Further, sg_plaintext_data & sg_encrypted_data are passed
to cryptoapis for record encryption. Allocating separate pages for
plaintext and encrypted text is inefficient from both required memory
and performance point of view.
This patch adds support of inplace encryption of records. For non-zero
copy case, we reuse the pages from sg_encrypted_data scatterlist to
copy the application's plaintext data. For the movement of pages from
sg_encrypted_data to sg_plaintext_data scatterlists, we introduce a new
function move_to_plaintext_sg(). This function add pages into
sg_plaintext_data from sg_encrypted_data scatterlists.
tls_do_encryption() is modified to pass the same scatterlist as both
source and destination into aead_request_set_crypt() if inplace crypto
has been enabled. A new ariable 'inplace_crypto' has been introduced in
record structure to signify whether the same scatterlist can be used.
By default, the inplace_crypto is enabled in get_rec(). If zero-copy is
used (i.e. plaintext data is not copied), inplace_crypto is set to '0'.
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Reviewed-by: Dave Watson <davejwatson@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-10-02 23:03:47 -07:00
..
6lowpan
9p
Pull request for inclusion in 4.19, take two
2018-08-17 17:27:58 -07:00
802
8021q
net: remove blank lines at end of file
2018-07-24 14:10:43 -07:00
appletalk
atm
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-08-15 15:04:25 -07:00
ax25
ax25: remove blank line at EOF
2018-07-24 14:10:42 -07:00
batman-adv
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2018-09-25 10:35:29 -07:00
bluetooth
Bluetooth: Fix debugfs NULL pointer dereference
2018-09-28 20:53:48 +02:00
bpf
bpf/test_run: support cgroup local storage
2018-08-03 00:47:32 +02:00
bpfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-08-15 15:04:25 -07:00
bridge
bridge: mcast: Default back to multicast enabled state
2018-10-02 22:27:36 -07:00
caif
net: caif: remove redundant null check on frontpkt
2018-09-17 18:49:57 -07:00
can
ceph
crush: fix using plain integer as NULL warning
2018-08-13 17:55:44 +02:00
core
tcp: do not release socket ownership in tcp_close()
2018-10-02 22:17:35 -07:00
dcb
net: dcb: Add priority-to-DSCP map getters
2018-07-27 13:17:50 -07:00
dccp
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2018-08-09 11:52:36 -07:00
decnet
decnet: Remove unnecessary check for dev->name
2018-09-21 19:48:36 -07:00
dns_resolver
net: remove blank lines at end of file
2018-07-24 14:10:43 -07:00
dsa
net: dsa: remove redundant null pointer check before put_device
2018-09-17 08:20:11 -07:00
ethernet
hsr
ieee802154
net/ipfrag: let ip[6]frag_high_thresh in ns be higher than in init_net
2018-09-21 19:45:52 -07:00
ife
ipv4
ipv4: Allow sending multicast packets on specific i/f using VRF socket
2018-10-02 22:28:17 -07:00
ipv6
ipv6: add vrf table handling code for ipv6 mcast
2018-10-02 22:29:08 -07:00
iucv
net/af_iucv: locate IUCV header via skb_network_header()
2018-09-26 09:56:07 -07:00
kcm
Revert "kcm: remove any offset before parsing messages"
2018-09-17 18:43:42 -07:00
key
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
2018-07-27 09:33:37 -07:00
l2tp
l2tp: fix unused function warning
2018-08-13 20:45:49 -07:00
l3mdev
lapb
llc
llc: avoid blocking in llc_sap_close()
2018-09-13 09:04:58 -07:00
mac80211
mac80211: Don't access sk_queue_head->next directly.
2018-09-10 10:06:53 -07:00
mac802154
net: mac802154: tx: expand tailroom if necessary
2018-08-06 11:21:37 +02:00
mpls
mpls: allow routes on ip6gre devices
2018-09-24 12:19:27 -07:00
ncsi
net/ncsi: remove duplicated include from ncsi-netlink.c
2018-08-29 19:10:40 -07:00
netfilter
net-ipv4: remove 2 always zero parameters from ipv4_update_pmtu()
2018-09-26 20:30:55 -07:00
netlabel
netlabel: check for IPV4MASK in addrinfo_get
2018-09-21 18:58:34 -07:00
netlink
netlink: remove hash::nelems check in netlink_insert
2018-09-12 00:08:44 -07:00
netrom
nfc
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2018-09-25 10:35:29 -07:00
nsh
openvswitch
openvswitch: Use correct reply values in datapath and vport ops
2018-09-29 11:44:11 -07:00
packet
packet: add sockopt to ignore outgoing packets
2018-09-05 22:09:37 -07:00
phonet
psample
qrtr
rds
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2018-09-25 10:35:29 -07:00
rfkill
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-09-04 21:33:03 -07:00
rose
rxrpc
net: Add and use skb_mark_not_on_list().
2018-09-10 10:06:54 -07:00
sched
tcp/fq: move back to CLOCK_MONOTONIC
2018-10-01 23:18:51 -07:00
sctp
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2018-09-25 10:35:29 -07:00
smc
smc: generic netlink family should be __ro_after_init
2018-09-20 07:49:55 -07:00
strparser
strparser: remove redundant variable 'rd_desc'
2018-08-01 10:00:06 -07:00
sunrpc
NFS client updates for Linux 4.19
2018-08-23 16:03:58 -07:00
switchdev
tipc
tipc: buffer overflow handling in listener socket
2018-09-29 11:24:22 -07:00
tls
tls: Add support for inplace records encryption
2018-10-02 23:03:47 -07:00
unix
af_unix: ensure POLLOUT on remote close() for connected dgram socket
2018-08-03 16:44:19 -07:00
vmw_vsock
vsock: split dwork to avoid reinitializations
2018-08-07 12:39:13 -07:00
wimax
wimax: remove blank lines at EOF
2018-07-24 14:10:42 -07:00
wireless
cfg80211: validate wmm rule when setting
2018-09-05 10:16:59 +02:00
x25
x25: remove blank lines at EOF
2018-07-24 14:10:42 -07:00
xdp
net: xsk: add a simple buffer reuse queue
2018-09-25 13:13:15 -07:00
xfrm
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
2018-10-01 22:31:17 -07:00
compat.c
net: avoid unnecessary sock_flag() check when enable timestamp
2018-08-06 10:42:48 -07:00
Kconfig
net: remove blank lines at end of file
2018-07-24 14:10:43 -07:00
Makefile
socket.c
socket: fix struct ifreq size in compat ioctl
2018-09-13 16:01:06 -07:00
sysctl_net.c