The following commit has been merged in the master branch: commit dafa5f6577a9eecd2941add553d1672c30b02364 Merge: 9a76aba02a37718242d7cdc294f0a3901928aa57 22240df7ac6d76a271197571a7be45addef2ba15 Author: Linus Torvalds torvalds@linux-foundation.org Date: Wed Aug 15 16:01:47 2018 -0700
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto updates from Herbert Xu: "API: - Fix dcache flushing crash in skcipher. - Add hash finup self-tests. - Reschedule during speed tests.
Algorithms: - Remove insecure vmac and replace it with vmac64. - Add public key verification for DH/ECDH.
Drivers: - Decrease priority of sha-mb on x86. - Improve NEON latency/throughput on ARM64. - Add md5/sha384/sha512/des/3des to inside-secure. - Support eip197d in inside-secure. - Only register algorithms supported by the host in virtio. - Add cts and remove incompatible cts1 from ccree. - Add hisilicon SEC security accelerator driver. - Replace msm hwrng driver with qcom pseudo rng driver.
Misc: - Centralize CRC polynomials"
* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (121 commits) crypto: arm64/ghash-ce - implement 4-way aggregation crypto: arm64/ghash-ce - replace NEON yield check with block limit crypto: hisilicon - sec_send_request() can be static lib/mpi: remove redundant variable esign crypto: arm64/aes-ce-gcm - don't reload key schedule if avoidable crypto: arm64/aes-ce-gcm - implement 2-way aggregation crypto: arm64/aes-ce-gcm - operate on two input blocks at a time crypto: dh - make crypto_dh_encode_key() make robust crypto: dh - fix calculating encoded key size crypto: ccp - Check for NULL PSP pointer at module unload crypto: arm/chacha20 - always use vrev for 16-bit rotates crypto: ccree - allow bigger than sector XTS op crypto: ccree - zero all of request ctx before use crypto: ccree - remove cipher ivgen left overs crypto: ccree - drop useless type flag during reg crypto: ablkcipher - fix crash flushing dcache in error path crypto: blkcipher - fix crash flushing dcache in error path crypto: skcipher - fix crash flushing dcache in error path crypto: skcipher - remove unnecessary setting of walk->nbytes crypto: scatterwalk - remove scatterwalk_samebuf() ...
diff --combined MAINTAINERS index 7d1282b2e3f9,7a68011bdcd0..967ce8cdd1cc --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -367,12 -367,6 +367,12 @@@ L: linux-acpi@vger.kernel.or S: Maintained F: drivers/acpi/arm64
+ACPI I2C MULTI INSTANTIATE DRIVER +M: Hans de Goede hdegoede@redhat.com +L: platform-driver-x86@vger.kernel.org +S: Maintained +F: drivers/platform/x86/i2c-multi-instantiate.c + ACPI PMIC DRIVERS M: "Rafael J. Wysocki" rjw@rjwysocki.net M: Len Brown lenb@kernel.org @@@ -2270,7 -2264,6 +2270,7 @@@ L: linux-arm-kernel@lists.infradead.or T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git S: Maintained F: arch/arm64/ +X: arch/arm64/boot/dts/ F: Documentation/arm64/
AS3645A LED FLASH CONTROLLER DRIVER @@@ -4407,12 -4400,6 +4407,12 @@@ X: Documentation/sp X: Documentation/media T: git git://git.lwn.net/linux.git docs-next
+DOCUMENTATION/ITALIAN +M: Federico Vaga federico.vaga@vaga.pv.it +L: linux-doc@vger.kernel.org +S: Maintained +F: Documentation/translations/it_IT + DONGWOON DW9714 LENS VOICE COIL DRIVER M: Sakari Ailus sakari.ailus@linux.intel.com L: linux-media@vger.kernel.org @@@ -5457,7 -5444,6 +5457,7 @@@ F: drivers/iommu/exynos-iommu.
EZchip NPS platform support M: Vineet Gupta vgupta@synopsys.com +M: Ofer Levi oferle@mellanox.com S: Supported F: arch/arc/plat-eznps F: arch/arc/boot/dts/eznps.dts @@@ -5943,7 -5929,7 +5943,7 @@@ F: Documentation/dev-tools/gcov.rs
GDB KERNEL DEBUGGING HELPER SCRIPTS M: Jan Kiszka jan.kiszka@siemens.com -M: Kieran Bingham kieran@bingham.xyz +M: Kieran Bingham kbingham@kernel.org S: Supported F: scripts/gdb/
@@@ -7041,7 -7027,7 +7041,7 @@@ M: Guenter Roeck <linux@roeck-us.net L: linux-hwmon@vger.kernel.org S: Maintained F: Documentation/hwmon/ina209 -F: Documentation/devicetree/bindings/i2c/ina209.txt +F: Documentation/devicetree/bindings/hwmon/ina2xx.txt F: drivers/hwmon/ina209.c
INA2XX HARDWARE MONITOR DRIVER @@@ -7364,7 -7350,7 +7364,7 @@@ M: Megha Dey <megha.dey@linux.intel.com R: Tim Chen tim.c.chen@linux.intel.com L: linux-crypto@vger.kernel.org S: Supported - F: arch/x86/crypto/sha*-mb + F: arch/x86/crypto/sha*-mb/ F: crypto/mcryptd.c
INTEL TELEMETRY DRIVER @@@ -7999,7 -7985,7 +7999,7 @@@ F: lib/test_kmod. F: tools/testing/selftests/kmod/
KPROBES -M: Ananth N Mavinakayanahalli ananth@linux.vnet.ibm.com +M: Naveen N. Rao naveen.n.rao@linux.vnet.ibm.com M: Anil S Keshavamurthy anil.s.keshavamurthy@intel.com M: "David S. Miller" davem@davemloft.net M: Masami Hiramatsu mhiramat@kernel.org @@@ -8330,18 -8316,17 +8330,18 @@@ M: Jade Alglave <j.alglave@ucl.ac.uk M: Luc Maranget luc.maranget@inria.fr M: "Paul E. McKenney" paulmck@linux.vnet.ibm.com R: Akira Yokosawa akiyks@gmail.com +R: Daniel Lustig dlustig@nvidia.com L: linux-kernel@vger.kernel.org +L: linux-arch@vger.kernel.org S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git F: tools/memory-model/ +F: Documentation/atomic_bitops.txt +F: Documentation/atomic_t.txt +F: Documentation/core-api/atomic_ops.rst +F: Documentation/core-api/refcount-vs-atomic.rst F: Documentation/memory-barriers.txt
-LINUX SECURITY MODULE (LSM) FRAMEWORK -M: Chris Wright chrisw@sous-sol.org -L: linux-security-module@vger.kernel.org -S: Supported - LIS3LV02D ACCELEROMETER DRIVER M: Eric Piel eric.piel@tremplin-utc.net S: Maintained @@@ -9002,14 -8987,6 +9002,14 @@@ F: include/uapi/linux/meye. F: include/uapi/linux/ivtv* F: include/uapi/linux/uvcvideo.h
+MEDIATEK BLUETOOTH DRIVER +M: Sean Wang sean.wang@mediatek.com +L: linux-bluetooth@vger.kernel.org +L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: Documentation/devicetree/bindings/net/mediatek-bluetooth.txt +F: drivers/bluetooth/btmtkuart.c + MEDIATEK CIR DRIVER M: Sean Wang sean.wang@mediatek.com S: Maintained @@@ -9182,7 -9159,6 +9182,7 @@@ S: Supporte W: http://www.mellanox.com Q: http://patchwork.ozlabs.org/project/netdev/list/ F: drivers/net/ethernet/mellanox/mlxsw/ +F: tools/testing/selftests/drivers/net/mlxsw/
MELLANOX FIRMWARE FLASH LIBRARY (mlxfw) M: mlxsw@mellanox.com @@@ -9370,6 -9346,7 +9370,6 @@@ F: drivers/media/platform/atmel/atmel-i F: devicetree/bindings/media/atmel-isc.txt
MICROCHIP / ATMEL NAND DRIVER -M: Wenyou Yang wenyou.yang@microchip.com M: Josh Wu rainyfeeling@outlook.com L: linux-mtd@lists.infradead.org S: Supported @@@ -11280,7 -11257,7 +11280,7 @@@ F: Documentation/devicetree/bindings/pi
PIN CONTROLLER - INTEL M: Mika Westerberg mika.westerberg@linux.intel.com -M: Heikki Krogerus heikki.krogerus@linux.intel.com +M: Andy Shevchenko andriy.shevchenko@linux.intel.com S: Maintained F: drivers/pinctrl/intel/
@@@ -12061,9 -12038,9 +12061,9 @@@ T: git git://git.kernel.org/pub/scm/lin F: Documentation/RCU/ X: Documentation/RCU/torture.txt F: include/linux/rcu* -X: include/linux/srcu.h +X: include/linux/srcu*.h F: kernel/rcu/ -X: kernel/torture.c +X: kernel/rcu/srcu*.c
REAL TIME CLOCK (RTC) SUBSYSTEM M: Alessandro Zummo a.zummo@towertech.it @@@ -12088,13 -12065,6 +12088,13 @@@ S: Maintaine F: sound/soc/codecs/rt* F: include/sound/rt*.h
+REALTEK RTL83xx SMI DSA ROUTER CHIPS +M: Linus Walleij linus.walleij@linaro.org +S: Maintained +F: Documentation/devicetree/bindings/net/dsa/realtek-smi.txt +F: drivers/net/dsa/realtek-smi* +F: drivers/net/dsa/rtl83* + REGISTER MAP ABSTRACTION M: Mark Brown broonie@kernel.org L: linux-kernel@vger.kernel.org @@@ -12202,8 -12172,6 +12202,8 @@@ S: Maintaine F: Documentation/rfkill.txt F: Documentation/ABI/stable/sysfs-class-rfkill F: net/rfkill/ +F: include/linux/rfkill.h +F: include/uapi/linux/rfkill.h
RHASHTABLE M: Thomas Graf tgraf@suug.ch @@@ -12211,9 -12179,7 +12211,9 @@@ M: Herbert Xu <herbert@gondor.apana.org L: netdev@vger.kernel.org S: Maintained F: lib/rhashtable.c +F: lib/test_rhashtable.c F: include/linux/rhashtable.h +F: include/linux/rhashtable-types.h
RICOH R5C592 MEMORYSTICK DRIVER M: Maxim Levitsky maximlevitsky@gmail.com @@@ -12435,6 -12401,7 +12435,6 @@@ F: drivers/pci/hotplug/s390_pci_hpc.
S390 VFIO-CCW DRIVER M: Cornelia Huck cohuck@redhat.com -M: Dong Jia Shi bjsdjshi@linux.ibm.com M: Halil Pasic pasic@linux.ibm.com L: linux-s390@vger.kernel.org L: kvm@vger.kernel.org @@@ -12819,7 -12786,6 +12819,7 @@@ T: git git://git.kernel.org/pub/scm/lin W: http://kernsec.org/ S: Supported F: security/ +X: security/selinux/
SELINUX SECURITY MODULE M: Paul Moore paul@paul-moore.com @@@ -13111,8 -13077,8 +13111,8 @@@ L: linux-kernel@vger.kernel.or W: http://www.rdrop.com/users/paulmck/RCU/ S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git -F: include/linux/srcu.h -F: kernel/rcu/srcu.c +F: include/linux/srcu*.h +F: kernel/rcu/srcu*.c
SERIAL LOW-POWER INTER-CHIP MEDIA BUS (SLIMbus) M: Srinivas Kandagatla srinivas.kandagatla@linaro.org @@@ -13608,13 -13574,6 +13608,13 @@@ L: linux-block@vger.kernel.or S: Maintained F: drivers/block/skd*[ch]
+STI AUDIO (ASoC) DRIVERS +M: Arnaud Pouliquen arnaud.pouliquen@st.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Maintained +F: Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt +F: sound/soc/sti/ + STI CEC DRIVER M: Benjamin Gaignard benjamin.gaignard@linaro.org S: Maintained @@@ -13628,14 -13587,6 +13628,14 @@@ T: git git://linuxtv.org/media_tree.gi S: Maintained F: drivers/media/usb/stk1160/
+STM32 AUDIO (ASoC) DRIVERS +M: Olivier Moysan olivier.moysan@st.com +M: Arnaud Pouliquen arnaud.pouliquen@st.com +L: alsa-devel@alsa-project.org (moderated for non-subscribers) +S: Maintained +F: Documentation/devicetree/bindings/sound/st,stm32-*.txt +F: sound/soc/stm/ + STM32 TIMER/LPTIMER DRIVERS M: Fabrice Gasnier fabrice.gasnier@st.com S: Maintained @@@ -14106,13 -14057,6 +14106,13 @@@ M: Laxman Dewangan <ldewangan@nvidia.co S: Supported F: drivers/input/keyboard/tegra-kbc.c
+TEGRA NAND DRIVER +M: Stefan Agner stefan@agner.ch +M: Lucas Stach dev@lynxeye.de +S: Maintained +F: Documentation/devicetree/bindings/mtd/nvidia-tegra20-nand.txt +F: drivers/mtd/nand/raw/tegra_nand.c + TEGRA PWM DRIVER M: Thierry Reding thierry.reding@gmail.com S: Supported @@@ -14493,7 -14437,6 +14493,7 @@@ T: git git://git.kernel.org/pub/scm/lin F: Documentation/RCU/torture.txt F: kernel/torture.c F: kernel/rcu/rcutorture.c +F: kernel/rcu/rcuperf.c F: kernel/locking/locktorture.c
TOSHIBA ACPI EXTRAS DRIVER diff --combined drivers/crypto/virtio/virtio_crypto_core.c index 7c7198553699,8f745f28f78b..3c9e120287af --- a/drivers/crypto/virtio/virtio_crypto_core.c +++ b/drivers/crypto/virtio/virtio_crypto_core.c @@@ -146,7 -146,7 +146,7 @@@ static void virtcrypto_clean_affinity(s
if (vi->affinity_hint_set) { for (i = 0; i < vi->max_data_queues; i++) - virtqueue_set_affinity(vi->data_vq[i].vq, -1); + virtqueue_set_affinity(vi->data_vq[i].vq, NULL);
vi->affinity_hint_set = false; } @@@ -173,7 -173,7 +173,7 @@@ static void virtcrypto_set_affinity(str * */ for_each_online_cpu(cpu) { - virtqueue_set_affinity(vcrypto->data_vq[i].vq, cpu); + virtqueue_set_affinity(vcrypto->data_vq[i].vq, cpumask_of(cpu)); if (++i >= vcrypto->max_data_queues) break; } @@@ -303,6 -303,13 +303,13 @@@ static int virtcrypto_probe(struct virt u32 max_data_queues = 0, max_cipher_key_len = 0; u32 max_auth_key_len = 0; u64 max_size = 0; + u32 cipher_algo_l = 0; + u32 cipher_algo_h = 0; + u32 hash_algo = 0; + u32 mac_algo_l = 0; + u32 mac_algo_h = 0; + u32 aead_algo = 0; + u32 crypto_services = 0;
if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) return -ENODEV; @@@ -339,6 -346,20 +346,20 @@@ max_auth_key_len, &max_auth_key_len); virtio_cread(vdev, struct virtio_crypto_config, max_size, &max_size); + virtio_cread(vdev, struct virtio_crypto_config, + crypto_services, &crypto_services); + virtio_cread(vdev, struct virtio_crypto_config, + cipher_algo_l, &cipher_algo_l); + virtio_cread(vdev, struct virtio_crypto_config, + cipher_algo_h, &cipher_algo_h); + virtio_cread(vdev, struct virtio_crypto_config, + hash_algo, &hash_algo); + virtio_cread(vdev, struct virtio_crypto_config, + mac_algo_l, &mac_algo_l); + virtio_cread(vdev, struct virtio_crypto_config, + mac_algo_h, &mac_algo_h); + virtio_cread(vdev, struct virtio_crypto_config, + aead_algo, &aead_algo);
/* Add virtio crypto device to global table */ err = virtcrypto_devmgr_add_dev(vcrypto); @@@ -358,6 -379,14 +379,14 @@@ vcrypto->max_cipher_key_len = max_cipher_key_len; vcrypto->max_auth_key_len = max_auth_key_len; vcrypto->max_size = max_size; + vcrypto->crypto_services = crypto_services; + vcrypto->cipher_algo_l = cipher_algo_l; + vcrypto->cipher_algo_h = cipher_algo_h; + vcrypto->mac_algo_l = mac_algo_l; + vcrypto->mac_algo_h = mac_algo_h; + vcrypto->hash_algo = hash_algo; + vcrypto->aead_algo = aead_algo; +
dev_info(&vdev->dev, "max_queues: %u, max_cipher_key_len: %u, max_auth_key_len: %u, max_size 0x%llx\n", diff --combined drivers/net/ethernet/broadcom/tg3.c index d8dad07f826a,b7fb640dbcf0..e6f28c7942ab --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@@ -54,6 -54,7 +54,7 @@@ #include <linux/ssb/ssb_driver_gige.h> #include <linux/hwmon.h> #include <linux/hwmon-sysfs.h> + #include <linux/crc32poly.h>
#include <net/checksum.h> #include <net/ip.h> @@@ -725,7 -726,6 +726,7 @@@ static int tg3_ape_lock(struct tg3 *tp case TG3_APE_LOCK_GPIO: if (tg3_asic_rev(tp) == ASIC_REV_5761) return 0; + /* else: fall through */ case TG3_APE_LOCK_GRC: case TG3_APE_LOCK_MEM: if (!tp->pci_fn) @@@ -786,7 -786,6 +787,7 @@@ static void tg3_ape_unlock(struct tg3 * case TG3_APE_LOCK_GPIO: if (tg3_asic_rev(tp) == ASIC_REV_5761) return; + /* else: fall through */ case TG3_APE_LOCK_GRC: case TG3_APE_LOCK_MEM: if (!tp->pci_fn) @@@ -9722,7 -9721,7 +9723,7 @@@ static inline u32 calc_crc(unsigned cha reg >>= 1;
if (tmp) - reg ^= 0xedb88320; + reg ^= CRC32_POLY_LE; } }
@@@ -10721,40 -10720,28 +10722,40 @@@ static int tg3_reset_hw(struct tg3 *tp switch (limit) { case 16: tw32(MAC_RCV_RULE_15, 0); tw32(MAC_RCV_VALUE_15, 0); + /* fall through */ case 15: tw32(MAC_RCV_RULE_14, 0); tw32(MAC_RCV_VALUE_14, 0); + /* fall through */ case 14: tw32(MAC_RCV_RULE_13, 0); tw32(MAC_RCV_VALUE_13, 0); + /* fall through */ case 13: tw32(MAC_RCV_RULE_12, 0); tw32(MAC_RCV_VALUE_12, 0); + /* fall through */ case 12: tw32(MAC_RCV_RULE_11, 0); tw32(MAC_RCV_VALUE_11, 0); + /* fall through */ case 11: tw32(MAC_RCV_RULE_10, 0); tw32(MAC_RCV_VALUE_10, 0); + /* fall through */ case 10: tw32(MAC_RCV_RULE_9, 0); tw32(MAC_RCV_VALUE_9, 0); + /* fall through */ case 9: tw32(MAC_RCV_RULE_8, 0); tw32(MAC_RCV_VALUE_8, 0); + /* fall through */ case 8: tw32(MAC_RCV_RULE_7, 0); tw32(MAC_RCV_VALUE_7, 0); + /* fall through */ case 7: tw32(MAC_RCV_RULE_6, 0); tw32(MAC_RCV_VALUE_6, 0); + /* fall through */ case 6: tw32(MAC_RCV_RULE_5, 0); tw32(MAC_RCV_VALUE_5, 0); + /* fall through */ case 5: tw32(MAC_RCV_RULE_4, 0); tw32(MAC_RCV_VALUE_4, 0); + /* fall through */ case 4: /* tw32(MAC_RCV_RULE_3, 0); tw32(MAC_RCV_VALUE_3, 0); */ case 3: diff --combined drivers/net/ethernet/freescale/fec_main.c index 76366c735831,a7cb378ef881..2708297e7795 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@@ -48,7 -48,7 +48,7 @@@ #include <linux/io.h> #include <linux/irq.h> #include <linux/clk.h> -#include <linux/crc32poly.h> +#include <linux/crc32.h> #include <linux/platform_device.h> #include <linux/mdio.h> #include <linux/phy.h> @@@ -2950,13 -2950,12 +2950,12 @@@ fec_enet_close(struct net_device *ndev */
#define FEC_HASH_BITS 6 /* #bits in hash */ - #define CRC32_POLY 0xEDB88320
static void set_multicast_list(struct net_device *ndev) { struct fec_enet_private *fep = netdev_priv(ndev); struct netdev_hw_addr *ha; - unsigned int i, bit, data, crc, tmp; + unsigned int crc, tmp; unsigned char hash; unsigned int hash_high = 0, hash_low = 0;
@@@ -2984,7 -2983,15 +2983,7 @@@ /* Add the addresses in hash register */ netdev_for_each_mc_addr(ha, ndev) { /* calculate crc32 value of mac address */ - crc = 0xffffffff; - - for (i = 0; i < ndev->addr_len; i++) { - data = ha->addr[i]; - for (bit = 0; bit < 8; bit++, data >>= 1) { - crc = (crc >> 1) ^ - (((crc ^ data) & 1) ? CRC32_POLY_LE : 0); - } - } + crc = ether_crc_le(ndev->addr_len, ha->addr);
/* only upper 6 bits (FEC_HASH_BITS) are used * which point to specific bit in the hash registers @@@ -3129,7 -3136,6 +3128,7 @@@ static int fec_enet_init(struct net_dev unsigned dsize = fep->bufdesc_ex ? sizeof(struct bufdesc_ex) : sizeof(struct bufdesc); unsigned dsize_log2 = __fls(dsize); + int ret;
WARN_ON(dsize != (1 << dsize_log2)); #if defined(CONFIG_ARM) || defined(CONFIG_ARM64) @@@ -3140,13 -3146,6 +3139,13 @@@ fep->tx_align = 0x3; #endif
+ /* Check mask of the streaming and coherent API */ + ret = dma_set_mask_and_coherent(&fep->pdev->dev, DMA_BIT_MASK(32)); + if (ret < 0) { + dev_warn(&fep->pdev->dev, "No suitable DMA available\n"); + return ret; + } + fec_enet_alloc_queue(ndev);
bd_size = (fep->total_tx_ring_size + fep->total_rx_ring_size) * dsize; diff --combined net/tls/tls_device_fallback.c index e3313c45663f,4e1ec12bc0fb..6102169239d1 --- a/net/tls/tls_device_fallback.c +++ b/net/tls/tls_device_fallback.c @@@ -42,7 -42,7 +42,7 @@@ static void chain_to_walk(struct scatte sg_set_page(sg, sg_page(src), src->length - diff, walk->offset);
- scatterwalk_crypto_chain(sg, sg_next(src), 0, 2); + scatterwalk_crypto_chain(sg, sg_next(src), 2); }
static int tls_enc_record(struct aead_request *aead_req, @@@ -214,7 -214,7 +214,7 @@@ static void complete_skb(struct sk_buf
static int fill_sg_in(struct scatterlist *sg_in, struct sk_buff *skb, - struct tls_offload_context *ctx, + struct tls_offload_context_tx *ctx, u64 *rcd_sn, s32 *sync_size, int *resync_sgs) @@@ -299,7 -299,7 +299,7 @@@ static struct sk_buff *tls_enc_skb(stru s32 sync_size, u64 rcd_sn) { int tcp_payload_offset = skb_transport_offset(skb) + tcp_hdrlen(skb); - struct tls_offload_context *ctx = tls_offload_ctx(tls_ctx); + struct tls_offload_context_tx *ctx = tls_offload_ctx_tx(tls_ctx); int payload_len = skb->len - tcp_payload_offset; void *buf, *iv, *aad, *dummy_buf; struct aead_request *aead_req; @@@ -361,7 -361,7 +361,7 @@@ static struct sk_buff *tls_sw_fallback( { int tcp_payload_offset = skb_transport_offset(skb) + tcp_hdrlen(skb); struct tls_context *tls_ctx = tls_get_ctx(sk); - struct tls_offload_context *ctx = tls_offload_ctx(tls_ctx); + struct tls_offload_context_tx *ctx = tls_offload_ctx_tx(tls_ctx); int payload_len = skb->len - tcp_payload_offset; struct scatterlist *sg_in, sg_out[3]; struct sk_buff *nskb = NULL; @@@ -413,10 -413,9 +413,10 @@@ struct sk_buff *tls_validate_xmit_skb(s
return tls_sw_fallback(sk, skb); } +EXPORT_SYMBOL_GPL(tls_validate_xmit_skb);
int tls_sw_fallback_init(struct sock *sk, - struct tls_offload_context *offload_ctx, + struct tls_offload_context_tx *offload_ctx, struct tls_crypto_info *crypto_info) { const u8 *key;